Fix ICE in diagnostic_hir_wf_check
This commit is contained in:
parent
70f74719a9
commit
dbd0fd2c2a
4 changed files with 35 additions and 7 deletions
8
src/test/ui/wf/issue-87495.rs
Normal file
8
src/test/ui/wf/issue-87495.rs
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
// Regression test for the ICE described in #87495.
|
||||
|
||||
trait T {
|
||||
const CONST: (bool, dyn T);
|
||||
//~^ ERROR: the trait `T` cannot be made into an object [E0038]
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
18
src/test/ui/wf/issue-87495.stderr
Normal file
18
src/test/ui/wf/issue-87495.stderr
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
error[E0038]: the trait `T` cannot be made into an object
|
||||
--> $DIR/issue-87495.rs:4:25
|
||||
|
|
||||
LL | const CONST: (bool, dyn T);
|
||||
| ^^^^^ `T` cannot be made into an object
|
||||
|
|
||||
= help: consider moving `CONST` to another trait
|
||||
note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
|
||||
--> $DIR/issue-87495.rs:4:11
|
||||
|
|
||||
LL | trait T {
|
||||
| - this trait cannot be made into an object...
|
||||
LL | const CONST: (bool, dyn T);
|
||||
| ^^^^^ ...because it contains this associated `const`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0038`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue