about summary refs log tree commit diff
path: root/compiler/rustc_codegen_gcc/example/alloc_example.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-03-13 10:41:50 +0000
committerbors <bors@rust-lang.org>2023-03-13 10:41:50 +0000
commitf1b1ed7e18f1fbe5226a96626827c625985f8285 (patch)
treed424952e590d63a8e4020f65d8d74304daa1397b /compiler/rustc_codegen_gcc/example/alloc_example.rs
parentd610b0c514b9ccb0dad5d0b77ce4c518f71b92c8 (diff)
parent8b186dfdb70ebfe722975970458c6230841e6911 (diff)
downloadrust-f1b1ed7e18f1fbe5226a96626827c625985f8285.tar.gz
rust-f1b1ed7e18f1fbe5226a96626827c625985f8285.zip
Auto merge of #108471 - clubby789:unbox-the-syntax, r=Nilstrieb,est31
Remove `box_syntax`

r? `@Nilstrieb`

This removes the feature `box_syntax`, which allows the use of `box <expr>` to create a Box, and finalises removing use of the feature from the compiler. `box_patterns` (allowing the use of `box <pat>` in a pattern) is unaffected.
It also removes `ast::ExprKind::Box` - the only way to create a 'box' expression now is with the rustc-internal `#[rustc_box]` attribute.
As a temporary measure to help users move away, `box <expr>` now parses the inner expression, and emits a `MachineApplicable` lint to replace it with `Box::new`

Closes #49733
Diffstat (limited to 'compiler/rustc_codegen_gcc/example/alloc_example.rs')
-rw-r--r--compiler/rustc_codegen_gcc/example/alloc_example.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_codegen_gcc/example/alloc_example.rs b/compiler/rustc_codegen_gcc/example/alloc_example.rs
index c80348ca549..754e7931412 100644
--- a/compiler/rustc_codegen_gcc/example/alloc_example.rs
+++ b/compiler/rustc_codegen_gcc/example/alloc_example.rs
@@ -1,4 +1,4 @@
-#![feature(start, box_syntax, core_intrinsics, alloc_error_handler, lang_items)]
+#![feature(start, core_intrinsics, alloc_error_handler, lang_items)]
 #![no_std]
 
 extern crate alloc;
@@ -38,7 +38,7 @@ unsafe extern "C" fn _Unwind_Resume() {
 
 #[start]
 fn main(_argc: isize, _argv: *const *const u8) -> isize {
-    let world: Box<&str> = box "Hello World!\0";
+    let world: Box<&str> = Box::new("Hello World!\0");
     unsafe {
         puts(*world as *const str as *const u8);
     }