fix SelfVisitor::is_self_ty
ICE
This commit is contained in:
parent
ee1c3b385b
commit
0b2716415f
@ -1928,11 +1928,11 @@ fn is_self_ty(&self, ty: &Ty) -> bool {
|
||||
match ty.kind {
|
||||
TyKind::ImplicitSelf => true,
|
||||
TyKind::Path(None, _) => {
|
||||
let path_res = self.r.partial_res_map[&ty.id].expect_full_res();
|
||||
if let Res::SelfTyParam { .. } | Res::SelfTyAlias { .. } = path_res {
|
||||
let path_res = self.r.partial_res_map[&ty.id].full_res();
|
||||
if let Some(Res::SelfTyParam { .. } | Res::SelfTyAlias { .. }) = path_res {
|
||||
return true;
|
||||
}
|
||||
Some(path_res) == self.impl_self
|
||||
path_res == self.impl_self
|
||||
}
|
||||
_ => false,
|
||||
}
|
||||
|
7
src/test/ui/resolve/issue-103202.rs
Normal file
7
src/test/ui/resolve/issue-103202.rs
Normal file
@ -0,0 +1,7 @@
|
||||
struct S {}
|
||||
|
||||
impl S {
|
||||
fn f(self: &S::x) {} //~ ERROR ambiguous associated type
|
||||
}
|
||||
|
||||
fn main() {}
|
9
src/test/ui/resolve/issue-103202.stderr
Normal file
9
src/test/ui/resolve/issue-103202.stderr
Normal file
@ -0,0 +1,9 @@
|
||||
error[E0223]: ambiguous associated type
|
||||
--> $DIR/issue-103202.rs:4:17
|
||||
|
|
||||
LL | fn f(self: &S::x) {}
|
||||
| ^^^^ help: use fully-qualified syntax: `<S as Trait>::x`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0223`.
|
Loading…
Reference in New Issue
Block a user