blob: b7f2ffe7faf3e629d707ba26ff3795c86a0b8954 [file] [edit]
#![feature(rustc_attrs, const_trait_impl, trait_alias)]
#[rustc_comptime]
//~^ ERROR: the `rustc_comptime` attribute cannot be used on traits
trait Trait {
fn method(&self) {}
}
const impl Trait for () {}
#[rustc_comptime]
//~^ ERROR: the `rustc_comptime` attribute cannot be used on trait impl
impl Trait for u32 {
fn method(&self) {
comptime_fn();
}
}
#[rustc_comptime]
fn comptime_fn() {}
#[rustc_comptime]
//~^ ERROR: the `rustc_comptime` attribute cannot be used on trait aliases
trait TraitAlias = const Trait;
#[rustc_comptime]
fn func<T: const TraitAlias>(t: &T) {
t.method()
//~^ ERROR: cannot call non-const method `<T as Trait>::method` in constants
}
fn main() {}