Fix ICE in -Zsave-analysis
This commit is contained in:
parent
9e2a6a29ce
commit
ef3f2c0a7c
3 changed files with 27 additions and 1 deletions
|
@ -620,7 +620,11 @@ impl<'l, 'tcx> SaveContext<'l, 'tcx> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_path_res(&self, id: NodeId) -> Res {
|
pub fn get_path_res(&self, id: NodeId) -> Res {
|
||||||
let hir_id = self.tcx.hir().node_id_to_hir_id(id);
|
// FIXME(#71104)
|
||||||
|
let hir_id = match self.tcx.hir().opt_node_id_to_hir_id(id) {
|
||||||
|
Some(id) => id,
|
||||||
|
None => return Res::Err,
|
||||||
|
};
|
||||||
match self.tcx.hir().get(hir_id) {
|
match self.tcx.hir().get(hir_id) {
|
||||||
Node::TraitRef(tr) => tr.path.res,
|
Node::TraitRef(tr) => tr.path.res,
|
||||||
|
|
||||||
|
|
7
src/test/ui/save-analysis/issue-72267.rs
Normal file
7
src/test/ui/save-analysis/issue-72267.rs
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
// compile-flags: -Z save-analysis
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let _: Box<(dyn ?Sized)>;
|
||||||
|
//~^ ERROR `?Trait` is not permitted in trait object types
|
||||||
|
//~| ERROR at least one trait is required for an object type
|
||||||
|
}
|
15
src/test/ui/save-analysis/issue-72267.stderr
Normal file
15
src/test/ui/save-analysis/issue-72267.stderr
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
error: `?Trait` is not permitted in trait object types
|
||||||
|
--> $DIR/issue-72267.rs:4:21
|
||||||
|
|
|
||||||
|
LL | let _: Box<(dyn ?Sized)>;
|
||||||
|
| ^^^^^^
|
||||||
|
|
||||||
|
error[E0224]: at least one trait is required for an object type
|
||||||
|
--> $DIR/issue-72267.rs:4:17
|
||||||
|
|
|
||||||
|
LL | let _: Box<(dyn ?Sized)>;
|
||||||
|
| ^^^^^^^^^^
|
||||||
|
|
||||||
|
error: aborting due to 2 previous errors
|
||||||
|
|
||||||
|
For more information about this error, try `rustc --explain E0224`.
|
Loading…
Add table
Add a link
Reference in a new issue