c5598d6a9e
avoid `{type error}` being leaked in user-facing messages, particularly when using the `adt_const_params` feature
69 lines
2.5 KiB
Plaintext
69 lines
2.5 KiB
Plaintext
error: `&'static str` is forbidden as the type of a const generic parameter
|
|
--> $DIR/slice-const-param-mismatch.rs:8:29
|
|
|
|
|
LL | struct ConstString<const T: &'static str>;
|
|
| ^^^^^^^^^^^^
|
|
|
|
|
= note: the only supported types are integers, `bool`, and `char`
|
|
help: add `#![feature(adt_const_params)]` to the crate attributes to enable more complex and user defined types
|
|
|
|
|
LL + #![feature(adt_const_params)]
|
|
|
|
|
help: add `#![feature(unsized_const_params)]` to the crate attributes to enable references to implement the `ConstParamTy` trait
|
|
|
|
|
LL + #![feature(unsized_const_params)]
|
|
|
|
|
|
|
error: `&'static [u8]` is forbidden as the type of a const generic parameter
|
|
--> $DIR/slice-const-param-mismatch.rs:11:28
|
|
|
|
|
LL | struct ConstBytes<const T: &'static [u8]>;
|
|
| ^^^^^^^^^^^^^
|
|
|
|
|
= note: the only supported types are integers, `bool`, and `char`
|
|
help: add `#![feature(adt_const_params)]` to the crate attributes to enable more complex and user defined types
|
|
|
|
|
LL + #![feature(adt_const_params)]
|
|
|
|
|
help: add `#![feature(unsized_const_params)]` to the crate attributes to enable references to implement the `ConstParamTy` trait
|
|
|
|
|
LL + #![feature(unsized_const_params)]
|
|
|
|
|
|
|
error[E0308]: mismatched types
|
|
--> $DIR/slice-const-param-mismatch.rs:17:35
|
|
|
|
|
LL | let _: ConstString<"Hello"> = ConstString::<"World">;
|
|
| -------------------- ^^^^^^^^^^^^^^^^^^^^^^ expected `"Hello"`, found `"World"`
|
|
| |
|
|
| expected due to this
|
|
|
|
|
= note: expected struct `ConstString<"Hello">`
|
|
found struct `ConstString<"World">`
|
|
|
|
error[E0308]: mismatched types
|
|
--> $DIR/slice-const-param-mismatch.rs:19:33
|
|
|
|
|
LL | let _: ConstString<"ℇ㇈↦"> = ConstString::<"ℇ㇈↥">;
|
|
| ------------------- ^^^^^^^^^^^^^^^^^^^^^ expected `"ℇ㇈↦"`, found `"ℇ㇈↥"`
|
|
| |
|
|
| expected due to this
|
|
|
|
|
= note: expected struct `ConstString<"ℇ㇈↦">`
|
|
found struct `ConstString<"ℇ㇈↥">`
|
|
|
|
error[E0308]: mismatched types
|
|
--> $DIR/slice-const-param-mismatch.rs:21:33
|
|
|
|
|
LL | let _: ConstBytes<b"AAA"> = ConstBytes::<b"BBB">;
|
|
| ------------------ ^^^^^^^^^^^^^^^^^^^^ expected `b"AAA"`, found `b"BBB"`
|
|
| |
|
|
| expected due to this
|
|
|
|
|
= note: expected struct `ConstBytes<b"AAA">`
|
|
found struct `ConstBytes<b"BBB">`
|
|
|
|
error: aborting due to 5 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0308`.
|