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
This commit is contained in:
bors 2023-03-13 10:41:50 +00:00
commit 259febbf5e

View file

@ -857,9 +857,9 @@ mod lint {
#[test]
fn lint_feature() {
check_edit(
"box_syntax",
"box_patterns",
r#"#[feature(box_$0)] struct Test;"#,
r#"#[feature(box_syntax)] struct Test;"#,
r#"#[feature(box_patterns)] struct Test;"#,
)
}