2024-10-30 18:03:44 +00:00
|
|
|
#![feature(const_trait_impl)]
|
2023-10-25 15:28:23 +00:00
|
|
|
|
|
|
|
|
const fn foo() {}
|
|
|
|
|
|
|
|
|
|
#[const_trait]
|
|
|
|
|
trait Bar {
|
|
|
|
|
fn bar();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
impl Bar for () {
|
|
|
|
|
fn bar() {}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
|
foo::<true>();
|
|
|
|
|
//~^ ERROR: function takes 0 generic arguments but 1 generic argument was supplied
|
|
|
|
|
<() as Bar<true>>::bar();
|
|
|
|
|
//~^ ERROR: trait takes 0 generic arguments but 1 generic argument was supplied
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const FOO: () = {
|
|
|
|
|
foo::<false>();
|
|
|
|
|
//~^ ERROR: function takes 0 generic arguments but 1 generic argument was supplied
|
|
|
|
|
<() as Bar<false>>::bar();
|
|
|
|
|
//~^ ERROR: trait takes 0 generic arguments but 1 generic argument was supplied
|
2024-10-22 03:22:57 +00:00
|
|
|
//~| ERROR the trait bound `(): const Bar` is not satisfied
|
2023-10-25 15:28:23 +00:00
|
|
|
};
|