//@ compile-flags: -Znext-solver | |
//@ check-pass | |
#![feature(const_trait_impl)] | |
#[const_trait] | |
trait Trait { | |
fn method(); | |
} | |
const fn foo<T: Trait>() { | |
let _ = || { | |
// Make sure this doesn't enforce `T: [const] Trait` | |
T::method(); | |
}; | |
} | |
fn bar<T: const Trait>() { | |
let _ = || { | |
// Make sure unconditionally const bounds propagate from parent. | |
const { | |
T::method(); | |
}; | |
}; | |
} | |
fn main() {} |