[INFO] cloning repository https://github.com/UTN-FRD/construccion-compilador [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/UTN-FRD/construccion-compilador" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FUTN-FRD%2Fconstruccion-compilador", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FUTN-FRD%2Fconstruccion-compilador'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 56f6bc0bd557159d1994302dfa6021835c2a21e7 [INFO] checking UTN-FRD/construccion-compilador/56f6bc0bd557159d1994302dfa6021835c2a21e7 against try#65132f36b923285d5da381c2fbafee6ce899e841 for pr-132712-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FUTN-FRD%2Fconstruccion-compilador" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/UTN-FRD/construccion-compilador on toolchain 65132f36b923285d5da381c2fbafee6ce899e841 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+65132f36b923285d5da381c2fbafee6ce899e841" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/UTN-FRD/construccion-compilador [INFO] finished tweaking git repo https://github.com/UTN-FRD/construccion-compilador [INFO] tweaked toml for git repo https://github.com/UTN-FRD/construccion-compilador written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/UTN-FRD/construccion-compilador already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+65132f36b923285d5da381c2fbafee6ce899e841" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+65132f36b923285d5da381c2fbafee6ce899e841" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1358b0f8fec197a5757701c8519ff8160a60a44de4bbdb40c3171c34610de19f [INFO] running `Command { std: "docker" "start" "-a" "1358b0f8fec197a5757701c8519ff8160a60a44de4bbdb40c3171c34610de19f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1358b0f8fec197a5757701c8519ff8160a60a44de4bbdb40c3171c34610de19f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1358b0f8fec197a5757701c8519ff8160a60a44de4bbdb40c3171c34610de19f", kill_on_drop: false }` [INFO] [stdout] 1358b0f8fec197a5757701c8519ff8160a60a44de4bbdb40c3171c34610de19f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=allow" "-e" "RUSTDOCFLAGS=--cap-lints=allow" "-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+65132f36b923285d5da381c2fbafee6ce899e841" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 91439fe9e8cebbbcc3ad12d52496589d4d1a78ec5b455b72651161d134883f96 [INFO] running `Command { std: "docker" "start" "-a" "91439fe9e8cebbbcc3ad12d52496589d4d1a78ec5b455b72651161d134883f96", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling syn v1.0.62 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling libc v0.2.88 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.71 [INFO] [stderr] Compiling siphasher v0.3.3 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling hashbrown v0.9.1 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling new_debug_unreachable v1.0.4 [INFO] [stderr] Compiling serde_derive v1.0.126 [INFO] [stderr] Compiling phf_shared v0.8.0 [INFO] [stderr] Compiling fixedbitset v0.2.0 [INFO] [stderr] Compiling bumpalo v3.6.1 [INFO] [stderr] Compiling bit-set v0.5.2 [INFO] [stderr] Compiling string_cache v0.8.1 [INFO] [stderr] Compiling itertools v0.10.0 [INFO] [stderr] Compiling diff v0.1.12 [INFO] [stderr] Compiling serde v1.0.126 [INFO] [stderr] Compiling ena v0.14.0 [INFO] [stderr] Compiling indexmap v1.6.2 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling pico-args v0.4.0 [INFO] [stderr] Compiling serde_json v1.0.64 [INFO] [stderr] Compiling utf8-ranges v1.0.4 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling beef v0.5.0 [INFO] [stderr] Compiling wasm-bindgen v0.2.71 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Checking termcolor v1.1.2 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Checking itoa v0.4.7 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Compiling term v0.7.0 [INFO] [stderr] Compiling petgraph v0.5.1 [INFO] [stderr] Compiling ascii-canvas v3.0.0 [INFO] [stderr] Compiling regex v1.5.4 [INFO] [stderr] Compiling lalrpop-util v0.19.7 [INFO] [stderr] Compiling lalrpop v0.19.7 [INFO] [stderr] Checking env_logger v0.9.0 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.71 [INFO] [stderr] Compiling logos-derive v0.12.0 [INFO] [stderr] Compiling thiserror-impl v1.0.24 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.71 [INFO] [stderr] Checking thiserror v1.0.24 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.71 [INFO] [stderr] Checking logos v0.12.0 [INFO] [stderr] Compiling frd_lisp v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `frd_lisp` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * /opt/rustwide/target/debug/build/frd_lisp-30c14c08332aeefd/out/grammar.rs [INFO] [stderr] * src/eval.rs [INFO] [stderr] * src/lexer.rs [INFO] [stderr] * src/lib.rs [INFO] [stderr] * src/parser.rs [INFO] [stderr] * src/wasm.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error: expected one of `(`, `,`, `::`, or `=`, found `+` [INFO] [stderr] --> src/lexer.rs:4:47 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos + use<'s>, Serialize, Deserialize)] [INFO] [stderr] | ^ expected one of `(`, `,`, `::`, or `=` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::lexer::Token` [INFO] [stderr] --> src/wasm.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::lexer::Token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Token` in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct instead [INFO] [stderr] | [INFO] [stderr] 7 | use lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::lexer::Token` [INFO] [stderr] --> /opt/rustwide/target/debug/build/frd_lisp-30c14c08332aeefd/out/grammar.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::lexer::Token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Token` in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these structs instead [INFO] [stderr] | [INFO] [stderr] 5 | use crate::grammar::__lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 5 | use lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::lexer::Token` [INFO] [stderr] --> /opt/rustwide/target/debug/build/frd_lisp-30c14c08332aeefd/out/grammar.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | use crate::lexer::Token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Token` in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these items instead [INFO] [stderr] | [INFO] [stderr] 20 | use crate::grammar::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 20 | use crate::grammar::__lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 20 | use lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::lexer::Token` [INFO] [stderr] --> /opt/rustwide/target/debug/build/frd_lisp-30c14c08332aeefd/out/grammar.rs:1165:9 [INFO] [stderr] | [INFO] [stderr] 1165 | use crate::lexer::Token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Token` in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these items instead [INFO] [stderr] | [INFO] [stderr] 1165 | use crate::grammar::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 1165 | use crate::grammar::__lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 1165 | use lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::lexer::Token` [INFO] [stderr] --> /opt/rustwide/target/debug/build/frd_lisp-30c14c08332aeefd/out/grammar.rs:2434:9 [INFO] [stderr] | [INFO] [stderr] 2434 | use crate::lexer::Token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Token` in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these items instead [INFO] [stderr] | [INFO] [stderr] 2434 | use crate::grammar::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 2434 | use crate::grammar::__lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 2434 | use lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::lexer::Token` [INFO] [stderr] --> /opt/rustwide/target/debug/build/frd_lisp-30c14c08332aeefd/out/grammar.rs:3705:9 [INFO] [stderr] | [INFO] [stderr] 3705 | use crate::lexer::Token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Token` in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these items instead [INFO] [stderr] | [INFO] [stderr] 3705 | use crate::grammar::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 3705 | use crate::grammar::__lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 3705 | use lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::lexer::Token` [INFO] [stderr] --> /opt/rustwide/target/debug/build/frd_lisp-30c14c08332aeefd/out/grammar.rs:4833:9 [INFO] [stderr] | [INFO] [stderr] 4833 | use crate::lexer::Token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Token` in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these items instead [INFO] [stderr] | [INFO] [stderr] 4833 | use crate::grammar::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 4833 | use crate::grammar::__lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 4833 | use lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] error[E0106]: missing lifetime specifier [INFO] [stderr] --> src/parser.rs:7:62 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn parse(tokens: Vec) -> Result, ParserError> { [INFO] [stderr] | ^^^^^^^^^^^ expected named lifetime parameter [INFO] [stderr] | [INFO] [stderr] = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from [INFO] [stderr] help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values [INFO] [stderr] | [INFO] [stderr] 7 | pub fn parse(tokens: Vec) -> Result, ParserError<'static>> { [INFO] [stderr] | +++++++++ [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in this scope [INFO] [stderr] --> src/lexer.rs:41:10 [INFO] [stderr] | [INFO] [stderr] 41 | impl<'a> Token<'a> { [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in this scope [INFO] [stderr] --> src/lexer.rs:42:52 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn tokenize(source_code: &'a str) -> Lexer> { [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type `Token` [INFO] [stderr] --> src/lexer.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | Token::lexer(source_code) [INFO] [stderr] | ^^^^^ use of undeclared type `Token` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in this scope [INFO] [stderr] --> src/lexer.rs:47:48 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn get_token_info<'a>(mut lexer: Lexer<'a, Token<'a>>) -> Vec<(usize, Token<'a>, usize)> { [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in this scope [INFO] [stderr] --> src/lexer.rs:47:75 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn get_token_info<'a>(mut lexer: Lexer<'a, Token<'a>>) -> Vec<(usize, Token<'a>, usize)> { [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type `Token` [INFO] [stderr] --> src/lexer.rs:60:19 [INFO] [stderr] | [INFO] [stderr] 60 | let mut lex = Token::lexer("\"hello\""); [INFO] [stderr] | ^^^^^ use of undeclared type `Token` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type `Token` [INFO] [stderr] --> src/lexer.rs:62:33 [INFO] [stderr] | [INFO] [stderr] 62 | assert_eq!(lex.next(), Some(Token::String("hello"))); [INFO] [stderr] | ^^^^^ use of undeclared type `Token` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type `Token` [INFO] [stderr] --> src/lexer.rs:68:19 [INFO] [stderr] | [INFO] [stderr] 68 | let mut lex = Token::lexer("3.4"); [INFO] [stderr] | ^^^^^ use of undeclared type `Token` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type `Token` [INFO] [stderr] --> src/lexer.rs:70:33 [INFO] [stderr] | [INFO] [stderr] 70 | assert_eq!(lex.next(), Some(Token::Num(3.4))); [INFO] [stderr] | ^^^^^ use of undeclared type `Token` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type `Token` [INFO] [stderr] --> src/lexer.rs:76:19 [INFO] [stderr] | [INFO] [stderr] 76 | let mut lex = Token::lexer("3"); [INFO] [stderr] | ^^^^^ use of undeclared type `Token` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type `Token` [INFO] [stderr] --> src/lexer.rs:78:33 [INFO] [stderr] | [INFO] [stderr] 78 | assert_eq!(lex.next(), Some(Token::Num(3.0))); [INFO] [stderr] | ^^^^^ use of undeclared type `Token` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type `Token` [INFO] [stderr] --> src/lexer.rs:84:15 [INFO] [stderr] | [INFO] [stderr] 84 | let lex = Token::lexer("(+ 1 2)"); [INFO] [stderr] | ^^^^^ use of undeclared type `Token` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in this scope [INFO] [stderr] --> src/lexer.rs:86:21 [INFO] [stderr] | [INFO] [stderr] 86 | let tokens: Vec = lex.collect(); [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type `Token` [INFO] [stderr] --> src/lexer.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | Token::LParen, [INFO] [stderr] | ^^^^^ use of undeclared type `Token` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type `Token` [INFO] [stderr] --> src/lexer.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | Token::Plus, [INFO] [stderr] | ^^^^^ use of undeclared type `Token` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type `Token` [INFO] [stderr] --> src/lexer.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | Token::Num(1.0), [INFO] [stderr] | ^^^^^ use of undeclared type `Token` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type `Token` [INFO] [stderr] --> src/lexer.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | Token::Num(2.0), [INFO] [stderr] | ^^^^^ use of undeclared type `Token` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type `Token` [INFO] [stderr] --> src/lexer.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | Token::RParen [INFO] [stderr] | ^^^^^ use of undeclared type `Token` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in module `lexer` [INFO] [stderr] --> src/parser.rs:5:64 [INFO] [stderr] | [INFO] [stderr] 5 | pub type ParserError<'a> = lalrpop_util::ParseError<(), lexer::Token<'a>, &'static str>; [INFO] [stderr] | ^^^^^ not found in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] help: if you import `Token`, refer to it directly [INFO] [stderr] | [INFO] [stderr] 5 - pub type ParserError<'a> = lalrpop_util::ParseError<(), lexer::Token<'a>, &'static str>; [INFO] [stderr] 5 + pub type ParserError<'a> = lalrpop_util::ParseError<(), Token<'a>, &'static str>; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in module `lexer` [INFO] [stderr] --> src/parser.rs:7:33 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn parse(tokens: Vec) -> Result, ParserError> { [INFO] [stderr] | ^^^^^ not found in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] help: if you import `Token`, refer to it directly [INFO] [stderr] | [INFO] [stderr] 7 - pub fn parse(tokens: Vec) -> Result, ParserError> { [INFO] [stderr] 7 + pub fn parse(tokens: Vec) -> Result, ParserError> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: could not find `Token` in `lexer` [INFO] [stderr] --> src/eval.rs:34:22 [INFO] [stderr] | [INFO] [stderr] 34 | let lex = lexer::Token::tokenize(source); [INFO] [stderr] | ^^^^^ could not find `Token` in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] help: if you import `Token`, refer to it directly [INFO] [stderr] | [INFO] [stderr] 34 - let lex = lexer::Token::tokenize(source); [INFO] [stderr] 34 + let lex = Token::tokenize(source); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in module `lexer` [INFO] [stderr] --> src/eval.rs:37:43 [INFO] [stderr] | [INFO] [stderr] 37 | let tokens = lex.collect::>(); [INFO] [stderr] | ^^^^^ not found in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] help: if you import `Token`, refer to it directly [INFO] [stderr] | [INFO] [stderr] 37 - let tokens = lex.collect::>(); [INFO] [stderr] 37 + let tokens = lex.collect::>(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in module `lexer` [INFO] [stderr] --> src/lib.rs:29:63 [INFO] [stderr] | [INFO] [stderr] 29 | pub type ParseError<'a> = lalrpop_util::ParseError<(), lexer::Token<'a>, &'static str>; [INFO] [stderr] | ^^^^^ not found in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 12 + use lalrpop_util::lexer::Token; [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/eval.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | Ok(LispValue::Intrinsic(ref func)) => { [INFO] [stdout] | ^^^-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/eval.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | Ok(LispValue::Func(ref func)) => { [INFO] [stdout] | ^^^-^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: if you import `Token`, refer to it directly [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/eval.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 201 | if let Ok(LispValue::Bool(ref value)) = cond_value.as_deref() { [INFO] [stdout] | ^^^-^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | LispValue::Number(ref num) => Ok(num), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 29 - pub type ParseError<'a> = lalrpop_util::ParseError<(), lexer::Token<'a>, &'static str>; [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | (Number(ref n1), Number(ref n2)) => n1 == n2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 54 | (&Number(ref n1), &Number(ref n2)) => n1 == n2, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 29 + pub type ParseError<'a> = lalrpop_util::ParseError<(), Token<'a>, &'static str>; [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | (Id(ref id1), Id(ref id2)) => *id1 == *id2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 55 | (&Id(ref id1), &Id(ref id2)) => *id1 == *id2, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | (Bool(ref bool1), Bool(ref bool2)) => bool1 == bool2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 56 | (&Bool(ref bool1), &Bool(ref bool2)) => bool1 == bool2, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | (StringValue(ref string1), StringValue(ref string2)) => string1 == string2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 57 | (&StringValue(ref string1), &StringValue(ref string2)) => string1 == string2, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0581]: return type references lifetime `'input`, which is not constrained by the fn input types [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | (Number(ref n1), Number(ref n2)) => n1.partial_cmp(n2).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 70 | (&Number(ref n1), &Number(ref n2)) => n1.partial_cmp(n2).unwrap(), [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> /opt/rustwide/target/debug/build/frd_lisp-30c14c08332aeefd/out/grammar.rs:6436:6 [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | (Number(ref n1), Number(ref n2)) => Some(n1.partial_cmp(n2).unwrap()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 81 | (&Number(ref n1), &Number(ref n2)) => Some(n1.partial_cmp(n2).unwrap()), [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `impl CallbackResult<'s, f64, lexer::Token<'s>>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/lexer.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/lexer.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos, Serialize, Deserialize)] [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos + use<'s>, Serialize, Deserialize)] [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 6436 | ) -> alloc::vec::Vec<&'input str> [INFO] [stdout] warning: `impl CallbackResult<'s, &'s str, lexer::Token<'s>>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/lexer.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/lexer.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos, Serialize, Deserialize)] [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos + use<'s>, Serialize, Deserialize)] [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: `impl CallbackResult<'s, &'s str, lexer::Token<'s>>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/lexer.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/lexer.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos, Serialize, Deserialize)] [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos + use<'s>, Serialize, Deserialize)] [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] error[E0277]: the size for values of type `[Expr]` cannot be known at compilation time [INFO] [stderr] --> src/eval.rs:54:12 [INFO] [stderr] | [INFO] [stderr] 54 | Ok(exprs) => match eval_program(&exprs, env) { [INFO] [stderr] | ^^^^^ doesn't have a size known at compile-time [INFO] [stderr] | [INFO] [stderr] = help: the trait `Sized` is not implemented for `[Expr]` [INFO] [stderr] = note: all local variables must have a statically known size [INFO] [stderr] = help: unsized locals are gated as an unstable feature [INFO] [stderr] [INFO] [stderr] error[E0277]: the size for values of type `[Expr]` cannot be known at compilation time [INFO] [stderr] --> src/eval.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | Ok(exprs) => match eval_program(&exprs, env) { [INFO] [stderr] | ^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stderr] | [INFO] [stderr] = help: the trait `Sized` is not implemented for `[Expr]` [INFO] [stderr] note: required by a bound in `Ok` [INFO] [stderr] --> /rustc/65132f36b923285d5da381c2fbafee6ce899e841/library/core/src/result.rs:532:5 [INFO] [stderr] [INFO] [stderr] error: aborting due to 35 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0106, E0277, E0412, E0432, E0433, E0581. [INFO] [stderr] For more information about an error, try `rustc --explain E0106`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `frd_lisp` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * /opt/rustwide/target/debug/build/frd_lisp-30c14c08332aeefd/out/grammar.rs [INFO] [stderr] * src/eval.rs [INFO] [stderr] * src/lexer.rs [INFO] [stderr] * src/lib.rs [INFO] [stderr] * src/parser.rs [INFO] [stderr] * src/wasm.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error: expected one of `(`, `,`, `::`, or `=`, found `+` [INFO] [stderr] --> src/lexer.rs:4:47 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos + use<'s>, Serialize, Deserialize)] [INFO] [stderr] | ^ expected one of `(`, `,`, `::`, or `=` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::lexer::Token` [INFO] [stderr] --> src/wasm.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::lexer::Token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Token` in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct instead [INFO] [stderr] | [INFO] [stderr] 7 | use lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::lexer::Token` [INFO] [stderr] --> /opt/rustwide/target/debug/build/frd_lisp-30c14c08332aeefd/out/grammar.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::lexer::Token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Token` in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these structs instead [INFO] [stderr] | [INFO] [stderr] 5 | use crate::grammar::__lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 5 | use lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::lexer::Token` [INFO] [stderr] --> /opt/rustwide/target/debug/build/frd_lisp-30c14c08332aeefd/out/grammar.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | use crate::lexer::Token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Token` in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these items instead [INFO] [stderr] | [INFO] [stderr] 20 | use crate::grammar::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 20 | use crate::grammar::__lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 20 | use lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::lexer::Token` [INFO] [stderr] --> /opt/rustwide/target/debug/build/frd_lisp-30c14c08332aeefd/out/grammar.rs:1165:9 [INFO] [stderr] | [INFO] [stderr] 1165 | use crate::lexer::Token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Token` in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these items instead [INFO] [stderr] | [INFO] [stderr] 1165 | use crate::grammar::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 1165 | use crate::grammar::__lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 1165 | use lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::lexer::Token` [INFO] [stderr] --> /opt/rustwide/target/debug/build/frd_lisp-30c14c08332aeefd/out/grammar.rs:2434:9 [INFO] [stderr] | [INFO] [stderr] 2434 | use crate::lexer::Token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Token` in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these items instead [INFO] [stderr] | [INFO] [stderr] 2434 | use crate::grammar::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 2434 | use crate::grammar::__lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 2434 | use lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::lexer::Token` [INFO] [stderr] --> /opt/rustwide/target/debug/build/frd_lisp-30c14c08332aeefd/out/grammar.rs:3705:9 [INFO] [stderr] | [INFO] [stderr] 3705 | use crate::lexer::Token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Token` in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these items instead [INFO] [stderr] | [INFO] [stderr] 3705 | use crate::grammar::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 3705 | use crate::grammar::__lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 3705 | use lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::lexer::Token` [INFO] [stderr] --> /opt/rustwide/target/debug/build/frd_lisp-30c14c08332aeefd/out/grammar.rs:4833:9 [INFO] [stderr] | [INFO] [stderr] 4833 | use crate::lexer::Token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Token` in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these items instead [INFO] [stderr] | [INFO] [stderr] 4833 | use crate::grammar::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 4833 | use crate::grammar::__lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 4833 | use lalrpop_util::lexer::Token; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] error[E0106]: missing lifetime specifier [INFO] [stderr] --> src/parser.rs:7:62 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn parse(tokens: Vec) -> Result, ParserError> { [INFO] [stderr] | ^^^^^^^^^^^ expected named lifetime parameter [INFO] [stderr] | [INFO] [stderr] = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from [INFO] [stderr] help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values [INFO] [stderr] | [INFO] [stderr] 7 | pub fn parse(tokens: Vec) -> Result, ParserError<'static>> { [INFO] [stderr] | +++++++++ [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in this scope [INFO] [stderr] --> src/lexer.rs:41:10 [INFO] [stderr] | [INFO] [stderr] 41 | impl<'a> Token<'a> { [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in this scope [INFO] [stderr] --> src/lexer.rs:42:52 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn tokenize(source_code: &'a str) -> Lexer> { [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type `Token` [INFO] [stderr] --> src/lexer.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | Token::lexer(source_code) [INFO] [stderr] | ^^^^^ use of undeclared type `Token` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in this scope [INFO] [stderr] --> src/lexer.rs:47:48 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn get_token_info<'a>(mut lexer: Lexer<'a, Token<'a>>) -> Vec<(usize, Token<'a>, usize)> { [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in this scope [INFO] [stderr] --> src/lexer.rs:47:75 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn get_token_info<'a>(mut lexer: Lexer<'a, Token<'a>>) -> Vec<(usize, Token<'a>, usize)> { [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in module `lexer` [INFO] [stderr] --> src/parser.rs:5:64 [INFO] [stderr] | [INFO] [stderr] 5 | pub type ParserError<'a> = lalrpop_util::ParseError<(), lexer::Token<'a>, &'static str>; [INFO] [stderr] | ^^^^^ not found in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] help: if you import `Token`, refer to it directly [INFO] [stderr] | [INFO] [stderr] 5 - pub type ParserError<'a> = lalrpop_util::ParseError<(), lexer::Token<'a>, &'static str>; [INFO] [stderr] 5 + pub type ParserError<'a> = lalrpop_util::ParseError<(), Token<'a>, &'static str>; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in module `lexer` [INFO] [stderr] --> src/parser.rs:7:33 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn parse(tokens: Vec) -> Result, ParserError> { [INFO] [stderr] | ^^^^^ not found in `lexer` [INFO] [stderr] | [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/eval.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | Ok(LispValue::Intrinsic(ref func)) => { [INFO] [stdout] | ^^^-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: consider importing this struct [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/eval.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | Ok(LispValue::Func(ref func)) => { [INFO] [stdout] | ^^^-^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/eval.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 201 | if let Ok(LispValue::Bool(ref value)) = cond_value.as_deref() { [INFO] [stdout] | ^^^-^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | LispValue::Number(ref num) => Ok(num), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | (Number(ref n1), Number(ref n2)) => n1 == n2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 54 | (&Number(ref n1), &Number(ref n2)) => n1 == n2, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: if you import `Token`, refer to it directly [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | (Id(ref id1), Id(ref id2)) => *id1 == *id2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 55 | (&Id(ref id1), &Id(ref id2)) => *id1 == *id2, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | (Bool(ref bool1), Bool(ref bool2)) => bool1 == bool2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 56 | (&Bool(ref bool1), &Bool(ref bool2)) => bool1 == bool2, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 7 - pub fn parse(tokens: Vec) -> Result, ParserError> { [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | (StringValue(ref string1), StringValue(ref string2)) => string1 == string2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 57 | (&StringValue(ref string1), &StringValue(ref string2)) => string1 == string2, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 7 + pub fn parse(tokens: Vec) -> Result, ParserError> { [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | (Number(ref n1), Number(ref n2)) => n1.partial_cmp(n2).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 70 | (&Number(ref n1), &Number(ref n2)) => n1.partial_cmp(n2).unwrap(), [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | (Number(ref n1), Number(ref n2)) => Some(n1.partial_cmp(n2).unwrap()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 81 | (&Number(ref n1), &Number(ref n2)) => Some(n1.partial_cmp(n2).unwrap()), [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `impl CallbackResult<'s, f64, lexer::Token<'s>>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/lexer.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/lexer.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos, Serialize, Deserialize)] [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos + use<'s>, Serialize, Deserialize)] [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0433]: failed to resolve: could not find `Token` in `lexer` [INFO] [stdout] warning: `impl CallbackResult<'s, &'s str, lexer::Token<'s>>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/lexer.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/lexer.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos, Serialize, Deserialize)] [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos + use<'s>, Serialize, Deserialize)] [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/eval.rs:34:22 [INFO] [stderr] | [INFO] [stderr] 34 | let lex = lexer::Token::tokenize(source); [INFO] [stdout] warning: `impl CallbackResult<'s, &'s str, lexer::Token<'s>>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/lexer.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/lexer.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos, Serialize, Deserialize)] [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Copy, Clone, PartialEq, Logos + use<'s>, Serialize, Deserialize)] [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^ could not find `Token` in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] help: if you import `Token`, refer to it directly [INFO] [stderr] | [INFO] [stderr] 34 - let lex = lexer::Token::tokenize(source); [INFO] [stderr] 34 + let lex = Token::tokenize(source); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in module `lexer` [INFO] [stderr] --> src/eval.rs:37:43 [INFO] [stderr] | [INFO] [stderr] 37 | let tokens = lex.collect::>(); [INFO] [stderr] | ^^^^^ not found in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 1 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] help: if you import `Token`, refer to it directly [INFO] [stderr] | [INFO] [stderr] 37 - let tokens = lex.collect::>(); [INFO] [stderr] 37 + let tokens = lex.collect::>(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Token` in module `lexer` [INFO] [stderr] --> src/lib.rs:29:63 [INFO] [stderr] | [INFO] [stderr] 29 | pub type ParseError<'a> = lalrpop_util::ParseError<(), lexer::Token<'a>, &'static str>; [INFO] [stderr] | ^^^^^ not found in `lexer` [INFO] [stderr] | [INFO] [stderr] help: consider importing this struct [INFO] [stderr] | [INFO] [stderr] 12 + use lalrpop_util::lexer::Token; [INFO] [stderr] | [INFO] [stderr] help: if you import `Token`, refer to it directly [INFO] [stderr] | [INFO] [stderr] 29 - pub type ParseError<'a> = lalrpop_util::ParseError<(), lexer::Token<'a>, &'static str>; [INFO] [stderr] 29 + pub type ParseError<'a> = lalrpop_util::ParseError<(), Token<'a>, &'static str>; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0581]: return type references lifetime `'input`, which is not constrained by the fn input types [INFO] [stderr] --> /opt/rustwide/target/debug/build/frd_lisp-30c14c08332aeefd/out/grammar.rs:6436:6 [INFO] [stderr] | [INFO] [stderr] 6436 | ) -> alloc::vec::Vec<&'input str> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0277]: the size for values of type `[Expr]` cannot be known at compilation time [INFO] [stderr] --> src/eval.rs:54:12 [INFO] [stderr] | [INFO] [stderr] 54 | Ok(exprs) => match eval_program(&exprs, env) { [INFO] [stderr] | ^^^^^ doesn't have a size known at compile-time [INFO] [stderr] | [INFO] [stderr] = help: the trait `Sized` is not implemented for `[Expr]` [INFO] [stderr] = note: all local variables must have a statically known size [INFO] [stderr] = help: unsized locals are gated as an unstable feature [INFO] [stderr] [INFO] [stderr] error[E0277]: the size for values of type `[Expr]` cannot be known at compilation time [INFO] [stderr] --> src/eval.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | Ok(exprs) => match eval_program(&exprs, env) { [INFO] [stderr] | ^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stderr] | [INFO] [stderr] = help: the trait `Sized` is not implemented for `[Expr]` [INFO] [stderr] note: required by a bound in `Ok` [INFO] [stderr] --> /rustc/65132f36b923285d5da381c2fbafee6ce899e841/library/core/src/result.rs:532:5 [INFO] [stderr] [INFO] [stderr] error: aborting due to 22 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0106, E0277, E0412, E0432, E0433, E0581. [INFO] [stderr] For more information about an error, try `rustc --explain E0106`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stderr] Migrating src/bin/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/lexer.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/parser.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/integration.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/basics.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.37s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: lalrpop v0.19.7, wasm-bindgen v0.2.71 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Compiling frd_lisp v0.1.0 (/tmp/fixit) [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/eval.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | Ok(LispValue::Intrinsic(ref func)) => { [INFO] [stdout] | ^^^-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/eval.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | Ok(LispValue::Func(ref func)) => { [INFO] [stdout] | ^^^-^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/eval.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 201 | if let Ok(LispValue::Bool(ref value)) = cond_value.as_deref() { [INFO] [stdout] | ^^^-^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/eval.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | Ok(LispValue::Intrinsic(ref func)) => { [INFO] [stdout] | ^^^-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | LispValue::Number(ref num) => Ok(num), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/eval.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | Ok(LispValue::Func(ref func)) => { [INFO] [stdout] | ^^^-^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | (Number(ref n1), Number(ref n2)) => n1 == n2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 54 | (&Number(ref n1), &Number(ref n2)) => n1 == n2, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | (Id(ref id1), Id(ref id2)) => *id1 == *id2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 55 | (&Id(ref id1), &Id(ref id2)) => *id1 == *id2, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | (Bool(ref bool1), Bool(ref bool2)) => bool1 == bool2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 56 | (&Bool(ref bool1), &Bool(ref bool2)) => bool1 == bool2, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | (StringValue(ref string1), StringValue(ref string2)) => string1 == string2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 57 | (&StringValue(ref string1), &StringValue(ref string2)) => string1 == string2, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | (Number(ref n1), Number(ref n2)) => n1.partial_cmp(n2).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 70 | (&Number(ref n1), &Number(ref n2)) => n1.partial_cmp(n2).unwrap(), [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | (Number(ref n1), Number(ref n2)) => Some(n1.partial_cmp(n2).unwrap()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 81 | (&Number(ref n1), &Number(ref n2)) => Some(n1.partial_cmp(n2).unwrap()), [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/eval.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 201 | if let Ok(LispValue::Bool(ref value)) = cond_value.as_deref() { [INFO] [stdout] | ^^^-^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | LispValue::Number(ref num) => Ok(num), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | (Number(ref n1), Number(ref n2)) => n1 == n2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 54 | (&Number(ref n1), &Number(ref n2)) => n1 == n2, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | (Id(ref id1), Id(ref id2)) => *id1 == *id2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 55 | (&Id(ref id1), &Id(ref id2)) => *id1 == *id2, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | (Bool(ref bool1), Bool(ref bool2)) => bool1 == bool2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 56 | (&Bool(ref bool1), &Bool(ref bool2)) => bool1 == bool2, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | (StringValue(ref string1), StringValue(ref string2)) => string1 == string2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 57 | (&StringValue(ref string1), &StringValue(ref string2)) => string1 == string2, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | (Number(ref n1), Number(ref n2)) => n1.partial_cmp(n2).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 70 | (&Number(ref n1), &Number(ref n2)) => n1.partial_cmp(n2).unwrap(), [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/lisp_value.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | (Number(ref n1), Number(ref n2)) => Some(n1.partial_cmp(n2).unwrap()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: desugar the match ergonomics [INFO] [stdout] | [INFO] [stdout] 81 | (&Number(ref n1), &Number(ref n2)) => Some(n1.partial_cmp(n2).unwrap()), [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `frd_lisp` (lib) due to 10 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `frd_lisp` (lib test) due to 10 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "91439fe9e8cebbbcc3ad12d52496589d4d1a78ec5b455b72651161d134883f96", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "91439fe9e8cebbbcc3ad12d52496589d4d1a78ec5b455b72651161d134883f96", kill_on_drop: false }` [INFO] [stdout] 91439fe9e8cebbbcc3ad12d52496589d4d1a78ec5b455b72651161d134883f96