trait Marker {} struct Example; impl Marker for Example {} fn make_marker() -> impl Marker { //~^ ERROR: type provided when a constant was expected //~| ERROR: type provided when a constant was expected Example:: //~^ 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)}>; }