error[E0412]: cannot find type `N` in this scope --> $DIR/diagnostics.rs:7:16 | LL | struct A; | ---------------------- similarly named struct `A` defined here LL | trait Foo {} LL | impl Foo for A {} | ^ help: a struct with a similar name exists: `A` error[E0412]: cannot find type `T` in this scope --> $DIR/diagnostics.rs:16:32 | LL | struct A; | ---------------------- similarly named struct `A` defined here ... LL | impl Foo for C {} | ^ help: a struct with a similar name exists: `A` error[E0747]: unresolved item provided when a constant was expected --> $DIR/diagnostics.rs:7:16 | LL | impl Foo for A {} | ^ | help: if this generic argument was intended as a const parameter, surround it with braces | LL | impl Foo for A<{ N }> {} | ^ ^ error[E0747]: type provided when a constant was expected --> $DIR/diagnostics.rs:12:19 | LL | impl Foo for B {} | - ^ | | | help: consider changing this type paramater to a `const`-generic: `const N: u8` error[E0747]: unresolved item provided when a constant was expected --> $DIR/diagnostics.rs:16:32 | LL | impl Foo for C {} | ^ | help: if this generic argument was intended as a const parameter, surround it with braces | LL | impl Foo for C {} | ^ ^ error: aborting due to 5 previous errors Some errors have detailed explanations: E0412, E0747. For more information about an error, try `rustc --explain E0412`.