diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-05-25 10:21:46 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2021-05-25 10:21:46 +0100 |
commit | 4afc1b8c34aab2a0a32e549ab977d756a7066b28 (patch) | |
tree | a74c14f9e99375a75ecfa2efb4c2ea0a6544fb46 /crates/hir_ty/src/infer/expr.rs | |
parent | 8b049ec393230e4b9fea3022a3ebf34e2af5395d (diff) | |
parent | b26a472ccb32a520eb809505a7dc465f8050268f (diff) |
Merge #8983
8983: Fix type mismatch caused by macros r=flodiebold a=flodiebold
MacroStmts should be completely transparent, but it prevented
coercion. (I should maybe give `infer_expr` and `infer_expr_inner`
better names.)
Co-authored-by: Florian Diebold <[email protected]>
Diffstat (limited to 'crates/hir_ty/src/infer/expr.rs')
-rw-r--r-- | crates/hir_ty/src/infer/expr.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crates/hir_ty/src/infer/expr.rs b/crates/hir_ty/src/infer/expr.rs index eab8fac91..79a732106 100644 --- a/crates/hir_ty/src/infer/expr.rs +++ b/crates/hir_ty/src/infer/expr.rs | |||
@@ -805,7 +805,7 @@ impl<'a> InferenceContext<'a> { | |||
805 | None => self.table.new_float_var(), | 805 | None => self.table.new_float_var(), |
806 | }, | 806 | }, |
807 | }, | 807 | }, |
808 | Expr::MacroStmts { tail } => self.infer_expr(*tail, expected), | 808 | Expr::MacroStmts { tail } => self.infer_expr_inner(*tail, expected), |
809 | }; | 809 | }; |
810 | // use a new type variable if we got unknown here | 810 | // use a new type variable if we got unknown here |
811 | let ty = self.insert_type_vars_shallow(ty); | 811 | let ty = self.insert_type_vars_shallow(ty); |