| #![feature(const_trait_impl)] | |
| #[const_trait] | |
| trait Bar {} | |
| trait Foo { | |
| fn a(); | |
| fn b() where Self: [const] Bar; | |
| //~^ ERROR `[const]` is not allowed here | |
| fn c<T: [const] Bar>(); | |
| //~^ ERROR `[const]` is not allowed here | |
| } | |
| fn test1<T: Foo>() { | |
| T::a(); | |
| T::b(); | |
| //~^ ERROR the trait bound | |
| T::c::<T>(); | |
| //~^ ERROR the trait bound | |
| } | |
| fn test2<T: Foo + Bar>() { | |
| T::a(); | |
| T::b(); | |
| T::c::<T>(); | |
| } | |
| fn main() {} |