[INFO] cloning repository https://github.com/The-Arc-Studios/OmniShell
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/The-Arc-Studios/OmniShell" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThe-Arc-Studios%2FOmniShell", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThe-Arc-Studios%2FOmniShell'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 04a085fefea86868527e60a86a1e33af930bcad8
[INFO] checking The-Arc-Studios/OmniShell against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6 for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThe-Arc-Studios%2FOmniShell" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/The-Arc-Studios/OmniShell
[INFO] finished tweaking git repo https://github.com/The-Arc-Studios/OmniShell
[INFO] tweaked toml for git repo https://github.com/The-Arc-Studios/OmniShell written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/The-Arc-Studios/OmniShell on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/The-Arc-Studios/OmniShell 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 86f930ceb2603df6c5944f59382e335e479f23d351ceb100be0c396a9197def1
[INFO] running `Command { std: "docker" "start" "86f930ceb2603df6c5944f59382e335e479f23d351ceb100be0c396a9197def1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "86f930ceb2603df6c5944f59382e335e479f23d351ceb100be0c396a9197def1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "86f930ceb2603df6c5944f59382e335e479f23d351ceb100be0c396a9197def1" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "86f930ceb2603df6c5944f59382e335e479f23d351ceb100be0c396a9197def1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "86f930ceb2603df6c5944f59382e335e479f23d351ceb100be0c396a9197def1" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking clap_builder v4.6.6
[INFO] [stderr]     Checking aho-corasick v1.1.5
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]     Checking tempfile v3.10.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]     Checking thiserror v2.0.20
[INFO] [stderr]     Checking omnishell-core v0.1.0 (/opt/rustwide/workdir/crates/omnishell-core)
[INFO] [stderr]     Checking omnishell-parser v0.1.0 (/opt/rustwide/workdir/crates/omnishell-parser)
[INFO] [stderr]     Checking omnishell-exec v0.1.0 (/opt/rustwide/workdir/crates/omnishell-exec)
[INFO] [stderr]     Checking omnishell-builtins v0.1.0 (/opt/rustwide/workdir/crates/omnishell-builtins)
[INFO] [stderr]     Checking omnishell-env v0.1.0 (/opt/rustwide/workdir/crates/omnishell-env)
[INFO] [stderr]     Checking clap v4.6.6
[INFO] [stdout] warning: unused variable: `interp`
[INFO] [stdout]    --> crates/omnishell-exec/src/spawner.rs:444:29
[INFO] [stdout]     |
[INFO] [stdout] 444 |         } else if let Some((interp, interp_args)) = &resolved.shebang {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_interp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `interp_args`
[INFO] [stdout]    --> crates/omnishell-exec/src/spawner.rs:444:37
[INFO] [stdout]     |
[INFO] [stdout] 444 |         } else if let Some((interp, interp_args)) = &resolved.shebang {
[INFO] [stdout]     |                                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interp_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `interp`
[INFO] [stdout]    --> crates/omnishell-exec/src/spawner.rs:444:29
[INFO] [stdout]     |
[INFO] [stdout] 444 |         } else if let Some((interp, interp_args)) = &resolved.shebang {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_interp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `interp_args`
[INFO] [stdout]    --> crates/omnishell-exec/src/spawner.rs:444:37
[INFO] [stdout]     |
[INFO] [stdout] 444 |         } else if let Some((interp, interp_args)) = &resolved.shebang {
[INFO] [stdout]     |                                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interp_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking omnishell-repl v0.1.0 (/opt/rustwide/workdir/crates/omnishell-repl)
[INFO] [stdout] warning: unused import: `stdout`
[INFO] [stdout]  --> crates/omnishell-repl/src/editor.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{self, stdout, BufRead, Write};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stdout`
[INFO] [stdout]  --> crates/omnishell-repl/src/editor.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{self, stdout, BufRead, Write};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> crates/omnishell-repl/src/editor.rs:8:29
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{self, stdout, BufRead, Write};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> crates/omnishell-repl/src/editor.rs:8:29
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{self, stdout, BufRead, Write};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking omnishell v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/omnishell-repl/src/history.rs:411:17
[INFO] [stdout]     |
[INFO] [stdout] 411 |             let mut hist2 = History::with_file(&file_path);
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `,`, `.`, `?`, or an operator, found keyword `if`
[INFO] [stdout]   --> tests/parser_tests.rs:22:50
[INFO] [stdout]    |
[INFO] [stdout] 22 |     assert!(matches!(kind, ArgKind::Path(ref p)) if p == "/usr/bin");
[INFO] [stdout]    |                                                  ^^ expected one of `,`, `.`, `?`, or an operator
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `,`, `.`, `?`, or an operator, found keyword `if`
[INFO] [stdout]   --> tests/parser_tests.rs:25:50
[INFO] [stdout]    |
[INFO] [stdout] 25 |     assert!(matches!(kind, ArgKind::Path(ref p)) if p == "/tmp/test.txt");
[INFO] [stdout]    |                                                  ^^ expected one of `,`, `.`, `?`, or an operator
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `,`, `.`, `?`, or an operator, found keyword `if`
[INFO] [stdout]   --> tests/parser_tests.rs:28:50
[INFO] [stdout]    |
[INFO] [stdout] 28 |     assert!(matches!(kind, ArgKind::Path(ref p)) if p == "/etc/hosts");
[INFO] [stdout]    |                                                  ^^ expected one of `,`, `.`, `?`, or an operator
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `,`, `.`, `?`, or an operator, found keyword `if`
[INFO] [stdout]   --> tests/parser_tests.rs:31:50
[INFO] [stdout]    |
[INFO] [stdout] 31 |     assert!(matches!(kind, ArgKind::Path(ref p)) if p == "/mnt/unik/c/Windows");
[INFO] [stdout]    |                                                  ^^ expected one of `,`, `.`, `?`, or an operator
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Dialect` and `Personality`
[INFO] [stdout]  --> tests/integration_tests.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use omnishell_core::dialect::{Dialect, Personality};
[INFO] [stdout]   |                               ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strip_ansi`
[INFO] [stdout]  --> crates/omnishell-repl/tests/repl_tests.rs:4:69
[INFO] [stdout]   |
[INFO] [stdout] 4 |     format_posix_path, format_unik_posix_path, format_windows_path, strip_ansi, CandidateKind,
[INFO] [stdout]   |                                                                     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TokenKind` and `tokenize`
[INFO] [stdout]  --> tests/parser_tests.rs:3:55
[INFO] [stdout]   |
[INFO] [stdout] 3 | use omnishell_parser::{disambiguate_word, parse_line, tokenize, TokenKind};
[INFO] [stdout]   |                                                       ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_var` found for struct `VirtualEnv` in the current scope
[INFO] [stdout]   --> tests/integration_tests.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     env.set_var("HOME", "/mnt/unik/c/Users/Alice");
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: crates/omnishell-core/src/traits.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  9 |     fn set_var(&mut self, key: &str, value: &str);
[INFO] [stdout]    |        ------- the method is available for `VirtualEnv` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `get_var` with a similar name, but with different arguments
[INFO] [stdout]   --> crates/omnishell-core/src/traits.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     fn get_var(&self, key: &str) -> Option<String>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: trait `EnvironmentProvider` which provides `set_var` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  1 + use omnishell_core::EnvironmentProvider;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]   --> tests/parser_tests.rs:8:21
[INFO] [stdout]    |
[INFO] [stdout]  8 |     let (kind, _) = disambiguate_word("/w", Some("dir"), Dialect::WindowsCmd);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^       -----------  ------------------- unexpected argument #3 of type `Dialect`
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             unexpected argument #2 of type `Option<&str>`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> crates/omnishell-parser/src/disambiguator.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn disambiguate_word(raw: &str) -> Argument {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]    |
[INFO] [stdout]  8 -     let (kind, _) = disambiguate_word("/w", Some("dir"), Dialect::WindowsCmd);
[INFO] [stdout]  8 +     let (kind, _) = disambiguate_word("/w");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> tests/parser_tests.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let (kind, _) = disambiguate_word("/w", Some("dir"), Dialect::WindowsCmd);
[INFO] [stdout]   |         ^^^^^^^^^   --------------------------------------------------------- this expression has type `Argument`
[INFO] [stdout]   |         |
[INFO] [stdout]   |         expected `Argument`, found `(_, _)`
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected struct `Argument`
[INFO] [stdout]               found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_var` found for struct `VirtualEnv` in the current scope
[INFO] [stdout]   --> tests/integration_tests.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 |     assert_eq!(env.get_var("USERPROFILE").unwrap(), r"C:\Users\Alice");
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: crates/omnishell-core/src/traits.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  8 |     fn get_var(&self, key: &str) -> Option<String>;
[INFO] [stdout]    |        ------- the method is available for `VirtualEnv` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `set_var` with a similar name, but with different arguments
[INFO] [stdout]   --> crates/omnishell-core/src/traits.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     fn set_var(&mut self, key: &str, value: &str);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: trait `EnvironmentProvider` which provides `get_var` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  1 + use omnishell_core::EnvironmentProvider;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]   --> tests/parser_tests.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let (kind, _) = disambiguate_word("/s", Some("del"), Dialect::WindowsCmd);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^       -----------  ------------------- unexpected argument #3 of type `Dialect`
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             unexpected argument #2 of type `Option<&str>`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> crates/omnishell-parser/src/disambiguator.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn disambiguate_word(raw: &str) -> Argument {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]    |
[INFO] [stdout] 11 -     let (kind, _) = disambiguate_word("/s", Some("del"), Dialect::WindowsCmd);
[INFO] [stdout] 11 +     let (kind, _) = disambiguate_word("/s");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/parser_tests.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let (kind, _) = disambiguate_word("/s", Some("del"), Dialect::WindowsCmd);
[INFO] [stdout]    |         ^^^^^^^^^   --------------------------------------------------------- this expression has type `Argument`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected `Argument`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Argument`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]   --> tests/parser_tests.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let (kind, _) = disambiguate_word("/y", Some("copy"), Dialect::WindowsCmd);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^       ------------  ------------------- unexpected argument #3 of type `Dialect`
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             unexpected argument #2 of type `Option<&str>`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> crates/omnishell-parser/src/disambiguator.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn disambiguate_word(raw: &str) -> Argument {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]    |
[INFO] [stdout] 14 -     let (kind, _) = disambiguate_word("/y", Some("copy"), Dialect::WindowsCmd);
[INFO] [stdout] 14 +     let (kind, _) = disambiguate_word("/y");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/parser_tests.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let (kind, _) = disambiguate_word("/y", Some("copy"), Dialect::WindowsCmd);
[INFO] [stdout]    |         ^^^^^^^^^   ---------------------------------------------------------- this expression has type `Argument`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected `Argument`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Argument`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]   --> tests/parser_tests.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let (kind, _) = disambiguate_word("/a:h", Some("dir"), Dialect::WindowsCmd);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^         -----------  ------------------- unexpected argument #3 of type `Dialect`
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               unexpected argument #2 of type `Option<&str>`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> crates/omnishell-parser/src/disambiguator.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn disambiguate_word(raw: &str) -> Argument {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]    |
[INFO] [stdout] 17 -     let (kind, _) = disambiguate_word("/a:h", Some("dir"), Dialect::WindowsCmd);
[INFO] [stdout] 17 +     let (kind, _) = disambiguate_word("/a:h");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/parser_tests.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let (kind, _) = disambiguate_word("/a:h", Some("dir"), Dialect::WindowsCmd);
[INFO] [stdout]    |         ^^^^^^^^^   ----------------------------------------------------------- this expression has type `Argument`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected `Argument`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Argument`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]   --> tests/parser_tests.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (kind, _) = disambiguate_word("/usr/bin", Some("ls"), Dialect::Posix);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^             ----------  -------------- unexpected argument #3 of type `Dialect`
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   unexpected argument #2 of type `Option<&str>`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> crates/omnishell-parser/src/disambiguator.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn disambiguate_word(raw: &str) -> Argument {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]    |
[INFO] [stdout] 21 -     let (kind, _) = disambiguate_word("/usr/bin", Some("ls"), Dialect::Posix);
[INFO] [stdout] 21 +     let (kind, _) = disambiguate_word("/usr/bin");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/parser_tests.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (kind, _) = disambiguate_word("/usr/bin", Some("ls"), Dialect::Posix);
[INFO] [stdout]    |         ^^^^^^^^^   --------------------------------------------------------- this expression has type `Argument`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected `Argument`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Argument`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]   --> tests/parser_tests.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let (kind, _) = disambiguate_word("/tmp/test.txt", Some("cat"), Dialect::Posix);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^                  -----------  -------------- unexpected argument #3 of type `Dialect`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        unexpected argument #2 of type `Option<&str>`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> crates/omnishell-parser/src/disambiguator.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn disambiguate_word(raw: &str) -> Argument {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]    |
[INFO] [stdout] 24 -     let (kind, _) = disambiguate_word("/tmp/test.txt", Some("cat"), Dialect::Posix);
[INFO] [stdout] 24 +     let (kind, _) = disambiguate_word("/tmp/test.txt");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/parser_tests.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let (kind, _) = disambiguate_word("/tmp/test.txt", Some("cat"), Dialect::Posix);
[INFO] [stdout]    |         ^^^^^^^^^   --------------------------------------------------------------- this expression has type `Argument`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected `Argument`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Argument`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]   --> tests/parser_tests.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let (kind, _) = disambiguate_word("/etc/hosts", Some("type"), Dialect::AutoDetect);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^               ------------  ------------------- unexpected argument #3 of type `Dialect`
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     unexpected argument #2 of type `Option<&str>`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> crates/omnishell-parser/src/disambiguator.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn disambiguate_word(raw: &str) -> Argument {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]    |
[INFO] [stdout] 27 -     let (kind, _) = disambiguate_word("/etc/hosts", Some("type"), Dialect::AutoDetect);
[INFO] [stdout] 27 +     let (kind, _) = disambiguate_word("/etc/hosts");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/parser_tests.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let (kind, _) = disambiguate_word("/etc/hosts", Some("type"), Dialect::AutoDetect);
[INFO] [stdout]    |         ^^^^^^^^^   ------------------------------------------------------------------ this expression has type `Argument`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected `Argument`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Argument`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]   --> tests/parser_tests.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let (kind, _) = disambiguate_word("/mnt/unik/c/Windows", Some("dir"), Dialect::AutoDetect);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^                        -----------  ------------------- unexpected argument #3 of type `Dialect`
[INFO] [stdout]    |                                                              |
[INFO] [stdout]    |                                                              unexpected argument #2 of type `Option<&str>`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> crates/omnishell-parser/src/disambiguator.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn disambiguate_word(raw: &str) -> Argument {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]    |
[INFO] [stdout] 30 -     let (kind, _) = disambiguate_word("/mnt/unik/c/Windows", Some("dir"), Dialect::AutoDetect);
[INFO] [stdout] 30 +     let (kind, _) = disambiguate_word("/mnt/unik/c/Windows");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/parser_tests.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let (kind, _) = disambiguate_word("/mnt/unik/c/Windows", Some("dir"), Dialect::AutoDetect);
[INFO] [stdout]    |         ^^^^^^^^^   -------------------------------------------------------------------------- this expression has type `Argument`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected `Argument`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Argument`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]   --> tests/parser_tests.rs:36:21
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let (kind, _) = disambiguate_word("-la", Some("ls"), Dialect::Posix);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^        ----------  -------------- unexpected argument #3 of type `Dialect`
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              unexpected argument #2 of type `Option<&str>`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> crates/omnishell-parser/src/disambiguator.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn disambiguate_word(raw: &str) -> Argument {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]    |
[INFO] [stdout] 36 -     let (kind, _) = disambiguate_word("-la", Some("ls"), Dialect::Posix);
[INFO] [stdout] 36 +     let (kind, _) = disambiguate_word("-la");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/parser_tests.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let (kind, _) = disambiguate_word("-la", Some("ls"), Dialect::Posix);
[INFO] [stdout]    |         ^^^^^^^^^   ---------------------------------------------------- this expression has type `Argument`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected `Argument`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Argument`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]   --> tests/parser_tests.rs:39:21
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let (kind, _) = disambiguate_word("-rf", Some("rm"), Dialect::Posix);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^        ----------  -------------- unexpected argument #3 of type `Dialect`
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              unexpected argument #2 of type `Option<&str>`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> crates/omnishell-parser/src/disambiguator.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn disambiguate_word(raw: &str) -> Argument {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]    |
[INFO] [stdout] 39 -     let (kind, _) = disambiguate_word("-rf", Some("rm"), Dialect::Posix);
[INFO] [stdout] 39 +     let (kind, _) = disambiguate_word("-rf");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/parser_tests.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let (kind, _) = disambiguate_word("-rf", Some("rm"), Dialect::Posix);
[INFO] [stdout]    |         ^^^^^^^^^   ---------------------------------------------------- this expression has type `Argument`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected `Argument`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Argument`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]   --> tests/parser_tests.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let (kind, _) = disambiguate_word("--all", Some("ls"), Dialect::Posix);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^          ----------  -------------- unexpected argument #3 of type `Dialect`
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                unexpected argument #2 of type `Option<&str>`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> crates/omnishell-parser/src/disambiguator.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn disambiguate_word(raw: &str) -> Argument {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]    |
[INFO] [stdout] 42 -     let (kind, _) = disambiguate_word("--all", Some("ls"), Dialect::Posix);
[INFO] [stdout] 42 +     let (kind, _) = disambiguate_word("--all");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_var` found for struct `VirtualEnv` in the current scope
[INFO] [stdout]   --> tests/integration_tests.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 |     assert_eq!(env.get_var("home").unwrap(), "/mnt/unik/c/Users/Alice");
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: crates/omnishell-core/src/traits.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  8 |     fn get_var(&self, key: &str) -> Option<String>;
[INFO] [stdout]    |        ------- the method is available for `VirtualEnv` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `set_var` with a similar name, but with different arguments
[INFO] [stdout]   --> crates/omnishell-core/src/traits.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     fn set_var(&mut self, key: &str, value: &str);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: trait `EnvironmentProvider` which provides `get_var` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  1 + use omnishell_core::EnvironmentProvider;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/parser_tests.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let (kind, _) = disambiguate_word("--all", Some("ls"), Dialect::Posix);
[INFO] [stdout]    |         ^^^^^^^^^   ------------------------------------------------------ this expression has type `Argument`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected `Argument`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Argument`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]   --> tests/parser_tests.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let (kind, _) = disambiguate_word("--output=result.txt", Some("curl"), Dialect::Posix);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^                        ------------  -------------- unexpected argument #3 of type `Dialect`
[INFO] [stdout]    |                                                              |
[INFO] [stdout]    |                                                              unexpected argument #2 of type `Option<&str>`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> crates/omnishell-parser/src/disambiguator.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn disambiguate_word(raw: &str) -> Argument {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]    |
[INFO] [stdout] 45 -     let (kind, _) = disambiguate_word("--output=result.txt", Some("curl"), Dialect::Posix);
[INFO] [stdout] 45 +     let (kind, _) = disambiguate_word("--output=result.txt");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/parser_tests.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let (kind, _) = disambiguate_word("--output=result.txt", Some("curl"), Dialect::Posix);
[INFO] [stdout]    |         ^^^^^^^^^   ---------------------------------------------------------------------- this expression has type `Argument`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected `Argument`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Argument`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]   --> tests/parser_tests.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let (kind, _) = disambiguate_word("$HOME", Some("echo"), Dialect::Posix);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^          ------------  -------------- unexpected argument #3 of type `Dialect`
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                unexpected argument #2 of type `Option<&str>`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> crates/omnishell-parser/src/disambiguator.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn disambiguate_word(raw: &str) -> Argument {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]    |
[INFO] [stdout] 51 -     let (kind, _) = disambiguate_word("$HOME", Some("echo"), Dialect::Posix);
[INFO] [stdout] 51 +     let (kind, _) = disambiguate_word("$HOME");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/parser_tests.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let (kind, _) = disambiguate_word("$HOME", Some("echo"), Dialect::Posix);
[INFO] [stdout]    |         ^^^^^^^^^   -------------------------------------------------------- this expression has type `Argument`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected `Argument`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Argument`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]   --> tests/parser_tests.rs:54:21
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let (kind, _) = disambiguate_word("${USERPROFILE}", Some("echo"), Dialect::Posix);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^                   ------------  -------------- unexpected argument #3 of type `Dialect`
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         unexpected argument #2 of type `Option<&str>`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> crates/omnishell-parser/src/disambiguator.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn disambiguate_word(raw: &str) -> Argument {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]    |
[INFO] [stdout] 54 -     let (kind, _) = disambiguate_word("${USERPROFILE}", Some("echo"), Dialect::Posix);
[INFO] [stdout] 54 +     let (kind, _) = disambiguate_word("${USERPROFILE}");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/parser_tests.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let (kind, _) = disambiguate_word("${USERPROFILE}", Some("echo"), Dialect::Posix);
[INFO] [stdout]    |         ^^^^^^^^^   ----------------------------------------------------------------- this expression has type `Argument`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected `Argument`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Argument`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]   --> tests/parser_tests.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let (kind, _) = disambiguate_word("%TEMP%", Some("echo"), Dialect::WindowsCmd);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^           ------------  ------------------- unexpected argument #3 of type `Dialect`
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 unexpected argument #2 of type `Option<&str>`
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> crates/omnishell-parser/src/disambiguator.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn disambiguate_word(raw: &str) -> Argument {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]    |
[INFO] [stdout] 57 -     let (kind, _) = disambiguate_word("%TEMP%", Some("echo"), Dialect::WindowsCmd);
[INFO] [stdout] 57 +     let (kind, _) = disambiguate_word("%TEMP%");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/parser_tests.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let (kind, _) = disambiguate_word("%TEMP%", Some("echo"), Dialect::WindowsCmd);
[INFO] [stdout]    |         ^^^^^^^^^   -------------------------------------------------------------- this expression has type `Argument`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected `Argument`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Argument`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_var` found for struct `VirtualEnv` in the current scope
[INFO] [stdout]   --> tests/integration_tests.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     env.set_var("USERPROFILE", r"D:\Users\Bob");
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: crates/omnishell-core/src/traits.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  9 |     fn set_var(&mut self, key: &str, value: &str);
[INFO] [stdout]    |        ------- the method is available for `VirtualEnv` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `get_var` with a similar name, but with different arguments
[INFO] [stdout]   --> crates/omnishell-core/src/traits.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     fn get_var(&self, key: &str) -> Option<String>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: trait `EnvironmentProvider` which provides `set_var` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  1 + use omnishell_core::EnvironmentProvider;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_var` found for struct `VirtualEnv` in the current scope
[INFO] [stdout]   --> tests/integration_tests.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 |     assert_eq!(env.get_var("HOME").unwrap(), "/mnt/unik/d/Users/Bob");
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: crates/omnishell-core/src/traits.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  8 |     fn get_var(&self, key: &str) -> Option<String>;
[INFO] [stdout]    |        ------- the method is available for `VirtualEnv` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `set_var` with a similar name, but with different arguments
[INFO] [stdout]   --> crates/omnishell-core/src/traits.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     fn set_var(&mut self, key: &str, value: &str);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: trait `EnvironmentProvider` which provides `get_var` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  1 + use omnishell_core::EnvironmentProvider;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_var` found for struct `VirtualEnv` in the current scope
[INFO] [stdout]   --> tests/integration_tests.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     env.set_var("TEMP", "/tmp");
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: crates/omnishell-core/src/traits.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  9 |     fn set_var(&mut self, key: &str, value: &str);
[INFO] [stdout]    |        ------- the method is available for `VirtualEnv` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `get_var` with a similar name, but with different arguments
[INFO] [stdout]   --> crates/omnishell-core/src/traits.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     fn get_var(&self, key: &str) -> Option<String>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: trait `EnvironmentProvider` which provides `set_var` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  1 + use omnishell_core::EnvironmentProvider;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_var` found for struct `VirtualEnv` in the current scope
[INFO] [stdout]   --> tests/integration_tests.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 |     assert_eq!(env.get_var("TEMP").unwrap(), "/tmp");
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: crates/omnishell-core/src/traits.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  8 |     fn get_var(&self, key: &str) -> Option<String>;
[INFO] [stdout]    |        ------- the method is available for `VirtualEnv` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `set_var` with a similar name, but with different arguments
[INFO] [stdout]   --> crates/omnishell-core/src/traits.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     fn set_var(&mut self, key: &str, value: &str);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: trait `EnvironmentProvider` which provides `get_var` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  1 + use omnishell_core::EnvironmentProvider;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_var` found for struct `VirtualEnv` in the current scope
[INFO] [stdout]   --> tests/integration_tests.rs:29:20
[INFO] [stdout]    |
[INFO] [stdout] 29 |     assert_eq!(env.get_var("TMP").unwrap(), "/tmp");
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: crates/omnishell-core/src/traits.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  8 |     fn get_var(&self, key: &str) -> Option<String>;
[INFO] [stdout]    |        ------- the method is available for `VirtualEnv` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `set_var` with a similar name, but with different arguments
[INFO] [stdout]   --> crates/omnishell-core/src/traits.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     fn set_var(&mut self, key: &str, value: &str);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: trait `EnvironmentProvider` which provides `get_var` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  1 + use omnishell_core::EnvironmentProvider;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_var` found for struct `VirtualEnv` in the current scope
[INFO] [stdout]   --> tests/integration_tests.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     env.set_var("PATH", "/bin:/usr/bin:/mnt/unik/c/Windows/System32");
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: crates/omnishell-core/src/traits.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  9 |     fn set_var(&mut self, key: &str, value: &str);
[INFO] [stdout]    |        ------- the method is available for `VirtualEnv` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `get_var` with a similar name, but with different arguments
[INFO] [stdout]   --> crates/omnishell-core/src/traits.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     fn get_var(&self, key: &str) -> Option<String>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: trait `EnvironmentProvider` which provides `set_var` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  1 + use omnishell_core::EnvironmentProvider;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_var` found for struct `VirtualEnv` in the current scope
[INFO] [stdout]   --> tests/integration_tests.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let win_path = env.get_var("Path").unwrap();
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: crates/omnishell-core/src/traits.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  8 |     fn get_var(&self, key: &str) -> Option<String>;
[INFO] [stdout]    |        ------- the method is available for `VirtualEnv` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `set_var` with a similar name, but with different arguments
[INFO] [stdout]   --> crates/omnishell-core/src/traits.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     fn set_var(&mut self, key: &str, value: &str);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: trait `EnvironmentProvider` which provides `get_var` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  1 + use omnishell_core::EnvironmentProvider;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `omnishell` (test "parser_tests") due to 34 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0599]: no method named `to_windows` found for struct `PathNormalizer` in the current scope
[INFO] [stdout]   --> tests/integration_tests.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |     assert_eq!(norm.to_windows("/mnt/unik/c/Users/UniK/test.txt"), r"C:\Users\UniK\test.txt");
[INFO] [stdout]    |                     ^^^^^^^^^^ this is an associated function, not a method
[INFO] [stdout]    |
[INFO] [stdout]    = note: found the following associated functions; to be used as methods, functions must have a `self` parameter
[INFO] [stdout]    = note: the candidate is defined in an impl for the type `PathNormalizer`
[INFO] [stdout] help: use associated function syntax instead
[INFO] [stdout]    |
[INFO] [stdout] 47 -     assert_eq!(norm.to_windows("/mnt/unik/c/Users/UniK/test.txt"), r"C:\Users\UniK\test.txt");
[INFO] [stdout] 47 +     assert_eq!(PathNormalizer::to_windows("/mnt/unik/c/Users/UniK/test.txt"), r"C:\Users\UniK\test.txt");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_windows` found for struct `PathNormalizer` in the current scope
[INFO] [stdout]   --> tests/integration_tests.rs:48:21
[INFO] [stdout]    |
[INFO] [stdout] 48 |     assert_eq!(norm.to_windows("/mnt/unik/d/Data/Repo"), r"D:\Data\Repo");
[INFO] [stdout]    |                     ^^^^^^^^^^ this is an associated function, not a method
[INFO] [stdout]    |
[INFO] [stdout]    = note: found the following associated functions; to be used as methods, functions must have a `self` parameter
[INFO] [stdout]    = note: the candidate is defined in an impl for the type `PathNormalizer`
[INFO] [stdout] help: use associated function syntax instead
[INFO] [stdout]    |
[INFO] [stdout] 48 -     assert_eq!(norm.to_windows("/mnt/unik/d/Data/Repo"), r"D:\Data\Repo");
[INFO] [stdout] 48 +     assert_eq!(PathNormalizer::to_windows("/mnt/unik/d/Data/Repo"), r"D:\Data\Repo");
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `omnishell` (test "integration_tests") due to 12 previous errors; 1 warning emitted
[INFO] [stderr] warning: unused dependency `regex`
[INFO] [stderr]   --> crates/omnishell-parser/Cargo.toml:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | regex = "1.10"
[INFO] [stderr]    | ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `regex`
[INFO] [stderr] warning: `omnishell-parser` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "inspect" "86f930ceb2603df6c5944f59382e335e479f23d351ceb100be0c396a9197def1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86f930ceb2603df6c5944f59382e335e479f23d351ceb100be0c396a9197def1", kill_on_drop: false }`
[INFO] [stdout] 86f930ceb2603df6c5944f59382e335e479f23d351ceb100be0c396a9197def1
