[INFO] fetching crate rustre-parser 0.1.0...
[INFO] testing rustre-parser-0.1.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate rustre-parser 0.1.0 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate rustre-parser 0.1.0
[INFO] finished tweaking crates.io crate rustre-parser 0.1.0
[INFO] tweaked toml for crates.io crate rustre-parser 0.1.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rustre-parser 0.1.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-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-2026-04-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f5e2dba792c422b0cdfea91e2d6eb99ac2d8a29d58f5fdc4eff9e118d46f5af0
[INFO] running `Command { std: "docker" "start" "-a" "f5e2dba792c422b0cdfea91e2d6eb99ac2d8a29d58f5fdc4eff9e118d46f5af0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f5e2dba792c422b0cdfea91e2d6eb99ac2d8a29d58f5fdc4eff9e118d46f5af0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f5e2dba792c422b0cdfea91e2d6eb99ac2d8a29d58f5fdc4eff9e118d46f5af0", kill_on_drop: false }`
[INFO] [stdout] f5e2dba792c422b0cdfea91e2d6eb99ac2d8a29d58f5fdc4eff9e118d46f5af0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 08534959bee615e57482e69532b2805305ae004e0133749714fb563e8e79b25a
[INFO] running `Command { std: "docker" "start" "-a" "08534959bee615e57482e69532b2805305ae004e0133749714fb563e8e79b25a", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustre-parser v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: fields `includes` and `decls` are never read
[INFO] [stdout]   --> src/parser.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Ast<'a, 'f> {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 35 |     /// A list of files this file includes
[INFO] [stdout] 36 |     includes: Vec<Spanned<'f, &'a str>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 37 |     /// The declarations this file contains
[INFO] [stdout] 38 |     decls: Vec<Spanned<'f, Decl<'a, 'f>>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ast` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `ty`, and `clock` are never read
[INFO] [stdout]    --> src/parser.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub struct VariableDecl<'a, 'f> {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 249 |     /// Its name
[INFO] [stdout] 250 |     name: Spanned<'f, Ident<'a, 'f>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 251 |     /// Its type
[INFO] [stdout] 252 |     ty: Spanned<'f, TyExpr<'a, 'f>>,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 253 |     /// If None, the base clock is used
[INFO] [stdout] 254 |     clock: Option<Spanned<'f, ClockExpr<'a, 'f>>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VariableDecl` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `ty`, `clock`, and `value` are never read
[INFO] [stdout]    --> src/parser.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub struct ValuedVariableDecl<'a, 'f> {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] 260 |     /// Its name
[INFO] [stdout] 261 |     name: Spanned<'f, Ident<'a, 'f>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 262 |     /// Its type
[INFO] [stdout] 263 |     ty: Spanned<'f, TyExpr<'a, 'f>>,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 264 |     /// If None, the base clock is used
[INFO] [stdout] 265 |     clock: Option<Spanned<'f, ClockExpr<'a, 'f>>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 266 |     /// Its initial value
[INFO] [stdout] 267 |     value: Option<Spanned<'f, Expr<'a, 'f>>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ValuedVariableDecl` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/parser.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct ClockExpr<'a, 'f>(
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 276 |     Option<Spanned<'f, Ident<'a, 'f>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     Box<Option<Spanned<'f, Ident<'a, 'f>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing these fields
[INFO] [stdout]     = note: `ClockExpr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lhs` and `expr` are never read
[INFO] [stdout]    --> src/parser.rs:433:5
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub struct MergeCase<'a, 'f> {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 432 |     /// The LHS
[INFO] [stdout] 433 |     lhs: Spanned<'f, MergeLHS<'a, 'f>>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 434 |     /// The expression
[INFO] [stdout] 435 |     expr: Spanned<'f, Expr<'a, 'f>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MergeCase` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexer.rs:141:16
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn lex(&mut self) -> Result<Vec<Tok>, Error> {
[INFO] [stdout]     |                ^^^^^^^^^                ^^^ the same lifetimes are 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)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn lex(&mut self) -> Result<Vec<Tok<'_, '_>>, Error> {
[INFO] [stdout]     |                                            ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexer.rs:454:13
[INFO] [stdout]     |
[INFO] [stdout] 454 |     fn span(&self, line: usize, col: usize, pos: usize, len: usize) -> Span {
[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] 454 |     fn span(&self, line: usize, col: usize, pos: usize, len: usize) -> Span<'_> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.54s
[INFO] running `Command { std: "docker" "inspect" "08534959bee615e57482e69532b2805305ae004e0133749714fb563e8e79b25a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "08534959bee615e57482e69532b2805305ae004e0133749714fb563e8e79b25a", kill_on_drop: false }`
[INFO] [stdout] 08534959bee615e57482e69532b2805305ae004e0133749714fb563e8e79b25a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 24c9caf8c8f76aff5c71ca32789eb36e0aafc48a551bc531a853842e4143e2ed
[INFO] running `Command { std: "docker" "start" "-a" "24c9caf8c8f76aff5c71ca32789eb36e0aafc48a551bc531a853842e4143e2ed", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustre-parser v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: fields `includes` and `decls` are never read
[INFO] [stdout]   --> src/parser.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Ast<'a, 'f> {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 35 |     /// A list of files this file includes
[INFO] [stdout] 36 |     includes: Vec<Spanned<'f, &'a str>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 37 |     /// The declarations this file contains
[INFO] [stdout] 38 |     decls: Vec<Spanned<'f, Decl<'a, 'f>>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ast` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `ty`, and `clock` are never read
[INFO] [stdout]    --> src/parser.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub struct VariableDecl<'a, 'f> {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 249 |     /// Its name
[INFO] [stdout] 250 |     name: Spanned<'f, Ident<'a, 'f>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 251 |     /// Its type
[INFO] [stdout] 252 |     ty: Spanned<'f, TyExpr<'a, 'f>>,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 253 |     /// If None, the base clock is used
[INFO] [stdout] 254 |     clock: Option<Spanned<'f, ClockExpr<'a, 'f>>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VariableDecl` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `ty`, `clock`, and `value` are never read
[INFO] [stdout]    --> src/parser.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub struct ValuedVariableDecl<'a, 'f> {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] 260 |     /// Its name
[INFO] [stdout] 261 |     name: Spanned<'f, Ident<'a, 'f>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 262 |     /// Its type
[INFO] [stdout] 263 |     ty: Spanned<'f, TyExpr<'a, 'f>>,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 264 |     /// If None, the base clock is used
[INFO] [stdout] 265 |     clock: Option<Spanned<'f, ClockExpr<'a, 'f>>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 266 |     /// Its initial value
[INFO] [stdout] 267 |     value: Option<Spanned<'f, Expr<'a, 'f>>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ValuedVariableDecl` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/parser.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct ClockExpr<'a, 'f>(
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 276 |     Option<Spanned<'f, Ident<'a, 'f>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     Box<Option<Spanned<'f, Ident<'a, 'f>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing these fields
[INFO] [stdout]     = note: `ClockExpr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lhs` and `expr` are never read
[INFO] [stdout]    --> src/parser.rs:433:5
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub struct MergeCase<'a, 'f> {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 432 |     /// The LHS
[INFO] [stdout] 433 |     lhs: Spanned<'f, MergeLHS<'a, 'f>>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 434 |     /// The expression
[INFO] [stdout] 435 |     expr: Spanned<'f, Expr<'a, 'f>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MergeCase` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexer.rs:141:16
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn lex(&mut self) -> Result<Vec<Tok>, Error> {
[INFO] [stdout]     |                ^^^^^^^^^                ^^^ the same lifetimes are 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)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn lex(&mut self) -> Result<Vec<Tok<'_, '_>>, Error> {
[INFO] [stdout]     |                                            ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexer.rs:454:13
[INFO] [stdout]     |
[INFO] [stdout] 454 |     fn span(&self, line: usize, col: usize, pos: usize, len: usize) -> Span {
[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] 454 |     fn span(&self, line: usize, col: usize, pos: usize, len: usize) -> Span<'_> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `includes` and `decls` are never read
[INFO] [stdout]   --> src/parser.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Ast<'a, 'f> {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 35 |     /// A list of files this file includes
[INFO] [stdout] 36 |     includes: Vec<Spanned<'f, &'a str>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 37 |     /// The declarations this file contains
[INFO] [stdout] 38 |     decls: Vec<Spanned<'f, Decl<'a, 'f>>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ast` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `ty`, and `clock` are never read
[INFO] [stdout]    --> src/parser.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub struct VariableDecl<'a, 'f> {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 249 |     /// Its name
[INFO] [stdout] 250 |     name: Spanned<'f, Ident<'a, 'f>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 251 |     /// Its type
[INFO] [stdout] 252 |     ty: Spanned<'f, TyExpr<'a, 'f>>,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 253 |     /// If None, the base clock is used
[INFO] [stdout] 254 |     clock: Option<Spanned<'f, ClockExpr<'a, 'f>>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VariableDecl` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `ty`, `clock`, and `value` are never read
[INFO] [stdout]    --> src/parser.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub struct ValuedVariableDecl<'a, 'f> {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] 260 |     /// Its name
[INFO] [stdout] 261 |     name: Spanned<'f, Ident<'a, 'f>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 262 |     /// Its type
[INFO] [stdout] 263 |     ty: Spanned<'f, TyExpr<'a, 'f>>,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 264 |     /// If None, the base clock is used
[INFO] [stdout] 265 |     clock: Option<Spanned<'f, ClockExpr<'a, 'f>>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 266 |     /// Its initial value
[INFO] [stdout] 267 |     value: Option<Spanned<'f, Expr<'a, 'f>>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ValuedVariableDecl` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/parser.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct ClockExpr<'a, 'f>(
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 276 |     Option<Spanned<'f, Ident<'a, 'f>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     Box<Option<Spanned<'f, Ident<'a, 'f>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing these fields
[INFO] [stdout]     = note: `ClockExpr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lhs` and `expr` are never read
[INFO] [stdout]    --> src/parser.rs:433:5
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub struct MergeCase<'a, 'f> {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 432 |     /// The LHS
[INFO] [stdout] 433 |     lhs: Spanned<'f, MergeLHS<'a, 'f>>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 434 |     /// The expression
[INFO] [stdout] 435 |     expr: Spanned<'f, Expr<'a, 'f>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MergeCase` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexer.rs:141:16
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn lex(&mut self) -> Result<Vec<Tok>, Error> {
[INFO] [stdout]     |                ^^^^^^^^^                ^^^ the same lifetimes are 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)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn lex(&mut self) -> Result<Vec<Tok<'_, '_>>, Error> {
[INFO] [stdout]     |                                            ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexer.rs:454:13
[INFO] [stdout]     |
[INFO] [stdout] 454 |     fn span(&self, line: usize, col: usize, pos: usize, len: usize) -> Span {
[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] 454 |     fn span(&self, line: usize, col: usize, pos: usize, len: usize) -> Span<'_> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.51s
[INFO] running `Command { std: "docker" "inspect" "24c9caf8c8f76aff5c71ca32789eb36e0aafc48a551bc531a853842e4143e2ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "24c9caf8c8f76aff5c71ca32789eb36e0aafc48a551bc531a853842e4143e2ed", kill_on_drop: false }`
[INFO] [stdout] 24c9caf8c8f76aff5c71ca32789eb36e0aafc48a551bc531a853842e4143e2ed
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 83efb91c15cb0befc809e50671d8a4631c261bfefff2d249a0fd55e98980656d
[INFO] running `Command { std: "docker" "start" "-a" "83efb91c15cb0befc809e50671d8a4631c261bfefff2d249a0fd55e98980656d", kill_on_drop: false }`
[INFO] [stderr] warning: fields `includes` and `decls` are never read
[INFO] [stderr]   --> src/parser.rs:36:5
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub struct Ast<'a, 'f> {
[INFO] [stderr]    |            --- fields in this struct
[INFO] [stderr] 35 |     /// A list of files this file includes
[INFO] [stderr] 36 |     includes: Vec<Spanned<'f, &'a str>>,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 37 |     /// The declarations this file contains
[INFO] [stderr] 38 |     decls: Vec<Spanned<'f, Decl<'a, 'f>>>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Ast` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name`, `ty`, and `clock` are never read
[INFO] [stderr]    --> src/parser.rs:250:5
[INFO] [stderr]     |
[INFO] [stderr] 248 | pub struct VariableDecl<'a, 'f> {
[INFO] [stderr]     |            ------------ fields in this struct
[INFO] [stderr] 249 |     /// Its name
[INFO] [stderr] 250 |     name: Spanned<'f, Ident<'a, 'f>>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 251 |     /// Its type
[INFO] [stderr] 252 |     ty: Spanned<'f, TyExpr<'a, 'f>>,
[INFO] [stderr]     |     ^^
[INFO] [stderr] 253 |     /// If None, the base clock is used
[INFO] [stderr] 254 |     clock: Option<Spanned<'f, ClockExpr<'a, 'f>>>,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `VariableDecl` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name`, `ty`, `clock`, and `value` are never read
[INFO] [stderr]    --> src/parser.rs:261:5
[INFO] [stderr]     |
[INFO] [stderr] 259 | pub struct ValuedVariableDecl<'a, 'f> {
[INFO] [stderr]     |            ------------------ fields in this struct
[INFO] [stderr] 260 |     /// Its name
[INFO] [stderr] 261 |     name: Spanned<'f, Ident<'a, 'f>>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 262 |     /// Its type
[INFO] [stderr] 263 |     ty: Spanned<'f, TyExpr<'a, 'f>>,
[INFO] [stderr]     |     ^^
[INFO] [stderr] 264 |     /// If None, the base clock is used
[INFO] [stderr] 265 |     clock: Option<Spanned<'f, ClockExpr<'a, 'f>>>,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 266 |     /// Its initial value
[INFO] [stderr] 267 |     value: Option<Spanned<'f, Expr<'a, 'f>>>,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ValuedVariableDecl` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/parser.rs:276:5
[INFO] [stderr]     |
[INFO] [stderr] 272 | pub struct ClockExpr<'a, 'f>(
[INFO] [stderr]     |            --------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 276 |     Option<Spanned<'f, Ident<'a, 'f>>>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 280 |     Box<Option<Spanned<'f, Ident<'a, 'f>>>>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider removing these fields
[INFO] [stderr]     = note: `ClockExpr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `lhs` and `expr` are never read
[INFO] [stderr]    --> src/parser.rs:433:5
[INFO] [stderr]     |
[INFO] [stderr] 431 | pub struct MergeCase<'a, 'f> {
[INFO] [stderr]     |            --------- fields in this struct
[INFO] [stderr] 432 |     /// The LHS
[INFO] [stderr] 433 |     lhs: Spanned<'f, MergeLHS<'a, 'f>>,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 434 |     /// The expression
[INFO] [stderr] 435 |     expr: Spanned<'f, Expr<'a, 'f>>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `MergeCase` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lexer.rs:141:16
[INFO] [stderr]     |
[INFO] [stderr] 141 |     pub fn lex(&mut self) -> Result<Vec<Tok>, Error> {
[INFO] [stderr]     |                ^^^^^^^^^                ^^^ the same lifetimes are hidden here
[INFO] [stderr]     |                |
[INFO] [stderr]     |                the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 141 |     pub fn lex(&mut self) -> Result<Vec<Tok<'_, '_>>, Error> {
[INFO] [stderr]     |                                            ++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lexer.rs:454:13
[INFO] [stderr]     |
[INFO] [stderr] 454 |     fn span(&self, line: usize, col: usize, pos: usize, len: usize) -> Span {
[INFO] [stderr]     |             ^^^^^ the lifetime is elided here                          ^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 454 |     fn span(&self, line: usize, col: usize, pos: usize, len: usize) -> Span<'_> {
[INFO] [stderr]     |                                                                            ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `rustre-parser` (lib) generated 7 warnings (run `cargo fix --lib -p rustre-parser` to apply 2 suggestions)
[INFO] [stderr] warning: `rustre-parser` (lib test) generated 7 warnings (7 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustre_parser-7242cf5e55dfbb4b)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test lexer::tests::test_empty ... ok
[INFO] [stdout] test lexer::tests::test_amaury ... ok
[INFO] [stdout] test lexer::tests::test_comments ... ok
[INFO] [stdout] test lexer::tests::test_const_slice ... ok
[INFO] [stdout] test lexer::tests::test_arrow ... ok
[INFO] [stdout] test lexer::tests::test_iconst ... ok
[INFO] [stdout] test lexer::tests::test_ident ... ok
[INFO] [stdout] test lexer::tests::test_keyword ... ok
[INFO] [stdout] test lexer::tests::test_ops ... ok
[INFO] [stdout] test lexer::tests::test_spaces ... ok
[INFO] [stdout] test lexer::tests::test_rconst ... ok
[INFO] [stdout] test lexer::tests::test_static_pars ... ok
[INFO] [stdout] test lexer::tests::test_str ... ok
[INFO] [stdout] test lexer::tests::test_keywords ... ok
[INFO] [stdout] test lexer::tests::test_unclosed_comment ... ok
[INFO] [stdout] test lexer::tests::test_unclosed_str ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rustre_parser
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "83efb91c15cb0befc809e50671d8a4631c261bfefff2d249a0fd55e98980656d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "83efb91c15cb0befc809e50671d8a4631c261bfefff2d249a0fd55e98980656d", kill_on_drop: false }`
[INFO] [stdout] 83efb91c15cb0befc809e50671d8a4631c261bfefff2d249a0fd55e98980656d
