diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2019-09-12 11:53:29 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2019-09-12 11:53:29 +0100 |
commit | a1261631a89f7169a3f84dec33aff61758c601e3 (patch) | |
tree | 773c687fe89b8cec009de17142b3a59e80468b21 /crates/ra_hir/src/expr | |
parent | 561e7aea5bdaf6c51e0a87da9ff1d73e2df52be1 (diff) | |
parent | 8c078a01641518a6b093922d4b1d27d1a98bad08 (diff) |
Merge #1818
1818: Infer box expression r=matklad a=uHOOCCOOHu
Infer `box e` to be `std::boxed::Box<T>` where `e: T`
Co-authored-by: uHOOCCOOHu <[email protected]>
Diffstat (limited to 'crates/ra_hir/src/expr')
-rw-r--r-- | crates/ra_hir/src/expr/lower.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/crates/ra_hir/src/expr/lower.rs b/crates/ra_hir/src/expr/lower.rs index 8bd041ff0..2be6f5421 100644 --- a/crates/ra_hir/src/expr/lower.rs +++ b/crates/ra_hir/src/expr/lower.rs | |||
@@ -389,6 +389,10 @@ where | |||
389 | let exprs = e.exprs().map(|expr| self.collect_expr(expr)).collect(); | 389 | let exprs = e.exprs().map(|expr| self.collect_expr(expr)).collect(); |
390 | self.alloc_expr(Expr::Tuple { exprs }, syntax_ptr) | 390 | self.alloc_expr(Expr::Tuple { exprs }, syntax_ptr) |
391 | } | 391 | } |
392 | ast::Expr::BoxExpr(e) => { | ||
393 | let expr = self.collect_expr_opt(e.expr()); | ||
394 | self.alloc_expr(Expr::Box { expr }, syntax_ptr) | ||
395 | } | ||
392 | 396 | ||
393 | ast::Expr::ArrayExpr(e) => { | 397 | ast::Expr::ArrayExpr(e) => { |
394 | let kind = e.kind(); | 398 | let kind = e.kind(); |