How come the stdlib uses unstable features like specialization?
I was poking around the BTreeSet implementation and came across the following code:
// Blanket implementation
impl<V> IsSetVal for V {
default fn is_set_val() -> bool {
false
}
}
// Specialization
impl IsSetVal for SetValZST {
fn is_set_val() -> bool {
true
}
}
Source: /stdlib-local-copy/1.84.1-f903f36971a4901f1becf06eb65154ff47dd6ff9/library/alloc/src/collections/btree/set_val.rs
The default fn line surprised me because I know that to be a part of the unstable specialization feature. So do I interpret correctly that the stdlib use unstable features?