Skip to content

expected unsuffixed literal or identifier, found IN_ISDIR #122796

Closed as not planned
@Thomasdezeeuw

Description

@Thomasdezeeuw

I have the following (open source) code: https://github.com/Thomasdezeeuw/heph/blob/1c7ee4af37627fcfb11749389973fa5e4a34a0bf/rt/src/fs/watch.rs#L354-L466. It's over a 100 lines and I'm not sure what is causing the issue.

This compiled fine since it was added to the repository, latest nightly compiler that is know to work is from rustc 1.78.0-nightly (c67326b06 2024-03-15).

However using the currently nightly compiler, 1.79.0-nightly (a7e4de13c 2024-03-19), fails to compile it giving the following errors:

error: expected unsuffixed literal or identifier, found `IN_ISDIR`
   --> rt/src/fs/watch.rs:454:23
    |
354 |     bit_checks!(self.event.mask);
    |     ---------------------------- in this macro invocation
...
454 |         #[doc(alias = $bit)]
    |                       ^^^^
    |
    = note: this error originates in the macro `bit_checks` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected unsuffixed literal or identifier, found `IN_ACCESS`
   --> rt/src/fs/watch.rs:454:23
    |
354 |     bit_checks!(self.event.mask);
    |     ---------------------------- in this macro invocation
...
454 |         #[doc(alias = $bit)]
    |                       ^^^^
    |
    = note: this error originates in the macro `bit_checks` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected unsuffixed literal or identifier, found `IN_MODIFY`
   --> rt/src/fs/watch.rs:454:23
    |
354 |     bit_checks!(self.event.mask);
    |     ---------------------------- in this macro invocation
...
454 |         #[doc(alias = $bit)]
    |                       ^^^^
    |
    = note: this error originates in the macro `bit_checks` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected unsuffixed literal or identifier, found `IN_ATTRIB`
   --> rt/src/fs/watch.rs:454:23
    |
354 |     bit_checks!(self.event.mask);
    |     ---------------------------- in this macro invocation
...
454 |         #[doc(alias = $bit)]
    |                       ^^^^
    |
    = note: this error originates in the macro `bit_checks` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected unsuffixed literal or identifier, found `IN_CLOSE_WRITE`
   --> rt/src/fs/watch.rs:454:23
    |
354 |     bit_checks!(self.event.mask);
    |     ---------------------------- in this macro invocation
...
454 |         #[doc(alias = $bit)]
    |                       ^^^^
    |
    = note: this error originates in the macro `bit_checks` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected unsuffixed literal or identifier, found `IN_CLOSE_NOWRITE`
   --> rt/src/fs/watch.rs:454:23
    |
354 |     bit_checks!(self.event.mask);
    |     ---------------------------- in this macro invocation
...
454 |         #[doc(alias = $bit)]
    |                       ^^^^
    |
    = note: this error originates in the macro `bit_checks` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected unsuffixed literal or identifier, found `IN_CLOSE`
   --> rt/src/fs/watch.rs:454:23
    |
354 |     bit_checks!(self.event.mask);
    |     ---------------------------- in this macro invocation
...
454 |         #[doc(alias = $bit)]
    |                       ^^^^
    |
    = note: this error originates in the macro `bit_checks` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected unsuffixed literal or identifier, found `IN_OPEN`
   --> rt/src/fs/watch.rs:454:23
    |
354 |     bit_checks!(self.event.mask);
    |     ---------------------------- in this macro invocation
...
454 |         #[doc(alias = $bit)]
    |                       ^^^^
    |
    = note: this error originates in the macro `bit_checks` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected unsuffixed literal or identifier, found `IN_DELETE_SELF`
   --> rt/src/fs/watch.rs:454:23
    |
354 |     bit_checks!(self.event.mask);
    |     ---------------------------- in this macro invocation
...
454 |         #[doc(alias = $bit)]
    |                       ^^^^
    |
    = note: this error originates in the macro `bit_checks` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected unsuffixed literal or identifier, found `IN_MOVE_SELF`
   --> rt/src/fs/watch.rs:454:23
    |
354 |     bit_checks!(self.event.mask);
    |     ---------------------------- in this macro invocation
...
454 |         #[doc(alias = $bit)]
    |                       ^^^^
    |
    = note: this error originates in the macro `bit_checks` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected unsuffixed literal or identifier, found `IN_UNMOUNT`
   --> rt/src/fs/watch.rs:454:23
    |
354 |     bit_checks!(self.event.mask);
    |     ---------------------------- in this macro invocation
...
454 |         #[doc(alias = $bit)]
    |                       ^^^^
    |
    = note: this error originates in the macro `bit_checks` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected unsuffixed literal or identifier, found `IN_MOVED_FROM`
   --> rt/src/fs/watch.rs:454:23
    |
354 |     bit_checks!(self.event.mask);
    |     ---------------------------- in this macro invocation
...
454 |         #[doc(alias = $bit)]
    |                       ^^^^
    |
    = note: this error originates in the macro `bit_checks` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected unsuffixed literal or identifier, found `IN_MOVED_TO`
   --> rt/src/fs/watch.rs:454:23
    |
354 |     bit_checks!(self.event.mask);
    |     ---------------------------- in this macro invocation
...
454 |         #[doc(alias = $bit)]
    |                       ^^^^
    |
    = note: this error originates in the macro `bit_checks` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected unsuffixed literal or identifier, found `IN_MOVE`
   --> rt/src/fs/watch.rs:454:23
    |
354 |     bit_checks!(self.event.mask);
    |     ---------------------------- in this macro invocation
...
454 |         #[doc(alias = $bit)]
    |                       ^^^^
    |
    = note: this error originates in the macro `bit_checks` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected unsuffixed literal or identifier, found `IN_CREATE`
   --> rt/src/fs/watch.rs:454:23
    |
354 |     bit_checks!(self.event.mask);
    |     ---------------------------- in this macro invocation
...
454 |         #[doc(alias = $bit)]
    |                       ^^^^
    |
    = note: this error originates in the macro `bit_checks` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected unsuffixed literal or identifier, found `IN_DELETE`
   --> rt/src/fs/watch.rs:454:23
    |
354 |     bit_checks!(self.event.mask);
    |     ---------------------------- in this macro invocation
...
454 |         #[doc(alias = $bit)]
    |                       ^^^^
    |
    = note: this error originates in the macro `bit_checks` (in Nightly builds, run with -Z macro-backtrace for more info)

error: could not compile `heph-rt` (lib) due to 16 previous errors
make: *** [Makefile.include:21: test] Error 101

Also available on the CI:

There are two problems. First, the regression from the previous nightly. Second, the error message is rather confusing, I have would have no idea what the actual problem is.

Meta

rustc --version --verbose:

rustc 1.79.0-nightly (a7e4de13c 2024-03-19)
binary: rustc
commit-hash: a7e4de13c1785819f4d61da41f6704ed69d5f203
commit-date: 2024-03-19
host: x86_64-unknown-linux-gnu
release: 1.79.0-nightly
LLVM version: 18.1.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-attributesArea: Attributes (`#[…]`, `#![…]`)C-discussionCategory: Discussion or questions that doesn't represent real issues.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions