diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-12-13 17:25:31 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-13 17:25:31 +0100 |
| commit | 5c9b227a3df48cff16a7f66957806db46caeeac8 (patch) | |
| tree | 9994cef76fa8b2d8b9d4d77bc90fca06842c8654 /compiler/rustc_ast_lowering/src/expr.rs | |
| parent | 9f6b07e2f5a1267c976a0f8a30dbea6e461a198e (diff) | |
| parent | b8c5a0f0eba036700775a33c924deaeeb34f3974 (diff) | |
| download | rust-5c9b227a3df48cff16a7f66957806db46caeeac8.tar.gz rust-5c9b227a3df48cff16a7f66957806db46caeeac8.zip | |
Rollup merge of #134140 - compiler-errors:unsafe-binders-ast, r=oli-obk
Add AST support for unsafe binders I'm splitting up #130514 into pieces. It's impossible for me to keep up with a huge PR like that. I'll land type system support for this next, probably w/o MIR lowering, which will come later. r? `@oli-obk` cc `@BoxyUwU` and `@lcnr` who also may want to look at this, though this PR doesn't do too much yet
Diffstat (limited to 'compiler/rustc_ast_lowering/src/expr.rs')
| -rw-r--r-- | compiler/rustc_ast_lowering/src/expr.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/rustc_ast_lowering/src/expr.rs b/compiler/rustc_ast_lowering/src/expr.rs index 2ad0ff3200e..32905806343 100644 --- a/compiler/rustc_ast_lowering/src/expr.rs +++ b/compiler/rustc_ast_lowering/src/expr.rs @@ -379,6 +379,14 @@ impl<'hir> LoweringContext<'_, 'hir> { ExprKind::Yield(opt_expr) => self.lower_expr_yield(e.span, opt_expr.as_deref()), ExprKind::Err(guar) => hir::ExprKind::Err(*guar), + ExprKind::UnsafeBinderCast(kind, expr, ty) => hir::ExprKind::UnsafeBinderCast( + *kind, + self.lower_expr(expr), + ty.as_ref().map(|ty| { + self.lower_ty(ty, ImplTraitContext::Disallowed(ImplTraitPosition::Cast)) + }), + ), + ExprKind::Dummy => { span_bug!(e.span, "lowered ExprKind::Dummy") } |
