Change:
https://crater- https://crater- https://crater- https://crater- https://crater- https://crater-
searched commit range: regressed commit: <details<summarybisected with <a href=''cargo-bisect-rustc</av0.6.8</summaryHost triple: x86_64-unknown-linux-gnu Reproduce with: </detailsDid this regress in ? cc
Specifically seems suspicious due to title alone, didn't look into it much though.
This was reported by one of the affected crate authors in
WG-prioritization assigning priority (). Since these crates regressed, it could probably be good to keep this on the radar (release in 15 days) label -I-prioritize +P-high
I plan to fix it later this week ( is assigned to me).
Fixed in
Thanks FWIW, I've since submitted a new version of which does not rely in this AST ordering quirk: maybe that way in a few months this "breakage" can take place? I wouldn't want to embody the following xkcd: <img src="" title="xkcd: workflow (1172)" alt="xkcd: workflow (1172)" height="400px" /
I plan to fix this properly in after the initial regression is addressed (maybe with a temporary deprecation lint), so fixing crates exploiting this bug still make sense.
Reopening to track beta backport
Closing, backported to beta.

Discussion:
ctxt: AssocCtxt, ) -> V::Result { let &Item { id: _, span: _, ident, ref vis, ref attrs, ref kind, tokens: _ } = item; <del> walk_list!(visitor, visit_attribute, attrs); </del> try_visit!(visitor.visit_vis(vis)); try_visit!(visitor.visit_ident(ident)); try_visit!(kind.walk(item, ctxt, visitor)); <ins> walk_list!(visitor, visit_attribute, attrs); </ins> V::Result::output() }

error: using tabs in doc comments is not recommended <del> --> tests/ui/tabs_in_doc_comments.rs:6:5 </del> <ins> --> tests/ui/tabs_in_doc_comments.rs:10:9 </ins> | <del> LL | ///     - first        one |     ^^^^ help: consider using four spaces per tab </del> <ins> LL |     ///     - First String: |         ^^^^ help: consider using four spaces per tab </ins> | = note: `-D clippy::tabs-in-doc-comments` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(clippy::tabs_in_doc_comments)]` error: using tabs in doc comments is not recommended <del> --> tests/ui/tabs_in_doc_comments.rs:6:13 </del> <ins> --> tests/ui/tabs_in_doc_comments.rs:11:9 </ins> | <del> LL | ///     - first        one |                ^^^^^^^^ help: consider using four spaces per tab </del> <ins> LL |     ///         - needs to be inside here |         ^^^^^^^^ help: consider using four spaces per tab </ins> error: using tabs in doc comments is not recommended <del> --> tests/ui/tabs_in_doc_comments.rs:7:5 </del> <ins> --> tests/ui/tabs_in_doc_comments.rs:14:9 </ins> | <del> LL | ///     - second    one |     ^^^^ help: consider using four spaces per tab </del> <ins> LL |     ///     - Second String: |         ^^^^ help: consider using four spaces per tab </ins> error: using tabs in doc comments is not recommended <del> --> tests/ui/tabs_in_doc_comments.rs:7:14 </del> <ins> --> tests/ui/tabs_in_doc_comments.rs:15:9 </ins> | <del> LL | ///     - second    one |                 ^^^^ help: consider using four spaces per tab </del> <ins> LL |     ///         - needs to be inside here |         ^^^^^^^^ help: consider using four spaces per tab </ins> error: using tabs in doc comments is not recommended <del> --> tests/ui/tabs_in_doc_comments.rs:10:9 </del> <ins> --> tests/ui/tabs_in_doc_comments.rs:6:5 </ins> | <del> LL |     ///     - First String: |         ^^^^ help: consider using four spaces per tab </del> <ins> LL | ///     - first        one |     ^^^^ help: consider using four spaces per tab </ins> error: using tabs in doc comments is not recommended <del> --> tests/ui/tabs_in_doc_comments.rs:11:9 </del> <ins> --> tests/ui/tabs_in_doc_comments.rs:6:13 </ins> | <del> LL |     ///         - needs to be inside here |         ^^^^^^^^ help: consider using four spaces per tab </del> <ins> LL | ///     - first        one |                ^^^^^^^^ help: consider using four spaces per tab </ins> error: using tabs in doc comments is not recommended <del> --> tests/ui/tabs_in_doc_comments.rs:14:9 </del> <ins> --> tests/ui/tabs_in_doc_comments.rs:7:5 </ins> | <del> LL |     ///     - Second String: |         ^^^^ help: consider using four spaces per tab </del> <ins> LL | ///     - second    one |     ^^^^ help: consider using four spaces per tab </ins> error: using tabs in doc comments is not recommended <del> --> tests/ui/tabs_in_doc_comments.rs:15:9 </del> <ins> --> tests/ui/tabs_in_doc_comments.rs:7:14 </ins> | <del> LL |     ///         - needs to be inside here |         ^^^^^^^^ help: consider using four spaces per tab </del> <ins> LL | ///     - second    one |                 ^^^^ help: consider using four spaces per tab </ins> error: aborting due to 8 previous errors

