[INFO] fetching crate siffra 0.2.2... [INFO] testing siffra-0.2.2 against beta-2025-10-28 for beta-1.92-2 [INFO] extracting crate siffra 0.2.2 into /workspace/builds/worker-0-tc2/source [INFO] started tweaking crates.io crate siffra 0.2.2 [INFO] finished tweaking crates.io crate siffra 0.2.2 [INFO] tweaked toml for crates.io crate siffra 0.2.2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate siffra 0.2.2 on toolchain beta-2025-10-28 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "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-10-28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 29 packages to latest compatible versions [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 78c1e0f6d4ebd927149a3ba68b24d759e238827ad137c780353b54084c0e5bf8 [INFO] running `Command { std: "docker" "start" "-a" "78c1e0f6d4ebd927149a3ba68b24d759e238827ad137c780353b54084c0e5bf8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "78c1e0f6d4ebd927149a3ba68b24d759e238827ad137c780353b54084c0e5bf8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "78c1e0f6d4ebd927149a3ba68b24d759e238827ad137c780353b54084c0e5bf8", kill_on_drop: false }` [INFO] [stdout] 78c1e0f6d4ebd927149a3ba68b24d759e238827ad137c780353b54084c0e5bf8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c24b6b0fb26412b5c81219117a807a96db22103f9f0d40722eca1618b04af7d9 [INFO] running `Command { std: "docker" "start" "-a" "c24b6b0fb26412b5c81219117a807a96db22103f9f0d40722eca1618b04af7d9", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Compiling json v0.12.4 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling periodic-table-on-an-enum v0.3.2 [INFO] [stderr] Compiling pest v2.8.3 [INFO] [stderr] Compiling astro-float-num v0.3.6 [INFO] [stderr] Compiling pest_meta v2.8.3 [INFO] [stderr] Compiling syn v2.0.108 [INFO] [stderr] Compiling pest_generator v2.8.3 [INFO] [stderr] Compiling pest_derive v2.8.3 [INFO] [stderr] Compiling astro-float-macro v0.4.5 [INFO] [stderr] Compiling astro-float v0.9.5 [INFO] [stderr] Compiling siffra v0.2.2 (/opt/rustwide/workdir) [INFO] [stdout] error: proc-macro derive panicked [INFO] [stdout] --> src/grammar/mod.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Parser)] [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: message: grammar error [INFO] [stdout] [INFO] [stdout] --> 93:64 [INFO] [stdout] | [INFO] [stdout] 93 | ungrouped_function = ${#name = ident ~ " " ~ !convert_op ~ #input = atom} [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = tags on silent rules will not appear in the output [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::grammar::Rule` [INFO] [stdout] --> src/evaluation/mod.rs:11:34 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::grammar::{parse_line, Rule, SiffraParser, Span}; [INFO] [stdout] | ^^^^ no `Rule` in `grammar` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `Rule` [INFO] [stdout] --> src/grammar/mod.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | use Rule::*; [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `parse` found for struct `SiffraParser` in the current scope [INFO] [stdout] --> src/evaluation/mod.rs:18:31 [INFO] [stdout] | [INFO] [stdout] 18 | let pairs = SiffraParser::parse(Rule::line, line).map_err(|e| match e.location { [INFO] [stdout] | ^^^^^ function or associated item not found in `SiffraParser` [INFO] [stdout] | [INFO] [stdout] ::: src/grammar/mod.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct SiffraParser; [INFO] [stdout] | ----------------------- function or associated item `parse` not found for this struct [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `parse`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Parser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:115:20 [INFO] [stdout] | [INFO] [stdout] 115 | .find(|pair| pair.as_rule() == Rule::unit_mul_group) [INFO] [stdout] | ^^^^ ---- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 115 | .find(|pair: /* Type */| pair.as_rule() == Rule::unit_mul_group) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:118:48 [INFO] [stdout] | [INFO] [stdout] 118 | } else if let Some(unit) = pairs.find(|pair| pair.as_rule() == Rule::ungrouped_unit_atom) { [INFO] [stdout] | ^^^^ ---- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 118 | } else if let Some(unit) = pairs.find(|pair: /* Type */| pair.as_rule() == Rule::ungrouped_unit_atom) { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:119:16 [INFO] [stdout] | [INFO] [stdout] 119 | if unit [INFO] [stdout] | ^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:49:41 [INFO] [stdout] | [INFO] [stdout] 49 | pair.into_inner().for_each(|pair| { [INFO] [stdout] | ^^^^ [INFO] [stdout] 50 | let unit = pair.clone().into_inner().find_first_tagged("unit").unwrap(); [INFO] [stdout] | ---- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 49 | pair.into_inner().for_each(|pair: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:55:33 [INFO] [stdout] | [INFO] [stdout] 55 | .map_or(1, |pair| pair.as_str().parse().unwrap()); [INFO] [stdout] | ^^^^ ---- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 55 | .map_or(1, |pair: /* Type */| pair.as_str().parse().unwrap()); [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `map_primary` found for struct `PRATT_PARSER` in the current scope [INFO] [stdout] --> src/grammar/mod.rs:170:10 [INFO] [stdout] | [INFO] [stdout] 17 | / lazy_static::lazy_static! { [INFO] [stdout] 18 | | static ref PRATT_PARSER: PrattParser = { [INFO] [stdout] 19 | | use pest::pratt_parser::{Assoc::*, Op}; [INFO] [stdout] 20 | | use Rule::*; [INFO] [stdout] ... | [INFO] [stdout] 33 | | }; [INFO] [stdout] 34 | | } [INFO] [stdout] | |_- method `map_primary` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 169 | / PRATT_PARSER [INFO] [stdout] 170 | | .map_primary(|primary| match primary.as_rule() { [INFO] [stdout] | | -^^^^^^^^^^^ method not found in `PRATT_PARSER` [INFO] [stdout] | |_________| [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:170:23 [INFO] [stdout] | [INFO] [stdout] 170 | .map_primary(|primary| match primary.as_rule() { [INFO] [stdout] | ^^^^^^^ ------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 170 | .map_primary(|primary: /* Type */| match primary.as_rule() { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:181:28 [INFO] [stdout] | [INFO] [stdout] 181 | .find(|pair| pair.as_rule() == Rule::number) [INFO] [stdout] | ^^^^ ---- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 181 | .find(|pair: /* Type */| pair.as_rule() == Rule::number) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:189:28 [INFO] [stdout] | [INFO] [stdout] 189 | .find(|pair| pair.as_rule() == Rule::units_expr) [INFO] [stdout] | ^^^^ ---- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 189 | .find(|pair: /* Type */| pair.as_rule() == Rule::units_expr) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:223:28 [INFO] [stdout] | [INFO] [stdout] 223 | .find(|pair| pair.as_rule() == Rule::function_input) [INFO] [stdout] | ^^^^ ---- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 223 | .find(|pair: /* Type */| pair.as_rule() == Rule::function_input) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:258:26 [INFO] [stdout] | [INFO] [stdout] 258 | .map_infix(|lhs, op_pairs, rhs| { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 259 | let op = match op_pairs.as_rule() { [INFO] [stdout] | -------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 258 | .map_infix(|lhs, op_pairs: /* Type */, rhs| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:274:28 [INFO] [stdout] | [INFO] [stdout] 274 | .map_postfix(|lhs, op_pairs| { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 275 | let op_span = op_pairs.as_span(); [INFO] [stdout] | -------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 274 | .map_postfix(|lhs, op_pairs: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:282:32 [INFO] [stdout] | [INFO] [stdout] 282 | .find(|pair| pair.as_rule() == Rule::units_expr) [INFO] [stdout] | ^^^^ ---- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 282 | .find(|pair: /* Type */| pair.as_rule() == Rule::units_expr) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:293:22 [INFO] [stdout] | [INFO] [stdout] 293 | .map_prefix(|op_pairs, rhs| { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 294 | let op = match op_pairs.as_rule() { [INFO] [stdout] | -------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 293 | .map_prefix(|op_pairs: /* Type */, rhs| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:310:16 [INFO] [stdout] | [INFO] [stdout] 310 | .find(|pair| pair.as_rule() == Rule::variable_constraint) [INFO] [stdout] | ^^^^ ---- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 310 | .find(|pair: /* Type */| pair.as_rule() == Rule::variable_constraint) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:312:25 [INFO] [stdout] | [INFO] [stdout] 312 | let mut inner = pair.into_inner(); [INFO] [stdout] | ^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:314:20 [INFO] [stdout] | [INFO] [stdout] 314 | .find(|pair| pair.as_rule() == Rule::variable) [INFO] [stdout] | ^^^^ ---- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 314 | .find(|pair: /* Type */| pair.as_rule() == Rule::variable) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:319:24 [INFO] [stdout] | [INFO] [stdout] 319 | .find(|pair| pair.as_rule() == Rule::expr) [INFO] [stdout] | ^^^^ ---- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 319 | .find(|pair: /* Type */| pair.as_rule() == Rule::expr) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:326:37 [INFO] [stdout] | [INFO] [stdout] 326 | if let Some(pair) = pairs.find(|pair| pair.as_rule() == Rule::expr) { [INFO] [stdout] | ^^^^ ---- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 326 | if let Some(pair) = pairs.find(|pair: /* Type */| pair.as_rule() == Rule::expr) { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/grammar/mod.rs:327:31 [INFO] [stdout] | [INFO] [stdout] 327 | let expr = parse_expr(pair.into_inner()); [INFO] [stdout] | ^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [INFO] [stdout] [INFO] [stderr] error: could not compile `siffra` (lib) due to 24 previous errors [INFO] running `Command { std: "docker" "inspect" "c24b6b0fb26412b5c81219117a807a96db22103f9f0d40722eca1618b04af7d9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c24b6b0fb26412b5c81219117a807a96db22103f9f0d40722eca1618b04af7d9", kill_on_drop: false }` [INFO] [stdout] c24b6b0fb26412b5c81219117a807a96db22103f9f0d40722eca1618b04af7d9