Files
rust/tests/ui/const-generics/min_const_generics/macro-fail-const.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

24 lines
676 B
Rust
Raw Normal View History

trait Marker<const N: usize> {}
struct Example<const N: usize>;
impl<const N: usize> Marker<N> for Example<N> {}
fn make_marker() -> impl Marker<gimme_a_const!(marker)> {
//~^ ERROR: type provided when a constant was expected
//~| ERROR: type provided when a constant was expected
Example::<gimme_a_const!(marker)>
//~^ ERROR: type provided when a constant was expected
}
fn main() {
let _ok = Example::<{
#[macro_export]
macro_rules! gimme_a_const {
($rusty: ident) => {{ let $rusty = 3; *&$rusty }}
//~^ ERROR expected type
//~| ERROR expected type
}
gimme_a_const!(run)
}>;
let _ok = Example::<{gimme_a_const!(marker)}>;
}