rust/tests/ui/traits/const-traits/predicate-entailment-passes.rs

28 lines
490 B
Rust

//@ compile-flags: -Znext-solver
//@ check-pass
#![feature(const_trait_impl)]
#[const_trait] trait Bar {}
impl const Bar for () {}
#[const_trait] trait TildeConst {
fn foo<T>() where T: ~const Bar;
}
impl TildeConst for () {
fn foo<T>() where T: Bar {}
}
#[const_trait] trait AlwaysConst {
fn foo<T>() where T: const Bar;
}
impl AlwaysConst for i32 {
fn foo<T>() where T: Bar {}
}
impl const AlwaysConst for u32 {
fn foo<T>() where T: ~const Bar {}
}
fn main() {}