[INFO] fetching crate gears 0.1.7...
[INFO] checking gears-0.1.7 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate gears 0.1.7 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate gears 0.1.7 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate gears 0.1.7
[INFO] finished tweaking crates.io crate gears 0.1.7
[INFO] tweaked toml for crates.io crate gears 0.1.7 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded peg v0.5.7
[INFO] [stderr]   Downloaded jsonapi v0.6.6
[INFO] [stderr]   Downloaded utf8-ranges v1.0.5
[INFO] [stderr]   Downloaded queryst v2.1.0
[INFO] [stderr]   Downloaded quote v0.3.15
[INFO] [stderr]   Downloaded ratel v0.7.0
[INFO] [stderr]   Downloaded collect-mac v0.1.0
[INFO] [stderr]   Downloaded string_cache_shared v0.3.0
[INFO] [stderr]   Downloaded ascii-canvas v1.0.0
[INFO] [stderr]   Downloaded string_cache_codegen v0.4.4
[INFO] [stderr]   Downloaded glob v0.2.11
[INFO] [stderr]   Downloaded docopt v1.1.1
[INFO] [stderr]   Downloaded ordermap v0.3.5
[INFO] [stderr]   Downloaded lalrpop v0.16.3
[INFO] [stderr]   Downloaded regex-syntax v0.5.6
[INFO] [stderr]   Downloaded regex v0.2.11
[INFO] [stderr]   Downloaded gluon v0.11.2
[INFO] [stderr]   Downloaded frunk_core v0.2.4
[INFO] [stderr]   Downloaded rpds v0.5.0
[INFO] [stderr]   Downloaded ena v0.11.0
[INFO] [stderr]   Downloaded string_cache v0.7.5
[INFO] [stderr]   Downloaded lalrpop-util v0.16.3
[INFO] [stderr]   Downloaded codespan v0.2.1
[INFO] [stderr]   Downloaded aho-corasick v0.6.10
[INFO] [stderr]   Downloaded ucd-util v0.1.10
[INFO] [stderr]   Downloaded union-find v0.3.3
[INFO] [stderr]   Downloaded mopa v0.2.2
[INFO] [stderr]   Downloaded pretty v0.5.2
[INFO] [stderr]   Downloaded typed-arena v1.7.0
[INFO] [stderr]   Downloaded gluon_codegen v0.11.2
[INFO] [stderr]   Downloaded gluon_check v0.11.2
[INFO] [stderr]   Downloaded gluon_parser v0.11.2
[INFO] [stderr]   Downloaded codespan-reporting v0.2.1
[INFO] [stderr]   Downloaded gluon_vm v0.11.2
[INFO] [stderr]   Downloaded gluon_format v0.11.2
[INFO] [stderr]   Downloaded gluon_base v0.11.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6c0a8d082697c5887da574e6d9d1a5660ebd9087b70b181dd84f972fb944f840
[INFO] running `Command { std: "docker" "start" "-a" "6c0a8d082697c5887da574e6d9d1a5660ebd9087b70b181dd84f972fb944f840", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6c0a8d082697c5887da574e6d9d1a5660ebd9087b70b181dd84f972fb944f840", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6c0a8d082697c5887da574e6d9d1a5660ebd9087b70b181dd84f972fb944f840", kill_on_drop: false }`
[INFO] [stdout] 6c0a8d082697c5887da574e6d9d1a5660ebd9087b70b181dd84f972fb944f840
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e00cfed061c6a896e40bcfdde0ec087d8ec542a1d506d64d4cccea1b6aead80b
[INFO] running `Command { std: "docker" "start" "-a" "e00cfed061c6a896e40bcfdde0ec087d8ec542a1d506d64d4cccea1b6aead80b", kill_on_drop: false }`
[INFO] [stderr]     Checking ucd-util v0.1.10
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]     Checking aho-corasick v0.6.10
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking utf8-ranges v1.0.5
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking glob v0.2.11
[INFO] [stderr]     Checking ratel v0.7.0
[INFO] [stderr]     Checking env_logger v0.6.2
[INFO] [stderr]     Checking regex-syntax v0.5.6
[INFO] [stderr]    Compiling peg v0.5.7
[INFO] [stderr]     Checking rand v0.6.5
[INFO] [stderr]     Checking serde_yaml v0.8.26
[INFO] [stderr]     Checking tempdir v0.3.7
[INFO] [stderr]    Compiling gears v0.1.7 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking uuid v0.7.4
[INFO] [stderr]     Checking queryst v2.1.0
[INFO] [stderr]     Checking backtrace v0.3.71
[INFO] [stderr]     Checking jsonapi v0.6.6
[INFO] [stdout] warning: the item `serde` is imported redundantly
[INFO] [stdout]   --> src/structure/common.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout] 1  | use serde;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | extern crate serde;
[INFO] [stdout]    | ------------------- the item `serde` is already imported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]   --> src/structure/common.rs:2:5
[INFO] [stdout]    |
[INFO] [stdout] 2  | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | extern crate serde_json;
[INFO] [stdout]    | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_yaml` is imported redundantly
[INFO] [stdout]   --> src/structure/common.rs:3:5
[INFO] [stdout]    |
[INFO] [stdout] 3  | use serde_yaml;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | extern crate serde_yaml;
[INFO] [stdout]    | ------------------------ the item `serde_yaml` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]  --> src/structure/model.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 2 | use uuid::Uuid;
[INFO] [stdout] 3 | use jsonapi::model::*;
[INFO] [stdout]   |     ----------------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glob::glob_with`
[INFO] [stdout]  --> src/structure/model.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use glob::glob_with;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]  --> src/structure/gxmodel.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 2 | use uuid::Uuid;
[INFO] [stdout] 3 | use jsonapi::model::*;
[INFO] [stdout]   |     ----------------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glob::glob_with`
[INFO] [stdout]  --> src/structure/gxmodel.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use glob::glob_with;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]  --> src/structure/page.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, BTreeMap};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4 | use jsonapi::model::*;
[INFO] [stdout]   |     ----------------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `I18NString`
[INFO] [stdout]  --> src/structure/modelconfig.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::common::{Document, I18NString};
[INFO] [stdout]   |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]  --> src/structure/translation.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, BTreeMap};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 4 | use serde::{Serialize, Serializer};
[INFO] [stdout] 5 | use jsonapi::model::*;
[INFO] [stdout]   |     ----------------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/validation/gxmodel.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/validation/gxmodel.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ::std::collections::HashSet<&'static str>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout] 6  |         unused_qualifications
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 11 -     ::std::collections::HashSet<&'static str>,
[INFO] [stdout] 11 +     std::collections::HashSet<&'static str>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:12:57
[INFO] [stdout]    |
[INFO] [stdout] 12 | } pub type ParseResult<T> = Result<T, ParseError>; impl ::std::fmt::Display
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 12 - } pub type ParseResult<T> = Result<T, ParseError>; impl ::std::fmt::Display
[INFO] [stdout] 12 + } pub type ParseResult<T> = Result<T, ParseError>; impl std::fmt::Display
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn fmt(&self, fmt: &mut ::std::fmt::Formatter) ->
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 15 -     fn fmt(&self, fmt: &mut ::std::fmt::Formatter) ->
[INFO] [stdout] 15 +     fn fmt(&self, fmt: &mut std::fmt::Formatter) ->
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ::std::result::Result<(), ::std::fmt::Error>
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 16 -     ::std::result::Result<(), ::std::fmt::Error>
[INFO] [stdout] 16 +     Result<(), ::std::fmt::Error>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:16:31
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ::std::result::Result<(), ::std::fmt::Error>
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 16 -     ::std::result::Result<(), ::std::fmt::Error>
[INFO] [stdout] 16 +     ::std::result::Result<(), std::fmt::Error>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | } impl ::std::error::Error for ParseError
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 31 - } impl ::std::error::Error for ParseError
[INFO] [stdout] 31 + } impl std::error::Error for ParseError
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:75:91
[INFO] [stdout]    |
[INFO] [stdout] 75 | ...size , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomD...
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 - } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout] 75 + } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:75:155
[INFO] [stdout]    |
[INFO] [stdout] 75 | ... :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > ...
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 - } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout] 75 + } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:75:348
[INFO] [stdout]    |
[INFO] [stdout] 75 | ...x_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomDat...
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 - } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout] 75 + } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:75:405
[INFO] [stdout]    |
[INFO] [stdout] 75 | ... :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 - } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout] 75 + } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:119:502
[INFO] [stdout]     |
[INFO] [stdout] 119 | ...nge_at ( __input , __pos ) ; match __ch { '0' ... '9' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9]" ) , ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:123:601
[INFO] [stdout]     |
[INFO] [stdout] 123 | ...nge_at ( __input , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:123:615
[INFO] [stdout]     |
[INFO] [stdout] 123 | ...ut , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[A-Za-z]" )...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:135:600
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...nge_at ( __input , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:135:614
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...ut , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[A-Za-z]" )...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:157:957
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...nge_at ( __input , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:157:971
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...ut , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[A-Za-z]" )...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/util/fs.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde` is imported redundantly
[INFO] [stdout]   --> src/structure/common.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout] 1  | use serde;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | extern crate serde;
[INFO] [stdout]    | ------------------- the item `serde` is already imported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]   --> src/structure/common.rs:2:5
[INFO] [stdout]    |
[INFO] [stdout] 2  | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | extern crate serde_json;
[INFO] [stdout]    | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_yaml` is imported redundantly
[INFO] [stdout]   --> src/structure/common.rs:3:5
[INFO] [stdout]    |
[INFO] [stdout] 3  | use serde_yaml;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | extern crate serde_yaml;
[INFO] [stdout]    | ------------------------ the item `serde_yaml` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]  --> src/structure/model.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 2 | use uuid::Uuid;
[INFO] [stdout] 3 | use jsonapi::model::*;
[INFO] [stdout]   |     ----------------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glob::glob_with`
[INFO] [stdout]  --> src/structure/model.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use glob::glob_with;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]  --> src/structure/gxmodel.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 2 | use uuid::Uuid;
[INFO] [stdout] 3 | use jsonapi::model::*;
[INFO] [stdout]   |     ----------------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glob::glob_with`
[INFO] [stdout]  --> src/structure/gxmodel.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use glob::glob_with;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]  --> src/structure/page.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, BTreeMap};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4 | use jsonapi::model::*;
[INFO] [stdout]   |     ----------------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `I18NString`
[INFO] [stdout]  --> src/structure/modelconfig.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::common::{Document, I18NString};
[INFO] [stdout]   |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]  --> src/structure/translation.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, BTreeMap};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 4 | use serde::{Serialize, Serializer};
[INFO] [stdout] 5 | use jsonapi::model::*;
[INFO] [stdout]   |     ----------------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/validation/gxmodel.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/validation/gxmodel.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ::std::collections::HashSet<&'static str>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout] 6  |         unused_qualifications
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 11 -     ::std::collections::HashSet<&'static str>,
[INFO] [stdout] 11 +     std::collections::HashSet<&'static str>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:12:57
[INFO] [stdout]    |
[INFO] [stdout] 12 | } pub type ParseResult<T> = Result<T, ParseError>; impl ::std::fmt::Display
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 12 - } pub type ParseResult<T> = Result<T, ParseError>; impl ::std::fmt::Display
[INFO] [stdout] 12 + } pub type ParseResult<T> = Result<T, ParseError>; impl std::fmt::Display
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn fmt(&self, fmt: &mut ::std::fmt::Formatter) ->
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 15 -     fn fmt(&self, fmt: &mut ::std::fmt::Formatter) ->
[INFO] [stdout] 15 +     fn fmt(&self, fmt: &mut std::fmt::Formatter) ->
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ::std::result::Result<(), ::std::fmt::Error>
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 16 -     ::std::result::Result<(), ::std::fmt::Error>
[INFO] [stdout] 16 +     Result<(), ::std::fmt::Error>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:16:31
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ::std::result::Result<(), ::std::fmt::Error>
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 16 -     ::std::result::Result<(), ::std::fmt::Error>
[INFO] [stdout] 16 +     ::std::result::Result<(), std::fmt::Error>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | } impl ::std::error::Error for ParseError
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 31 - } impl ::std::error::Error for ParseError
[INFO] [stdout] 31 + } impl std::error::Error for ParseError
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:75:91
[INFO] [stdout]    |
[INFO] [stdout] 75 | ...size , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomD...
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 - } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout] 75 + } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:75:155
[INFO] [stdout]    |
[INFO] [stdout] 75 | ... :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > ...
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 - } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout] 75 + } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:75:348
[INFO] [stdout]    |
[INFO] [stdout] 75 | ...x_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomDat...
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 - } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout] 75 + } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:75:405
[INFO] [stdout]    |
[INFO] [stdout] 75 | ... :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 - } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout] 75 + } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:119:502
[INFO] [stdout]     |
[INFO] [stdout] 119 | ...nge_at ( __input , __pos ) ; match __ch { '0' ... '9' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9]" ) , ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:123:601
[INFO] [stdout]     |
[INFO] [stdout] 123 | ...nge_at ( __input , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:123:615
[INFO] [stdout]     |
[INFO] [stdout] 123 | ...ut , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[A-Za-z]" )...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:135:600
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...nge_at ( __input , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:135:614
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...ut , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[A-Za-z]" )...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:157:957
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...nge_at ( __input , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:157:971
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...ut , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[A-Za-z]" )...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/util/fs.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:20:68
[INFO] [stdout]    |
[INFO] [stdout] 20 |         Err(why) => panic!("couldn't open {}: {}", display, Error::description(&why)),
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:26:56
[INFO] [stdout]    |
[INFO] [stdout] 26 |         panic!("couldn't read {}: {}", display, Error::description(&why));
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/runtime/dispatcher.rs:7:49
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Receivers<'a> = HashMap<XFlowNodeType, Box<Dispatchable + 'a>>;
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Receivers<'a> = HashMap<XFlowNodeType, Box<dyn Dispatchable + 'a>>;
[INFO] [stdout]   |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:20:68
[INFO] [stdout]    |
[INFO] [stdout] 20 |         Err(why) => panic!("couldn't open {}: {}", display, Error::description(&why)),
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:26:56
[INFO] [stdout]    |
[INFO] [stdout] 26 |         panic!("couldn't read {}: {}", display, Error::description(&why));
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/runtime/dispatcher.rs:7:49
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Receivers<'a> = HashMap<XFlowNodeType, Box<Dispatchable + 'a>>;
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Receivers<'a> = HashMap<XFlowNodeType, Box<dyn Dispatchable + 'a>>;
[INFO] [stdout]   |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:38:59
[INFO] [stdout]    |
[INFO] [stdout] 38 |             error!("couldn't create {}: {}", display, why.description());
[INFO] [stdout]    |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:39:59
[INFO] [stdout]    |
[INFO] [stdout] 39 |             panic!("couldn't create {}: {}", display, why.description());
[INFO] [stdout]    |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:46:61
[INFO] [stdout]    |
[INFO] [stdout] 46 |             error!("couldn't write to {}: {}", display, why.description());
[INFO] [stdout]    |                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:47:61
[INFO] [stdout]    |
[INFO] [stdout] 47 |             panic!("couldn't write to {}: {}", display, why.description());
[INFO] [stdout]    |                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:38:59
[INFO] [stdout]    |
[INFO] [stdout] 38 |             error!("couldn't create {}: {}", display, why.description());
[INFO] [stdout]    |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:39:59
[INFO] [stdout]    |
[INFO] [stdout] 39 |             panic!("couldn't create {}: {}", display, why.description());
[INFO] [stdout]    |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:46:61
[INFO] [stdout]    |
[INFO] [stdout] 46 |             error!("couldn't write to {}: {}", display, why.description());
[INFO] [stdout]    |                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:47:61
[INFO] [stdout]    |
[INFO] [stdout] 47 |             panic!("couldn't write to {}: {}", display, why.description());
[INFO] [stdout]    |                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]   --> src/validation/gxmodel.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn validate(model: &GxModel) -> ValidationErrors {
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/validation/gxmodel.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let mut errors = Vec::<ValidationError>::new();
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/util/fs.rs:163:21
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 let mut doc = match <T>::from_json(&json) {
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pad_translation_doc` is never used
[INFO] [stdout]   --> src/structure/model.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn pad_translation_doc(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/util/fs.rs:174:16
[INFO] [stdout]     |
[INFO] [stdout] 174 |         panic!(format!("model_from_fs : unable to read from path : {}", path));
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 174 -         panic!(format!("model_from_fs : unable to read from path : {}", path));
[INFO] [stdout] 174 +         panic!("model_from_fs : unable to read from path : {}", path);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/util/fs.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     model.add_locale(&default_locale);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let _ = model.add_locale(&default_locale);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors; 33 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]   --> src/validation/gxmodel.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn validate(model: &GxModel) -> ValidationErrors {
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/validation/gxmodel.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let mut errors = Vec::<ValidationError>::new();
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gears` (lib test) due to 11 previous errors; 33 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/util/fs.rs:163:21
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 let mut doc = match <T>::from_json(&json) {
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pad_translation_doc` is never used
[INFO] [stdout]   --> src/structure/model.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn pad_translation_doc(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/util/fs.rs:174:16
[INFO] [stdout]     |
[INFO] [stdout] 174 |         panic!(format!("model_from_fs : unable to read from path : {}", path));
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 174 -         panic!(format!("model_from_fs : unable to read from path : {}", path));
[INFO] [stdout] 174 +         panic!("model_from_fs : unable to read from path : {}", path);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/util/fs.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     model.add_locale(&default_locale);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let _ = model.add_locale(&default_locale);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors; 33 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gears` (lib) due to 11 previous errors; 33 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e00cfed061c6a896e40bcfdde0ec087d8ec542a1d506d64d4cccea1b6aead80b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e00cfed061c6a896e40bcfdde0ec087d8ec542a1d506d64d4cccea1b6aead80b", kill_on_drop: false }`
[INFO] [stdout] e00cfed061c6a896e40bcfdde0ec087d8ec542a1d506d64d4cccea1b6aead80b
[INFO] checking gears-0.1.7 against try#72eda894eb3548c7ba774079ce0afab42958d4ee for pr-121848-1
[INFO] extracting crate gears 0.1.7 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate gears 0.1.7 on toolchain 72eda894eb3548c7ba774079ce0afab42958d4ee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate gears 0.1.7
[INFO] finished tweaking crates.io crate gears 0.1.7
[INFO] tweaked toml for crates.io crate gears 0.1.7 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8502fdb86e5051549b580666ad54fc66298250d613fca2a97f14094d140fad19
[INFO] running `Command { std: "docker" "start" "-a" "8502fdb86e5051549b580666ad54fc66298250d613fca2a97f14094d140fad19", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8502fdb86e5051549b580666ad54fc66298250d613fca2a97f14094d140fad19", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8502fdb86e5051549b580666ad54fc66298250d613fca2a97f14094d140fad19", kill_on_drop: false }`
[INFO] [stdout] 8502fdb86e5051549b580666ad54fc66298250d613fca2a97f14094d140fad19
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b2dcd1d3e5f707451c6d3ff1df1cbbd86344c8bd540b63ce2d5a47b0c788f3a5
[INFO] running `Command { std: "docker" "start" "-a" "b2dcd1d3e5f707451c6d3ff1df1cbbd86344c8bd540b63ce2d5a47b0c788f3a5", kill_on_drop: false }`
[INFO] [stderr]     Checking ucd-util v0.1.10
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]     Checking aho-corasick v0.6.10
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking utf8-ranges v1.0.5
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking ratel v0.7.0
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking glob v0.2.11
[INFO] [stderr]     Checking env_logger v0.6.2
[INFO] [stderr]     Checking rand v0.6.5
[INFO] [stderr]     Checking regex-syntax v0.5.6
[INFO] [stderr]    Compiling peg v0.5.7
[INFO] [stderr]     Checking serde_yaml v0.8.26
[INFO] [stderr]     Checking tempdir v0.3.7
[INFO] [stderr]     Checking uuid v0.7.4
[INFO] [stderr]    Compiling gears v0.1.7 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking queryst v2.1.0
[INFO] [stderr]     Checking backtrace v0.3.71
[INFO] [stderr]     Checking jsonapi v0.6.6
[INFO] [stdout] warning: the item `serde` is imported redundantly
[INFO] [stdout]   --> src/structure/common.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout] 1  | use serde;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | extern crate serde;
[INFO] [stdout]    | ------------------- the item `serde` is already imported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]   --> src/structure/common.rs:2:5
[INFO] [stdout]    |
[INFO] [stdout] 2  | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | extern crate serde_json;
[INFO] [stdout]    | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_yaml` is imported redundantly
[INFO] [stdout]   --> src/structure/common.rs:3:5
[INFO] [stdout]    |
[INFO] [stdout] 3  | use serde_yaml;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | extern crate serde_yaml;
[INFO] [stdout]    | ------------------------ the item `serde_yaml` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]  --> src/structure/model.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 2 | use uuid::Uuid;
[INFO] [stdout] 3 | use jsonapi::model::*;
[INFO] [stdout]   |     ----------------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glob::glob_with`
[INFO] [stdout]  --> src/structure/model.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use glob::glob_with;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]  --> src/structure/gxmodel.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 2 | use uuid::Uuid;
[INFO] [stdout] 3 | use jsonapi::model::*;
[INFO] [stdout]   |     ----------------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glob::glob_with`
[INFO] [stdout]  --> src/structure/gxmodel.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use glob::glob_with;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]  --> src/structure/page.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, BTreeMap};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4 | use jsonapi::model::*;
[INFO] [stdout]   |     ----------------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `I18NString`
[INFO] [stdout]  --> src/structure/modelconfig.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::common::{Document, I18NString};
[INFO] [stdout]   |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]  --> src/structure/translation.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, BTreeMap};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 4 | use serde::{Serialize, Serializer};
[INFO] [stdout] 5 | use jsonapi::model::*;
[INFO] [stdout]   |     ----------------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/validation/gxmodel.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/validation/gxmodel.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ::std::collections::HashSet<&'static str>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout] 6  |         unused_qualifications
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 11 -     ::std::collections::HashSet<&'static str>,
[INFO] [stdout] 11 +     std::collections::HashSet<&'static str>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:12:57
[INFO] [stdout]    |
[INFO] [stdout] 12 | } pub type ParseResult<T> = Result<T, ParseError>; impl ::std::fmt::Display
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 12 - } pub type ParseResult<T> = Result<T, ParseError>; impl ::std::fmt::Display
[INFO] [stdout] 12 + } pub type ParseResult<T> = Result<T, ParseError>; impl std::fmt::Display
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn fmt(&self, fmt: &mut ::std::fmt::Formatter) ->
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 15 -     fn fmt(&self, fmt: &mut ::std::fmt::Formatter) ->
[INFO] [stdout] 15 +     fn fmt(&self, fmt: &mut std::fmt::Formatter) ->
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ::std::result::Result<(), ::std::fmt::Error>
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 16 -     ::std::result::Result<(), ::std::fmt::Error>
[INFO] [stdout] 16 +     Result<(), ::std::fmt::Error>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:16:31
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ::std::result::Result<(), ::std::fmt::Error>
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 16 -     ::std::result::Result<(), ::std::fmt::Error>
[INFO] [stdout] 16 +     ::std::result::Result<(), std::fmt::Error>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | } impl ::std::error::Error for ParseError
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 31 - } impl ::std::error::Error for ParseError
[INFO] [stdout] 31 + } impl std::error::Error for ParseError
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:75:91
[INFO] [stdout]    |
[INFO] [stdout] 75 | ...size , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomD...
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 - } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout] 75 + } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:75:155
[INFO] [stdout]    |
[INFO] [stdout] 75 | ... :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > ...
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 - } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout] 75 + } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:75:348
[INFO] [stdout]    |
[INFO] [stdout] 75 | ...x_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomDat...
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 - } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout] 75 + } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:75:405
[INFO] [stdout]    |
[INFO] [stdout] 75 | ... :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 - } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout] 75 + } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:119:502
[INFO] [stdout]     |
[INFO] [stdout] 119 | ...nge_at ( __input , __pos ) ; match __ch { '0' ... '9' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9]" ) , ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:123:601
[INFO] [stdout]     |
[INFO] [stdout] 123 | ...nge_at ( __input , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:123:615
[INFO] [stdout]     |
[INFO] [stdout] 123 | ...ut , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[A-Za-z]" )...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:135:600
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...nge_at ( __input , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:135:614
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...ut , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[A-Za-z]" )...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:157:957
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...nge_at ( __input , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:157:971
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...ut , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[A-Za-z]" )...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/util/fs.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde` is imported redundantly
[INFO] [stdout]   --> src/structure/common.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout] 1  | use serde;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | extern crate serde;
[INFO] [stdout]    | ------------------- the item `serde` is already imported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]   --> src/structure/common.rs:2:5
[INFO] [stdout]    |
[INFO] [stdout] 2  | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | extern crate serde_json;
[INFO] [stdout]    | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_yaml` is imported redundantly
[INFO] [stdout]   --> src/structure/common.rs:3:5
[INFO] [stdout]    |
[INFO] [stdout] 3  | use serde_yaml;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | extern crate serde_yaml;
[INFO] [stdout]    | ------------------------ the item `serde_yaml` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]  --> src/structure/model.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 2 | use uuid::Uuid;
[INFO] [stdout] 3 | use jsonapi::model::*;
[INFO] [stdout]   |     ----------------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glob::glob_with`
[INFO] [stdout]  --> src/structure/model.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use glob::glob_with;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]  --> src/structure/gxmodel.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 2 | use uuid::Uuid;
[INFO] [stdout] 3 | use jsonapi::model::*;
[INFO] [stdout]   |     ----------------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glob::glob_with`
[INFO] [stdout]  --> src/structure/gxmodel.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use glob::glob_with;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]  --> src/structure/page.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, BTreeMap};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4 | use jsonapi::model::*;
[INFO] [stdout]   |     ----------------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `I18NString`
[INFO] [stdout]  --> src/structure/modelconfig.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::common::{Document, I18NString};
[INFO] [stdout]   |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]  --> src/structure/translation.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, BTreeMap};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 4 | use serde::{Serialize, Serializer};
[INFO] [stdout] 5 | use jsonapi::model::*;
[INFO] [stdout]   |     ----------------- the item `HashMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/validation/gxmodel.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/validation/gxmodel.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ::std::collections::HashSet<&'static str>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout] 6  |         unused_qualifications
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 11 -     ::std::collections::HashSet<&'static str>,
[INFO] [stdout] 11 +     std::collections::HashSet<&'static str>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:12:57
[INFO] [stdout]    |
[INFO] [stdout] 12 | } pub type ParseResult<T> = Result<T, ParseError>; impl ::std::fmt::Display
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 12 - } pub type ParseResult<T> = Result<T, ParseError>; impl ::std::fmt::Display
[INFO] [stdout] 12 + } pub type ParseResult<T> = Result<T, ParseError>; impl std::fmt::Display
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn fmt(&self, fmt: &mut ::std::fmt::Formatter) ->
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 15 -     fn fmt(&self, fmt: &mut ::std::fmt::Formatter) ->
[INFO] [stdout] 15 +     fn fmt(&self, fmt: &mut std::fmt::Formatter) ->
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ::std::result::Result<(), ::std::fmt::Error>
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 16 -     ::std::result::Result<(), ::std::fmt::Error>
[INFO] [stdout] 16 +     Result<(), ::std::fmt::Error>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:16:31
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ::std::result::Result<(), ::std::fmt::Error>
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 16 -     ::std::result::Result<(), ::std::fmt::Error>
[INFO] [stdout] 16 +     ::std::result::Result<(), std::fmt::Error>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | } impl ::std::error::Error for ParseError
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 31 - } impl ::std::error::Error for ParseError
[INFO] [stdout] 31 + } impl std::error::Error for ParseError
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:75:91
[INFO] [stdout]    |
[INFO] [stdout] 75 | ...size , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomD...
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 - } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout] 75 + } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:75:155
[INFO] [stdout]    |
[INFO] [stdout] 75 | ... :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > ...
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 - } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout] 75 + } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:75:348
[INFO] [stdout]    |
[INFO] [stdout] 75 | ...x_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomDat...
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 - } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout] 75 + } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:75:405
[INFO] [stdout]    |
[INFO] [stdout] 75 | ... :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 - } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : :: std :: marker :: PhantomData , } } } 
[INFO] [stdout] 75 + } struct ParseState < 'input > { max_err_pos : usize , suppress_fail : usize , expected : :: std :: collections :: HashSet < & 'static str > , _phantom : :: std :: marker :: PhantomData < & 'input ( ) > , } impl < 'input > ParseState < 'input > { fn new ( ) -> ParseState < 'input > { ParseState { max_err_pos : 0 , suppress_fail : 0 , expected : :: std :: collections :: HashSet :: new ( ) , _phantom : std :: marker :: PhantomData , } } } 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:119:502
[INFO] [stdout]     |
[INFO] [stdout] 119 | ...nge_at ( __input , __pos ) ; match __ch { '0' ... '9' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9]" ) , ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:123:601
[INFO] [stdout]     |
[INFO] [stdout] 123 | ...nge_at ( __input , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:123:615
[INFO] [stdout]     |
[INFO] [stdout] 123 | ...ut , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[A-Za-z]" )...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:135:600
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...nge_at ( __input , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:135:614
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...ut , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[A-Za-z]" )...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:157:957
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...nge_at ( __input , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gears-1b80d396009b1029/out/flox_grammar.rs:157:971
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...ut , __pos ) ; match __ch { 'A' ... 'Z' | 'a' ... 'z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[A-Za-z]" )...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/util/fs.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:20:68
[INFO] [stdout]    |
[INFO] [stdout] 20 |         Err(why) => panic!("couldn't open {}: {}", display, Error::description(&why)),
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:26:56
[INFO] [stdout]    |
[INFO] [stdout] 26 |         panic!("couldn't read {}: {}", display, Error::description(&why));
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/runtime/dispatcher.rs:7:49
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Receivers<'a> = HashMap<XFlowNodeType, Box<Dispatchable + 'a>>;
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Receivers<'a> = HashMap<XFlowNodeType, Box<dyn Dispatchable + 'a>>;
[INFO] [stdout]   |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:20:68
[INFO] [stdout]    |
[INFO] [stdout] 20 |         Err(why) => panic!("couldn't open {}: {}", display, Error::description(&why)),
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:26:56
[INFO] [stdout]    |
[INFO] [stdout] 26 |         panic!("couldn't read {}: {}", display, Error::description(&why));
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/runtime/dispatcher.rs:7:49
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Receivers<'a> = HashMap<XFlowNodeType, Box<Dispatchable + 'a>>;
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Receivers<'a> = HashMap<XFlowNodeType, Box<dyn Dispatchable + 'a>>;
[INFO] [stdout]   |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:38:59
[INFO] [stdout]    |
[INFO] [stdout] 38 |             error!("couldn't create {}: {}", display, why.description());
[INFO] [stdout]    |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:39:59
[INFO] [stdout]    |
[INFO] [stdout] 39 |             panic!("couldn't create {}: {}", display, why.description());
[INFO] [stdout]    |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:46:61
[INFO] [stdout]    |
[INFO] [stdout] 46 |             error!("couldn't write to {}: {}", display, why.description());
[INFO] [stdout]    |                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:47:61
[INFO] [stdout]    |
[INFO] [stdout] 47 |             panic!("couldn't write to {}: {}", display, why.description());
[INFO] [stdout]    |                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:38:59
[INFO] [stdout]    |
[INFO] [stdout] 38 |             error!("couldn't create {}: {}", display, why.description());
[INFO] [stdout]    |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:39:59
[INFO] [stdout]    |
[INFO] [stdout] 39 |             panic!("couldn't create {}: {}", display, why.description());
[INFO] [stdout]    |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:46:61
[INFO] [stdout]    |
[INFO] [stdout] 46 |             error!("couldn't write to {}: {}", display, why.description());
[INFO] [stdout]    |                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/fs.rs:47:61
[INFO] [stdout]    |
[INFO] [stdout] 47 |             panic!("couldn't write to {}: {}", display, why.description());
[INFO] [stdout]    |                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]   --> src/validation/gxmodel.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn validate(model: &GxModel) -> ValidationErrors {
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/validation/gxmodel.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let mut errors = Vec::<ValidationError>::new();
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/util/fs.rs:163:21
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 let mut doc = match <T>::from_json(&json) {
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pad_translation_doc` is never used
[INFO] [stdout]   --> src/structure/model.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn pad_translation_doc(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]   --> src/validation/gxmodel.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn validate(model: &GxModel) -> ValidationErrors {
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/validation/gxmodel.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let mut errors = Vec::<ValidationError>::new();
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/util/fs.rs:174:16
[INFO] [stdout]     |
[INFO] [stdout] 174 |         panic!(format!("model_from_fs : unable to read from path : {}", path));
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 174 -         panic!(format!("model_from_fs : unable to read from path : {}", path));
[INFO] [stdout] 174 +         panic!("model_from_fs : unable to read from path : {}", path);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/util/fs.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     model.add_locale(&default_locale);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let _ = model.add_locale(&default_locale);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors; 33 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/util/fs.rs:163:21
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 let mut doc = match <T>::from_json(&json) {
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pad_translation_doc` is never used
[INFO] [stdout]   --> src/structure/model.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn pad_translation_doc(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gears` (lib) due to 11 previous errors; 33 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/util/fs.rs:174:16
[INFO] [stdout]     |
[INFO] [stdout] 174 |         panic!(format!("model_from_fs : unable to read from path : {}", path));
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 174 -         panic!(format!("model_from_fs : unable to read from path : {}", path));
[INFO] [stdout] 174 +         panic!("model_from_fs : unable to read from path : {}", path);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/util/fs.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     model.add_locale(&default_locale);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let _ = model.add_locale(&default_locale);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors; 33 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gears` (lib test) due to 11 previous errors; 33 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b2dcd1d3e5f707451c6d3ff1df1cbbd86344c8bd540b63ce2d5a47b0c788f3a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b2dcd1d3e5f707451c6d3ff1df1cbbd86344c8bd540b63ce2d5a47b0c788f3a5", kill_on_drop: false }`
[INFO] [stdout] b2dcd1d3e5f707451c6d3ff1df1cbbd86344c8bd540b63ce2d5a47b0c788f3a5
