Skip to content

Outer attribute where outer attributes considered as inner attribute by statement after attribute error #45296

Closed
@Havvy

Description

@Havvy
fn main() {
    let unused = ();
    
    #![allow(unused_variables)]
}
   Compiling playground v0.0.1 (file:///playground)
error: an inner attribute is not permitted in this context
 --> src/main.rs:4:7
  |
4 |     #![allow(unused_variables)]
  |       ^
  |
  = note: inner attributes and doc comments, like `#![no_std]` or `//! My crate`, annotate the item enclosing them, and are usually found at the beginning of source files. Outer attributes and doc comments, like `#[test]` and
                                             `/// My function`, annotate the item following them.

error: expected statement after outer attribute
 --> src/main.rs:5:1
  |
5 | }
  | ^

error: aborting due to 2 previous errors

error: Could not compile `playground`.

The second error shouldn't occur.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-diagnosticsArea: Messages for errors, warnings, and lintsC-enhancementCategory: An issue proposing an enhancement or a PR with one.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions