3 #![feature(const_trait_impl)]
4 #![feature(const_trait_bound_opt_out)]
5 #![feature(const_fn_trait_bound)]
6 #![allow(incomplete_features)]
10 impl const PartialEq for S {
11 fn eq(&self, _: &S) -> bool {
14 fn ne(&self, other: &S) -> bool {
19 // This duplicate bound should not result in ambiguities. It should be equivalent to a single const
21 const fn equals_self<T: PartialEq + ?const PartialEq>(t: &T) -> bool {
25 pub const EQ: bool = equals_self(&S);