diff options
author | ice1000 <[email protected]> | 2019-09-27 05:19:52 +0100 |
---|---|---|
committer | ice1000 <[email protected]> | 2019-10-08 00:40:14 +0100 |
commit | 6bad638928ab880bfbad868f07f0690ace2f2c30 (patch) | |
tree | 0c38bc47eda0769ef27c65a5d2bb05e8d4acfd9e /crates/ra_hir/src/ty/infer.rs | |
parent | c73193efe29ff4072fd19471fb22cdd2ee05556c (diff) |
Support inferring `Self` type in enum definitions
Signed-off-by: ice1000 <[email protected]>
Diffstat (limited to 'crates/ra_hir/src/ty/infer.rs')
-rw-r--r-- | crates/ra_hir/src/ty/infer.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/crates/ra_hir/src/ty/infer.rs b/crates/ra_hir/src/ty/infer.rs index ca9aefc42..9e5d42509 100644 --- a/crates/ra_hir/src/ty/infer.rs +++ b/crates/ra_hir/src/ty/infer.rs | |||
@@ -559,6 +559,9 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> { | |||
559 | match resolver.resolve_path_in_type_ns_fully(self.db, &path) { | 559 | match resolver.resolve_path_in_type_ns_fully(self.db, &path) { |
560 | Some(TypeNs::Adt(Adt::Struct(it))) => it.into(), | 560 | Some(TypeNs::Adt(Adt::Struct(it))) => it.into(), |
561 | Some(TypeNs::Adt(Adt::Union(it))) => it.into(), | 561 | Some(TypeNs::Adt(Adt::Union(it))) => it.into(), |
562 | Some(TypeNs::AdtSelfType(Adt::Struct(it))) => it.into(), | ||
563 | Some(TypeNs::AdtSelfType(Adt::Union(it))) => it.into(), | ||
564 | Some(TypeNs::AdtSelfType(Adt::Enum(it))) => it.into(), | ||
562 | Some(TypeNs::EnumVariant(it)) => it.into(), | 565 | Some(TypeNs::EnumVariant(it)) => it.into(), |
563 | Some(TypeNs::TypeAlias(it)) => it.into(), | 566 | Some(TypeNs::TypeAlias(it)) => it.into(), |
564 | 567 | ||