diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-03-18 20:54:24 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2021-03-18 20:54:24 +0000 |
commit | 5e82d3172282e159e539569b80b3135c17b972f0 (patch) | |
tree | a2ad2b6faf8c708fc593546df64d489c117b61f2 /crates/hir_ty/src/infer/coerce.rs | |
parent | b70bea0d7994cbe7b1e01e6b2e0f4ab3ac2c6fd5 (diff) | |
parent | 7a7e47eab7323a8e122d9994b2936e50e42a1af2 (diff) |
Merge #8096
8096: Chalkify TraitRef r=flodiebold a=flodiebold
Co-authored-by: Florian Diebold <[email protected]>
Diffstat (limited to 'crates/hir_ty/src/infer/coerce.rs')
-rw-r--r-- | crates/hir_ty/src/infer/coerce.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/crates/hir_ty/src/infer/coerce.rs b/crates/hir_ty/src/infer/coerce.rs index b1f98c507..b86474ed4 100644 --- a/crates/hir_ty/src/infer/coerce.rs +++ b/crates/hir_ty/src/infer/coerce.rs | |||
@@ -8,7 +8,8 @@ use chalk_ir::{Mutability, TyVariableKind}; | |||
8 | use hir_def::lang_item::LangItemTarget; | 8 | use hir_def::lang_item::LangItemTarget; |
9 | 9 | ||
10 | use crate::{ | 10 | use crate::{ |
11 | autoderef, traits::Solution, Interner, Obligation, Substitution, TraitRef, Ty, TyKind, | 11 | autoderef, to_chalk_trait_id, traits::Solution, Interner, Obligation, Substitution, TraitRef, |
12 | Ty, TyKind, | ||
12 | }; | 13 | }; |
13 | 14 | ||
14 | use super::{InEnvironment, InferenceContext}; | 15 | use super::{InEnvironment, InferenceContext}; |
@@ -140,7 +141,8 @@ impl<'a> InferenceContext<'a> { | |||
140 | .push(from_ty.clone()) | 141 | .push(from_ty.clone()) |
141 | .push(to_ty.clone()) | 142 | .push(to_ty.clone()) |
142 | .build(); | 143 | .build(); |
143 | let trait_ref = TraitRef { trait_: coerce_unsized_trait, substs }; | 144 | let trait_ref = |
145 | TraitRef { trait_id: to_chalk_trait_id(coerce_unsized_trait), substitution: substs }; | ||
144 | let goal = InEnvironment::new(self.trait_env.clone(), Obligation::Trait(trait_ref)); | 146 | let goal = InEnvironment::new(self.trait_env.clone(), Obligation::Trait(trait_ref)); |
145 | 147 | ||
146 | let canonicalizer = self.canonicalizer(); | 148 | let canonicalizer = self.canonicalizer(); |