diff options
author | Lukas Wirth <[email protected]> | 2021-03-24 16:00:29 +0000 |
---|---|---|
committer | Lukas Wirth <[email protected]> | 2021-03-29 16:11:28 +0100 |
commit | bb6e1bf811bce09fdab115a4257e47cc0d5ddc82 (patch) | |
tree | 7fa2802e317177ef9da00a442fddb75528d9b56b /crates/hir_ty | |
parent | bb1d925dab36372c6bd1fb5671bb68ce938ff009 (diff) |
Lower traits to TraitRef instead of TypeRef
Diffstat (limited to 'crates/hir_ty')
-rw-r--r-- | crates/hir_ty/src/lower.rs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/crates/hir_ty/src/lower.rs b/crates/hir_ty/src/lower.rs index c87789d45..9b99268e2 100644 --- a/crates/hir_ty/src/lower.rs +++ b/crates/hir_ty/src/lower.rs | |||
@@ -15,7 +15,7 @@ use hir_def::{ | |||
15 | generics::{TypeParamProvenance, WherePredicate, WherePredicateTypeTarget}, | 15 | generics::{TypeParamProvenance, WherePredicate, WherePredicateTypeTarget}, |
16 | path::{GenericArg, Path, PathSegment, PathSegments}, | 16 | path::{GenericArg, Path, PathSegment, PathSegments}, |
17 | resolver::{HasResolver, Resolver, TypeNs}, | 17 | resolver::{HasResolver, Resolver, TypeNs}, |
18 | type_ref::{TypeBound, TypeRef}, | 18 | type_ref::{TraitRef as HirTraitRef, TypeBound, TypeRef}, |
19 | AdtId, AssocContainerId, AssocItemId, ConstId, ConstParamId, EnumId, EnumVariantId, FunctionId, | 19 | AdtId, AssocContainerId, AssocItemId, ConstId, ConstParamId, EnumId, EnumVariantId, FunctionId, |
20 | GenericDefId, HasModule, ImplId, LocalFieldId, Lookup, StaticId, StructId, TraitId, | 20 | GenericDefId, HasModule, ImplId, LocalFieldId, Lookup, StaticId, StructId, TraitId, |
21 | TypeAliasId, TypeParamId, UnionId, VariantId, | 21 | TypeAliasId, TypeParamId, UnionId, VariantId, |
@@ -667,14 +667,13 @@ impl<'a> TyLoweringContext<'a> { | |||
667 | 667 | ||
668 | fn lower_trait_ref( | 668 | fn lower_trait_ref( |
669 | &self, | 669 | &self, |
670 | type_ref: &TypeRef, | 670 | trait_ref: &HirTraitRef, |
671 | explicit_self_ty: Option<Ty>, | 671 | explicit_self_ty: Option<Ty>, |
672 | ) -> Option<TraitRef> { | 672 | ) -> Option<TraitRef> { |
673 | let path = match type_ref { | 673 | match trait_ref { |
674 | TypeRef::Path(path) => path, | 674 | HirTraitRef::Path(path) => self.lower_trait_ref_from_path(path, explicit_self_ty), |
675 | _ => return None, | 675 | HirTraitRef::Error => None, |
676 | }; | 676 | } |
677 | self.lower_trait_ref_from_path(path, explicit_self_ty) | ||
678 | } | 677 | } |
679 | 678 | ||
680 | fn trait_ref_substs_from_path( | 679 | fn trait_ref_substs_from_path( |