| //@ compile-flags: -Znext-solver | |
| //@ check-pass | |
| #![feature(const_trait_impl)] | |
| #![allow(refining_impl_trait)] | |
| #[const_trait] | |
| pub trait Foo { | |
| fn method(self) -> impl [const] Bar; | |
| } | |
| #[const_trait] | |
| pub trait Bar {} | |
| struct A<T>(T); | |
| impl<T> const Foo for A<T> where A<T>: [const] Bar { | |
| fn method(self) -> impl [const] Bar { | |
| self | |
| } | |
| } | |
| fn main() {} |