aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_ty/src/infer
diff options
context:
space:
mode:
authorLukas Wirth <[email protected]>2020-12-13 10:34:44 +0000
committerLukas Wirth <[email protected]>2020-12-13 10:34:44 +0000
commitae8a8020857080ea527cc1d0e57a592d6e587a64 (patch)
tree81bc716b34669495f3a30a2624b3f9433dfbace8 /crates/hir_ty/src/infer
parent10f633283180d513138d0d969eceba96e3ce9f96 (diff)
Ignore lifetime params in substitutions
Diffstat (limited to 'crates/hir_ty/src/infer')
-rw-r--r--crates/hir_ty/src/infer/expr.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/crates/hir_ty/src/infer/expr.rs b/crates/hir_ty/src/infer/expr.rs
index ca005bc99..2cdce2cef 100644
--- a/crates/hir_ty/src/infer/expr.rs
+++ b/crates/hir_ty/src/infer/expr.rs
@@ -856,7 +856,12 @@ impl<'a> InferenceContext<'a> {
856 // handle provided type arguments 856 // handle provided type arguments
857 if let Some(generic_args) = generic_args { 857 if let Some(generic_args) = generic_args {
858 // if args are provided, it should be all of them, but we can't rely on that 858 // if args are provided, it should be all of them, but we can't rely on that
859 for arg in generic_args.args.iter().take(type_params) { 859 for arg in generic_args
860 .args
861 .iter()
862 .filter(|arg| matches!(arg, GenericArg::Type(_)))
863 .take(type_params)
864 {
860 match arg { 865 match arg {
861 GenericArg::Type(type_ref) => { 866 GenericArg::Type(type_ref) => {
862 let ty = self.make_ty(type_ref); 867 let ty = self.make_ty(type_ref);