error: expected type, found `{` --> $DIR/macro-fail.rs:31:27 | LL | fn make_marker() -> impl Marker { | ---------------------- | | | this macro call doesn't expand to a type | in this macro invocation ... LL | ($rusty: ident) => {{ let $rusty = 3; *&$rusty }} | ^ expected type | = note: this error originates in the macro `gimme_a_const` (in Nightly builds, run with -Z macro-backtrace for more info) error: expected type, found `{` --> $DIR/macro-fail.rs:31:27 | LL | Example:: | ---------------------- | | | this macro call doesn't expand to a type | in this macro invocation ... LL | ($rusty: ident) => {{ let $rusty = 3; *&$rusty }} | ^ expected type | = note: this error originates in the macro `gimme_a_const` (in Nightly builds, run with -Z macro-backtrace for more info) error: expected type, found `{` --> $DIR/macro-fail.rs:4:10 | LL | () => {{ | ^ expected type ... LL | let _fail = Example::; | ----------------- | | | this macro call doesn't expand to a type | in this macro invocation | = note: this error originates in the macro `external_macro` (in Nightly builds, run with -Z macro-backtrace for more info) error: unexpected end of macro invocation --> $DIR/macro-fail.rs:42:25 | LL | macro_rules! gimme_a_const { | -------------------------- when calling this macro ... LL | let _fail = Example::; | ^^^^^^^^^^^^^^^^ missing tokens in macro arguments | note: while trying to match meta-variable `$rusty:ident` --> $DIR/macro-fail.rs:31:8 | LL | ($rusty: ident) => {{ let $rusty = 3; *&$rusty }} | ^^^^^^^^^^^^^ error[E0747]: type provided when a constant was expected --> $DIR/macro-fail.rs:14:33 | LL | fn make_marker() -> impl Marker { | ^^^^^^^^^^^^^^^^^^^^^^ error[E0747]: type provided when a constant was expected --> $DIR/macro-fail.rs:14:33 | LL | fn make_marker() -> impl Marker { | ^^^^^^^^^^^^^^^^^^^^^^ | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error[E0747]: type provided when a constant was expected --> $DIR/macro-fail.rs:17:13 | LL | Example:: | ^^^^^^^^^^^^^^^^^^^^^^ error[E0284]: type annotations needed --> $DIR/macro-fail.rs:17:3 | LL | Example:: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of the const parameter `N` declared on the struct `Example` | note: required by a const generic parameter in `Example` --> $DIR/macro-fail.rs:1:16 | LL | struct Example; | ^^^^^^^^^^^^^^ required by this const generic parameter in `Example` error[E0747]: type provided when a constant was expected --> $DIR/macro-fail.rs:38:25 | LL | let _fail = Example::; | ^^^^^^^^^^^^^^^^^ error[E0747]: type provided when a constant was expected --> $DIR/macro-fail.rs:42:25 | LL | let _fail = Example::; | ^^^^^^^^^^^^^^^^ error[E0284]: type annotations needed for `Example<_>` --> $DIR/macro-fail.rs:38:7 | LL | let _fail = Example::; | ^^^^^ ---------------------------- type must be known at this point | note: required by a const generic parameter in `Example` --> $DIR/macro-fail.rs:1:16 | LL | struct Example; | ^^^^^^^^^^^^^^ required by this const generic parameter in `Example` help: consider giving `_fail` an explicit type, where the value of const parameter `N` is specified | LL | let _fail: Example = Example::; | ++++++++++++ error[E0284]: type annotations needed for `Example<_>` --> $DIR/macro-fail.rs:42:7 | LL | let _fail = Example::; | ^^^^^ --------------------------- type must be known at this point | note: required by a const generic parameter in `Example` --> $DIR/macro-fail.rs:1:16 | LL | struct Example; | ^^^^^^^^^^^^^^ required by this const generic parameter in `Example` help: consider giving `_fail` an explicit type, where the value of const parameter `N` is specified | LL | let _fail: Example = Example::; | ++++++++++++ error: aborting due to 12 previous errors Some errors have detailed explanations: E0284, E0747. For more information about an error, try `rustc --explain E0284`.