<ins> #![doc = in_root!()] // FIXME, this is a bug #![doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope #![doc = in_mod_escape!()] // FIXME, this is a bug #![doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope #[doc = in_root!()] //~ ERROR cannot find macro `in_root` in this scope #[doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope #[doc = in_mod_escape!()] //~ ERROR cannot find macro `in_mod_escape` in this scope #[doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope fn before() { #![doc = in_root!()] //~ ERROR cannot find macro `in_root` in this scope #![doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope #![doc = in_mod_escape!()] //~ ERROR cannot find macro `in_mod_escape` in this scope #![doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope } macro_rules! in_root { () => { "" } } mod macros_stay { #![doc = in_mod!()] // FIXME, this is a bug macro_rules! in_mod { () => { "" } } #[doc = in_mod!()] // OK fn f() { #![doc = in_mod!()] // OK } } #[macro_use] mod macros_escape { #![doc = in_mod_escape!()] // FIXME, this is a bug macro_rules! in_mod_escape { () => { "" } } #[doc = in_mod_escape!()] // OK fn f() { #![doc = in_mod_escape!()] // OK } } fn block() { #![doc = in_block!()]  //~ ERROR cannot find macro `in_block` in this scope macro_rules! in_block { () => { "" } } #[doc = in_block!()] // OK fn f() { #![doc = in_block!()] // OK } } #[doc = in_root!()] // OK #[doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope #[doc = in_mod_escape!()] // OK #[doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope fn after() { #![doc = in_root!()] // OK #![doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope #![doc = in_mod_escape!()] // OK #![doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope } fn main() {} </ins>

<ins> error: cannot find macro `in_mod` in this scope --> $DIR/key-value-expansion-scope.rs:2:10 | LL | #![doc = in_mod!()] |          ^^^^^^ | = help: have you added the `#[macro_use]` on the module/import? error: cannot find macro `in_block` in this scope --> $DIR/key-value-expansion-scope.rs:4:10 | LL | #![doc = in_block!()] |          ^^^^^^^^ | = help: have you added the `#[macro_use]` on the module/import? error: cannot find macro `in_root` in this scope --> $DIR/key-value-expansion-scope.rs:6:9 | LL | #[doc = in_root!()] |         ^^^^^^^ | = help: have you added the `#[macro_use]` on the module/import? error: cannot find macro `in_mod` in this scope --> $DIR/key-value-expansion-scope.rs:7:9 | LL | #[doc = in_mod!()] |         ^^^^^^ | = help: have you added the `#[macro_use]` on the module/import? error: cannot find macro `in_mod_escape` in this scope --> $DIR/key-value-expansion-scope.rs:8:9 | LL | #[doc = in_mod_escape!()] |         ^^^^^^^^^^^^^ | = help: have you added the `#[macro_use]` on the module/import? error: cannot find macro `in_block` in this scope --> $DIR/key-value-expansion-scope.rs:9:9 | LL | #[doc = in_block!()] |         ^^^^^^^^ | = help: have you added the `#[macro_use]` on the module/import? error: cannot find macro `in_root` in this scope --> $DIR/key-value-expansion-scope.rs:11:14 | LL |     #![doc = in_root!()] |              ^^^^^^^ | = help: have you added the `#[macro_use]` on the module/import? error: cannot find macro `in_mod` in this scope --> $DIR/key-value-expansion-scope.rs:12:14 | LL |     #![doc = in_mod!()] |              ^^^^^^ | = help: have you added the `#[macro_use]` on the module/import? error: cannot find macro `in_mod_escape` in this scope --> $DIR/key-value-expansion-scope.rs:13:14 | LL |     #![doc = in_mod_escape!()] |              ^^^^^^^^^^^^^ | = help: have you added the `#[macro_use]` on the module/import? error: cannot find macro `in_block` in this scope --> $DIR/key-value-expansion-scope.rs:14:14 | LL |     #![doc = in_block!()] |              ^^^^^^^^ | = help: have you added the `#[macro_use]` on the module/import? error: cannot find macro `in_block` in this scope --> $DIR/key-value-expansion-scope.rs:43:14 | LL |     #![doc = in_block!()] |              ^^^^^^^^ | = help: have you added the `#[macro_use]` on the module/import? error: cannot find macro `in_mod` in this scope --> $DIR/key-value-expansion-scope.rs:54:9 | LL | #[doc = in_mod!()] |         ^^^^^^ | = help: have you added the `#[macro_use]` on the module/import? error: cannot find macro `in_block` in this scope --> $DIR/key-value-expansion-scope.rs:56:9 | LL | #[doc = in_block!()] |         ^^^^^^^^ | = help: have you added the `#[macro_use]` on the module/import? error: cannot find macro `in_mod` in this scope --> $DIR/key-value-expansion-scope.rs:59:14 | LL |     #![doc = in_mod!()] |              ^^^^^^ | = help: have you added the `#[macro_use]` on the module/import? error: cannot find macro `in_block` in this scope --> $DIR/key-value-expansion-scope.rs:61:14 | LL |     #![doc = in_block!()] |              ^^^^^^^^ | = help: have you added the `#[macro_use]` on the module/import? error: aborting due to 15 previous errors </ins>

