[INFO] cloning repository https://github.com/mainmatter/advanced-rust-workshop
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mainmatter/advanced-rust-workshop" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmainmatter%2Fadvanced-rust-workshop", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmainmatter%2Fadvanced-rust-workshop'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 50cb7e32a051f683dfef32a603ef385247f06564
[INFO] checking mainmatter/advanced-rust-workshop against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmainmatter%2Fadvanced-rust-workshop" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/mainmatter/advanced-rust-workshop
[INFO] finished tweaking git repo https://github.com/mainmatter/advanced-rust-workshop
[INFO] tweaked toml for git repo https://github.com/mainmatter/advanced-rust-workshop written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mainmatter/advanced-rust-workshop on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mainmatter/advanced-rust-workshop already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6748abaf5987a85ae163e84f5cec359352fa56742fb14cef756cc807084e5496
[INFO] running `Command { std: "docker" "start" "6748abaf5987a85ae163e84f5cec359352fa56742fb14cef756cc807084e5496", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6748abaf5987a85ae163e84f5cec359352fa56742fb14cef756cc807084e5496", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6748abaf5987a85ae163e84f5cec359352fa56742fb14cef756cc807084e5496" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6748abaf5987a85ae163e84f5cec359352fa56742fb14cef756cc807084e5496", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6748abaf5987a85ae163e84f5cec359352fa56742fb14cef756cc807084e5496" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking typestate_writer v0.1.0 (/opt/rustwide/workdir/exercises/06_typestate/02_writer)
[INFO] [stderr]     Checking common_traits_hash_eq v0.1.0 (/opt/rustwide/workdir/exercises/03_common_traits/02_hash_eq)
[INFO] [stderr]     Checking raii_borrow v0.1.0 (/opt/rustwide/workdir/exercises/05_raii/01_borrow)
[INFO] [stderr]     Checking newtype_parse_dont_validate v0.1.0 (/opt/rustwide/workdir/exercises/02_newtype/02_parse_dont_validate)
[INFO] [stderr]     Checking raii_closure_api v0.1.0 (/opt/rustwide/workdir/exercises/05_raii/04_closure_api)
[INFO] [stderr]     Checking api_design_doc_comments v0.1.0 (/opt/rustwide/workdir/exercises/01_api_design/02_doc_comments)
[INFO] [stderr]     Checking raii_drop_bomb v0.1.0 (/opt/rustwide/workdir/exercises/05_raii/03_drop_bomb)
[INFO] [stderr]     Checking api_design_intro v0.1.0 (/opt/rustwide/workdir/exercises/01_api_design/00_intro)
[INFO] [stdout] warning: unused import: `thread`
[INFO] [stdout]   --> exercises/05_raii/03_drop_bomb/src/lib.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 |     mem, thread,
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw`
[INFO] [stdout]   --> exercises/02_newtype/02_parse_dont_validate/src/lib.rs:73:18
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn parse(raw: &str) -> Result<Self, NameError> {
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_raw`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw`
[INFO] [stdout]   --> exercises/02_newtype/02_parse_dont_validate/src/lib.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn parse(raw: &str) -> Result<Self, NameError> {
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_NAME_LENGTH` is never used
[INFO] [stdout]   --> exercises/02_newtype/02_parse_dont_validate/src/lib.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | const MAX_NAME_LENGTH: usize = 64;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_char` is never used
[INFO] [stdout]    --> exercises/02_newtype/02_parse_dont_validate/src/lib.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn is_valid_char(c: char) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking api_design_naming v0.1.0 (/opt/rustwide/workdir/exercises/01_api_design/01_naming)
[INFO] [stdout] error: missing documentation for a method
[INFO] [stdout]   --> exercises/01_api_design/02_doc_comments/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn contains_bucket(&self, bucket: &str) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> exercises/01_api_design/02_doc_comments/src/lib.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | #![deny(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: missing documentation for a method
[INFO] [stdout]   --> exercises/01_api_design/02_doc_comments/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: missing documentation for a method
[INFO] [stdout]   --> exercises/01_api_design/02_doc_comments/src/lib.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking common_traits_intro v0.1.0 (/opt/rustwide/workdir/exercises/03_common_traits/00_intro)
[INFO] [stderr] error: could not compile `api_design_doc_comments` (lib) due to 3 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: field `finished` is never read
[INFO] [stdout]   --> exercises/05_raii/03_drop_bomb/src/lib.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub struct Transaction<'store> {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 96 |     finished: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `cmp` exists for reference `&&Bucket`, but its trait bounds were not satisfied
[INFO] [stdout]    --> exercises/06_typestate/02_writer/src/lib.rs:152:54
[INFO] [stdout]     |
[INFO] [stdout] 152 |         buckets.sort_by(|(left, _), (right, _)| left.cmp(right));
[INFO] [stdout]     |                                                      ^^^ method cannot be called on `&&Bucket` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 268 | pub struct Bucket(String);
[INFO] [stdout]     | ----------------- doesn't satisfy `Bucket: Iterator` or `Bucket: Ord`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Bucket: Ord`
[INFO] [stdout]             which is required by `&Bucket: Ord`
[INFO] [stdout]             `&Bucket: Ord`
[INFO] [stdout]             which is required by `&&Bucket: Ord`
[INFO] [stdout]             `&&Bucket: Iterator`
[INFO] [stdout]             which is required by `&mut &&Bucket: Iterator`
[INFO] [stdout]             `&Bucket: Iterator`
[INFO] [stdout]             which is required by `&mut &Bucket: Iterator`
[INFO] [stdout]             `Bucket: Iterator`
[INFO] [stdout]             which is required by `&mut Bucket: Iterator`
[INFO] [stdout] note: the trait `Iterator` must be implemented
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stdout] help: consider annotating `Bucket` with `#[derive(Eq, Ord, PartialEq, PartialOrd)]`
[INFO] [stdout]     |
[INFO] [stdout] 268 + #[derive(Eq, Ord, PartialEq, PartialOrd)]
[INFO] [stdout] 269 | pub struct Bucket(String);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `new` found for struct `Writer<P>` in the current scope
[INFO] [stdout]    --> exercises/06_typestate/02_writer/src/lib.rs:154:34
[INFO] [stdout]     |
[INFO] [stdout] 154 |         let mut writer = Writer::new();
[INFO] [stdout]     |                                  ^^^ associated function or constant not found in `Writer<_>`
[INFO] [stdout] ...
[INFO] [stdout] 255 | pub struct Writer<P> {
[INFO] [stdout]     | -------------------- associated function or constant `new` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `cmp` exists for reference `&&Key`, but its trait bounds were not satisfied
[INFO] [stdout]    --> exercises/06_typestate/02_writer/src/lib.rs:158:58
[INFO] [stdout]     |
[INFO] [stdout] 158 |             entries.sort_by(|(left, _), (right, _)| left.cmp(right));
[INFO] [stdout]     |                                                          ^^^ method cannot be called on `&&Key` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 289 | pub struct Key(String);
[INFO] [stdout]     | -------------- doesn't satisfy `Key: Iterator` or `Key: Ord`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Key: Ord`
[INFO] [stdout]             which is required by `&Key: Ord`
[INFO] [stdout]             `&Key: Ord`
[INFO] [stdout]             which is required by `&&Key: Ord`
[INFO] [stdout]             `&&Key: Iterator`
[INFO] [stdout]             which is required by `&mut &&Key: Iterator`
[INFO] [stdout]             `&Key: Iterator`
[INFO] [stdout]             which is required by `&mut &Key: Iterator`
[INFO] [stdout]             `Key: Iterator`
[INFO] [stdout]             which is required by `&mut Key: Iterator`
[INFO] [stdout] note: the trait `Iterator` must be implemented
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stdout] help: consider annotating `Key` with `#[derive(Eq, Ord, PartialEq, PartialOrd)]`
[INFO] [stdout]     |
[INFO] [stdout] 289 + #[derive(Eq, Ord, PartialEq, PartialOrd)]
[INFO] [stdout] 290 | pub struct Key(String);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `new` found for struct `Writer<P>` in the current scope
[INFO] [stdout]    --> exercises/06_typestate/02_writer/src/lib.rs:384:28
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub struct Writer<P> {
[INFO] [stdout]     | -------------------- associated function or constant `new` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 384 |         let text = Writer::new()
[INFO] [stdout]     |                            ^^^ associated function or constant not found in `Writer<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `new` found for struct `Writer<P>` in the current scope
[INFO] [stdout]    --> exercises/06_typestate/02_writer/src/lib.rs:396:28
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub struct Writer<P> {
[INFO] [stdout]     | -------------------- associated function or constant `new` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 396 |         assert_eq!(Writer::new().finish(), "");
[INFO] [stdout]     |                            ^^^ associated function or constant not found in `Writer<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `new` found for struct `Writer<P>` in the current scope
[INFO] [stdout]    --> exercises/06_typestate/02_writer/src/lib.rs:403:28
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub struct Writer<P> {
[INFO] [stdout]     | -------------------- associated function or constant `new` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 403 |         assert_eq!(Writer::new().bucket(&users).end().finish(), "[users]\n");
[INFO] [stdout]     |                            ^^^ associated function or constant not found in `Writer<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `typestate_writer` (lib test) due to 6 previous errors
[INFO] running `Command { std: "docker" "inspect" "6748abaf5987a85ae163e84f5cec359352fa56742fb14cef756cc807084e5496", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6748abaf5987a85ae163e84f5cec359352fa56742fb14cef756cc807084e5496", kill_on_drop: false }`
[INFO] [stdout] 6748abaf5987a85ae163e84f5cec359352fa56742fb14cef756cc807084e5496
