//@ 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() {} |