Skip to content

Regression: some macro invocations no longer work in Nightly. #76482

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
emilio opened this issue Sep 8, 2020 · 5 comments
Closed

Regression: some macro invocations no longer work in Nightly. #76482

emilio opened this issue Sep 8, 2020 · 5 comments

Comments

@emilio
Copy link
Contributor

emilio commented Sep 8, 2020

This is a regression which also affects Firefox, though it can be worked around by updating the syn crate.

I'll post a repro in a bit. The repro builds with stable rust (rustc 1.46.0 (04488afe3 2020-08-24)) and fails to build with nightly rust (rustc 1.48.0-nightly (0e2c1281e 2020-09-07)).

@emilio
Copy link
Contributor Author

emilio commented Sep 8, 2020

Repro lives here: https://github.com/emilio/rustc-issue-76482

@Aaron1011
Copy link
Member

This is caused by an outdated version of syn, which does not handle None-delimited groups properly. Running cargo update -p syn in your repro repository fixed the issue.

@emilio
Copy link
Contributor Author

emilio commented Sep 8, 2020

Yes, I mentioned that above:

it can be worked around by updating the syn crate

Still seems weird for it to regress like that...

moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue Sep 9, 2020
… Rust nightly again. r=froydnj

Generated with:

  cargo update -p syn --precise 1.0.40
  ./mach vendor rust

Rust issue: rust-lang/rust#76482

Differential Revision: https://phabricator.services.mozilla.com/D89473
@emilio
Copy link
Contributor Author

emilio commented Sep 9, 2020

To be clear, I'm a bit disappointed at breaking changes without even a warning cycle, but so it is I guess.

@emilio emilio closed this as completed Sep 9, 2020
@Aaron1011
Copy link
Member

@emilio: Unfortunately, the nature of this change makes emitting a warning impossible. The error is emitted by a proc macro, which is a black box as far as rustc is concerned. The only way to know if a proc-macro will produce an error is to run it, and the only way to 'recovery' or 'downgrade' such an error would be to run the proc-macro again with a different TokenStream. Since proc-macros are currently unsandboxed, this could cause all sorts of issues (duplicate network requests, overwriting files, etc).

gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this issue Sep 16, 2020
… Rust nightly again. r=froydnj

Generated with:

  cargo update -p syn --precise 1.0.40
  ./mach vendor rust

Rust issue: rust-lang/rust#76482

Differential Revision: https://phabricator.services.mozilla.com/D89473

UltraBlame original commit: e2cede25c027940ca4b36917a31163c278a4411f
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this issue Sep 16, 2020
… Rust nightly again. r=froydnj

Generated with:

  cargo update -p syn --precise 1.0.40
  ./mach vendor rust

Rust issue: rust-lang/rust#76482

Differential Revision: https://phabricator.services.mozilla.com/D89473

UltraBlame original commit: e2cede25c027940ca4b36917a31163c278a4411f
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this issue Sep 16, 2020
… Rust nightly again. r=froydnj

Generated with:

  cargo update -p syn --precise 1.0.40
  ./mach vendor rust

Rust issue: rust-lang/rust#76482

Differential Revision: https://phabricator.services.mozilla.com/D89473

UltraBlame original commit: e2cede25c027940ca4b36917a31163c278a4411f
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue Oct 22, 2020
… Rust nightly again. r=froydnj, a=RyanVM

Generated with:

  cargo update -p syn --precise 1.0.40
  ./mach vendor rust

Rust issue: rust-lang/rust#76482

Differential Revision: https://phabricator.services.mozilla.com/D89473
ambroff pushed a commit to ambroff/gecko that referenced this issue Nov 4, 2020
… Rust nightly again. r=froydnj

Generated with:

  cargo update -p syn --precise 1.0.40
  ./mach vendor rust

Rust issue: rust-lang/rust#76482

Differential Revision: https://phabricator.services.mozilla.com/D89473
raspbian-autopush pushed a commit to raspbian-packages/firefox-esr that referenced this issue Nov 19, 2020
… Rust nightly again. r=froydnj, a=RyanVM

Generated with:

  cargo update -p syn --precise 1.0.40
  ./mach vendor rust

Rust issue: rust-lang/rust#76482

Differential Revision: https://phabricator.services.mozilla.com/D89473

Gbp-Pq: Topic fixes
Gbp-Pq: Name Bug-1663715-Update-syn-and-proc-macro2-so-that-Firef.patch
aosmond pushed a commit to aosmond/gecko that referenced this issue Nov 27, 2021
… Rust nightly again. r=froydnj, a=RyanVM

Generated with:

  cargo update -p syn --precise 1.0.40
  ./mach vendor rust

Rust issue: rust-lang/rust#76482

Differential Revision: https://phabricator.services.mozilla.com/D89473
amurzeau pushed a commit to amurzeau/firefox-debian that referenced this issue Jul 30, 2022
… Rust nightly again. r=froydnj, a=RyanVM

Generated with:

  cargo update -p syn --precise 1.0.40
  ./mach vendor rust

Rust issue: rust-lang/rust#76482

Differential Revision: https://phabricator.services.mozilla.com/D89473
Mossop pushed a commit to Mossop/firefox-working that referenced this issue Apr 30, 2025
… Rust nightly again. r=froydnj, a=RyanVM

Generated with:

  cargo update -p syn --precise 1.0.40
  ./mach vendor rust

Rust issue: rust-lang/rust#76482

Differential Revision: https://phabricator.services.mozilla.com/D89473
bhearsum pushed a commit to mozilla-releng/staging-firefox that referenced this issue May 1, 2025
… Rust nightly again. r=froydnj

Generated with:

  cargo update -p syn --precise 1.0.40
  ./mach vendor rust

Rust issue: rust-lang/rust#76482

Differential Revision: https://phabricator.services.mozilla.com/D89473
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants