| #![feature(const_trait_impl, min_specialization, rustc_attrs)] | |
| //@ known-bug: #110395 | |
| #[rustc_specialization_trait] | |
| #[const_trait] | |
| pub trait Sup {} | |
| impl const Sup for () {} | |
| #[const_trait] | |
| pub trait A { | |
| fn a() -> u32; | |
| } | |
| impl<T: Default> A for T { | |
| default fn a() -> u32 { | |
| 2 | |
| } | |
| } | |
| impl<T: Default + [const] Sup> const A for T { | |
| fn a() -> u32 { | |
| 3 | |
| } | |
| } | |
| const fn generic<T: Default>() { | |
| <T as A>::a(); | |
| //FIXME ~^ ERROR: the trait bound `T: [const] Sup` is not satisfied | |
| } | |
| fn main() {} |