diff options
| author | Tshepang Mbambo <tshepang@gmail.com> | 2025-04-21 10:57:39 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-21 10:57:39 +0200 |
| commit | c6510d9e554107a49851938ebd2ed08d95f36607 (patch) | |
| tree | cad0adefe81f03e6b1727edbe2ff7cd35f33ebf2 /compiler/rustc_parse/src | |
| parent | 021ebcc3c779a316433c5dc4fd28b6df0bc50ba0 (diff) | |
| parent | d12c1f581f97ca0fe67d1498fa2c34b61a8bd189 (diff) | |
| download | rust-c6510d9e554107a49851938ebd2ed08d95f36607.tar.gz rust-c6510d9e554107a49851938ebd2ed08d95f36607.zip | |
Merge pull request #2349 from rust-lang/rustc-pull
Rustc pull update
Diffstat (limited to 'compiler/rustc_parse/src')
| -rw-r--r-- | compiler/rustc_parse/src/parser/expr.rs | 14 | ||||
| -rw-r--r-- | compiler/rustc_parse/src/validate_attr.rs | 6 |
2 files changed, 8 insertions, 12 deletions
diff --git a/compiler/rustc_parse/src/parser/expr.rs b/compiler/rustc_parse/src/parser/expr.rs index df44b3cc23c..71cc814cb50 100644 --- a/compiler/rustc_parse/src/parser/expr.rs +++ b/compiler/rustc_parse/src/parser/expr.rs @@ -1884,13 +1884,15 @@ impl<'a> Parser<'a> { let mut expr = self.parse_expr_opt()?; if let Some(expr) = &mut expr { if label.is_some() - && matches!( - expr.kind, + && match &expr.kind { ExprKind::While(_, _, None) - | ExprKind::ForLoop { label: None, .. } - | ExprKind::Loop(_, None, _) - | ExprKind::Block(_, None) - ) + | ExprKind::ForLoop { label: None, .. } + | ExprKind::Loop(_, None, _) => true, + ExprKind::Block(block, None) => { + matches!(block.rules, BlockCheckMode::Default) + } + _ => false, + } { self.psess.buffer_lint( BREAK_WITH_LABEL_AND_LOOP, diff --git a/compiler/rustc_parse/src/validate_attr.rs b/compiler/rustc_parse/src/validate_attr.rs index b518fca7a65..6a1c2af48ed 100644 --- a/compiler/rustc_parse/src/validate_attr.rs +++ b/compiler/rustc_parse/src/validate_attr.rs @@ -194,12 +194,6 @@ pub fn check_attribute_safety(psess: &ParseSess, safety: AttributeSafety, attr: } } } else if let Safety::Unsafe(unsafe_span) = attr_item.unsafety { - // Allow (but don't require) `#[unsafe(naked)]` so that compiler-builtins can upgrade to it. - // FIXME(#139797): remove this special case when compiler-builtins has upgraded. - if attr.has_name(sym::naked) { - return; - } - psess.dcx().emit_err(errors::InvalidAttrUnsafe { span: unsafe_span, name: attr_item.path.clone(), |
