blob: 619d6de7ad2cdf3c56e19a50cf528ea54a6ea958 [file] [log] [blame]
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)}>;
}