error[E0658]: the `#[optimize]` attribute is an experimental feature <del> --> $DIR/feature-gate-optimize_attribute.rs:4:1 | LL | #[optimize(size)] | ^^^^^^^^^^^^^^^^^ | = note: see issue #54882 <https://github.com/rust-lang/rust/issues/54882> for more information = help: add `#![feature(optimize_attribute)]` to the crate attributes to enable = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date error[E0658]: the `#[optimize]` attribute is an experimental feature </del> --> $DIR/feature-gate-optimize_attribute.rs:7:1 | LL | #[optimize(size)]

= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date error[E0658]: the `#[optimize]` attribute is an experimental feature <ins> --> $DIR/feature-gate-optimize_attribute.rs:4:1 | LL | #[optimize(size)] | ^^^^^^^^^^^^^^^^^ | = note: see issue #54882 <https://github.com/rust-lang/rust/issues/54882> for more information = help: add `#![feature(optimize_attribute)]` to the crate attributes to enable = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date error[E0658]: the `#[optimize]` attribute is an experimental feature </ins> --> $DIR/feature-gate-optimize_attribute.rs:2:1 | LL | #![optimize(speed)]

error[E0734]: stability attributes may not be used outside of the standard library <del> --> $DIR/issue-43106-gating-of-stable.rs:10:1 | LL | #[stable()] | ^^^^^^^^^^^ error[E0734]: stability attributes may not be used outside of the standard library </del> --> $DIR/issue-43106-gating-of-stable.rs:14:9 | LL |         #![stable()]

|     ^^^^^^^^^^^ error[E0734]: stability attributes may not be used outside of the standard library <ins> --> $DIR/issue-43106-gating-of-stable.rs:10:1 | LL | #[stable()] | ^^^^^^^^^^^ error[E0734]: stability attributes may not be used outside of the standard library </ins> --> $DIR/issue-43106-gating-of-stable.rs:7:1 | LL | #![stable()]

error[E0734]: stability attributes may not be used outside of the standard library <del> --> $DIR/issue-43106-gating-of-unstable.rs:10:1 | LL | #[unstable()] | ^^^^^^^^^^^^^ error[E0734]: stability attributes may not be used outside of the standard library </del> --> $DIR/issue-43106-gating-of-unstable.rs:14:9 | LL |         #![unstable()]

|     ^^^^^^^^^^^^^ error[E0734]: stability attributes may not be used outside of the standard library <ins> --> $DIR/issue-43106-gating-of-unstable.rs:10:1 | LL | #[unstable()] | ^^^^^^^^^^^^^ error[E0734]: stability attributes may not be used outside of the standard library </ins> --> $DIR/issue-43106-gating-of-unstable.rs:7:1 | LL | #![unstable()]