[INFO] fetching crate syntex_syntax 0.59.1...
[INFO] testing syntex_syntax-0.59.1 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate syntex_syntax 0.59.1 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate syntex_syntax 0.59.1
[INFO] finished tweaking crates.io crate syntex_syntax 0.59.1
[INFO] tweaked toml for crates.io crate syntex_syntax 0.59.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate syntex_syntax 0.59.1 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 46 packages to latest compatible versions
[INFO] [stderr]       Adding bitflags v0.9.1 (available: v2.9.4)
[INFO] [stderr]       Adding log v0.3.9 (available: v0.4.28)
[INFO] [stderr]       Adding unicode-xid v0.1.0 (available: v0.2.6)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8c103e7e526b0f4103095fb34d5dd7f190a2565179241f9c95ef0066ba80b284
[INFO] running `Command { std: "docker" "start" "-a" "8c103e7e526b0f4103095fb34d5dd7f190a2565179241f9c95ef0066ba80b284", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8c103e7e526b0f4103095fb34d5dd7f190a2565179241f9c95ef0066ba80b284", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c103e7e526b0f4103095fb34d5dd7f190a2565179241f9c95ef0066ba80b284", kill_on_drop: false }`
[INFO] [stdout] 8c103e7e526b0f4103095fb34d5dd7f190a2565179241f9c95ef0066ba80b284
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4a5e812419332e6a3d833df28993fe93225337af40a3d26cef62918edc09d4e3
[INFO] running `Command { std: "docker" "start" "-a" "4a5e812419332e6a3d833df28993fe93225337af40a3d26cef62918edc09d4e3", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling extprim v1.7.1
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling term v0.4.6
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling syntex_pos v0.59.1
[INFO] [stderr]    Compiling syntex_errors v0.59.1
[INFO] [stderr]    Compiling syntex_syntax v0.59.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parser.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | / bitflags! {
[INFO] [stdout] 69 | |     pub struct Restrictions: u8 {
[INFO] [stdout] 70 | |         const RESTRICTION_STMT_EXPR         = 1 << 0;
[INFO] [stdout] 71 | |         const RESTRICTION_NO_STRUCT_LITERAL = 1 << 1;
[INFO] [stdout] 72 | |     }
[INFO] [stdout] 73 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parser.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | / bitflags! {
[INFO] [stdout] 69 | |     pub struct Restrictions: u8 {
[INFO] [stdout] 70 | |         const RESTRICTION_STMT_EXPR         = 1 << 0;
[INFO] [stdout] 71 | |         const RESTRICTION_NO_STRUCT_LITERAL = 1 << 1;
[INFO] [stdout] 72 | |     }
[INFO] [stdout] 73 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parser.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | / bitflags! {
[INFO] [stdout] 69 | |     pub struct Restrictions: u8 {
[INFO] [stdout] 70 | |         const RESTRICTION_STMT_EXPR         = 1 << 0;
[INFO] [stdout] 71 | |         const RESTRICTION_NO_STRUCT_LITERAL = 1 << 1;
[INFO] [stdout] 72 | |     }
[INFO] [stdout] 73 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/parse/parser.rs:2833:25
[INFO] [stdout]      |
[INFO] [stdout] 2833 |                 let r = try!(self.mk_range(Some(lhs), rhs, limits));
[INFO] [stdout]      |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/parse/parser.rs:2954:17
[INFO] [stdout]      |
[INFO] [stdout] 2954 |         let r = try!(self.mk_range(None,
[INFO] [stdout]      |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/parse/lexer/mod.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 322 |         (pos - self.filemap.start_pos)
[INFO] [stdout]     |         ^                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 322 -         (pos - self.filemap.start_pos)
[INFO] [stdout] 322 +         pos - self.filemap.start_pos
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parse/lexer/mod.rs:733:20
[INFO] [stdout]     |
[INFO] [stdout] 733 |                 '0'...'9' | '_' | '.' | 'e' | 'E' => {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/print/pprust.rs:676:17
[INFO] [stdout]     |
[INFO] [stdout] 676 |                 (format!("\"{}\"", parse::escape_default(st)))
[INFO] [stdout]     |                 ^                                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 676 -                 (format!("\"{}\"", parse::escape_default(st)))
[INFO] [stdout] 676 +                 format!("\"{}\"", parse::escape_default(st))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/print/pprust.rs:679:17
[INFO] [stdout]     |
[INFO] [stdout] 679 |                 (format!("r{delim}\"{string}\"{delim}",
[INFO] [stdout]     |                 ^
[INFO] [stdout] 680 |                          delim=repeat("#", n),
[INFO] [stdout] 681 |                          string=st))
[INFO] [stdout]     |                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 679 ~                 format!("r{delim}\"{string}\"{delim}",
[INFO] [stdout] 680 |                          delim=repeat("#", n),
[INFO] [stdout] 681 ~                          string=st)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/print/pprust.rs:1477:13
[INFO] [stdout]      |
[INFO] [stdout] 1477 |             try!(self.word_nbsp("default"));
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ext`
[INFO] [stdout]   --> src/ext/build.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub use ext;
[INFO] [stdout]    |             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parse`
[INFO] [stdout]   --> src/ext/build.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub use parse;
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]   --> src/feature_gate.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 | use std::ascii::AsciiExt;
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rustc_data_structures/indexed_vec.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |     _marker: PhantomData<Fn(&I)>
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 43 |     _marker: PhantomData<dyn Fn(&I)>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/json.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 |     dst: Box<Write + Send>,
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     dst: Box<dyn Write + Send>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/json.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     cm: Rc<CodeMapper + 'static>,
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     cm: Rc<dyn CodeMapper + 'static>,
[INFO] [stdout]    |            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codemap.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |     file_loader: Box<FileLoader>,
[INFO] [stdout]     |                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 107 |     file_loader: Box<dyn FileLoader>,
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pp.rs:265:18
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub out: Box<io::Write+'a>,
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub out: Box<dyn io::Write+'a>,
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/print/pprust.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 |     ann: &'a (PpAnn+'a),
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     ann: &'a (dyn PpAnn+'a),
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:517:24
[INFO] [stdout]     |
[INFO] [stdout] 517 |     MultiDecorator(Box<MultiItemDecorator>),
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 517 |     MultiDecorator(Box<dyn MultiItemDecorator>),
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:521:23
[INFO] [stdout]     |
[INFO] [stdout] 521 |     MultiModifier(Box<MultiItemModifier>),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 521 |     MultiModifier(Box<dyn MultiItemModifier>),
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:524:19
[INFO] [stdout]     |
[INFO] [stdout] 524 |     ProcMacro(Box<ProcMacro>),
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 524 |     ProcMacro(Box<dyn ProcMacro>),
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:530:23
[INFO] [stdout]     |
[INFO] [stdout] 530 |     AttrProcMacro(Box<AttrProcMacro>),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 530 |     AttrProcMacro(Box<dyn AttrProcMacro>),
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:538:18
[INFO] [stdout]     |
[INFO] [stdout] 538 |     NormalTT(Box<TTMacroExpander>, Option<(ast::NodeId, Span)>, bool),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 538 |     NormalTT(Box<dyn TTMacroExpander>, Option<(ast::NodeId, Span)>, bool),
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:543:17
[INFO] [stdout]     |
[INFO] [stdout] 543 |     IdentTT(Box<IdentMacroExpander>, Option<Span>, bool),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 543 |     IdentTT(Box<dyn IdentMacroExpander>, Option<Span>, bool),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:549:25
[INFO] [stdout]     |
[INFO] [stdout] 549 |     ProcMacroDerive(Box<MultiItemModifier>, Vec<Symbol> /* inert attribute names */),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 549 |     ProcMacroDerive(Box<dyn MultiItemModifier>, Vec<Symbol> /* inert attribute names */),
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:496:71
[INFO] [stdout]     |
[INFO] [stdout] 496 |     for<'cx> fn(&'cx mut ExtCtxt, Span, &MetaItem, &Annotatable, &mut FnMut(Annotatable));
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 496 |     for<'cx> fn(&'cx mut ExtCtxt, Span, &MetaItem, &Annotatable, &mut dyn FnMut(Annotatable));
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:555:19
[INFO] [stdout]     |
[INFO] [stdout] 555 |     DeclMacro(Box<TTMacroExpander>, Option<Span> /* definition site span */),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 555 |     DeclMacro(Box<dyn TTMacroExpander>, Option<Span> /* definition site span */),
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:657:27
[INFO] [stdout]     |
[INFO] [stdout] 657 |     pub resolver: &'a mut Resolver,
[INFO] [stdout]     |                           ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 657 |     pub resolver: &'a mut dyn Resolver,
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:107:26
[INFO] [stdout]     |
[INFO] [stdout] 107 |               push: &mut FnMut(Annotatable));
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 107 |               push: &mut dyn FnMut(Annotatable));
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:201:27
[INFO] [stdout]     |
[INFO] [stdout] 201 |                    -> Box<MacResult+'cx>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 201 |                    -> Box<dyn MacResult+'cx>;
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:242:27
[INFO] [stdout]     |
[INFO] [stdout] 242 |                    -> Box<MacResult+'cx>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 242 |                    -> Box<dyn MacResult+'cx>;
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:138:39
[INFO] [stdout]     |
[INFO] [stdout] 138 |                           input: &mut Read,
[INFO] [stdout]     |                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |                           input: &mut dyn Read,
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:139:36
[INFO] [stdout]     |
[INFO] [stdout] 139 |                           out: Box<Write+'a>,
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 139 |                           out: Box<dyn Write+'a>,
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:140:36
[INFO] [stdout]     |
[INFO] [stdout] 140 |                           ann: &'a PpAnn,
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 140 |                           ann: &'a dyn PpAnn,
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:156:25
[INFO] [stdout]     |
[INFO] [stdout] 156 |                out: Box<Write+'a>,
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |                out: Box<dyn Write+'a>,
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:157:25
[INFO] [stdout]     |
[INFO] [stdout] 157 |                ann: &'a PpAnn,
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 157 |                ann: &'a dyn PpAnn,
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 |               push: &mut FnMut(Annotatable)) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |               push: &mut dyn FnMut(Annotatable)) {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:212:27
[INFO] [stdout]     |
[INFO] [stdout] 212 |                    -> Box<MacResult+'cx> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 212 |                    -> Box<dyn MacResult+'cx> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:258:27
[INFO] [stdout]     |
[INFO] [stdout] 258 |                    -> Box<MacResult+'cx>
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 258 |                    -> Box<dyn MacResult+'cx>
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:666:34
[INFO] [stdout]     |
[INFO] [stdout] 666 |                resolver: &'a mut Resolver)
[INFO] [stdout]     |                                  ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 666 |                resolver: &'a mut dyn Resolver)
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/diagnostics/plugin.rs:59:43
[INFO] [stdout]    |
[INFO] [stdout] 59 | ...                   -> Box<MacResult+'cx> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 59 |                                    -> Box<dyn MacResult+'cx> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/diagnostics/plugin.rs:92:47
[INFO] [stdout]    |
[INFO] [stdout] 92 | ...                   -> Box<MacResult+'cx> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 92 |                                        -> Box<dyn MacResult+'cx> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/diagnostics/plugin.rs:162:50
[INFO] [stdout]     |
[INFO] [stdout] 162 | ...                   -> Box<MacResult+'cx> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 162 |                                           -> Box<dyn MacResult+'cx> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/diagnostics/metadata.rs:75:23
[INFO] [stdout]    |
[INFO] [stdout] 75 |     -> Result<(), Box<Error>>
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |     -> Result<(), Box<dyn Error>>
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lexer/comments.rs:346:80
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub fn gather_comments_and_literals(sess: &ParseSess, path: String, srdr: &mut Read)
[INFO] [stdout]     |                                                                                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub fn gather_comments_and_literals(sess: &ParseSess, path: String, srdr: &mut dyn Read)
[INFO] [stdout]     |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/test.rs:75:42
[INFO] [stdout]    |
[INFO] [stdout] 75 |                           resolver: &mut Resolver,
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |                           resolver: &mut dyn Resolver,
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/test.rs:263:41
[INFO] [stdout]     |
[INFO] [stdout] 263 |                          resolver: &mut Resolver,
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 263 |                          resolver: &mut dyn Resolver,
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pp.rs:244:32
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub fn mk_printer<'a>(out: Box<io::Write+'a>, linewidth: usize) -> Printer<'a> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub fn mk_printer<'a>(out: Box<dyn io::Write+'a>, linewidth: usize) -> Printer<'a> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/print/pprust.rs:73:37
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn rust_printer<'a>(writer: Box<Write+'a>) -> State<'a> {
[INFO] [stdout]    |                                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn rust_printer<'a>(writer: Box<dyn Write+'a>) -> State<'a> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/print/pprust.rs:78:47
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn rust_printer_annotated<'a>(writer: Box<Write+'a>,
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn rust_printer_annotated<'a>(writer: Box<dyn Write+'a>,
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/print/pprust.rs:79:44
[INFO] [stdout]    |
[INFO] [stdout] 79 | ...                   ann: &'a PpAnn) -> State<'a> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |                                   ann: &'a dyn PpAnn) -> State<'a> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:105:36
[INFO] [stdout]     |
[INFO] [stdout] 105 |                        input: &mut Read,
[INFO] [stdout]     |                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 105 |                        input: &mut dyn Read,
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:106:33
[INFO] [stdout]     |
[INFO] [stdout] 106 |                        out: Box<Write+'a>,
[INFO] [stdout]     |                                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 106 |                        out: Box<dyn Write+'a>,
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:107:33
[INFO] [stdout]     |
[INFO] [stdout] 107 |                        ann: &'a PpAnn,
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 107 |                        ann: &'a dyn PpAnn,
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:111:73
[INFO] [stdout]     |
[INFO] [stdout] 111 |     where F : Fn(&mut ExtCtxt, Span, &ast::MetaItem, &Annotatable, &mut FnMut(Annotatable))
[INFO] [stdout]     |                                                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     where F : Fn(&mut ExtCtxt, Span, &ast::MetaItem, &Annotatable, &mut dyn FnMut(Annotatable))
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:209:84
[INFO] [stdout]     |
[INFO] [stdout] 209 |     where F: for<'cx> Fn(&'cx mut ExtCtxt, Span, &[tokenstream::TokenTree]) -> Box<MacResult+'cx>
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 209 |     where F: for<'cx> Fn(&'cx mut ExtCtxt, Span, &[tokenstream::TokenTree]) -> Box<dyn MacResult+'cx>
[INFO] [stdout]     |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:206:24
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 -> Box<MacResult+'cx>;
[INFO] [stdout]     |                        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 -> Box<dyn MacResult+'cx>;
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:251:63
[INFO] [stdout]     |
[INFO] [stdout] 251 |                           Vec<tokenstream::TokenTree>) -> Box<MacResult+'cx>
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 251 |                           Vec<tokenstream::TokenTree>) -> Box<dyn MacResult+'cx>
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:247:24
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 -> Box<MacResult+'cx>;
[INFO] [stdout]     |                        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 -> Box<dyn MacResult+'cx>;
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:449:40
[INFO] [stdout]     |
[INFO] [stdout] 449 | ...                   -> Box<base::MacResult+'cx> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 449 |                                 -> Box<dyn base::MacResult+'cx> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:458:38
[INFO] [stdout]     |
[INFO] [stdout] 458 | ...                   -> Box<base::MacResult+'cx> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 458 |                               -> Box<dyn base::MacResult+'cx> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:466:38
[INFO] [stdout]     |
[INFO] [stdout] 466 | ...                   -> Box<base::MacResult+'cx> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 466 |                               -> Box<dyn base::MacResult+'cx> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:474:37
[INFO] [stdout]     |
[INFO] [stdout] 474 | ...                   -> Box<base::MacResult+'cx> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 474 |                              -> Box<dyn base::MacResult+'cx> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:482:32
[INFO] [stdout]     |
[INFO] [stdout] 482 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 482 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:490:31
[INFO] [stdout]     |
[INFO] [stdout] 490 |                        -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 490 |                        -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:498:33
[INFO] [stdout]     |
[INFO] [stdout] 498 |                          -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 498 |                          -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:506:33
[INFO] [stdout]     |
[INFO] [stdout] 506 |                          -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 506 |                          -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:516:32
[INFO] [stdout]     |
[INFO] [stdout] 516 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 516 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:524:32
[INFO] [stdout]     |
[INFO] [stdout] 524 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 524 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:532:32
[INFO] [stdout]     |
[INFO] [stdout] 532 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 532 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:540:32
[INFO] [stdout]     |
[INFO] [stdout] 540 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 540 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:35:27
[INFO] [stdout]    |
[INFO] [stdout] 35 |                    -> Box<base::MacResult+'static> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |                    -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |                   -> Box<base::MacResult+'static> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |                   -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:59:27
[INFO] [stdout]    |
[INFO] [stdout] 59 |                    -> Box<base::MacResult+'static> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 59 |                    -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:68:32
[INFO] [stdout]    |
[INFO] [stdout] 68 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 68 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:74:26
[INFO] [stdout]    |
[INFO] [stdout] 74 |                   -> Box<base::MacResult+'static> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |                   -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 | ...                   -> Box<base::MacResult+'cx> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 |                            -> Box<dyn base::MacResult+'cx> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/source_util.rs:123:34
[INFO] [stdout]     |
[INFO] [stdout] 123 |                           -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 123 |                           -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/source_util.rs:159:36
[INFO] [stdout]     |
[INFO] [stdout] 159 | ...                   -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 159 |                             -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/tt/macro_rules.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 74 |                    -> Box<MacResult+'cx> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |                    -> Box<dyn MacResult+'cx> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/tt/macro_rules.rs:100:34
[INFO] [stdout]     |
[INFO] [stdout] 100 |                           -> Box<MacResult+'cx> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 100 |                           -> Box<dyn MacResult+'cx> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/json.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn new(dst: Box<Write + Send>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn new(dst: Box<dyn Write + Send>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codemap.rs:122:46
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn with_file_loader(file_loader: Box<FileLoader>,
[INFO] [stdout]     |                                              ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn with_file_loader(file_loader: Box<dyn FileLoader>,
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:328:43
[INFO] [stdout]     |
[INFO] [stdout] 328 |                   pub fn $fld(v: $t) -> Box<MacResult> {
[INFO] [stdout]     |                                             ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 | / make_MacEager! {
[INFO] [stdout] 340 | |     expr: P<ast::Expr>,
[INFO] [stdout] 341 | |     pat: P<ast::Pat>,
[INFO] [stdout] 342 | |     items: SmallVector<P<ast::Item>>,
[INFO] [stdout] ...   |
[INFO] [stdout] 346 | |     ty: P<ast::Ty>,
[INFO] [stdout] 347 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `make_MacEager` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:407:33
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn any(sp: Span) -> Box<MacResult+'static> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn any(sp: Span) -> Box<dyn MacResult+'static> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:416:34
[INFO] [stdout]     |
[INFO] [stdout] 416 |     pub fn expr(sp: Span) -> Box<MacResult+'static> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 416 |     pub fn expr(sp: Span) -> Box<dyn MacResult+'static> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/expand.rs:57:48
[INFO] [stdout]     |
[INFO] [stdout]  57 |               fn make_from<'a>(self, result: Box<MacResult + 'a>) -> Option<Expansion> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 | / expansions! {
[INFO] [stdout] 123 | |     Expr: P<ast::Expr> [], "expression", .make_expr, .fold_expr, .visit_expr;
[INFO] [stdout] 124 | |     Pat: P<ast::Pat>   [], "pattern",    .make_pat,  .fold_pat,  .visit_pat;
[INFO] [stdout] 125 | |     Ty: P<ast::Ty>     [], "type",       .make_ty,   .fold_ty,   .visit_ty;
[INFO] [stdout] ...   |
[INFO] [stdout] 133 | |         "impl item",  .make_impl_items,  lift .fold_impl_item,  lift .visit_impl_item;
[INFO] [stdout] 134 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `expansions` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/diagnostics/plugin.rs:184:50
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     target_triple, crate_name, e.description(), e.cause()
[INFO] [stdout]     |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/diagnostics/plugin.rs:184:67
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     target_triple, crate_name, e.description(), e.cause()
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bitflags::core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/codemap.rs:463:69
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let snippet = snippet.split(c).nth(0).unwrap_or("").trim_right();
[INFO] [stdout]     |                                                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 463 -                 let snippet = snippet.split(c).nth(0).unwrap_or("").trim_right();
[INFO] [stdout] 463 +                 let snippet = snippet.split(c).nth(0).unwrap_or("").trim_end();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stdout]   --> src/feature_gate.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use std::ascii::AsciiExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rustc_data_structures/indexed_vec.rs:234:18
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn into_iter(mut self) -> slice::IterMut<'a, T> {
[INFO] [stdout]     |                  ----^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ext/tt/macro_parser.rs:209:81
[INFO] [stdout]     |
[INFO] [stdout] 209 |     fn n_rec<I: Iterator<Item=Rc<NamedMatch>>>(sess: &ParseSess, m: &TokenTree, mut res: &mut I,
[INFO] [stdout]     |                                                                                 ----^^^
[INFO] [stdout]     |                                                                                 |
[INFO] [stdout]     |                                                                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ext/tt/macro_parser.rs:449:66
[INFO] [stdout]     |
[INFO] [stdout] 449 |                 let matches = eof_eis[0].matches.iter_mut().map(|mut dv| dv.pop().unwrap());
[INFO] [stdout]     |                                                                  ----^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ext/tt/macro_rules.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut values: &mut Vec<String> = cx.expansions.entry(sp).or_insert_with(Vec::new);
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_unsigned_leb128_to_buf` is never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn write_unsigned_leb128_to_buf(buf: &mut [u8; 16], value: u64) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_signed_leb128_to_buf` is never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn write_signed_leb128_to_buf(buf: &mut [u8; 16], value: i64) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StableHasher` is never constructed
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct StableHasher<W> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StableHasherResult` is never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub trait StableHasherResult: Sized {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_uleb128` and `write_ileb128` are never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl<W> StableHasher<W> {
[INFO] [stdout]    | ----------------------- methods in this implementation
[INFO] [stdout] 74 |     #[inline]
[INFO] [stdout] 75 |     fn write_uleb128(&mut self, value: u64) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     fn write_ileb128(&mut self, value: i64) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `HashStable` is never used
[INFO] [stdout]    --> src/rustc_data_structures/stable_hasher.rs:161:11
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub trait HashStable<CTX> {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blake2bCtx` is never constructed
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Blake2bCtx {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `b2b_g` is never used
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn b2b_g(v: &mut [u64; 16],
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLAKE2B_IV` is never used
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:72:7
[INFO] [stdout]    |
[INFO] [stdout] 72 | const BLAKE2B_IV: [u64; 8] = [
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blake2b_compress` is never used
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn blake2b_compress(ctx: &mut Blake2bCtx, last: bool) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blake2b_update` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn blake2b_update(ctx: &mut Blake2bCtx, mut data: &[u8]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blake2b_final` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:194:4
[INFO] [stdout]     |
[INFO] [stdout] 194 | fn blake2b_final(ctx: &mut Blake2bCtx)
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checked_mem_copy` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:223:4
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn checked_mem_copy<T1, T2>(from: &[T1], to: &mut [T2], byte_count: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blake2bHasher` is never constructed
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub struct Blake2bHasher(Blake2bCtx);
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `finalize` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | impl Blake2bHasher {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 250 |     pub fn finalize(&mut self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_unsigned_leb128_to` is never used
[INFO] [stdout]   --> src/rustc_data_structures/leb128.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn write_unsigned_leb128_to<W>(mut value: u128, mut write: W) -> usize
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_signed_leb128_to` is never used
[INFO] [stdout]   --> src/rustc_data_structures/leb128.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn write_signed_leb128_to<W>(mut value: i128, mut write: W) -> usize
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rustc_data_structures/indexed_vec.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn iter(&self) -> slice::Iter<T> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn iter(&self) -> slice::Iter<'_, T> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rustc_data_structures/indexed_vec.rs:129:21
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn iter_mut(&mut self) -> slice::IterMut<T> {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn iter_mut(&mut self) -> slice::IterMut<'_, T> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/rustc_data_structures/stable_hasher.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |             ::std::mem::transmute(*self)
[INFO] [stdout]     |             ---------------------^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: replace this with: `f32::to_bits`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/rustc_data_structures/stable_hasher.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |             ::std::mem::transmute(*self)
[INFO] [stdout]     |             ---------------------^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: replace this with: `f64::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/util/small_vector.rs:141:28
[INFO] [stdout]     |
[INFO] [stdout] 141 |                     panic!(err)
[INFO] [stdout]     |                            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 141 |                     panic!("{}", err)
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/util/small_vector.rs:144:25
[INFO] [stdout]     |
[INFO] [stdout] 144 |             _ => panic!(err)
[INFO] [stdout]     |                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 144 |             _ => panic!("{}", err)
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codemap.rs:145:18
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub fn files(&self) -> Ref<Vec<Rc<FileMap>>> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub fn files(&self) -> Ref<'_, Vec<Rc<FileMap>>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:49:24
[INFO] [stdout]      |
[INFO] [stdout]   49 |                 panic!(FatalError);
[INFO] [stdout]      |                        ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/feature_gate.rs:1118:20
[INFO] [stdout]      |
[INFO] [stdout] 1118 |         let meta = panictry!(attr.parse_meta(self.context.parse_sess));
[INFO] [stdout]      |                    --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]      = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout]   49 |                 panic!("{}", FatalError);
[INFO] [stdout]      |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout]   49 -                 panic!(FatalError);
[INFO] [stdout]   49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/feature_gate.rs:1509:20
[INFO] [stdout]      |
[INFO] [stdout] 1509 |             panic!(FatalError);
[INFO] [stdout]      |                    ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1509 |             panic!("{}", FatalError);
[INFO] [stdout]      |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1509 -             panic!(FatalError);
[INFO] [stdout] 1509 +             std::panic::panic_any(FatalError);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:112:72
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn parse_crate_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                        ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 113 |                                        -> PResult<ast::Crate> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 113 |                                        -> PResult<'_, ast::Crate> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:117:78
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn parse_crate_attrs_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                              ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 118 |                                              -> PResult<Vec<ast::Attribute>> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 118 |                                              -> PResult<'_, Vec<ast::Attribute>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:122:71
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub fn parse_expr_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 123 |                                       -> PResult<P<ast::Expr>> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 123 |                                       -> PResult<'_, P<ast::Expr>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:131:71
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn parse_item_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 132 |                                       -> PResult<Option<P<ast::Item>>> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 132 |                                       -> PResult<'_, Option<P<ast::Item>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:136:71
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn parse_meta_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 137 |                                       -> PResult<ast::MetaItem> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 137 |                                       -> PResult<'_, ast::MetaItem> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:141:71
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn parse_stmt_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 142 |                                       -> PResult<Option<ast::Stmt>> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 142 |                                       -> PResult<'_, Option<ast::Stmt>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:152:41
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn new_parser_from_source_str(sess: &ParseSess, name: String, source: String)
[INFO] [stdout]     |                                         ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 153 |                                       -> Parser {
[INFO] [stdout]     |                                          ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 153 |                                       -> Parser<'_> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:180:32
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub fn filemap_to_parser(sess: & ParseSess, filemap: Rc<FileMap>, ) -> Parser {
[INFO] [stdout]     |                                ^^^^^^^^^^^ the lifetime is elided here ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub fn filemap_to_parser(sess: & ParseSess, filemap: Rc<FileMap>, ) -> Parser<'_> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:193:34
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn new_parser_from_tts(sess: &ParseSess, tts: Vec<TokenTree>) -> Parser {
[INFO] [stdout]     |                                  ^^^^^^^^^^                          ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn new_parser_from_tts(sess: &ParseSess, tts: Vec<TokenTree>) -> Parser<'_> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/mod.rs:209:36
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 Some(sp) => panic!(sess.span_diagnostic.span_fatal(sp, &msg)),
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 Some(sp) => panic!("{}", sess.span_diagnostic.span_fatal(sp, &msg)),
[INFO] [stdout]     |                                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 209 -                 Some(sp) => panic!(sess.span_diagnostic.span_fatal(sp, &msg)),
[INFO] [stdout] 209 +                 Some(sp) => std::panic::panic_any(sess.span_diagnostic.span_fatal(sp, &msg)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/mod.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 |                 None => panic!(sess.span_diagnostic.fatal(&msg))
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 210 |                 None => panic!("{}", sess.span_diagnostic.fatal(&msg))
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 210 -                 None => panic!(sess.span_diagnostic.fatal(&msg))
[INFO] [stdout] 210 +                 None => std::panic::panic_any(sess.span_diagnostic.fatal(&msg))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parse/mod.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 |     panictry!(srdr.parse_all_token_trees())
[INFO] [stdout]     |     --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:224:31
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn stream_to_parser(sess: &ParseSess, stream: TokenStream) -> Parser {
[INFO] [stdout]     |                               ^^^^^^^^^^                          ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn stream_to_parser(sess: &ParseSess, stream: TokenStream) -> Parser<'_> {
[INFO] [stdout]     |                                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/mod.rs:468:36
[INFO] [stdout]     |
[INFO] [stdout] 468 | ...                   panic!(err(2))
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 468 |                             panic!("{}", err(2))
[INFO] [stdout]     |                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/mod.rs:472:36
[INFO] [stdout]     |
[INFO] [stdout] 472 |                     None => panic!(err(3))
[INFO] [stdout]     |                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 472 |                     None => panic!("{}", err(3))
[INFO] [stdout]     |                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/parser.rs:362:46
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn span_err(self, sp: Span, handler: &errors::Handler) -> DiagnosticBuilder {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn span_err(self, sp: Span, handler: &errors::Handler) -> DiagnosticBuilder<'_> {
[INFO] [stdout]     |                                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/parse/lexer/mod.rs:86:24
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 panic!(FatalError);
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 panic!("{}", FatalError);
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 86 -                 panic!(FatalError);
[INFO] [stdout] 86 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:186:20
[INFO] [stdout]     |
[INFO] [stdout] 186 |             panic!(FatalError);
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 186 |             panic!("{}", FatalError);
[INFO] [stdout]     |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 186 -             panic!(FatalError);
[INFO] [stdout] 186 +             std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:211:20
[INFO] [stdout]     |
[INFO] [stdout] 211 |             panic!(FatalError);
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 211 |             panic!("{}", FatalError);
[INFO] [stdout]     |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 211 -             panic!(FatalError);
[INFO] [stdout] 211 +             std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:632:24
[INFO] [stdout]     |
[INFO] [stdout] 632 |                 panic!(self.fatal_span_(start_bpos, last_bpos, msg));
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 632 |                 panic!("{}", self.fatal_span_(start_bpos, last_bpos, msg));
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 632 -                 panic!(self.fatal_span_(start_bpos, last_bpos, msg));
[INFO] [stdout] 632 +                 std::panic::panic_any(self.fatal_span_(start_bpos, last_bpos, msg));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:793:24
[INFO] [stdout]     |
[INFO] [stdout] 793 |                   panic!(self.fatal_span_(start_bpos,
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 794 | |                                         last_bpos,
[INFO] [stdout] 795 | |                                         "unterminated numeric character escape"));
[INFO] [stdout]     | |________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 793 |                 panic!("{}", self.fatal_span_(start_bpos,
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 793 -                 panic!(self.fatal_span_(start_bpos,
[INFO] [stdout] 793 +                 std::panic::panic_any(self.fatal_span_(start_bpos,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:971:28
[INFO] [stdout]     |
[INFO] [stdout] 971 |                       panic!(self.fatal_span_(start_bpos,
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 972 | |                                             self.pos,
[INFO] [stdout] 973 | |                                             "unterminated unicode escape (found EOF)"));
[INFO] [stdout]     | |______________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 971 |                     panic!("{}", self.fatal_span_(start_bpos,
[INFO] [stdout]     |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 971 -                     panic!(self.fatal_span_(start_bpos,
[INFO] [stdout] 971 +                     std::panic::panic_any(self.fatal_span_(start_bpos,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:979:28
[INFO] [stdout]     |
[INFO] [stdout] 979 |                       panic!(self.fatal_span_(self.pos,
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 980 | |                                             self.next_pos,
[INFO] [stdout] 981 | |                                             "unterminated unicode escape (needed a `}`)"));
[INFO] [stdout]     | |_________________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 979 |                     panic!("{}", self.fatal_span_(self.pos,
[INFO] [stdout]     |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 979 -                     panic!(self.fatal_span_(self.pos,
[INFO] [stdout] 979 +                     std::panic::panic_any(self.fatal_span_(self.pos,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1258:32
[INFO] [stdout]      |
[INFO] [stdout] 1258 |                           panic!(self.fatal_span_verbose(
[INFO] [stdout]      |  ________________________________^
[INFO] [stdout] 1259 | |                                start_with_quote, self.next_pos,
[INFO] [stdout] 1260 | |                                String::from("character literal may only contain one codepoint")));
[INFO] [stdout]      | |________________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1258 |                         panic!("{}", self.fatal_span_verbose(
[INFO] [stdout]      |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1258 -                         panic!(self.fatal_span_verbose(
[INFO] [stdout] 1258 +                         std::panic::panic_any(self.fatal_span_verbose(
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1293:28
[INFO] [stdout]      |
[INFO] [stdout] 1293 |                       panic!(self.fatal_span_verbose(
[INFO] [stdout]      |  ____________________________^
[INFO] [stdout] 1294 | |                            start_with_quote, self.pos,
[INFO] [stdout] 1295 | |                            String::from("character literal may only contain one codepoint")));
[INFO] [stdout]      | |____________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1293 |                     panic!("{}", self.fatal_span_verbose(
[INFO] [stdout]      |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1293 -                     panic!(self.fatal_span_verbose(
[INFO] [stdout] 1293 +                     std::panic::panic_any(self.fatal_span_verbose(
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1325:32
[INFO] [stdout]      |
[INFO] [stdout] 1325 |                           panic!(self.fatal_span_(start_bpos,
[INFO] [stdout]      |  ________________________________^
[INFO] [stdout] 1326 | |                                                 last_bpos,
[INFO] [stdout] 1327 | |                                                 "unterminated double quote string"));
[INFO] [stdout]      | |___________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1325 |                         panic!("{}", self.fatal_span_(start_bpos,
[INFO] [stdout]      |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1325 -                         panic!(self.fatal_span_(start_bpos,
[INFO] [stdout] 1325 +                         std::panic::panic_any(self.fatal_span_(start_bpos,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1360:28
[INFO] [stdout]      |
[INFO] [stdout] 1360 |                     panic!(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1360 |                     panic!("{}", self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1360 -                     panic!(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout] 1360 +                     std::panic::panic_any(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1364:28
[INFO] [stdout]      |
[INFO] [stdout] 1364 |                       panic!(self.fatal_span_char(start_bpos,
[INFO] [stdout]      |  ____________________________^
[INFO] [stdout] 1365 | |                                                 last_bpos,
[INFO] [stdout] 1366 | |                                                 "found invalid character; only `#` is allowed \
[INFO] [stdout] 1367 | |                                                  in raw string delimitation",
[INFO] [stdout] 1368 | |                                                 curr_char));
[INFO] [stdout]      | |__________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1364 |                     panic!("{}", self.fatal_span_char(start_bpos,
[INFO] [stdout]      |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1364 -                     panic!(self.fatal_span_char(start_bpos,
[INFO] [stdout] 1364 +                     std::panic::panic_any(self.fatal_span_char(start_bpos,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1377:32
[INFO] [stdout]      |
[INFO] [stdout] 1377 |                         panic!(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1377 |                         panic!("{}", self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1377 -                         panic!(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout] 1377 +                         std::panic::panic_any(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1534:20
[INFO] [stdout]      |
[INFO] [stdout] 1534 |               panic!(self.fatal_span_verbose(start - BytePos(2),
[INFO] [stdout]      |  ____________________^
[INFO] [stdout] 1535 | |                                            pos,
[INFO] [stdout] 1536 | |                                            "unterminated byte constant".to_string()));
[INFO] [stdout]      | |____________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1534 |             panic!("{}", self.fatal_span_verbose(start - BytePos(2),
[INFO] [stdout]      |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1534 -             panic!(self.fatal_span_verbose(start - BytePos(2),
[INFO] [stdout] 1534 +             std::panic::panic_any(self.fatal_span_verbose(start - BytePos(2),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1560:24
[INFO] [stdout]      |
[INFO] [stdout] 1560 |                 panic!(self.fatal_span_(start, pos, "unterminated double quote byte string"));
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1560 |                 panic!("{}", self.fatal_span_(start, pos, "unterminated double quote byte string"));
[INFO] [stdout]      |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1560 -                 panic!(self.fatal_span_(start, pos, "unterminated double quote byte string"));
[INFO] [stdout] 1560 +                 std::panic::panic_any(self.fatal_span_(start, pos, "unterminated double quote byte string"));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1592:20
[INFO] [stdout]      |
[INFO] [stdout] 1592 |             panic!(self.fatal_span_(start_bpos, pos, "unterminated raw string"));
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1592 |             panic!("{}", self.fatal_span_(start_bpos, pos, "unterminated raw string"));
[INFO] [stdout]      |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1592 -             panic!(self.fatal_span_(start_bpos, pos, "unterminated raw string"));
[INFO] [stdout] 1592 +             std::panic::panic_any(self.fatal_span_(start_bpos, pos, "unterminated raw string"));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1596:20
[INFO] [stdout]      |
[INFO] [stdout] 1596 |               panic!(self.fatal_span_char(start_bpos,
[INFO] [stdout]      |  ____________________^
[INFO] [stdout] 1597 | |                                         pos,
[INFO] [stdout] 1598 | |                                         "found invalid character; only `#` is allowed in raw \
[INFO] [stdout] 1599 | |                                          string delimitation",
[INFO] [stdout] 1600 | |                                         ch));
[INFO] [stdout]      | |___________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1596 |             panic!("{}", self.fatal_span_char(start_bpos,
[INFO] [stdout]      |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1596 -             panic!(self.fatal_span_char(start_bpos,
[INFO] [stdout] 1596 +             std::panic::panic_any(self.fatal_span_char(start_bpos,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1609:28
[INFO] [stdout]      |
[INFO] [stdout] 1609 |                     panic!(self.fatal_span_(start_bpos, pos, "unterminated raw string"))
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1609 |                     panic!("{}", self.fatal_span_(start_bpos, pos, "unterminated raw string"))
[INFO] [stdout]      |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1609 -                     panic!(self.fatal_span_(start_bpos, pos, "unterminated raw string"))
[INFO] [stdout] 1609 +                     std::panic::panic_any(self.fatal_span_(start_bpos, pos, "unterminated raw string"))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/comments.rs:268:24
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 panic!(rdr.fatal("unterminated block comment"));
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 panic!("{}", rdr.fatal("unterminated block comment"));
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 268 -                 panic!(rdr.fatal("unterminated block comment"));
[INFO] [stdout] 268 +                 std::panic::panic_any(rdr.fatal("unterminated block comment"));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<Box<[T]> as IntoIterator>::into_iter` in Rust 2024
[INFO] [stdout]    --> src/ptr.rs:211:18
[INFO] [stdout]     |
[INFO] [stdout] 211 |         self.ptr.into_iter()
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/intoiterator-box-slice.html>
[INFO] [stdout]     = note: `#[warn(boxed_slice_into_iter)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 211 -         self.ptr.into_iter()
[INFO] [stdout] 211 +         self.ptr.iter()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 211 -         self.ptr.into_iter()
[INFO] [stdout] 211 +         IntoIterator::into_iter(self.ptr)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> src/std_inject.rs:77:59
[INFO] [stdout]    |
[INFO] [stdout] 77 |             segments: ["{{root}}", name, "prelude", "v1"].into_iter().map(|name| {
[INFO] [stdout]    |                                                           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 77 -             segments: ["{{root}}", name, "prelude", "v1"].into_iter().map(|name| {
[INFO] [stdout] 77 +             segments: ["{{root}}", name, "prelude", "v1"].iter().map(|name| {
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 77 -             segments: ["{{root}}", name, "prelude", "v1"].into_iter().map(|name| {
[INFO] [stdout] 77 +             segments: IntoIterator::into_iter(["{{root}}", name, "prelude", "v1"]).map(|name| {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/test.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     panic!(diag.span_fatal(i.span, "unsafe functions cannot be used for tests"));
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     panic!("{}", diag.span_fatal(i.span, "unsafe functions cannot be used for tests"));
[INFO] [stdout]     |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 127 -                     panic!(diag.span_fatal(i.span, "unsafe functions cannot be used for tests"));
[INFO] [stdout] 127 +                     std::panic::panic_any(diag.span_fatal(i.span, "unsafe functions cannot be used for tests"));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:193:35
[INFO] [stdout]     |
[INFO] [stdout] 193 |     walk_list!(visitor, visit_ty, &local.ty);
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:194:37
[INFO] [stdout]     |
[INFO] [stdout] 194 |     walk_list!(visitor, visit_expr, &local.init);
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:280:50
[INFO] [stdout]     |
[INFO] [stdout] 280 |             walk_list!(visitor, visit_trait_ref, opt_trait_reference);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:317:37
[INFO] [stdout]     |
[INFO] [stdout] 317 |     walk_list!(visitor, visit_expr, &variant.node.disr_expr);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:330:49
[INFO] [stdout]     |
[INFO] [stdout] 330 |             walk_list!(visitor, visit_lifetime, opt_lifetime);
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:400:43
[INFO] [stdout]     |
[INFO] [stdout] 400 |             walk_list!(visitor, visit_ty, &data.output);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:440:44
[INFO] [stdout]     |
[INFO] [stdout] 440 |             walk_list!(visitor, visit_pat, optional_subpattern);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:450:44
[INFO] [stdout]     |
[INFO] [stdout] 450 |             walk_list!(visitor, visit_pat, slice_pattern);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:491:39
[INFO] [stdout]     |
[INFO] [stdout] 491 |         walk_list!(visitor, visit_ty, &param.default);
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:564:45
[INFO] [stdout]     |
[INFO] [stdout] 564 |             walk_list!(visitor, visit_expr, default);
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:576:43
[INFO] [stdout]     |
[INFO] [stdout] 576 |             walk_list!(visitor, visit_ty, default);
[INFO] [stdout]     |                                           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:668:45
[INFO] [stdout]     |
[INFO] [stdout] 668 |             walk_list!(visitor, visit_expr, optional_base);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:697:45
[INFO] [stdout]     |
[INFO] [stdout] 697 |             walk_list!(visitor, visit_expr, optional_else);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:708:45
[INFO] [stdout]     |
[INFO] [stdout] 708 |             walk_list!(visitor, visit_expr, optional_else);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:757:45
[INFO] [stdout]     |
[INFO] [stdout] 757 |             walk_list!(visitor, visit_expr, start);
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:758:45
[INFO] [stdout]     |
[INFO] [stdout] 758 |             walk_list!(visitor, visit_expr, end);
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:768:45
[INFO] [stdout]     |
[INFO] [stdout] 768 |             walk_list!(visitor, visit_expr, opt_expr);
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:774:45
[INFO] [stdout]     |
[INFO] [stdout] 774 |             walk_list!(visitor, visit_expr, optional_expression);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:801:37
[INFO] [stdout]     |
[INFO] [stdout] 801 |     walk_list!(visitor, visit_expr, &arm.guard);
[INFO] [stdout]     |                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/base.rs:764:16
[INFO] [stdout]     |
[INFO] [stdout] 764 |         panic!(self.parse_sess.span_diagnostic.span_fatal(sp, msg));
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 764 |         panic!("{}", self.parse_sess.span_diagnostic.span_fatal(sp, msg));
[INFO] [stdout]     |                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 764 -         panic!(self.parse_sess.span_diagnostic.span_fatal(sp, msg));
[INFO] [stdout] 764 +         std::panic::panic_any(self.parse_sess.span_diagnostic.span_fatal(sp, msg));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/base.rs:876:15
[INFO] [stdout]     |
[INFO] [stdout] 876 |     let ret = panictry!(p.parse_expr());
[INFO] [stdout]     |               ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/base.rs:893:41
[INFO] [stdout]     |
[INFO] [stdout] 893 |         es.push(cx.expander().fold_expr(panictry!(p.parse_expr())));
[INFO] [stdout]     |                                         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/expand.rs:393:20
[INFO] [stdout]     |
[INFO] [stdout] 393 |             panic!(FatalError);
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 393 |             panic!("{}", FatalError);
[INFO] [stdout]     |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 393 -             panic!(FatalError);
[INFO] [stdout] 393 +             std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/expand.rs:418:28
[INFO] [stdout]     |
[INFO] [stdout] 418 |                 let meta = panictry!(attr.parse_meta(self.cx.parse_sess));
[INFO] [stdout]     |                            ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/expand.rs:424:28
[INFO] [stdout]     |
[INFO] [stdout] 424 |                 let meta = panictry!(attr.parse_meta(self.cx.parse_sess));
[INFO] [stdout]     |                            ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:403:5
[INFO] [stdout]     |
[INFO] [stdout] 403 |     panictry!(parser.parse_expr())
[INFO] [stdout]     |     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 407 |     panictry!(parser.parse_item())
[INFO] [stdout]     |     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:411:5
[INFO] [stdout]     |
[INFO] [stdout] 411 |     panictry!(parser.parse_pat())
[INFO] [stdout]     |     ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:415:5
[INFO] [stdout]     |
[INFO] [stdout] 415 |     panictry!(parser.parse_arm())
[INFO] [stdout]     |     ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:419:5
[INFO] [stdout]     |
[INFO] [stdout] 419 |     panictry!(parser.parse_ty())
[INFO] [stdout]     |     ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:423:5
[INFO] [stdout]     |
[INFO] [stdout] 423 |     panictry!(parser.parse_stmt())
[INFO] [stdout]     |     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:427:5
[INFO] [stdout]     |
[INFO] [stdout] 427 |     panictry!(parser.parse_attribute(permit_inner))
[INFO] [stdout]     |     ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:431:5
[INFO] [stdout]     |
[INFO] [stdout] 431 |     panictry!(parser.parse_arg())
[INFO] [stdout]     |     ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:435:5
[INFO] [stdout]     |
[INFO] [stdout] 435 |     panictry!(parser.parse_block())
[INFO] [stdout]     |     ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:439:5
[INFO] [stdout]     |
[INFO] [stdout] 439 |     panictry!(parser.parse_meta_item())
[INFO] [stdout]     |     ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:443:5
[INFO] [stdout]     |
[INFO] [stdout] 443 |     panictry!(parser.parse_path(mode))
[INFO] [stdout]     |     ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:758:19
[INFO] [stdout]     |
[INFO] [stdout] 758 |     let cx_expr = panictry!(p.parse_expr());
[INFO] [stdout]     |                   ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:763:15
[INFO] [stdout]     |
[INFO] [stdout] 763 |     let tts = panictry!(p.parse_all_token_trees());
[INFO] [stdout]     |               ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                   panic!(FatalError);
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:347:13
[INFO] [stdout]     |
[INFO] [stdout] 347 | /             panictry!(parse::parse_item_from_source_str(
[INFO] [stdout] 348 | |                 "<quote expansion>".to_string(),
[INFO] [stdout] 349 | |                 s,
[INFO] [stdout] 350 | |                 self.parse_sess())).expect("parse error")
[INFO] [stdout]     | |___________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                   panic!(FatalError);
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:354:13
[INFO] [stdout]     |
[INFO] [stdout] 354 | /             panictry!(parse::parse_stmt_from_source_str(
[INFO] [stdout] 355 | |                 "<quote expansion>".to_string(),
[INFO] [stdout] 356 | |                 s,
[INFO] [stdout] 357 | |                 self.parse_sess())).expect("parse error")
[INFO] [stdout]     | |___________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                   panic!(FatalError);
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:361:13
[INFO] [stdout]     |
[INFO] [stdout] 361 | /             panictry!(parse::parse_expr_from_source_str(
[INFO] [stdout] 362 | |                 "<quote expansion>".to_string(),
[INFO] [stdout] 363 | |                 s,
[INFO] [stdout] 364 | |                 self.parse_sess()))
[INFO] [stdout]     | |___________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/source_util.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 |             Some(panictry!(self.p.parse_expr()))
[INFO] [stdout]     |                  ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/source_util.rs:107:23
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 match panictry!(self.p.parse_item()) {
[INFO] [stdout]     |                       ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/source_util.rs:109:36
[INFO] [stdout]     |
[INFO] [stdout] 109 |                       None => panic!(self.p.diagnostic().span_fatal(self.p.span,
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 110 | |                                                            &format!("expected item, found `{}`",
[INFO] [stdout] 111 | |                                                                     self.p.this_token_to_string())))
[INFO] [stdout]     | |___________________________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 109 |                     None => panic!("{}", self.p.diagnostic().span_fatal(self.p.span,
[INFO] [stdout]     |                                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 109 -                     None => panic!(self.p.diagnostic().span_fatal(self.p.span,
[INFO] [stdout] 109 +                     None => std::panic::panic_any(self.p.diagnostic().span_fatal(self.p.span,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/transcribe.rs:123:32
[INFO] [stdout]     |
[INFO] [stdout] 123 |                           panic!(sp_diag.span_fatal(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 124 | |                             sp, /* blame macro writer */
[INFO] [stdout] 125 | |                             "attempted to repeat an expression \
[INFO] [stdout] 126 | |                              containing no syntax \
[INFO] [stdout] 127 | |                              variables matched as repeating at this depth"));
[INFO] [stdout]     | |___________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 123 |                         panic!("{}", sp_diag.span_fatal(
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 123 -                         panic!(sp_diag.span_fatal(
[INFO] [stdout] 123 +                         std::panic::panic_any(sp_diag.span_fatal(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/transcribe.rs:131:32
[INFO] [stdout]     |
[INFO] [stdout] 131 |                         panic!(sp_diag.span_fatal(sp, &msg[..]));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 131 |                         panic!("{}", sp_diag.span_fatal(sp, &msg[..]));
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 131 -                         panic!(sp_diag.span_fatal(sp, &msg[..]));
[INFO] [stdout] 131 +                         std::panic::panic_any(sp_diag.span_fatal(sp, &msg[..]));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/transcribe.rs:137:40
[INFO] [stdout]     |
[INFO] [stdout] 137 |   ...                   panic!(sp_diag.span_fatal(sp,
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 138 | | ...                                             "this must repeat at least once"));
[INFO] [stdout]     | |_________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 137 |                                 panic!("{}", sp_diag.span_fatal(sp,
[INFO] [stdout]     |                                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 137 -                                 panic!(sp_diag.span_fatal(sp,
[INFO] [stdout] 137 +                                 std::panic::panic_any(sp_diag.span_fatal(sp,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/transcribe.rs:164:32
[INFO] [stdout]     |
[INFO] [stdout] 164 |                           panic!(sp_diag.span_fatal(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 165 | |                             sp, /* blame the macro writer */
[INFO] [stdout] 166 | |                             &format!("variable '{}' is still repeating at this depth", ident)));
[INFO] [stdout]     | |______________________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 164 |                         panic!("{}", sp_diag.span_fatal(
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 164 -                         panic!(sp_diag.span_fatal(
[INFO] [stdout] 164 +                         std::panic::panic_any(sp_diag.span_fatal(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:503:25
[INFO] [stdout]     |
[INFO] [stdout] 503 |         "item" => match panictry!(p.parse_item()) {
[INFO] [stdout]     |                         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/macro_parser.rs:507:24
[INFO] [stdout]     |
[INFO] [stdout] 507 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 507 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 507 -                 panic!(FatalError);
[INFO] [stdout] 507 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:510:35
[INFO] [stdout]     |
[INFO] [stdout] 510 |         "block" => token::NtBlock(panictry!(p.parse_block())),
[INFO] [stdout]     |                                   -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:511:25
[INFO] [stdout]     |
[INFO] [stdout] 511 |         "stmt" => match panictry!(p.parse_stmt()) {
[INFO] [stdout]     |                         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/macro_parser.rs:515:24
[INFO] [stdout]     |
[INFO] [stdout] 515 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 515 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 515 -                 panic!(FatalError);
[INFO] [stdout] 515 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:518:31
[INFO] [stdout]     |
[INFO] [stdout] 518 |         "pat" => token::NtPat(panictry!(p.parse_pat())),
[INFO] [stdout]     |                               ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:519:33
[INFO] [stdout]     |
[INFO] [stdout] 519 |         "expr" => token::NtExpr(panictry!(p.parse_expr())),
[INFO] [stdout]     |                                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:520:29
[INFO] [stdout]     |
[INFO] [stdout] 520 |         "ty" => token::NtTy(panictry!(p.parse_ty())),
[INFO] [stdout]     |                             ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/macro_parser.rs:531:24
[INFO] [stdout]     |
[INFO] [stdout] 531 |                 panic!(FatalError)
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 531 |                 panic!("{}", FatalError)
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 531 -                 panic!(FatalError)
[INFO] [stdout] 531 +                 std::panic::panic_any(FatalError)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:535:27
[INFO] [stdout]     |
[INFO] [stdout] 535 |             token::NtPath(panictry!(p.parse_path(PathStyle::Type)))
[INFO] [stdout]     |                           ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:537:33
[INFO] [stdout]     |
[INFO] [stdout] 537 |         "meta" => token::NtMeta(panictry!(p.parse_meta_item())),
[INFO] [stdout]     |                                 ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:538:31
[INFO] [stdout]     |
[INFO] [stdout] 538 |         "vis" => token::NtVis(panictry!(p.parse_visibility(true))),
[INFO] [stdout]     |                               ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/lib.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 panic!(FatalError);
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ext/tt/macro_rules.rs:46:25
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let expansion = panictry!(parser.parse_expansion(kind, true));
[INFO] [stdout]    |                         --------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 panic!("{}", FatalError);
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 49 -                 panic!(FatalError);
[INFO] [stdout] 49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/macro_rules.rs:209:20
[INFO] [stdout]     |
[INFO] [stdout] 209 |             panic!(sess.span_diagnostic.span_fatal(sp.substitute_dummy(def.span), &s));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 209 |             panic!("{}", sess.span_diagnostic.span_fatal(sp.substitute_dummy(def.span), &s));
[INFO] [stdout]     |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 209 -             panic!(sess.span_diagnostic.span_fatal(sp.substitute_dummy(def.span), &s));
[INFO] [stdout] 209 +             std::panic::panic_any(sess.span_diagnostic.span_fatal(sp.substitute_dummy(def.span), &s));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/macro_rules.rs:212:20
[INFO] [stdout]     |
[INFO] [stdout] 212 |             panic!(sess.span_diagnostic.span_fatal(sp.substitute_dummy(def.span), &s));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 212 |             panic!("{}", sess.span_diagnostic.span_fatal(sp.substitute_dummy(def.span), &s));
[INFO] [stdout]     |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 212 -             panic!(sess.span_diagnostic.span_fatal(sp.substitute_dummy(def.span), &s));
[INFO] [stdout] 212 +             std::panic::panic_any(sess.span_diagnostic.span_fatal(sp.substitute_dummy(def.span), &s));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains braces
[INFO] [stdout]    --> src/ext/tt/macro_rules.rs:876:52
[INFO] [stdout]     |
[INFO] [stdout] 876 |         _ => panic!("unexpected quoted::TokenTree::{{Sequence or Delimited}} \
[INFO] [stdout]     |                                                    ^^                     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this message is not used as a format string, but will be in Rust 2021
[INFO] [stdout] help: add a "{}" format string to use the message literally
[INFO] [stdout]     |
[INFO] [stdout] 876 |         _ => panic!("{}", "unexpected quoted::TokenTree::{{Sequence or Delimited}} \
[INFO] [stdout]     |                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 33.98s
[INFO] running `Command { std: "docker" "inspect" "4a5e812419332e6a3d833df28993fe93225337af40a3d26cef62918edc09d4e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a5e812419332e6a3d833df28993fe93225337af40a3d26cef62918edc09d4e3", kill_on_drop: false }`
[INFO] [stdout] 4a5e812419332e6a3d833df28993fe93225337af40a3d26cef62918edc09d4e3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] af4a57a9b000c706d1394d5ce0a2f2ad94a64e2be2d783f3cd2132426bf1b09c
[INFO] running `Command { std: "docker" "start" "-a" "af4a57a9b000c706d1394d5ce0a2f2ad94a64e2be2d783f3cd2132426bf1b09c", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parser.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | / bitflags! {
[INFO] [stdout] 69 | |     pub struct Restrictions: u8 {
[INFO] [stdout] 70 | |         const RESTRICTION_STMT_EXPR         = 1 << 0;
[INFO] [stdout] 71 | |         const RESTRICTION_NO_STRUCT_LITERAL = 1 << 1;
[INFO] [stdout] 72 | |     }
[INFO] [stdout] 73 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parser.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | / bitflags! {
[INFO] [stdout] 69 | |     pub struct Restrictions: u8 {
[INFO] [stdout] 70 | |         const RESTRICTION_STMT_EXPR         = 1 << 0;
[INFO] [stdout] 71 | |         const RESTRICTION_NO_STRUCT_LITERAL = 1 << 1;
[INFO] [stdout] 72 | |     }
[INFO] [stdout] 73 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parser.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | / bitflags! {
[INFO] [stdout] 69 | |     pub struct Restrictions: u8 {
[INFO] [stdout] 70 | |         const RESTRICTION_STMT_EXPR         = 1 << 0;
[INFO] [stdout] 71 | |         const RESTRICTION_NO_STRUCT_LITERAL = 1 << 1;
[INFO] [stdout] 72 | |     }
[INFO] [stdout] 73 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/parse/parser.rs:2833:25
[INFO] [stdout]      |
[INFO] [stdout] 2833 |                 let r = try!(self.mk_range(Some(lhs), rhs, limits));
[INFO] [stdout]      |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/parse/parser.rs:2954:17
[INFO] [stdout]      |
[INFO] [stdout] 2954 |         let r = try!(self.mk_range(None,
[INFO] [stdout]      |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/parse/lexer/mod.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 322 |         (pos - self.filemap.start_pos)
[INFO] [stdout]     |         ^                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 322 -         (pos - self.filemap.start_pos)
[INFO] [stdout] 322 +         pos - self.filemap.start_pos
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parse/lexer/mod.rs:733:20
[INFO] [stdout]     |
[INFO] [stdout] 733 |                 '0'...'9' | '_' | '.' | 'e' | 'E' => {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/print/pprust.rs:676:17
[INFO] [stdout]     |
[INFO] [stdout] 676 |                 (format!("\"{}\"", parse::escape_default(st)))
[INFO] [stdout]     |                 ^                                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 676 -                 (format!("\"{}\"", parse::escape_default(st)))
[INFO] [stdout] 676 +                 format!("\"{}\"", parse::escape_default(st))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/print/pprust.rs:679:17
[INFO] [stdout]     |
[INFO] [stdout] 679 |                 (format!("r{delim}\"{string}\"{delim}",
[INFO] [stdout]     |                 ^
[INFO] [stdout] 680 |                          delim=repeat("#", n),
[INFO] [stdout] 681 |                          string=st))
[INFO] [stdout]     |                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 679 ~                 format!("r{delim}\"{string}\"{delim}",
[INFO] [stdout] 680 |                          delim=repeat("#", n),
[INFO] [stdout] 681 ~                          string=st)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/print/pprust.rs:1477:13
[INFO] [stdout]      |
[INFO] [stdout] 1477 |             try!(self.word_nbsp("default"));
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ext`
[INFO] [stdout]   --> src/ext/build.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub use ext;
[INFO] [stdout]    |             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parse`
[INFO] [stdout]   --> src/ext/build.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub use parse;
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]   --> src/feature_gate.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 | use std::ascii::AsciiExt;
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rustc_data_structures/indexed_vec.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |     _marker: PhantomData<Fn(&I)>
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 43 |     _marker: PhantomData<dyn Fn(&I)>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/json.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 |     dst: Box<Write + Send>,
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     dst: Box<dyn Write + Send>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/json.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     cm: Rc<CodeMapper + 'static>,
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     cm: Rc<dyn CodeMapper + 'static>,
[INFO] [stdout]    |            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codemap.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |     file_loader: Box<FileLoader>,
[INFO] [stdout]     |                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 107 |     file_loader: Box<dyn FileLoader>,
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pp.rs:265:18
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub out: Box<io::Write+'a>,
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub out: Box<dyn io::Write+'a>,
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/print/pprust.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 |     ann: &'a (PpAnn+'a),
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     ann: &'a (dyn PpAnn+'a),
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:517:24
[INFO] [stdout]     |
[INFO] [stdout] 517 |     MultiDecorator(Box<MultiItemDecorator>),
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 517 |     MultiDecorator(Box<dyn MultiItemDecorator>),
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:521:23
[INFO] [stdout]     |
[INFO] [stdout] 521 |     MultiModifier(Box<MultiItemModifier>),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 521 |     MultiModifier(Box<dyn MultiItemModifier>),
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:524:19
[INFO] [stdout]     |
[INFO] [stdout] 524 |     ProcMacro(Box<ProcMacro>),
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 524 |     ProcMacro(Box<dyn ProcMacro>),
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:530:23
[INFO] [stdout]     |
[INFO] [stdout] 530 |     AttrProcMacro(Box<AttrProcMacro>),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 530 |     AttrProcMacro(Box<dyn AttrProcMacro>),
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:538:18
[INFO] [stdout]     |
[INFO] [stdout] 538 |     NormalTT(Box<TTMacroExpander>, Option<(ast::NodeId, Span)>, bool),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 538 |     NormalTT(Box<dyn TTMacroExpander>, Option<(ast::NodeId, Span)>, bool),
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:543:17
[INFO] [stdout]     |
[INFO] [stdout] 543 |     IdentTT(Box<IdentMacroExpander>, Option<Span>, bool),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 543 |     IdentTT(Box<dyn IdentMacroExpander>, Option<Span>, bool),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:549:25
[INFO] [stdout]     |
[INFO] [stdout] 549 |     ProcMacroDerive(Box<MultiItemModifier>, Vec<Symbol> /* inert attribute names */),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 549 |     ProcMacroDerive(Box<dyn MultiItemModifier>, Vec<Symbol> /* inert attribute names */),
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:496:71
[INFO] [stdout]     |
[INFO] [stdout] 496 |     for<'cx> fn(&'cx mut ExtCtxt, Span, &MetaItem, &Annotatable, &mut FnMut(Annotatable));
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 496 |     for<'cx> fn(&'cx mut ExtCtxt, Span, &MetaItem, &Annotatable, &mut dyn FnMut(Annotatable));
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:555:19
[INFO] [stdout]     |
[INFO] [stdout] 555 |     DeclMacro(Box<TTMacroExpander>, Option<Span> /* definition site span */),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 555 |     DeclMacro(Box<dyn TTMacroExpander>, Option<Span> /* definition site span */),
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:657:27
[INFO] [stdout]     |
[INFO] [stdout] 657 |     pub resolver: &'a mut Resolver,
[INFO] [stdout]     |                           ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 657 |     pub resolver: &'a mut dyn Resolver,
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:107:26
[INFO] [stdout]     |
[INFO] [stdout] 107 |               push: &mut FnMut(Annotatable));
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 107 |               push: &mut dyn FnMut(Annotatable));
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:201:27
[INFO] [stdout]     |
[INFO] [stdout] 201 |                    -> Box<MacResult+'cx>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 201 |                    -> Box<dyn MacResult+'cx>;
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:242:27
[INFO] [stdout]     |
[INFO] [stdout] 242 |                    -> Box<MacResult+'cx>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 242 |                    -> Box<dyn MacResult+'cx>;
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:138:39
[INFO] [stdout]     |
[INFO] [stdout] 138 |                           input: &mut Read,
[INFO] [stdout]     |                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |                           input: &mut dyn Read,
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:139:36
[INFO] [stdout]     |
[INFO] [stdout] 139 |                           out: Box<Write+'a>,
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 139 |                           out: Box<dyn Write+'a>,
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:140:36
[INFO] [stdout]     |
[INFO] [stdout] 140 |                           ann: &'a PpAnn,
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 140 |                           ann: &'a dyn PpAnn,
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:156:25
[INFO] [stdout]     |
[INFO] [stdout] 156 |                out: Box<Write+'a>,
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |                out: Box<dyn Write+'a>,
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:157:25
[INFO] [stdout]     |
[INFO] [stdout] 157 |                ann: &'a PpAnn,
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 157 |                ann: &'a dyn PpAnn,
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 |               push: &mut FnMut(Annotatable)) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |               push: &mut dyn FnMut(Annotatable)) {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:212:27
[INFO] [stdout]     |
[INFO] [stdout] 212 |                    -> Box<MacResult+'cx> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 212 |                    -> Box<dyn MacResult+'cx> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:258:27
[INFO] [stdout]     |
[INFO] [stdout] 258 |                    -> Box<MacResult+'cx>
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 258 |                    -> Box<dyn MacResult+'cx>
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:666:34
[INFO] [stdout]     |
[INFO] [stdout] 666 |                resolver: &'a mut Resolver)
[INFO] [stdout]     |                                  ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 666 |                resolver: &'a mut dyn Resolver)
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/diagnostics/plugin.rs:59:43
[INFO] [stdout]    |
[INFO] [stdout] 59 | ...                   -> Box<MacResult+'cx> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 59 |                                    -> Box<dyn MacResult+'cx> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/diagnostics/plugin.rs:92:47
[INFO] [stdout]    |
[INFO] [stdout] 92 | ...                   -> Box<MacResult+'cx> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 92 |                                        -> Box<dyn MacResult+'cx> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/diagnostics/plugin.rs:162:50
[INFO] [stdout]     |
[INFO] [stdout] 162 | ...                   -> Box<MacResult+'cx> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 162 |                                           -> Box<dyn MacResult+'cx> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/diagnostics/metadata.rs:75:23
[INFO] [stdout]    |
[INFO] [stdout] 75 |     -> Result<(), Box<Error>>
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |     -> Result<(), Box<dyn Error>>
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lexer/comments.rs:346:80
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub fn gather_comments_and_literals(sess: &ParseSess, path: String, srdr: &mut Read)
[INFO] [stdout]     |                                                                                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub fn gather_comments_and_literals(sess: &ParseSess, path: String, srdr: &mut dyn Read)
[INFO] [stdout]     |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/test.rs:75:42
[INFO] [stdout]    |
[INFO] [stdout] 75 |                           resolver: &mut Resolver,
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |                           resolver: &mut dyn Resolver,
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/test.rs:263:41
[INFO] [stdout]     |
[INFO] [stdout] 263 |                          resolver: &mut Resolver,
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 263 |                          resolver: &mut dyn Resolver,
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pp.rs:244:32
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub fn mk_printer<'a>(out: Box<io::Write+'a>, linewidth: usize) -> Printer<'a> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub fn mk_printer<'a>(out: Box<dyn io::Write+'a>, linewidth: usize) -> Printer<'a> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/print/pprust.rs:73:37
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn rust_printer<'a>(writer: Box<Write+'a>) -> State<'a> {
[INFO] [stdout]    |                                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn rust_printer<'a>(writer: Box<dyn Write+'a>) -> State<'a> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/print/pprust.rs:78:47
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn rust_printer_annotated<'a>(writer: Box<Write+'a>,
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn rust_printer_annotated<'a>(writer: Box<dyn Write+'a>,
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/print/pprust.rs:79:44
[INFO] [stdout]    |
[INFO] [stdout] 79 | ...                   ann: &'a PpAnn) -> State<'a> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |                                   ann: &'a dyn PpAnn) -> State<'a> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:105:36
[INFO] [stdout]     |
[INFO] [stdout] 105 |                        input: &mut Read,
[INFO] [stdout]     |                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 105 |                        input: &mut dyn Read,
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:106:33
[INFO] [stdout]     |
[INFO] [stdout] 106 |                        out: Box<Write+'a>,
[INFO] [stdout]     |                                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 106 |                        out: Box<dyn Write+'a>,
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:107:33
[INFO] [stdout]     |
[INFO] [stdout] 107 |                        ann: &'a PpAnn,
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 107 |                        ann: &'a dyn PpAnn,
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:111:73
[INFO] [stdout]     |
[INFO] [stdout] 111 |     where F : Fn(&mut ExtCtxt, Span, &ast::MetaItem, &Annotatable, &mut FnMut(Annotatable))
[INFO] [stdout]     |                                                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     where F : Fn(&mut ExtCtxt, Span, &ast::MetaItem, &Annotatable, &mut dyn FnMut(Annotatable))
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:209:84
[INFO] [stdout]     |
[INFO] [stdout] 209 |     where F: for<'cx> Fn(&'cx mut ExtCtxt, Span, &[tokenstream::TokenTree]) -> Box<MacResult+'cx>
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 209 |     where F: for<'cx> Fn(&'cx mut ExtCtxt, Span, &[tokenstream::TokenTree]) -> Box<dyn MacResult+'cx>
[INFO] [stdout]     |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:206:24
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 -> Box<MacResult+'cx>;
[INFO] [stdout]     |                        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 -> Box<dyn MacResult+'cx>;
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:251:63
[INFO] [stdout]     |
[INFO] [stdout] 251 |                           Vec<tokenstream::TokenTree>) -> Box<MacResult+'cx>
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 251 |                           Vec<tokenstream::TokenTree>) -> Box<dyn MacResult+'cx>
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:247:24
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 -> Box<MacResult+'cx>;
[INFO] [stdout]     |                        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 -> Box<dyn MacResult+'cx>;
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:449:40
[INFO] [stdout]     |
[INFO] [stdout] 449 | ...                   -> Box<base::MacResult+'cx> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 449 |                                 -> Box<dyn base::MacResult+'cx> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:458:38
[INFO] [stdout]     |
[INFO] [stdout] 458 | ...                   -> Box<base::MacResult+'cx> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 458 |                               -> Box<dyn base::MacResult+'cx> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:466:38
[INFO] [stdout]     |
[INFO] [stdout] 466 | ...                   -> Box<base::MacResult+'cx> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 466 |                               -> Box<dyn base::MacResult+'cx> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:474:37
[INFO] [stdout]     |
[INFO] [stdout] 474 | ...                   -> Box<base::MacResult+'cx> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 474 |                              -> Box<dyn base::MacResult+'cx> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:482:32
[INFO] [stdout]     |
[INFO] [stdout] 482 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 482 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:490:31
[INFO] [stdout]     |
[INFO] [stdout] 490 |                        -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 490 |                        -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:498:33
[INFO] [stdout]     |
[INFO] [stdout] 498 |                          -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 498 |                          -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:506:33
[INFO] [stdout]     |
[INFO] [stdout] 506 |                          -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 506 |                          -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:516:32
[INFO] [stdout]     |
[INFO] [stdout] 516 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 516 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:524:32
[INFO] [stdout]     |
[INFO] [stdout] 524 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 524 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:532:32
[INFO] [stdout]     |
[INFO] [stdout] 532 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 532 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:540:32
[INFO] [stdout]     |
[INFO] [stdout] 540 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 540 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:35:27
[INFO] [stdout]    |
[INFO] [stdout] 35 |                    -> Box<base::MacResult+'static> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |                    -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |                   -> Box<base::MacResult+'static> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |                   -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:59:27
[INFO] [stdout]    |
[INFO] [stdout] 59 |                    -> Box<base::MacResult+'static> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 59 |                    -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:68:32
[INFO] [stdout]    |
[INFO] [stdout] 68 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 68 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:74:26
[INFO] [stdout]    |
[INFO] [stdout] 74 |                   -> Box<base::MacResult+'static> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |                   -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 | ...                   -> Box<base::MacResult+'cx> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 |                            -> Box<dyn base::MacResult+'cx> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/source_util.rs:123:34
[INFO] [stdout]     |
[INFO] [stdout] 123 |                           -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 123 |                           -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/source_util.rs:159:36
[INFO] [stdout]     |
[INFO] [stdout] 159 | ...                   -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 159 |                             -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/tt/macro_rules.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 74 |                    -> Box<MacResult+'cx> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |                    -> Box<dyn MacResult+'cx> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/tt/macro_rules.rs:100:34
[INFO] [stdout]     |
[INFO] [stdout] 100 |                           -> Box<MacResult+'cx> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 100 |                           -> Box<dyn MacResult+'cx> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/json.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn new(dst: Box<Write + Send>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn new(dst: Box<dyn Write + Send>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codemap.rs:122:46
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn with_file_loader(file_loader: Box<FileLoader>,
[INFO] [stdout]     |                                              ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn with_file_loader(file_loader: Box<dyn FileLoader>,
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:328:43
[INFO] [stdout]     |
[INFO] [stdout] 328 |                   pub fn $fld(v: $t) -> Box<MacResult> {
[INFO] [stdout]     |                                             ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 | / make_MacEager! {
[INFO] [stdout] 340 | |     expr: P<ast::Expr>,
[INFO] [stdout] 341 | |     pat: P<ast::Pat>,
[INFO] [stdout] 342 | |     items: SmallVector<P<ast::Item>>,
[INFO] [stdout] ...   |
[INFO] [stdout] 346 | |     ty: P<ast::Ty>,
[INFO] [stdout] 347 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `make_MacEager` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:407:33
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn any(sp: Span) -> Box<MacResult+'static> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn any(sp: Span) -> Box<dyn MacResult+'static> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:416:34
[INFO] [stdout]     |
[INFO] [stdout] 416 |     pub fn expr(sp: Span) -> Box<MacResult+'static> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 416 |     pub fn expr(sp: Span) -> Box<dyn MacResult+'static> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/expand.rs:57:48
[INFO] [stdout]     |
[INFO] [stdout]  57 |               fn make_from<'a>(self, result: Box<MacResult + 'a>) -> Option<Expansion> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 | / expansions! {
[INFO] [stdout] 123 | |     Expr: P<ast::Expr> [], "expression", .make_expr, .fold_expr, .visit_expr;
[INFO] [stdout] 124 | |     Pat: P<ast::Pat>   [], "pattern",    .make_pat,  .fold_pat,  .visit_pat;
[INFO] [stdout] 125 | |     Ty: P<ast::Ty>     [], "type",       .make_ty,   .fold_ty,   .visit_ty;
[INFO] [stdout] ...   |
[INFO] [stdout] 133 | |         "impl item",  .make_impl_items,  lift .fold_impl_item,  lift .visit_impl_item;
[INFO] [stdout] 134 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `expansions` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/diagnostics/plugin.rs:184:50
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     target_triple, crate_name, e.description(), e.cause()
[INFO] [stdout]     |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/diagnostics/plugin.rs:184:67
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     target_triple, crate_name, e.description(), e.cause()
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bitflags::core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/codemap.rs:463:69
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let snippet = snippet.split(c).nth(0).unwrap_or("").trim_right();
[INFO] [stdout]     |                                                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 463 -                 let snippet = snippet.split(c).nth(0).unwrap_or("").trim_right();
[INFO] [stdout] 463 +                 let snippet = snippet.split(c).nth(0).unwrap_or("").trim_end();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stdout]   --> src/feature_gate.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use std::ascii::AsciiExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rustc_data_structures/indexed_vec.rs:234:18
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn into_iter(mut self) -> slice::IterMut<'a, T> {
[INFO] [stdout]     |                  ----^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ext/tt/macro_parser.rs:209:81
[INFO] [stdout]     |
[INFO] [stdout] 209 |     fn n_rec<I: Iterator<Item=Rc<NamedMatch>>>(sess: &ParseSess, m: &TokenTree, mut res: &mut I,
[INFO] [stdout]     |                                                                                 ----^^^
[INFO] [stdout]     |                                                                                 |
[INFO] [stdout]     |                                                                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ext/tt/macro_parser.rs:449:66
[INFO] [stdout]     |
[INFO] [stdout] 449 |                 let matches = eof_eis[0].matches.iter_mut().map(|mut dv| dv.pop().unwrap());
[INFO] [stdout]     |                                                                  ----^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ext/tt/macro_rules.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut values: &mut Vec<String> = cx.expansions.entry(sp).or_insert_with(Vec::new);
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_unsigned_leb128_to_buf` is never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn write_unsigned_leb128_to_buf(buf: &mut [u8; 16], value: u64) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_signed_leb128_to_buf` is never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn write_signed_leb128_to_buf(buf: &mut [u8; 16], value: i64) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StableHasher` is never constructed
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct StableHasher<W> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StableHasherResult` is never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub trait StableHasherResult: Sized {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_uleb128` and `write_ileb128` are never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl<W> StableHasher<W> {
[INFO] [stdout]    | ----------------------- methods in this implementation
[INFO] [stdout] 74 |     #[inline]
[INFO] [stdout] 75 |     fn write_uleb128(&mut self, value: u64) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     fn write_ileb128(&mut self, value: i64) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `HashStable` is never used
[INFO] [stdout]    --> src/rustc_data_structures/stable_hasher.rs:161:11
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub trait HashStable<CTX> {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blake2bCtx` is never constructed
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Blake2bCtx {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `b2b_g` is never used
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn b2b_g(v: &mut [u64; 16],
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLAKE2B_IV` is never used
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:72:7
[INFO] [stdout]    |
[INFO] [stdout] 72 | const BLAKE2B_IV: [u64; 8] = [
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blake2b_compress` is never used
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn blake2b_compress(ctx: &mut Blake2bCtx, last: bool) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blake2b_update` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn blake2b_update(ctx: &mut Blake2bCtx, mut data: &[u8]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blake2b_final` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:194:4
[INFO] [stdout]     |
[INFO] [stdout] 194 | fn blake2b_final(ctx: &mut Blake2bCtx)
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checked_mem_copy` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:223:4
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn checked_mem_copy<T1, T2>(from: &[T1], to: &mut [T2], byte_count: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blake2bHasher` is never constructed
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub struct Blake2bHasher(Blake2bCtx);
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `finalize` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | impl Blake2bHasher {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 250 |     pub fn finalize(&mut self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_unsigned_leb128_to` is never used
[INFO] [stdout]   --> src/rustc_data_structures/leb128.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn write_unsigned_leb128_to<W>(mut value: u128, mut write: W) -> usize
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_signed_leb128_to` is never used
[INFO] [stdout]   --> src/rustc_data_structures/leb128.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn write_signed_leb128_to<W>(mut value: i128, mut write: W) -> usize
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rustc_data_structures/indexed_vec.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn iter(&self) -> slice::Iter<T> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn iter(&self) -> slice::Iter<'_, T> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rustc_data_structures/indexed_vec.rs:129:21
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn iter_mut(&mut self) -> slice::IterMut<T> {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn iter_mut(&mut self) -> slice::IterMut<'_, T> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/rustc_data_structures/stable_hasher.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |             ::std::mem::transmute(*self)
[INFO] [stdout]     |             ---------------------^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: replace this with: `f32::to_bits`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/rustc_data_structures/stable_hasher.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |             ::std::mem::transmute(*self)
[INFO] [stdout]     |             ---------------------^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: replace this with: `f64::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/util/small_vector.rs:141:28
[INFO] [stdout]     |
[INFO] [stdout] 141 |                     panic!(err)
[INFO] [stdout]     |                            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 141 |                     panic!("{}", err)
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/util/small_vector.rs:144:25
[INFO] [stdout]     |
[INFO] [stdout] 144 |             _ => panic!(err)
[INFO] [stdout]     |                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 144 |             _ => panic!("{}", err)
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codemap.rs:145:18
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub fn files(&self) -> Ref<Vec<Rc<FileMap>>> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub fn files(&self) -> Ref<'_, Vec<Rc<FileMap>>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:49:24
[INFO] [stdout]      |
[INFO] [stdout]   49 |                 panic!(FatalError);
[INFO] [stdout]      |                        ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/feature_gate.rs:1118:20
[INFO] [stdout]      |
[INFO] [stdout] 1118 |         let meta = panictry!(attr.parse_meta(self.context.parse_sess));
[INFO] [stdout]      |                    --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]      = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout]   49 |                 panic!("{}", FatalError);
[INFO] [stdout]      |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout]   49 -                 panic!(FatalError);
[INFO] [stdout]   49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/feature_gate.rs:1509:20
[INFO] [stdout]      |
[INFO] [stdout] 1509 |             panic!(FatalError);
[INFO] [stdout]      |                    ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1509 |             panic!("{}", FatalError);
[INFO] [stdout]      |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1509 -             panic!(FatalError);
[INFO] [stdout] 1509 +             std::panic::panic_any(FatalError);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:112:72
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn parse_crate_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                        ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 113 |                                        -> PResult<ast::Crate> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 113 |                                        -> PResult<'_, ast::Crate> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:117:78
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn parse_crate_attrs_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                              ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 118 |                                              -> PResult<Vec<ast::Attribute>> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 118 |                                              -> PResult<'_, Vec<ast::Attribute>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:122:71
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub fn parse_expr_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 123 |                                       -> PResult<P<ast::Expr>> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 123 |                                       -> PResult<'_, P<ast::Expr>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:131:71
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn parse_item_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 132 |                                       -> PResult<Option<P<ast::Item>>> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 132 |                                       -> PResult<'_, Option<P<ast::Item>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:136:71
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn parse_meta_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 137 |                                       -> PResult<ast::MetaItem> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 137 |                                       -> PResult<'_, ast::MetaItem> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:141:71
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn parse_stmt_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 142 |                                       -> PResult<Option<ast::Stmt>> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 142 |                                       -> PResult<'_, Option<ast::Stmt>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:152:41
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn new_parser_from_source_str(sess: &ParseSess, name: String, source: String)
[INFO] [stdout]     |                                         ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 153 |                                       -> Parser {
[INFO] [stdout]     |                                          ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 153 |                                       -> Parser<'_> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:180:32
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub fn filemap_to_parser(sess: & ParseSess, filemap: Rc<FileMap>, ) -> Parser {
[INFO] [stdout]     |                                ^^^^^^^^^^^ the lifetime is elided here ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub fn filemap_to_parser(sess: & ParseSess, filemap: Rc<FileMap>, ) -> Parser<'_> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:193:34
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn new_parser_from_tts(sess: &ParseSess, tts: Vec<TokenTree>) -> Parser {
[INFO] [stdout]     |                                  ^^^^^^^^^^                          ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn new_parser_from_tts(sess: &ParseSess, tts: Vec<TokenTree>) -> Parser<'_> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/mod.rs:209:36
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 Some(sp) => panic!(sess.span_diagnostic.span_fatal(sp, &msg)),
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 Some(sp) => panic!("{}", sess.span_diagnostic.span_fatal(sp, &msg)),
[INFO] [stdout]     |                                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 209 -                 Some(sp) => panic!(sess.span_diagnostic.span_fatal(sp, &msg)),
[INFO] [stdout] 209 +                 Some(sp) => std::panic::panic_any(sess.span_diagnostic.span_fatal(sp, &msg)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/mod.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 |                 None => panic!(sess.span_diagnostic.fatal(&msg))
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 210 |                 None => panic!("{}", sess.span_diagnostic.fatal(&msg))
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 210 -                 None => panic!(sess.span_diagnostic.fatal(&msg))
[INFO] [stdout] 210 +                 None => std::panic::panic_any(sess.span_diagnostic.fatal(&msg))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parse/mod.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 |     panictry!(srdr.parse_all_token_trees())
[INFO] [stdout]     |     --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:224:31
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn stream_to_parser(sess: &ParseSess, stream: TokenStream) -> Parser {
[INFO] [stdout]     |                               ^^^^^^^^^^                          ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn stream_to_parser(sess: &ParseSess, stream: TokenStream) -> Parser<'_> {
[INFO] [stdout]     |                                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/mod.rs:468:36
[INFO] [stdout]     |
[INFO] [stdout] 468 | ...                   panic!(err(2))
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 468 |                             panic!("{}", err(2))
[INFO] [stdout]     |                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/mod.rs:472:36
[INFO] [stdout]     |
[INFO] [stdout] 472 |                     None => panic!(err(3))
[INFO] [stdout]     |                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 472 |                     None => panic!("{}", err(3))
[INFO] [stdout]     |                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/parser.rs:362:46
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn span_err(self, sp: Span, handler: &errors::Handler) -> DiagnosticBuilder {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn span_err(self, sp: Span, handler: &errors::Handler) -> DiagnosticBuilder<'_> {
[INFO] [stdout]     |                                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/parse/lexer/mod.rs:86:24
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 panic!(FatalError);
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 panic!("{}", FatalError);
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 86 -                 panic!(FatalError);
[INFO] [stdout] 86 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:186:20
[INFO] [stdout]     |
[INFO] [stdout] 186 |             panic!(FatalError);
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 186 |             panic!("{}", FatalError);
[INFO] [stdout]     |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 186 -             panic!(FatalError);
[INFO] [stdout] 186 +             std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:211:20
[INFO] [stdout]     |
[INFO] [stdout] 211 |             panic!(FatalError);
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 211 |             panic!("{}", FatalError);
[INFO] [stdout]     |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 211 -             panic!(FatalError);
[INFO] [stdout] 211 +             std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:632:24
[INFO] [stdout]     |
[INFO] [stdout] 632 |                 panic!(self.fatal_span_(start_bpos, last_bpos, msg));
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 632 |                 panic!("{}", self.fatal_span_(start_bpos, last_bpos, msg));
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 632 -                 panic!(self.fatal_span_(start_bpos, last_bpos, msg));
[INFO] [stdout] 632 +                 std::panic::panic_any(self.fatal_span_(start_bpos, last_bpos, msg));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:793:24
[INFO] [stdout]     |
[INFO] [stdout] 793 |                   panic!(self.fatal_span_(start_bpos,
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 794 | |                                         last_bpos,
[INFO] [stdout] 795 | |                                         "unterminated numeric character escape"));
[INFO] [stdout]     | |________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 793 |                 panic!("{}", self.fatal_span_(start_bpos,
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 793 -                 panic!(self.fatal_span_(start_bpos,
[INFO] [stdout] 793 +                 std::panic::panic_any(self.fatal_span_(start_bpos,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:971:28
[INFO] [stdout]     |
[INFO] [stdout] 971 |                       panic!(self.fatal_span_(start_bpos,
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 972 | |                                             self.pos,
[INFO] [stdout] 973 | |                                             "unterminated unicode escape (found EOF)"));
[INFO] [stdout]     | |______________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 971 |                     panic!("{}", self.fatal_span_(start_bpos,
[INFO] [stdout]     |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 971 -                     panic!(self.fatal_span_(start_bpos,
[INFO] [stdout] 971 +                     std::panic::panic_any(self.fatal_span_(start_bpos,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:979:28
[INFO] [stdout]     |
[INFO] [stdout] 979 |                       panic!(self.fatal_span_(self.pos,
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 980 | |                                             self.next_pos,
[INFO] [stdout] 981 | |                                             "unterminated unicode escape (needed a `}`)"));
[INFO] [stdout]     | |_________________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 979 |                     panic!("{}", self.fatal_span_(self.pos,
[INFO] [stdout]     |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 979 -                     panic!(self.fatal_span_(self.pos,
[INFO] [stdout] 979 +                     std::panic::panic_any(self.fatal_span_(self.pos,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1258:32
[INFO] [stdout]      |
[INFO] [stdout] 1258 |                           panic!(self.fatal_span_verbose(
[INFO] [stdout]      |  ________________________________^
[INFO] [stdout] 1259 | |                                start_with_quote, self.next_pos,
[INFO] [stdout] 1260 | |                                String::from("character literal may only contain one codepoint")));
[INFO] [stdout]      | |________________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1258 |                         panic!("{}", self.fatal_span_verbose(
[INFO] [stdout]      |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1258 -                         panic!(self.fatal_span_verbose(
[INFO] [stdout] 1258 +                         std::panic::panic_any(self.fatal_span_verbose(
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1293:28
[INFO] [stdout]      |
[INFO] [stdout] 1293 |                       panic!(self.fatal_span_verbose(
[INFO] [stdout]      |  ____________________________^
[INFO] [stdout] 1294 | |                            start_with_quote, self.pos,
[INFO] [stdout] 1295 | |                            String::from("character literal may only contain one codepoint")));
[INFO] [stdout]      | |____________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1293 |                     panic!("{}", self.fatal_span_verbose(
[INFO] [stdout]      |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1293 -                     panic!(self.fatal_span_verbose(
[INFO] [stdout] 1293 +                     std::panic::panic_any(self.fatal_span_verbose(
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1325:32
[INFO] [stdout]      |
[INFO] [stdout] 1325 |                           panic!(self.fatal_span_(start_bpos,
[INFO] [stdout]      |  ________________________________^
[INFO] [stdout] 1326 | |                                                 last_bpos,
[INFO] [stdout] 1327 | |                                                 "unterminated double quote string"));
[INFO] [stdout]      | |___________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1325 |                         panic!("{}", self.fatal_span_(start_bpos,
[INFO] [stdout]      |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1325 -                         panic!(self.fatal_span_(start_bpos,
[INFO] [stdout] 1325 +                         std::panic::panic_any(self.fatal_span_(start_bpos,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1360:28
[INFO] [stdout]      |
[INFO] [stdout] 1360 |                     panic!(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1360 |                     panic!("{}", self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1360 -                     panic!(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout] 1360 +                     std::panic::panic_any(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1364:28
[INFO] [stdout]      |
[INFO] [stdout] 1364 |                       panic!(self.fatal_span_char(start_bpos,
[INFO] [stdout]      |  ____________________________^
[INFO] [stdout] 1365 | |                                                 last_bpos,
[INFO] [stdout] 1366 | |                                                 "found invalid character; only `#` is allowed \
[INFO] [stdout] 1367 | |                                                  in raw string delimitation",
[INFO] [stdout] 1368 | |                                                 curr_char));
[INFO] [stdout]      | |__________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1364 |                     panic!("{}", self.fatal_span_char(start_bpos,
[INFO] [stdout]      |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1364 -                     panic!(self.fatal_span_char(start_bpos,
[INFO] [stdout] 1364 +                     std::panic::panic_any(self.fatal_span_char(start_bpos,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1377:32
[INFO] [stdout]      |
[INFO] [stdout] 1377 |                         panic!(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1377 |                         panic!("{}", self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1377 -                         panic!(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout] 1377 +                         std::panic::panic_any(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1534:20
[INFO] [stdout]      |
[INFO] [stdout] 1534 |               panic!(self.fatal_span_verbose(start - BytePos(2),
[INFO] [stdout]      |  ____________________^
[INFO] [stdout] 1535 | |                                            pos,
[INFO] [stdout] 1536 | |                                            "unterminated byte constant".to_string()));
[INFO] [stdout]      | |____________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1534 |             panic!("{}", self.fatal_span_verbose(start - BytePos(2),
[INFO] [stdout]      |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1534 -             panic!(self.fatal_span_verbose(start - BytePos(2),
[INFO] [stdout] 1534 +             std::panic::panic_any(self.fatal_span_verbose(start - BytePos(2),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1560:24
[INFO] [stdout]      |
[INFO] [stdout] 1560 |                 panic!(self.fatal_span_(start, pos, "unterminated double quote byte string"));
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1560 |                 panic!("{}", self.fatal_span_(start, pos, "unterminated double quote byte string"));
[INFO] [stdout]      |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1560 -                 panic!(self.fatal_span_(start, pos, "unterminated double quote byte string"));
[INFO] [stdout] 1560 +                 std::panic::panic_any(self.fatal_span_(start, pos, "unterminated double quote byte string"));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1592:20
[INFO] [stdout]      |
[INFO] [stdout] 1592 |             panic!(self.fatal_span_(start_bpos, pos, "unterminated raw string"));
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1592 |             panic!("{}", self.fatal_span_(start_bpos, pos, "unterminated raw string"));
[INFO] [stdout]      |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1592 -             panic!(self.fatal_span_(start_bpos, pos, "unterminated raw string"));
[INFO] [stdout] 1592 +             std::panic::panic_any(self.fatal_span_(start_bpos, pos, "unterminated raw string"));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1596:20
[INFO] [stdout]      |
[INFO] [stdout] 1596 |               panic!(self.fatal_span_char(start_bpos,
[INFO] [stdout]      |  ____________________^
[INFO] [stdout] 1597 | |                                         pos,
[INFO] [stdout] 1598 | |                                         "found invalid character; only `#` is allowed in raw \
[INFO] [stdout] 1599 | |                                          string delimitation",
[INFO] [stdout] 1600 | |                                         ch));
[INFO] [stdout]      | |___________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1596 |             panic!("{}", self.fatal_span_char(start_bpos,
[INFO] [stdout]      |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1596 -             panic!(self.fatal_span_char(start_bpos,
[INFO] [stdout] 1596 +             std::panic::panic_any(self.fatal_span_char(start_bpos,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1609:28
[INFO] [stdout]      |
[INFO] [stdout] 1609 |                     panic!(self.fatal_span_(start_bpos, pos, "unterminated raw string"))
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1609 |                     panic!("{}", self.fatal_span_(start_bpos, pos, "unterminated raw string"))
[INFO] [stdout]      |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1609 -                     panic!(self.fatal_span_(start_bpos, pos, "unterminated raw string"))
[INFO] [stdout] 1609 +                     std::panic::panic_any(self.fatal_span_(start_bpos, pos, "unterminated raw string"))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/comments.rs:268:24
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 panic!(rdr.fatal("unterminated block comment"));
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 panic!("{}", rdr.fatal("unterminated block comment"));
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 268 -                 panic!(rdr.fatal("unterminated block comment"));
[INFO] [stdout] 268 +                 std::panic::panic_any(rdr.fatal("unterminated block comment"));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<Box<[T]> as IntoIterator>::into_iter` in Rust 2024
[INFO] [stdout]    --> src/ptr.rs:211:18
[INFO] [stdout]     |
[INFO] [stdout] 211 |         self.ptr.into_iter()
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/intoiterator-box-slice.html>
[INFO] [stdout]     = note: `#[warn(boxed_slice_into_iter)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 211 -         self.ptr.into_iter()
[INFO] [stdout] 211 +         self.ptr.iter()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 211 -         self.ptr.into_iter()
[INFO] [stdout] 211 +         IntoIterator::into_iter(self.ptr)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> src/std_inject.rs:77:59
[INFO] [stdout]    |
[INFO] [stdout] 77 |             segments: ["{{root}}", name, "prelude", "v1"].into_iter().map(|name| {
[INFO] [stdout]    |                                                           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 77 -             segments: ["{{root}}", name, "prelude", "v1"].into_iter().map(|name| {
[INFO] [stdout] 77 +             segments: ["{{root}}", name, "prelude", "v1"].iter().map(|name| {
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 77 -             segments: ["{{root}}", name, "prelude", "v1"].into_iter().map(|name| {
[INFO] [stdout] 77 +             segments: IntoIterator::into_iter(["{{root}}", name, "prelude", "v1"]).map(|name| {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/test.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     panic!(diag.span_fatal(i.span, "unsafe functions cannot be used for tests"));
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     panic!("{}", diag.span_fatal(i.span, "unsafe functions cannot be used for tests"));
[INFO] [stdout]     |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 127 -                     panic!(diag.span_fatal(i.span, "unsafe functions cannot be used for tests"));
[INFO] [stdout] 127 +                     std::panic::panic_any(diag.span_fatal(i.span, "unsafe functions cannot be used for tests"));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:193:35
[INFO] [stdout]     |
[INFO] [stdout] 193 |     walk_list!(visitor, visit_ty, &local.ty);
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:194:37
[INFO] [stdout]     |
[INFO] [stdout] 194 |     walk_list!(visitor, visit_expr, &local.init);
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:280:50
[INFO] [stdout]     |
[INFO] [stdout] 280 |             walk_list!(visitor, visit_trait_ref, opt_trait_reference);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:317:37
[INFO] [stdout]     |
[INFO] [stdout] 317 |     walk_list!(visitor, visit_expr, &variant.node.disr_expr);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:330:49
[INFO] [stdout]     |
[INFO] [stdout] 330 |             walk_list!(visitor, visit_lifetime, opt_lifetime);
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:400:43
[INFO] [stdout]     |
[INFO] [stdout] 400 |             walk_list!(visitor, visit_ty, &data.output);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:440:44
[INFO] [stdout]     |
[INFO] [stdout] 440 |             walk_list!(visitor, visit_pat, optional_subpattern);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:450:44
[INFO] [stdout]     |
[INFO] [stdout] 450 |             walk_list!(visitor, visit_pat, slice_pattern);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:491:39
[INFO] [stdout]     |
[INFO] [stdout] 491 |         walk_list!(visitor, visit_ty, &param.default);
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:564:45
[INFO] [stdout]     |
[INFO] [stdout] 564 |             walk_list!(visitor, visit_expr, default);
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:576:43
[INFO] [stdout]     |
[INFO] [stdout] 576 |             walk_list!(visitor, visit_ty, default);
[INFO] [stdout]     |                                           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:668:45
[INFO] [stdout]     |
[INFO] [stdout] 668 |             walk_list!(visitor, visit_expr, optional_base);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:697:45
[INFO] [stdout]     |
[INFO] [stdout] 697 |             walk_list!(visitor, visit_expr, optional_else);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:708:45
[INFO] [stdout]     |
[INFO] [stdout] 708 |             walk_list!(visitor, visit_expr, optional_else);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:757:45
[INFO] [stdout]     |
[INFO] [stdout] 757 |             walk_list!(visitor, visit_expr, start);
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:758:45
[INFO] [stdout]     |
[INFO] [stdout] 758 |             walk_list!(visitor, visit_expr, end);
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:768:45
[INFO] [stdout]     |
[INFO] [stdout] 768 |             walk_list!(visitor, visit_expr, opt_expr);
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:774:45
[INFO] [stdout]     |
[INFO] [stdout] 774 |             walk_list!(visitor, visit_expr, optional_expression);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:801:37
[INFO] [stdout]     |
[INFO] [stdout] 801 |     walk_list!(visitor, visit_expr, &arm.guard);
[INFO] [stdout]     |                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/base.rs:764:16
[INFO] [stdout]     |
[INFO] [stdout] 764 |         panic!(self.parse_sess.span_diagnostic.span_fatal(sp, msg));
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 764 |         panic!("{}", self.parse_sess.span_diagnostic.span_fatal(sp, msg));
[INFO] [stdout]     |                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 764 -         panic!(self.parse_sess.span_diagnostic.span_fatal(sp, msg));
[INFO] [stdout] 764 +         std::panic::panic_any(self.parse_sess.span_diagnostic.span_fatal(sp, msg));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/base.rs:876:15
[INFO] [stdout]     |
[INFO] [stdout] 876 |     let ret = panictry!(p.parse_expr());
[INFO] [stdout]     |               ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/base.rs:893:41
[INFO] [stdout]     |
[INFO] [stdout] 893 |         es.push(cx.expander().fold_expr(panictry!(p.parse_expr())));
[INFO] [stdout]     |                                         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/expand.rs:393:20
[INFO] [stdout]     |
[INFO] [stdout] 393 |             panic!(FatalError);
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 393 |             panic!("{}", FatalError);
[INFO] [stdout]     |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 393 -             panic!(FatalError);
[INFO] [stdout] 393 +             std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/expand.rs:418:28
[INFO] [stdout]     |
[INFO] [stdout] 418 |                 let meta = panictry!(attr.parse_meta(self.cx.parse_sess));
[INFO] [stdout]     |                            ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/expand.rs:424:28
[INFO] [stdout]     |
[INFO] [stdout] 424 |                 let meta = panictry!(attr.parse_meta(self.cx.parse_sess));
[INFO] [stdout]     |                            ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:403:5
[INFO] [stdout]     |
[INFO] [stdout] 403 |     panictry!(parser.parse_expr())
[INFO] [stdout]     |     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 407 |     panictry!(parser.parse_item())
[INFO] [stdout]     |     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:411:5
[INFO] [stdout]     |
[INFO] [stdout] 411 |     panictry!(parser.parse_pat())
[INFO] [stdout]     |     ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:415:5
[INFO] [stdout]     |
[INFO] [stdout] 415 |     panictry!(parser.parse_arm())
[INFO] [stdout]     |     ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:419:5
[INFO] [stdout]     |
[INFO] [stdout] 419 |     panictry!(parser.parse_ty())
[INFO] [stdout]     |     ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:423:5
[INFO] [stdout]     |
[INFO] [stdout] 423 |     panictry!(parser.parse_stmt())
[INFO] [stdout]     |     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:427:5
[INFO] [stdout]     |
[INFO] [stdout] 427 |     panictry!(parser.parse_attribute(permit_inner))
[INFO] [stdout]     |     ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:431:5
[INFO] [stdout]     |
[INFO] [stdout] 431 |     panictry!(parser.parse_arg())
[INFO] [stdout]     |     ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:435:5
[INFO] [stdout]     |
[INFO] [stdout] 435 |     panictry!(parser.parse_block())
[INFO] [stdout]     |     ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:439:5
[INFO] [stdout]     |
[INFO] [stdout] 439 |     panictry!(parser.parse_meta_item())
[INFO] [stdout]     |     ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:443:5
[INFO] [stdout]     |
[INFO] [stdout] 443 |     panictry!(parser.parse_path(mode))
[INFO] [stdout]     |     ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:758:19
[INFO] [stdout]     |
[INFO] [stdout] 758 |     let cx_expr = panictry!(p.parse_expr());
[INFO] [stdout]     |                   ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:763:15
[INFO] [stdout]     |
[INFO] [stdout] 763 |     let tts = panictry!(p.parse_all_token_trees());
[INFO] [stdout]     |               ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                   panic!(FatalError);
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:347:13
[INFO] [stdout]     |
[INFO] [stdout] 347 | /             panictry!(parse::parse_item_from_source_str(
[INFO] [stdout] 348 | |                 "<quote expansion>".to_string(),
[INFO] [stdout] 349 | |                 s,
[INFO] [stdout] 350 | |                 self.parse_sess())).expect("parse error")
[INFO] [stdout]     | |___________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                   panic!(FatalError);
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:354:13
[INFO] [stdout]     |
[INFO] [stdout] 354 | /             panictry!(parse::parse_stmt_from_source_str(
[INFO] [stdout] 355 | |                 "<quote expansion>".to_string(),
[INFO] [stdout] 356 | |                 s,
[INFO] [stdout] 357 | |                 self.parse_sess())).expect("parse error")
[INFO] [stdout]     | |___________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                   panic!(FatalError);
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/quote.rs:361:13
[INFO] [stdout]     |
[INFO] [stdout] 361 | /             panictry!(parse::parse_expr_from_source_str(
[INFO] [stdout] 362 | |                 "<quote expansion>".to_string(),
[INFO] [stdout] 363 | |                 s,
[INFO] [stdout] 364 | |                 self.parse_sess()))
[INFO] [stdout]     | |___________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/source_util.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 |             Some(panictry!(self.p.parse_expr()))
[INFO] [stdout]     |                  ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/source_util.rs:107:23
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 match panictry!(self.p.parse_item()) {
[INFO] [stdout]     |                       ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/source_util.rs:109:36
[INFO] [stdout]     |
[INFO] [stdout] 109 |                       None => panic!(self.p.diagnostic().span_fatal(self.p.span,
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 110 | |                                                            &format!("expected item, found `{}`",
[INFO] [stdout] 111 | |                                                                     self.p.this_token_to_string())))
[INFO] [stdout]     | |___________________________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 109 |                     None => panic!("{}", self.p.diagnostic().span_fatal(self.p.span,
[INFO] [stdout]     |                                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 109 -                     None => panic!(self.p.diagnostic().span_fatal(self.p.span,
[INFO] [stdout] 109 +                     None => std::panic::panic_any(self.p.diagnostic().span_fatal(self.p.span,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/transcribe.rs:123:32
[INFO] [stdout]     |
[INFO] [stdout] 123 |                           panic!(sp_diag.span_fatal(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 124 | |                             sp, /* blame macro writer */
[INFO] [stdout] 125 | |                             "attempted to repeat an expression \
[INFO] [stdout] 126 | |                              containing no syntax \
[INFO] [stdout] 127 | |                              variables matched as repeating at this depth"));
[INFO] [stdout]     | |___________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 123 |                         panic!("{}", sp_diag.span_fatal(
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 123 -                         panic!(sp_diag.span_fatal(
[INFO] [stdout] 123 +                         std::panic::panic_any(sp_diag.span_fatal(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/transcribe.rs:131:32
[INFO] [stdout]     |
[INFO] [stdout] 131 |                         panic!(sp_diag.span_fatal(sp, &msg[..]));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 131 |                         panic!("{}", sp_diag.span_fatal(sp, &msg[..]));
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 131 -                         panic!(sp_diag.span_fatal(sp, &msg[..]));
[INFO] [stdout] 131 +                         std::panic::panic_any(sp_diag.span_fatal(sp, &msg[..]));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/transcribe.rs:137:40
[INFO] [stdout]     |
[INFO] [stdout] 137 |   ...                   panic!(sp_diag.span_fatal(sp,
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 138 | | ...                                             "this must repeat at least once"));
[INFO] [stdout]     | |_________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 137 |                                 panic!("{}", sp_diag.span_fatal(sp,
[INFO] [stdout]     |                                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 137 -                                 panic!(sp_diag.span_fatal(sp,
[INFO] [stdout] 137 +                                 std::panic::panic_any(sp_diag.span_fatal(sp,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/transcribe.rs:164:32
[INFO] [stdout]     |
[INFO] [stdout] 164 |                           panic!(sp_diag.span_fatal(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 165 | |                             sp, /* blame the macro writer */
[INFO] [stdout] 166 | |                             &format!("variable '{}' is still repeating at this depth", ident)));
[INFO] [stdout]     | |______________________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 164 |                         panic!("{}", sp_diag.span_fatal(
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 164 -                         panic!(sp_diag.span_fatal(
[INFO] [stdout] 164 +                         std::panic::panic_any(sp_diag.span_fatal(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:503:25
[INFO] [stdout]     |
[INFO] [stdout] 503 |         "item" => match panictry!(p.parse_item()) {
[INFO] [stdout]     |                         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/macro_parser.rs:507:24
[INFO] [stdout]     |
[INFO] [stdout] 507 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 507 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 507 -                 panic!(FatalError);
[INFO] [stdout] 507 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:510:35
[INFO] [stdout]     |
[INFO] [stdout] 510 |         "block" => token::NtBlock(panictry!(p.parse_block())),
[INFO] [stdout]     |                                   -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:511:25
[INFO] [stdout]     |
[INFO] [stdout] 511 |         "stmt" => match panictry!(p.parse_stmt()) {
[INFO] [stdout]     |                         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/macro_parser.rs:515:24
[INFO] [stdout]     |
[INFO] [stdout] 515 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 515 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 515 -                 panic!(FatalError);
[INFO] [stdout] 515 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:518:31
[INFO] [stdout]     |
[INFO] [stdout] 518 |         "pat" => token::NtPat(panictry!(p.parse_pat())),
[INFO] [stdout]     |                               ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:519:33
[INFO] [stdout]     |
[INFO] [stdout] 519 |         "expr" => token::NtExpr(panictry!(p.parse_expr())),
[INFO] [stdout]     |                                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:520:29
[INFO] [stdout]     |
[INFO] [stdout] 520 |         "ty" => token::NtTy(panictry!(p.parse_ty())),
[INFO] [stdout]     |                             ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/macro_parser.rs:531:24
[INFO] [stdout]     |
[INFO] [stdout] 531 |                 panic!(FatalError)
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 531 |                 panic!("{}", FatalError)
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 531 -                 panic!(FatalError)
[INFO] [stdout] 531 +                 std::panic::panic_any(FatalError)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:535:27
[INFO] [stdout]     |
[INFO] [stdout] 535 |             token::NtPath(panictry!(p.parse_path(PathStyle::Type)))
[INFO] [stdout]     |                           ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:537:33
[INFO] [stdout]     |
[INFO] [stdout] 537 |         "meta" => token::NtMeta(panictry!(p.parse_meta_item())),
[INFO] [stdout]     |                                 ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ext/tt/macro_parser.rs:538:31
[INFO] [stdout]     |
[INFO] [stdout] 538 |         "vis" => token::NtVis(panictry!(p.parse_visibility(true))),
[INFO] [stdout]     |                               ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/lib.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 panic!(FatalError);
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ext/tt/macro_rules.rs:46:25
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let expansion = panictry!(parser.parse_expansion(kind, true));
[INFO] [stdout]    |                         --------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 panic!("{}", FatalError);
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 49 -                 panic!(FatalError);
[INFO] [stdout] 49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/macro_rules.rs:209:20
[INFO] [stdout]     |
[INFO] [stdout] 209 |             panic!(sess.span_diagnostic.span_fatal(sp.substitute_dummy(def.span), &s));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 209 |             panic!("{}", sess.span_diagnostic.span_fatal(sp.substitute_dummy(def.span), &s));
[INFO] [stdout]     |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 209 -             panic!(sess.span_diagnostic.span_fatal(sp.substitute_dummy(def.span), &s));
[INFO] [stdout] 209 +             std::panic::panic_any(sess.span_diagnostic.span_fatal(sp.substitute_dummy(def.span), &s));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ext/tt/macro_rules.rs:212:20
[INFO] [stdout]     |
[INFO] [stdout] 212 |             panic!(sess.span_diagnostic.span_fatal(sp.substitute_dummy(def.span), &s));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 212 |             panic!("{}", sess.span_diagnostic.span_fatal(sp.substitute_dummy(def.span), &s));
[INFO] [stdout]     |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 212 -             panic!(sess.span_diagnostic.span_fatal(sp.substitute_dummy(def.span), &s));
[INFO] [stdout] 212 +             std::panic::panic_any(sess.span_diagnostic.span_fatal(sp.substitute_dummy(def.span), &s));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains braces
[INFO] [stdout]    --> src/ext/tt/macro_rules.rs:876:52
[INFO] [stdout]     |
[INFO] [stdout] 876 |         _ => panic!("unexpected quoted::TokenTree::{{Sequence or Delimited}} \
[INFO] [stdout]     |                                                    ^^                     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this message is not used as a format string, but will be in Rust 2021
[INFO] [stdout] help: add a "{}" format string to use the message literally
[INFO] [stdout]     |
[INFO] [stdout] 876 |         _ => panic!("{}", "unexpected quoted::TokenTree::{{Sequence or Delimited}} \
[INFO] [stdout]     |                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling syntex_syntax v0.59.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parser.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | / bitflags! {
[INFO] [stdout] 69 | |     pub struct Restrictions: u8 {
[INFO] [stdout] 70 | |         const RESTRICTION_STMT_EXPR         = 1 << 0;
[INFO] [stdout] 71 | |         const RESTRICTION_NO_STRUCT_LITERAL = 1 << 1;
[INFO] [stdout] 72 | |     }
[INFO] [stdout] 73 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parser.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | / bitflags! {
[INFO] [stdout] 69 | |     pub struct Restrictions: u8 {
[INFO] [stdout] 70 | |         const RESTRICTION_STMT_EXPR         = 1 << 0;
[INFO] [stdout] 71 | |         const RESTRICTION_NO_STRUCT_LITERAL = 1 << 1;
[INFO] [stdout] 72 | |     }
[INFO] [stdout] 73 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parser.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | / bitflags! {
[INFO] [stdout] 69 | |     pub struct Restrictions: u8 {
[INFO] [stdout] 70 | |         const RESTRICTION_STMT_EXPR         = 1 << 0;
[INFO] [stdout] 71 | |         const RESTRICTION_NO_STRUCT_LITERAL = 1 << 1;
[INFO] [stdout] 72 | |     }
[INFO] [stdout] 73 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/parse/parser.rs:2833:25
[INFO] [stdout]      |
[INFO] [stdout] 2833 |                 let r = try!(self.mk_range(Some(lhs), rhs, limits));
[INFO] [stdout]      |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/parse/parser.rs:2954:17
[INFO] [stdout]      |
[INFO] [stdout] 2954 |         let r = try!(self.mk_range(None,
[INFO] [stdout]      |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/parse/lexer/mod.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 322 |         (pos - self.filemap.start_pos)
[INFO] [stdout]     |         ^                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 322 -         (pos - self.filemap.start_pos)
[INFO] [stdout] 322 +         pos - self.filemap.start_pos
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parse/lexer/mod.rs:733:20
[INFO] [stdout]     |
[INFO] [stdout] 733 |                 '0'...'9' | '_' | '.' | 'e' | 'E' => {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/print/pprust.rs:676:17
[INFO] [stdout]     |
[INFO] [stdout] 676 |                 (format!("\"{}\"", parse::escape_default(st)))
[INFO] [stdout]     |                 ^                                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 676 -                 (format!("\"{}\"", parse::escape_default(st)))
[INFO] [stdout] 676 +                 format!("\"{}\"", parse::escape_default(st))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/print/pprust.rs:679:17
[INFO] [stdout]     |
[INFO] [stdout] 679 |                 (format!("r{delim}\"{string}\"{delim}",
[INFO] [stdout]     |                 ^
[INFO] [stdout] 680 |                          delim=repeat("#", n),
[INFO] [stdout] 681 |                          string=st))
[INFO] [stdout]     |                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 679 ~                 format!("r{delim}\"{string}\"{delim}",
[INFO] [stdout] 680 |                          delim=repeat("#", n),
[INFO] [stdout] 681 ~                          string=st)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/print/pprust.rs:1477:13
[INFO] [stdout]      |
[INFO] [stdout] 1477 |             try!(self.word_nbsp("default"));
[INFO] [stdout]      |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ext`
[INFO] [stdout]   --> src/ext/build.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub use ext;
[INFO] [stdout]    |             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parse`
[INFO] [stdout]   --> src/ext/build.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub use parse;
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]   --> src/feature_gate.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 | use std::ascii::AsciiExt;
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rustc_data_structures/indexed_vec.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |     _marker: PhantomData<Fn(&I)>
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 43 |     _marker: PhantomData<dyn Fn(&I)>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/json.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 |     dst: Box<Write + Send>,
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     dst: Box<dyn Write + Send>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/json.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     cm: Rc<CodeMapper + 'static>,
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     cm: Rc<dyn CodeMapper + 'static>,
[INFO] [stdout]    |            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codemap.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |     file_loader: Box<FileLoader>,
[INFO] [stdout]     |                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 107 |     file_loader: Box<dyn FileLoader>,
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pp.rs:265:18
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub out: Box<io::Write+'a>,
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub out: Box<dyn io::Write+'a>,
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/print/pprust.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 |     ann: &'a (PpAnn+'a),
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     ann: &'a (dyn PpAnn+'a),
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:517:24
[INFO] [stdout]     |
[INFO] [stdout] 517 |     MultiDecorator(Box<MultiItemDecorator>),
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 517 |     MultiDecorator(Box<dyn MultiItemDecorator>),
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:521:23
[INFO] [stdout]     |
[INFO] [stdout] 521 |     MultiModifier(Box<MultiItemModifier>),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 521 |     MultiModifier(Box<dyn MultiItemModifier>),
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:524:19
[INFO] [stdout]     |
[INFO] [stdout] 524 |     ProcMacro(Box<ProcMacro>),
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 524 |     ProcMacro(Box<dyn ProcMacro>),
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:530:23
[INFO] [stdout]     |
[INFO] [stdout] 530 |     AttrProcMacro(Box<AttrProcMacro>),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 530 |     AttrProcMacro(Box<dyn AttrProcMacro>),
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:538:18
[INFO] [stdout]     |
[INFO] [stdout] 538 |     NormalTT(Box<TTMacroExpander>, Option<(ast::NodeId, Span)>, bool),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 538 |     NormalTT(Box<dyn TTMacroExpander>, Option<(ast::NodeId, Span)>, bool),
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:543:17
[INFO] [stdout]     |
[INFO] [stdout] 543 |     IdentTT(Box<IdentMacroExpander>, Option<Span>, bool),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 543 |     IdentTT(Box<dyn IdentMacroExpander>, Option<Span>, bool),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:549:25
[INFO] [stdout]     |
[INFO] [stdout] 549 |     ProcMacroDerive(Box<MultiItemModifier>, Vec<Symbol> /* inert attribute names */),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 549 |     ProcMacroDerive(Box<dyn MultiItemModifier>, Vec<Symbol> /* inert attribute names */),
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:496:71
[INFO] [stdout]     |
[INFO] [stdout] 496 |     for<'cx> fn(&'cx mut ExtCtxt, Span, &MetaItem, &Annotatable, &mut FnMut(Annotatable));
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 496 |     for<'cx> fn(&'cx mut ExtCtxt, Span, &MetaItem, &Annotatable, &mut dyn FnMut(Annotatable));
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:555:19
[INFO] [stdout]     |
[INFO] [stdout] 555 |     DeclMacro(Box<TTMacroExpander>, Option<Span> /* definition site span */),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 555 |     DeclMacro(Box<dyn TTMacroExpander>, Option<Span> /* definition site span */),
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:657:27
[INFO] [stdout]     |
[INFO] [stdout] 657 |     pub resolver: &'a mut Resolver,
[INFO] [stdout]     |                           ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 657 |     pub resolver: &'a mut dyn Resolver,
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:107:26
[INFO] [stdout]     |
[INFO] [stdout] 107 |               push: &mut FnMut(Annotatable));
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 107 |               push: &mut dyn FnMut(Annotatable));
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:201:27
[INFO] [stdout]     |
[INFO] [stdout] 201 |                    -> Box<MacResult+'cx>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 201 |                    -> Box<dyn MacResult+'cx>;
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:242:27
[INFO] [stdout]     |
[INFO] [stdout] 242 |                    -> Box<MacResult+'cx>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 242 |                    -> Box<dyn MacResult+'cx>;
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:138:39
[INFO] [stdout]     |
[INFO] [stdout] 138 |                           input: &mut Read,
[INFO] [stdout]     |                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |                           input: &mut dyn Read,
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:139:36
[INFO] [stdout]     |
[INFO] [stdout] 139 |                           out: Box<Write+'a>,
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 139 |                           out: Box<dyn Write+'a>,
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:140:36
[INFO] [stdout]     |
[INFO] [stdout] 140 |                           ann: &'a PpAnn,
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 140 |                           ann: &'a dyn PpAnn,
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:156:25
[INFO] [stdout]     |
[INFO] [stdout] 156 |                out: Box<Write+'a>,
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |                out: Box<dyn Write+'a>,
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:157:25
[INFO] [stdout]     |
[INFO] [stdout] 157 |                ann: &'a PpAnn,
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 157 |                ann: &'a dyn PpAnn,
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 |               push: &mut FnMut(Annotatable)) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |               push: &mut dyn FnMut(Annotatable)) {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:212:27
[INFO] [stdout]     |
[INFO] [stdout] 212 |                    -> Box<MacResult+'cx> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 212 |                    -> Box<dyn MacResult+'cx> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:258:27
[INFO] [stdout]     |
[INFO] [stdout] 258 |                    -> Box<MacResult+'cx>
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 258 |                    -> Box<dyn MacResult+'cx>
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:666:34
[INFO] [stdout]     |
[INFO] [stdout] 666 |                resolver: &'a mut Resolver)
[INFO] [stdout]     |                                  ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 666 |                resolver: &'a mut dyn Resolver)
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/diagnostics/plugin.rs:59:43
[INFO] [stdout]    |
[INFO] [stdout] 59 | ...                   -> Box<MacResult+'cx> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 59 |                                    -> Box<dyn MacResult+'cx> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/diagnostics/plugin.rs:92:47
[INFO] [stdout]    |
[INFO] [stdout] 92 | ...                   -> Box<MacResult+'cx> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 92 |                                        -> Box<dyn MacResult+'cx> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/diagnostics/plugin.rs:162:50
[INFO] [stdout]     |
[INFO] [stdout] 162 | ...                   -> Box<MacResult+'cx> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 162 |                                           -> Box<dyn MacResult+'cx> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/diagnostics/metadata.rs:75:23
[INFO] [stdout]    |
[INFO] [stdout] 75 |     -> Result<(), Box<Error>>
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |     -> Result<(), Box<dyn Error>>
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lexer/comments.rs:346:80
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub fn gather_comments_and_literals(sess: &ParseSess, path: String, srdr: &mut Read)
[INFO] [stdout]     |                                                                                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub fn gather_comments_and_literals(sess: &ParseSess, path: String, srdr: &mut dyn Read)
[INFO] [stdout]     |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/test.rs:75:42
[INFO] [stdout]    |
[INFO] [stdout] 75 |                           resolver: &mut Resolver,
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |                           resolver: &mut dyn Resolver,
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/test.rs:263:41
[INFO] [stdout]     |
[INFO] [stdout] 263 |                          resolver: &mut Resolver,
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 263 |                          resolver: &mut dyn Resolver,
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pp.rs:244:32
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub fn mk_printer<'a>(out: Box<io::Write+'a>, linewidth: usize) -> Printer<'a> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub fn mk_printer<'a>(out: Box<dyn io::Write+'a>, linewidth: usize) -> Printer<'a> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/print/pprust.rs:73:37
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn rust_printer<'a>(writer: Box<Write+'a>) -> State<'a> {
[INFO] [stdout]    |                                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn rust_printer<'a>(writer: Box<dyn Write+'a>) -> State<'a> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/print/pprust.rs:78:47
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn rust_printer_annotated<'a>(writer: Box<Write+'a>,
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn rust_printer_annotated<'a>(writer: Box<dyn Write+'a>,
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/print/pprust.rs:79:44
[INFO] [stdout]    |
[INFO] [stdout] 79 | ...                   ann: &'a PpAnn) -> State<'a> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |                                   ann: &'a dyn PpAnn) -> State<'a> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:105:36
[INFO] [stdout]     |
[INFO] [stdout] 105 |                        input: &mut Read,
[INFO] [stdout]     |                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 105 |                        input: &mut dyn Read,
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:106:33
[INFO] [stdout]     |
[INFO] [stdout] 106 |                        out: Box<Write+'a>,
[INFO] [stdout]     |                                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 106 |                        out: Box<dyn Write+'a>,
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/print/pprust.rs:107:33
[INFO] [stdout]     |
[INFO] [stdout] 107 |                        ann: &'a PpAnn,
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 107 |                        ann: &'a dyn PpAnn,
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:111:73
[INFO] [stdout]     |
[INFO] [stdout] 111 |     where F : Fn(&mut ExtCtxt, Span, &ast::MetaItem, &Annotatable, &mut FnMut(Annotatable))
[INFO] [stdout]     |                                                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     where F : Fn(&mut ExtCtxt, Span, &ast::MetaItem, &Annotatable, &mut dyn FnMut(Annotatable))
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:209:84
[INFO] [stdout]     |
[INFO] [stdout] 209 |     where F: for<'cx> Fn(&'cx mut ExtCtxt, Span, &[tokenstream::TokenTree]) -> Box<MacResult+'cx>
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 209 |     where F: for<'cx> Fn(&'cx mut ExtCtxt, Span, &[tokenstream::TokenTree]) -> Box<dyn MacResult+'cx>
[INFO] [stdout]     |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:206:24
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 -> Box<MacResult+'cx>;
[INFO] [stdout]     |                        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 -> Box<dyn MacResult+'cx>;
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:251:63
[INFO] [stdout]     |
[INFO] [stdout] 251 |                           Vec<tokenstream::TokenTree>) -> Box<MacResult+'cx>
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 251 |                           Vec<tokenstream::TokenTree>) -> Box<dyn MacResult+'cx>
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:247:24
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 -> Box<MacResult+'cx>;
[INFO] [stdout]     |                        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 -> Box<dyn MacResult+'cx>;
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:449:40
[INFO] [stdout]     |
[INFO] [stdout] 449 | ...                   -> Box<base::MacResult+'cx> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 449 |                                 -> Box<dyn base::MacResult+'cx> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:458:38
[INFO] [stdout]     |
[INFO] [stdout] 458 | ...                   -> Box<base::MacResult+'cx> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 458 |                               -> Box<dyn base::MacResult+'cx> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:466:38
[INFO] [stdout]     |
[INFO] [stdout] 466 | ...                   -> Box<base::MacResult+'cx> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 466 |                               -> Box<dyn base::MacResult+'cx> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:474:37
[INFO] [stdout]     |
[INFO] [stdout] 474 | ...                   -> Box<base::MacResult+'cx> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 474 |                              -> Box<dyn base::MacResult+'cx> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:482:32
[INFO] [stdout]     |
[INFO] [stdout] 482 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 482 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:490:31
[INFO] [stdout]     |
[INFO] [stdout] 490 |                        -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 490 |                        -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:498:33
[INFO] [stdout]     |
[INFO] [stdout] 498 |                          -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 498 |                          -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:506:33
[INFO] [stdout]     |
[INFO] [stdout] 506 |                          -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 506 |                          -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:516:32
[INFO] [stdout]     |
[INFO] [stdout] 516 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 516 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:524:32
[INFO] [stdout]     |
[INFO] [stdout] 524 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 524 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:532:32
[INFO] [stdout]     |
[INFO] [stdout] 532 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 532 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/quote.rs:540:32
[INFO] [stdout]     |
[INFO] [stdout] 540 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 540 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:35:27
[INFO] [stdout]    |
[INFO] [stdout] 35 |                    -> Box<base::MacResult+'static> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |                    -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |                   -> Box<base::MacResult+'static> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |                   -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:59:27
[INFO] [stdout]    |
[INFO] [stdout] 59 |                    -> Box<base::MacResult+'static> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 59 |                    -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:68:32
[INFO] [stdout]    |
[INFO] [stdout] 68 |                         -> Box<base::MacResult+'static> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 68 |                         -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:74:26
[INFO] [stdout]    |
[INFO] [stdout] 74 |                   -> Box<base::MacResult+'static> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |                   -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/source_util.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 | ...                   -> Box<base::MacResult+'cx> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 |                            -> Box<dyn base::MacResult+'cx> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/source_util.rs:123:34
[INFO] [stdout]     |
[INFO] [stdout] 123 |                           -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 123 |                           -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/source_util.rs:159:36
[INFO] [stdout]     |
[INFO] [stdout] 159 | ...                   -> Box<base::MacResult+'static> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 159 |                             -> Box<dyn base::MacResult+'static> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ext/tt/macro_rules.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 74 |                    -> Box<MacResult+'cx> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |                    -> Box<dyn MacResult+'cx> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/tt/macro_rules.rs:100:34
[INFO] [stdout]     |
[INFO] [stdout] 100 |                           -> Box<MacResult+'cx> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 100 |                           -> Box<dyn MacResult+'cx> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/json.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn new(dst: Box<Write + Send>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn new(dst: Box<dyn Write + Send>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codemap.rs:122:46
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn with_file_loader(file_loader: Box<FileLoader>,
[INFO] [stdout]     |                                              ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn with_file_loader(file_loader: Box<dyn FileLoader>,
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:328:43
[INFO] [stdout]     |
[INFO] [stdout] 328 |                   pub fn $fld(v: $t) -> Box<MacResult> {
[INFO] [stdout]     |                                             ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 | / make_MacEager! {
[INFO] [stdout] 340 | |     expr: P<ast::Expr>,
[INFO] [stdout] 341 | |     pat: P<ast::Pat>,
[INFO] [stdout] 342 | |     items: SmallVector<P<ast::Item>>,
[INFO] [stdout] ...   |
[INFO] [stdout] 346 | |     ty: P<ast::Ty>,
[INFO] [stdout] 347 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `make_MacEager` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:407:33
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn any(sp: Span) -> Box<MacResult+'static> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn any(sp: Span) -> Box<dyn MacResult+'static> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/base.rs:416:34
[INFO] [stdout]     |
[INFO] [stdout] 416 |     pub fn expr(sp: Span) -> Box<MacResult+'static> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 416 |     pub fn expr(sp: Span) -> Box<dyn MacResult+'static> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ext/expand.rs:57:48
[INFO] [stdout]     |
[INFO] [stdout]  57 |               fn make_from<'a>(self, result: Box<MacResult + 'a>) -> Option<Expansion> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 | / expansions! {
[INFO] [stdout] 123 | |     Expr: P<ast::Expr> [], "expression", .make_expr, .fold_expr, .visit_expr;
[INFO] [stdout] 124 | |     Pat: P<ast::Pat>   [], "pattern",    .make_pat,  .fold_pat,  .visit_pat;
[INFO] [stdout] 125 | |     Ty: P<ast::Ty>     [], "type",       .make_ty,   .fold_ty,   .visit_ty;
[INFO] [stdout] ...   |
[INFO] [stdout] 133 | |         "impl item",  .make_impl_items,  lift .fold_impl_item,  lift .visit_impl_item;
[INFO] [stdout] 134 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `expansions` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/diagnostics/plugin.rs:184:50
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     target_triple, crate_name, e.description(), e.cause()
[INFO] [stdout]     |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/diagnostics/plugin.rs:184:67
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     target_triple, crate_name, e.description(), e.cause()
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bitflags::core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/codemap.rs:463:69
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let snippet = snippet.split(c).nth(0).unwrap_or("").trim_right();
[INFO] [stdout]     |                                                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 463 -                 let snippet = snippet.split(c).nth(0).unwrap_or("").trim_right();
[INFO] [stdout] 463 +                 let snippet = snippet.split(c).nth(0).unwrap_or("").trim_end();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stdout]   --> src/feature_gate.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use std::ascii::AsciiExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rustc_data_structures/indexed_vec.rs:234:18
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn into_iter(mut self) -> slice::IterMut<'a, T> {
[INFO] [stdout]     |                  ----^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ext/tt/macro_parser.rs:209:81
[INFO] [stdout]     |
[INFO] [stdout] 209 |     fn n_rec<I: Iterator<Item=Rc<NamedMatch>>>(sess: &ParseSess, m: &TokenTree, mut res: &mut I,
[INFO] [stdout]     |                                                                                 ----^^^
[INFO] [stdout]     |                                                                                 |
[INFO] [stdout]     |                                                                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ext/tt/macro_parser.rs:449:66
[INFO] [stdout]     |
[INFO] [stdout] 449 |                 let matches = eof_eis[0].matches.iter_mut().map(|mut dv| dv.pop().unwrap());
[INFO] [stdout]     |                                                                  ----^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ext/tt/macro_rules.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut values: &mut Vec<String> = cx.expansions.entry(sp).or_insert_with(Vec::new);
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_unsigned_leb128_to_buf` is never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn write_unsigned_leb128_to_buf(buf: &mut [u8; 16], value: u64) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_signed_leb128_to_buf` is never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn write_signed_leb128_to_buf(buf: &mut [u8; 16], value: i64) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StableHasher` is never constructed
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct StableHasher<W> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StableHasherResult` is never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub trait StableHasherResult: Sized {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_uleb128` and `write_ileb128` are never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl<W> StableHasher<W> {
[INFO] [stdout]    | ----------------------- methods in this implementation
[INFO] [stdout] 74 |     #[inline]
[INFO] [stdout] 75 |     fn write_uleb128(&mut self, value: u64) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     fn write_ileb128(&mut self, value: i64) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `HashStable` is never used
[INFO] [stdout]    --> src/rustc_data_structures/stable_hasher.rs:161:11
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub trait HashStable<CTX> {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blake2bCtx` is never constructed
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Blake2bCtx {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `b2b_g` is never used
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn b2b_g(v: &mut [u64; 16],
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLAKE2B_IV` is never used
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:72:7
[INFO] [stdout]    |
[INFO] [stdout] 72 | const BLAKE2B_IV: [u64; 8] = [
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blake2b_compress` is never used
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn blake2b_compress(ctx: &mut Blake2bCtx, last: bool) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blake2b_update` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn blake2b_update(ctx: &mut Blake2bCtx, mut data: &[u8]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blake2b_final` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:194:4
[INFO] [stdout]     |
[INFO] [stdout] 194 | fn blake2b_final(ctx: &mut Blake2bCtx)
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checked_mem_copy` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:223:4
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn checked_mem_copy<T1, T2>(from: &[T1], to: &mut [T2], byte_count: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blake2bHasher` is never constructed
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub struct Blake2bHasher(Blake2bCtx);
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `finalize` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | impl Blake2bHasher {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 250 |     pub fn finalize(&mut self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_unsigned_leb128_to` is never used
[INFO] [stdout]   --> src/rustc_data_structures/leb128.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn write_unsigned_leb128_to<W>(mut value: u128, mut write: W) -> usize
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_signed_leb128_to` is never used
[INFO] [stdout]   --> src/rustc_data_structures/leb128.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn write_signed_leb128_to<W>(mut value: i128, mut write: W) -> usize
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CodeMapExtension` is never used
[INFO] [stdout]    --> src/codemap.rs:830:11
[INFO] [stdout]     |
[INFO] [stdout] 830 |     trait CodeMapExtension {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rustc_data_structures/indexed_vec.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn iter(&self) -> slice::Iter<T> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn iter(&self) -> slice::Iter<'_, T> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rustc_data_structures/indexed_vec.rs:129:21
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn iter_mut(&mut self) -> slice::IterMut<T> {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn iter_mut(&mut self) -> slice::IterMut<'_, T> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/rustc_data_structures/stable_hasher.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |             ::std::mem::transmute(*self)
[INFO] [stdout]     |             ---------------------^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: replace this with: `f32::to_bits`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/rustc_data_structures/stable_hasher.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |             ::std::mem::transmute(*self)
[INFO] [stdout]     |             ---------------------^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: replace this with: `f64::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/lib.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 panic!(FatalError);
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/util/parser_testing.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let x = panictry!(f(&mut p));
[INFO] [stdout]    |             -------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` implied by `#[warn(warnings)]`
[INFO] [stdout]    = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 panic!("{}", FatalError);
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 49 -                 panic!(FatalError);
[INFO] [stdout] 49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/util/small_vector.rs:141:28
[INFO] [stdout]     |
[INFO] [stdout] 141 |                     panic!(err)
[INFO] [stdout]     |                            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 141 |                     panic!("{}", err)
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/util/small_vector.rs:144:25
[INFO] [stdout]     |
[INFO] [stdout] 144 |             _ => panic!(err)
[INFO] [stdout]     |                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 144 |             _ => panic!("{}", err)
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codemap.rs:145:18
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub fn files(&self) -> Ref<Vec<Rc<FileMap>>> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub fn files(&self) -> Ref<'_, Vec<Rc<FileMap>>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:49:24
[INFO] [stdout]      |
[INFO] [stdout]   49 |                 panic!(FatalError);
[INFO] [stdout]      |                        ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/feature_gate.rs:1118:20
[INFO] [stdout]      |
[INFO] [stdout] 1118 |         let meta = panictry!(attr.parse_meta(self.context.parse_sess));
[INFO] [stdout]      |                    --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]      = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout]   49 |                 panic!("{}", FatalError);
[INFO] [stdout]      |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout]   49 -                 panic!(FatalError);
[INFO] [stdout]   49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/feature_gate.rs:1509:20
[INFO] [stdout]      |
[INFO] [stdout] 1509 |             panic!(FatalError);
[INFO] [stdout]      |                    ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1509 |             panic!("{}", FatalError);
[INFO] [stdout]      |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1509 -             panic!(FatalError);
[INFO] [stdout] 1509 +             std::panic::panic_any(FatalError);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:112:72
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn parse_crate_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                        ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 113 |                                        -> PResult<ast::Crate> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 113 |                                        -> PResult<'_, ast::Crate> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:117:78
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn parse_crate_attrs_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                              ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 118 |                                              -> PResult<Vec<ast::Attribute>> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 118 |                                              -> PResult<'_, Vec<ast::Attribute>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:122:71
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub fn parse_expr_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 123 |                                       -> PResult<P<ast::Expr>> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 123 |                                       -> PResult<'_, P<ast::Expr>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:131:71
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn parse_item_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 132 |                                       -> PResult<Option<P<ast::Item>>> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 132 |                                       -> PResult<'_, Option<P<ast::Item>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:136:71
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn parse_meta_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 137 |                                       -> PResult<ast::MetaItem> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 137 |                                       -> PResult<'_, ast::MetaItem> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:141:71
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn parse_stmt_from_source_str(name: String, source: String, sess: &ParseSess)
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 142 |                                       -> PResult<Option<ast::Stmt>> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 142 |                                       -> PResult<'_, Option<ast::Stmt>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:152:41
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn new_parser_from_source_str(sess: &ParseSess, name: String, source: String)
[INFO] [stdout]     |                                         ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 153 |                                       -> Parser {
[INFO] [stdout]     |                                          ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 153 |                                       -> Parser<'_> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:180:32
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub fn filemap_to_parser(sess: & ParseSess, filemap: Rc<FileMap>, ) -> Parser {
[INFO] [stdout]     |                                ^^^^^^^^^^^ the lifetime is elided here ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub fn filemap_to_parser(sess: & ParseSess, filemap: Rc<FileMap>, ) -> Parser<'_> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:193:34
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn new_parser_from_tts(sess: &ParseSess, tts: Vec<TokenTree>) -> Parser {
[INFO] [stdout]     |                                  ^^^^^^^^^^                          ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn new_parser_from_tts(sess: &ParseSess, tts: Vec<TokenTree>) -> Parser<'_> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/mod.rs:209:36
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 Some(sp) => panic!(sess.span_diagnostic.span_fatal(sp, &msg)),
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 Some(sp) => panic!("{}", sess.span_diagnostic.span_fatal(sp, &msg)),
[INFO] [stdout]     |                                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 209 -                 Some(sp) => panic!(sess.span_diagnostic.span_fatal(sp, &msg)),
[INFO] [stdout] 209 +                 Some(sp) => std::panic::panic_any(sess.span_diagnostic.span_fatal(sp, &msg)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/mod.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 |                 None => panic!(sess.span_diagnostic.fatal(&msg))
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 210 |                 None => panic!("{}", sess.span_diagnostic.fatal(&msg))
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 210 -                 None => panic!(sess.span_diagnostic.fatal(&msg))
[INFO] [stdout] 210 +                 None => std::panic::panic_any(sess.span_diagnostic.fatal(&msg))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parse/mod.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 |     panictry!(srdr.parse_all_token_trees())
[INFO] [stdout]     |     --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:224:31
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn stream_to_parser(sess: &ParseSess, stream: TokenStream) -> Parser {
[INFO] [stdout]     |                               ^^^^^^^^^^                          ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn stream_to_parser(sess: &ParseSess, stream: TokenStream) -> Parser<'_> {
[INFO] [stdout]     |                                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/mod.rs:468:36
[INFO] [stdout]     |
[INFO] [stdout] 468 | ...                   panic!(err(2))
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 468 |                             panic!("{}", err(2))
[INFO] [stdout]     |                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/mod.rs:472:36
[INFO] [stdout]     |
[INFO] [stdout] 472 |                     None => panic!(err(3))
[INFO] [stdout]     |                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 472 |                     None => panic!("{}", err(3))
[INFO] [stdout]     |                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/parser.rs:362:46
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn span_err(self, sp: Span, handler: &errors::Handler) -> DiagnosticBuilder {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn span_err(self, sp: Span, handler: &errors::Handler) -> DiagnosticBuilder<'_> {
[INFO] [stdout]     |                                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/parse/lexer/mod.rs:86:24
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 panic!(FatalError);
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 panic!("{}", FatalError);
[INFO] [stdout]    |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 86 -                 panic!(FatalError);
[INFO] [stdout] 86 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:186:20
[INFO] [stdout]     |
[INFO] [stdout] 186 |             panic!(FatalError);
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 186 |             panic!("{}", FatalError);
[INFO] [stdout]     |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 186 -             panic!(FatalError);
[INFO] [stdout] 186 +             std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:211:20
[INFO] [stdout]     |
[INFO] [stdout] 211 |             panic!(FatalError);
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 211 |             panic!("{}", FatalError);
[INFO] [stdout]     |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 211 -             panic!(FatalError);
[INFO] [stdout] 211 +             std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:632:24
[INFO] [stdout]     |
[INFO] [stdout] 632 |                 panic!(self.fatal_span_(start_bpos, last_bpos, msg));
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 632 |                 panic!("{}", self.fatal_span_(start_bpos, last_bpos, msg));
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 632 -                 panic!(self.fatal_span_(start_bpos, last_bpos, msg));
[INFO] [stdout] 632 +                 std::panic::panic_any(self.fatal_span_(start_bpos, last_bpos, msg));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:793:24
[INFO] [stdout]     |
[INFO] [stdout] 793 |                   panic!(self.fatal_span_(start_bpos,
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 794 | |                                         last_bpos,
[INFO] [stdout] 795 | |                                         "unterminated numeric character escape"));
[INFO] [stdout]     | |________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 793 |                 panic!("{}", self.fatal_span_(start_bpos,
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 793 -                 panic!(self.fatal_span_(start_bpos,
[INFO] [stdout] 793 +                 std::panic::panic_any(self.fatal_span_(start_bpos,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:971:28
[INFO] [stdout]     |
[INFO] [stdout] 971 |                       panic!(self.fatal_span_(start_bpos,
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 972 | |                                             self.pos,
[INFO] [stdout] 973 | |                                             "unterminated unicode escape (found EOF)"));
[INFO] [stdout]     | |______________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 971 |                     panic!("{}", self.fatal_span_(start_bpos,
[INFO] [stdout]     |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 971 -                     panic!(self.fatal_span_(start_bpos,
[INFO] [stdout] 971 +                     std::panic::panic_any(self.fatal_span_(start_bpos,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/mod.rs:979:28
[INFO] [stdout]     |
[INFO] [stdout] 979 |                       panic!(self.fatal_span_(self.pos,
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 980 | |                                             self.next_pos,
[INFO] [stdout] 981 | |                                             "unterminated unicode escape (needed a `}`)"));
[INFO] [stdout]     | |_________________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 979 |                     panic!("{}", self.fatal_span_(self.pos,
[INFO] [stdout]     |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 979 -                     panic!(self.fatal_span_(self.pos,
[INFO] [stdout] 979 +                     std::panic::panic_any(self.fatal_span_(self.pos,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1258:32
[INFO] [stdout]      |
[INFO] [stdout] 1258 |                           panic!(self.fatal_span_verbose(
[INFO] [stdout]      |  ________________________________^
[INFO] [stdout] 1259 | |                                start_with_quote, self.next_pos,
[INFO] [stdout] 1260 | |                                String::from("character literal may only contain one codepoint")));
[INFO] [stdout]      | |________________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1258 |                         panic!("{}", self.fatal_span_verbose(
[INFO] [stdout]      |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1258 -                         panic!(self.fatal_span_verbose(
[INFO] [stdout] 1258 +                         std::panic::panic_any(self.fatal_span_verbose(
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1293:28
[INFO] [stdout]      |
[INFO] [stdout] 1293 |                       panic!(self.fatal_span_verbose(
[INFO] [stdout]      |  ____________________________^
[INFO] [stdout] 1294 | |                            start_with_quote, self.pos,
[INFO] [stdout] 1295 | |                            String::from("character literal may only contain one codepoint")));
[INFO] [stdout]      | |____________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1293 |                     panic!("{}", self.fatal_span_verbose(
[INFO] [stdout]      |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1293 -                     panic!(self.fatal_span_verbose(
[INFO] [stdout] 1293 +                     std::panic::panic_any(self.fatal_span_verbose(
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1325:32
[INFO] [stdout]      |
[INFO] [stdout] 1325 |                           panic!(self.fatal_span_(start_bpos,
[INFO] [stdout]      |  ________________________________^
[INFO] [stdout] 1326 | |                                                 last_bpos,
[INFO] [stdout] 1327 | |                                                 "unterminated double quote string"));
[INFO] [stdout]      | |___________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1325 |                         panic!("{}", self.fatal_span_(start_bpos,
[INFO] [stdout]      |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1325 -                         panic!(self.fatal_span_(start_bpos,
[INFO] [stdout] 1325 +                         std::panic::panic_any(self.fatal_span_(start_bpos,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1360:28
[INFO] [stdout]      |
[INFO] [stdout] 1360 |                     panic!(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1360 |                     panic!("{}", self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1360 -                     panic!(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout] 1360 +                     std::panic::panic_any(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1364:28
[INFO] [stdout]      |
[INFO] [stdout] 1364 |                       panic!(self.fatal_span_char(start_bpos,
[INFO] [stdout]      |  ____________________________^
[INFO] [stdout] 1365 | |                                                 last_bpos,
[INFO] [stdout] 1366 | |                                                 "found invalid character; only `#` is allowed \
[INFO] [stdout] 1367 | |                                                  in raw string delimitation",
[INFO] [stdout] 1368 | |                                                 curr_char));
[INFO] [stdout]      | |__________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1364 |                     panic!("{}", self.fatal_span_char(start_bpos,
[INFO] [stdout]      |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1364 -                     panic!(self.fatal_span_char(start_bpos,
[INFO] [stdout] 1364 +                     std::panic::panic_any(self.fatal_span_char(start_bpos,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1377:32
[INFO] [stdout]      |
[INFO] [stdout] 1377 |                         panic!(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1377 |                         panic!("{}", self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1377 -                         panic!(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout] 1377 +                         std::panic::panic_any(self.fatal_span_(start_bpos, last_bpos, "unterminated raw string"));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1534:20
[INFO] [stdout]      |
[INFO] [stdout] 1534 |               panic!(self.fatal_span_verbose(start - BytePos(2),
[INFO] [stdout]      |  ____________________^
[INFO] [stdout] 1535 | |                                            pos,
[INFO] [stdout] 1536 | |                                            "unterminated byte constant".to_string()));
[INFO] [stdout]      | |____________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1534 |             panic!("{}", self.fatal_span_verbose(start - BytePos(2),
[INFO] [stdout]      |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1534 -             panic!(self.fatal_span_verbose(start - BytePos(2),
[INFO] [stdout] 1534 +             std::panic::panic_any(self.fatal_span_verbose(start - BytePos(2),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1560:24
[INFO] [stdout]      |
[INFO] [stdout] 1560 |                 panic!(self.fatal_span_(start, pos, "unterminated double quote byte string"));
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1560 |                 panic!("{}", self.fatal_span_(start, pos, "unterminated double quote byte string"));
[INFO] [stdout]      |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1560 -                 panic!(self.fatal_span_(start, pos, "unterminated double quote byte string"));
[INFO] [stdout] 1560 +                 std::panic::panic_any(self.fatal_span_(start, pos, "unterminated double quote byte string"));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1592:20
[INFO] [stdout]      |
[INFO] [stdout] 1592 |             panic!(self.fatal_span_(start_bpos, pos, "unterminated raw string"));
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1592 |             panic!("{}", self.fatal_span_(start_bpos, pos, "unterminated raw string"));
[INFO] [stdout]      |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1592 -             panic!(self.fatal_span_(start_bpos, pos, "unterminated raw string"));
[INFO] [stdout] 1592 +             std::panic::panic_any(self.fatal_span_(start_bpos, pos, "unterminated raw string"));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1596:20
[INFO] [stdout]      |
[INFO] [stdout] 1596 |               panic!(self.fatal_span_char(start_bpos,
[INFO] [stdout]      |  ____________________^
[INFO] [stdout] 1597 | |                                         pos,
[INFO] [stdout] 1598 | |                                         "found invalid character; only `#` is allowed in raw \
[INFO] [stdout] 1599 | |                                          string delimitation",
[INFO] [stdout] 1600 | |                                         ch));
[INFO] [stdout]      | |___________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1596 |             panic!("{}", self.fatal_span_char(start_bpos,
[INFO] [stdout]      |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1596 -             panic!(self.fatal_span_char(start_bpos,
[INFO] [stdout] 1596 +             std::panic::panic_any(self.fatal_span_char(start_bpos,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/parse/lexer/mod.rs:1609:28
[INFO] [stdout]      |
[INFO] [stdout] 1609 |                     panic!(self.fatal_span_(start_bpos, pos, "unterminated raw string"))
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1609 |                     panic!("{}", self.fatal_span_(start_bpos, pos, "unterminated raw string"))
[INFO] [stdout]      |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1609 -                     panic!(self.fatal_span_(start_bpos, pos, "unterminated raw string"))
[INFO] [stdout] 1609 +                     std::panic::panic_any(self.fatal_span_(start_bpos, pos, "unterminated raw string"))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parse/lexer/comments.rs:268:24
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 panic!(rdr.fatal("unterminated block comment"));
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 panic!("{}", rdr.fatal("unterminated block comment"));
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 268 -                 panic!(rdr.fatal("unterminated block comment"));
[INFO] [stdout] 268 +                 std::panic::panic_any(rdr.fatal("unterminated block comment"));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:49:24
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!(FatalError);
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parse/mod.rs:830:17
[INFO] [stdout]     |
[INFO] [stdout] 830 |         assert!(panictry!(parser.parse_pat())
[INFO] [stdout]     |                 ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this warning originates in the macro `panictry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout]  49 |                 panic!("{}", FatalError);
[INFO] [stdout]     |                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout]  49 -                 panic!(FatalError);
[INFO] [stdout]  49 +                 std::panic::panic_any(FatalError);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<Box<[T]> as IntoIterator>::into_iter` in Rust 2024
[INFO] [stdout]    --> src/ptr.rs:211:18
[INFO] [stdout]     |
[INFO] [stdout] 211 |         self.ptr.into_iter()
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/intoiterator-box-slice.html>
[INFO] [stdout]     = note: `#[warn(boxed_slice_into_iter)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 211 -         self.ptr.into_iter()
[INFO] [stdout] 211 +         self.ptr.iter()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 211 -         self.ptr.into_iter()
[INFO] [stdout] 211 +         IntoIterator::into_iter(self.ptr)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> src/std_inject.rs:77:59
[INFO] [stdout]    |
[INFO] [stdout] 77 |             segments: ["{{root}}", name, "prelude", "v1"].into_iter().map(|name| {
[INFO] [stdout]    |                                                           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 77 -             segments: ["{{root}}", name, "prelude", "v1"].into_iter().map(|name| {
[INFO] [stdout] 77 +             segments: ["{{root}}", name, "prelude", "v1"].iter().map(|name| {
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 77 -             segments: ["{{root}}", name, "prelude", "v1"].into_iter().map(|name| {
[INFO] [stdout] 77 +             segments: IntoIterator::into_iter(["{{root}}", name, "prelude", "v1"]).map(|name| {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/test.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     panic!(diag.span_fatal(i.span, "unsafe functions cannot be used for tests"));
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     panic!("{}", diag.span_fatal(i.span, "unsafe functions cannot be used for tests"));
[INFO] [stdout]     |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 127 -                     panic!(diag.span_fatal(i.span, "unsafe functions cannot be used for tests"));
[INFO] [stdout] 127 +                     std::panic::panic_any(diag.span_fatal(i.span, "unsafe functions cannot be used for tests"));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:193:35
[INFO] [stdout]     |
[INFO] [stdout] 193 |     walk_list!(visitor, visit_ty, &local.ty);
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:194:37
[INFO] [stdout]     |
[INFO] [stdout] 194 |     walk_list!(visitor, visit_expr, &local.init);
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:280:50
[INFO] [stdout]     |
[INFO] [stdout] 280 |             walk_list!(visitor, visit_trait_ref, opt_trait_reference);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:317:37
[INFO] [stdout]     |
[INFO] [stdout] 317 |     walk_list!(visitor, visit_expr, &variant.node.disr_expr);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:330:49
[INFO] [stdout]     |
[INFO] [stdout] 330 |             walk_list!(visitor, visit_lifetime, opt_lifetime);
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:400:43
[INFO] [stdout]     |
[INFO] [stdout] 400 |             walk_list!(visitor, visit_ty, &data.output);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:440:44
[INFO] [stdout]     |
[INFO] [stdout] 440 |             walk_list!(visitor, visit_pat, optional_subpattern);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:450:44
[INFO] [stdout]     |
[INFO] [stdout] 450 |             walk_list!(visitor, visit_pat, slice_pattern);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:491:39
[INFO] [stdout]     |
[INFO] [stdout] 491 |         walk_list!(visitor, visit_ty, &param.default);
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:564:45
[INFO] [stdout]     |
[INFO] [stdout] 564 |             walk_list!(visitor, visit_expr, default);
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:576:43
[INFO] [stdout]     |
[INFO] [stdout] 576 |             walk_list!(visitor, visit_ty, default);
[INFO] [stdout]     |                                           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:668:45
[INFO] [stdout]     |
[INFO] [stdout] 668 |             walk_list!(visitor, visit_expr, optional_base);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:697:45
[INFO] [stdout]     |
[INFO] [stdout] 697 |             walk_list!(visitor, visit_expr, optional_else);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:708:45
[INFO] [stdout]     |
[INFO] [stdout] 708 |             walk_list!(visitor, visit_expr, optional_else);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:757:45
[INFO] [stdout]     |
[INFO] [stdout] 757 |             walk_list!(visitor, visit_expr, start);
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:758:45
[INFO] [stdout]     |
[INFO] [stdout] 758 |             walk_list!(visitor, visit_expr, end);
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:768:45
[INFO] [stdout]     |
[INFO] [stdout] 768 |             walk_list!(visitor, visit_expr, opt_expr);
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 145 -         for elem in $list {
[INFO] [stdout] 145 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[WARN] too many lines in the log, truncating it
