[INFO] cloning repository https://github.com/mzgoddard/phrust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mzgoddard/phrust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmzgoddard%2Fphrust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmzgoddard%2Fphrust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5e4100de1e3f1ff374d722790142a7326d836713 [INFO] testing mzgoddard/phrust against 1.84.0 for beta-1.85-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmzgoddard%2Fphrust" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mzgoddard/phrust on toolchain 1.84.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.84.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/mzgoddard/phrust [INFO] finished tweaking git repo https://github.com/mzgoddard/phrust [INFO] tweaked toml for git repo https://github.com/mzgoddard/phrust written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/mzgoddard/phrust 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" "+1.84.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded num-bigint v0.1.33 [INFO] [stderr] Downloaded num-traits v0.1.33 [INFO] [stderr] Downloaded num-rational v0.1.32 [INFO] [stderr] Downloaded num v0.1.34 [INFO] [stderr] Downloaded semver v0.2.3 [INFO] [stderr] Downloaded num-complex v0.1.33 [INFO] [stderr] Downloaded nom v1.2.3 [INFO] [stderr] Downloaded libc v0.2.14 [INFO] [stderr] Downloaded glfw-sys v3.1.3 [INFO] [stderr] Downloaded glfw v0.9.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 818fec0a25e8f476f2098040dd38fbe0af62be2e1c498dc02db772a91ec8e3bd [INFO] running `Command { std: "docker" "start" "-a" "818fec0a25e8f476f2098040dd38fbe0af62be2e1c498dc02db772a91ec8e3bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "818fec0a25e8f476f2098040dd38fbe0af62be2e1c498dc02db772a91ec8e3bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "818fec0a25e8f476f2098040dd38fbe0af62be2e1c498dc02db772a91ec8e3bd", kill_on_drop: false }` [INFO] [stdout] 818fec0a25e8f476f2098040dd38fbe0af62be2e1c498dc02db772a91ec8e3bd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0941db5d070785379f9154f37cfffd3f60e0d68c34f8f42f7fc5f8fd44ddfdbd [INFO] running `Command { std: "docker" "start" "-a" "0941db5d070785379f9154f37cfffd3f60e0d68c34f8f42f7fc5f8fd44ddfdbd", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Compiling bitflags v0.7.0 [INFO] [stderr] Compiling log v0.3.6 [INFO] [stderr] Compiling khronos_api v1.0.0 [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Compiling libc v0.2.14 [INFO] [stderr] Compiling winapi v0.2.8 [INFO] [stderr] Compiling libc v0.1.8 [INFO] [stderr] Compiling xml-rs v0.3.4 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Compiling num_cpus v0.2.6 [INFO] [stderr] Compiling rand v0.3.14 [INFO] [stderr] Compiling time v0.1.35 [INFO] [stderr] Compiling gl_generator v0.5.2 [INFO] [stderr] Compiling gl v0.6.1 [INFO] [stderr] Compiling ph v0.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition name: `bench` [INFO] [stdout] --> src/math/v2.rs:241:7 [INFO] [stdout] | [INFO] [stdout] 241 | #[cfg(bench)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows` [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(bench)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(bench)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/math/base5.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | (((self.value as f32 * 5f32).log(5f32)).floor() as usize) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 17 - (((self.value as f32 * 5f32).log(5f32)).floor() as usize) [INFO] [stdout] 17 + ((self.value as f32 * 5f32).log(5f32)).floor() as usize [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `bench` [INFO] [stdout] --> src/collision.rs:183:7 [INFO] [stdout] | [INFO] [stdout] 183 | #[cfg(bench)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(bench)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(bench)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/ddvt.rs:143:52 [INFO] [stdout] | [INFO] [stdout] 142 | impl<'a> RecordStack<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 143 | fn new(tree: &'a mut QuadTree) -> RecordStack { [INFO] [stdout] | ^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `bench` [INFO] [stdout] --> src/ddvt_bench.rs:204:7 [INFO] [stdout] | [INFO] [stdout] 204 | #[cfg(bench)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(bench)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(bench)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/world.rs:376:35 [INFO] [stdout] | [INFO] [stdout] 375 | impl<'a> WorldEditor<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 376 | fn new(world: &'a mut World) -> WorldEditor { [INFO] [stdout] | ^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/world.rs:979:26 [INFO] [stdout] | [INFO] [stdout] 979 | fn new() -> WorldPool {; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/world_renderer.rs:158:22 [INFO] [stdout] | [INFO] [stdout] 158 | fn draw(&mut self, &RenderData); [INFO] [stdout] | ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &RenderData` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pool.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | handle: Box Option + 'static + Send>, [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 52 | handle: Box Option + 'static + Send>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world.rs:46:20 [INFO] [stdout] | [INFO] [stdout] 46 | effects: Vec>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 46 | effects: Vec>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | RemoveEffect(*mut WorldEffect), [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 | RemoveEffect(*mut dyn WorldEffect), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | ptr: *mut WorldEffect, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 72 | ptr: *mut dyn WorldEffect, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world_renderer.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | driver: Box, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | driver: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/quad_tree.rs:12:72 [INFO] [stdout] | [INFO] [stdout] 12 | fn tree_split_with(&mut self, children: &mut [&mut Self], data: &mut Any); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 | fn tree_split_with(&mut self, children: &mut [&mut Self], data: &mut dyn Any); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/quad_tree.rs:16:64 [INFO] [stdout] | [INFO] [stdout] 16 | fn tree_join_with(&mut self, children: & [&Self], data: &mut Any); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | fn tree_join_with(&mut self, children: & [&Self], data: &mut dyn Any); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world.rs:108:32 [INFO] [stdout] | [INFO] [stdout] 108 | fn as_any(&mut self) -> &mut Any; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 108 | fn as_any(&mut self) -> &mut dyn Any; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/quad_tree.rs:117:43 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn split_with(&mut self, data: &mut Any) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 117 | pub fn split_with(&mut self, data: &mut dyn Any) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/quad_tree.rs:158:42 [INFO] [stdout] | [INFO] [stdout] 158 | pub fn join_with(&mut self, data: &mut Any) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 158 | pub fn join_with(&mut self, data: &mut dyn Any) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world.rs:122:32 [INFO] [stdout] | [INFO] [stdout] 122 | fn as_any(&mut self) -> &mut Any { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 122 | fn as_any(&mut self) -> &mut dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world.rs:394:52 [INFO] [stdout] | [INFO] [stdout] 394 | pub fn iter_effects(&self) -> slice::IterMut> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 394 | pub fn iter_effects(&self) -> slice::IterMut> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ddvt.rs:344:81 [INFO] [stdout] | [INFO] [stdout] 344 | fn tree_split_with(&mut self, children: &mut [&mut VirtualVolume], data: &mut Any) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 344 | fn tree_split_with(&mut self, children: &mut [&mut VirtualVolume], data: &mut dyn Any) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ddvt.rs:490:72 [INFO] [stdout] | [INFO] [stdout] 490 | fn tree_join_with(&mut self, children: &[&VirtualVolume], data: &mut Any) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 490 | fn tree_join_with(&mut self, children: &[&VirtualVolume], data: &mut dyn Any) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ddvt.rs:189:44 [INFO] [stdout] | [INFO] [stdout] 189 | fn _walk_rev_mut(&mut self, handle: &mut FnMut(&mut QuadTree)) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 189 | fn _walk_rev_mut(&mut self, handle: &mut dyn FnMut(&mut QuadTree)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ddvt.rs:226:45 [INFO] [stdout] | [INFO] [stdout] 226 | fn walk_bb_mut(&mut self, b: BB, handle: &Fn(&mut VirtualVolume)) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 226 | fn walk_bb_mut(&mut self, b: BB, handle: &dyn Fn(&mut VirtualVolume)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/quad_tree.rs:806:68 [INFO] [stdout] | [INFO] [stdout] 806 | fn tree_split_with(&mut self, children: &mut [&mut i32], _: &mut Any) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 806 | fn tree_split_with(&mut self, children: &mut [&mut i32], _: &mut dyn Any) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/quad_tree.rs:816:59 [INFO] [stdout] | [INFO] [stdout] 816 | fn tree_join_with(&mut self, children: &[&i32], _: &mut Any) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 816 | fn tree_join_with(&mut self, children: &[&i32], _: &mut dyn Any) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world.rs:76:64 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn as_mut<'a>(&'a mut self, _: &'a mut World) -> &'a mut WorldEffect { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 76 | pub fn as_mut<'a>(&'a mut self, _: &'a mut World) -> &'a mut dyn WorldEffect { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world.rs:483:89 [INFO] [stdout] | [INFO] [stdout] 483 | pub fn borrow_effect_mut<'a>(&'a mut self, effect: &'a mut WorldEffectRef) -> &'a mut WorldEffect { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 483 | pub fn borrow_effect_mut<'a>(&'a mut self, effect: &'a mut WorldEffectRef) -> &'a mut dyn WorldEffect { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world.rs:491:45 [INFO] [stdout] | [INFO] [stdout] 491 | fn _remove_effect(&mut self, effect: &mut WorldEffect) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 491 | fn _remove_effect(&mut self, effect: &mut dyn WorldEffect) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world.rs:502:56 [INFO] [stdout] | [INFO] [stdout] 502 | pub fn iter_effects(&mut self) -> slice::IterMut> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 502 | pub fn iter_effects(&mut self) -> slice::IterMut> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world.rs:123:18 [INFO] [stdout] | [INFO] [stdout] 123 | self as &mut Any [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 123 | self as &mut dyn Any [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world.rs:477:37 [INFO] [stdout] | [INFO] [stdout] 477 | ptr: &mut *effect_box as *mut WorldEffect, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 477 | ptr: &mut *effect_box as *mut dyn WorldEffect, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world.rs:492:82 [INFO] [stdout] | [INFO] [stdout] 492 | if let Some(index) = self.effects.iter().position(|e| &*e.as_ref() as *const WorldEffect == &*effect as *const WorldEffect) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 492 | if let Some(index) = self.effects.iter().position(|e| &*e.as_ref() as *const dyn WorldEffect == &*effect as *const WorldEffect) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world.rs:492:116 [INFO] [stdout] | [INFO] [stdout] 492 | if let Some(index) = self.effects.iter().position(|e| &*e.as_ref() as *const WorldEffect == &*effect as *const WorldEffect) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 492 | if let Some(index) = self.effects.iter().position(|e| &*e.as_ref() as *const WorldEffect == &*effect as *const dyn WorldEffect) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type annotations needed [INFO] [stdout] --> src/world_renderer.rs:349:23 [INFO] [stdout] | [INFO] [stdout] 349 | ptr::null().offset(gl_attrib_data.pointer as isize), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #46906 [INFO] [stdout] = note: `#[warn(tyvar_behind_raw_pointer)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ddvt.rs:766:9 [INFO] [stdout] | [INFO] [stdout] 766 | let mut bb_clones = unsafe { &mut *(&mut self.bb_clone as *mut Vec) as &mut Vec }; [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/ddvt.rs:922:9 [INFO] [stdout] | [INFO] [stdout] 922 | let mut bb_clones = unsafe { &mut *(&mut self.bb_clone as *mut Vec) as &mut Vec }; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/world.rs:644:9 [INFO] [stdout] | [INFO] [stdout] 644 | let mut volume_tree = unsafe { &mut *(&mut self.volume_tree as *mut VolumeRoot) as &mut VolumeRoot }; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/world_renderer.rs:441:15 [INFO] [stdout] | [INFO] [stdout] 441 | let mut program = &mut self.programs[draw.program.as_usize()]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/world_renderer.rs:592:15 [INFO] [stdout] | [INFO] [stdout] 592 | let mut data = &mut draw.mesh; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ShutDown` is never constructed [INFO] [stdout] --> src/world.rs:160:3 [INFO] [stdout] | [INFO] [stdout] 153 | enum WorldJob { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 160 | ShutDown, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `r`, `g`, `b`, and `a` are never read [INFO] [stdout] --> src/world_renderer.rs:34:3 [INFO] [stdout] | [INFO] [stdout] 33 | struct GLColor { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 34 | r: GLubyte, [INFO] [stdout] | ^ [INFO] [stdout] 35 | g: GLubyte, [INFO] [stdout] | ^ [INFO] [stdout] 36 | b: GLubyte, [INFO] [stdout] | ^ [INFO] [stdout] 37 | a: GLubyte, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `GLColor` has derived impls for the traits `Default` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x`, `y`, and `color` are never read [INFO] [stdout] --> src/world_renderer.rs:59:3 [INFO] [stdout] | [INFO] [stdout] 58 | struct GLVertex { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 59 | x: GLfloat, [INFO] [stdout] | ^ [INFO] [stdout] 60 | y: GLfloat, [INFO] [stdout] | ^ [INFO] [stdout] 61 | color: GLColor, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GLVertex` has derived impls for the traits `Default` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `vertices` is never read [INFO] [stdout] --> src/world_renderer.rs:66:3 [INFO] [stdout] | [INFO] [stdout] 65 | struct GLParticle { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 66 | vertices: [GLVertex; 6], [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GLParticle` has derived impls for the traits `Default` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected [INFO] [stdout] --> src/world.rs:492:59 [INFO] [stdout] | [INFO] [stdout] 492 | if let Some(index) = self.effects.iter().position(|e| &*e.as_ref() as *const WorldEffect == &*effect as *const WorldEffect) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default [INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses [INFO] [stdout] | [INFO] [stdout] 492 | if let Some(index) = self.effects.iter().position(|e| std::ptr::addr_eq(&*e.as_ref() as *const WorldEffect, &*effect as *const WorldEffect)) { [INFO] [stdout] | ++++++++++++++++++ ~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.02s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "0941db5d070785379f9154f37cfffd3f60e0d68c34f8f42f7fc5f8fd44ddfdbd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0941db5d070785379f9154f37cfffd3f60e0d68c34f8f42f7fc5f8fd44ddfdbd", kill_on_drop: false }` [INFO] [stdout] 0941db5d070785379f9154f37cfffd3f60e0d68c34f8f42f7fc5f8fd44ddfdbd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 268b3ffdf2e86f78a41b426b4b731e9e38c41534951ba9552a223e9ca9c7f915 [INFO] running `Command { std: "docker" "start" "-a" "268b3ffdf2e86f78a41b426b4b731e9e38c41534951ba9552a223e9ca9c7f915", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Compiling num-traits v0.1.33 [INFO] [stderr] Compiling bitflags v0.7.0 [INFO] [stderr] Compiling rustc-serialize v0.3.19 [INFO] [stderr] Compiling log v0.3.6 [INFO] [stderr] Compiling glfw-sys v3.1.3 [INFO] [stderr] Compiling nom v1.2.3 [INFO] [stdout] error: environment variable `OUT_DIR` not defined at compile time [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/glfw-sys-3.1.3/build.rs:13:37 [INFO] [stdout] | [INFO] [stdout] 13 | .current_dir(&Path::new(env!("OUT_DIR"))) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: Cargo sets build script variables at run time. Use `std::env::var("OUT_DIR")` instead [INFO] [stdout] = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: environment variable `OUT_DIR` not defined at compile time [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/glfw-sys-3.1.3/build.rs:25:37 [INFO] [stdout] | [INFO] [stdout] 25 | .current_dir(&Path::new(env!("OUT_DIR"))) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: Cargo sets build script variables at run time. Use `std::env::var("OUT_DIR")` instead [INFO] [stdout] = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: environment variable `OUT_DIR` not defined at compile time [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/glfw-sys-3.1.3/build.rs:36:25 [INFO] [stdout] | [INFO] [stdout] 36 | fs::copy(&Path::new(env!("OUT_DIR")).join("src").join("libglfw3.a"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: Cargo sets build script variables at run time. Use `std::env::var("OUT_DIR")` instead [INFO] [stdout] = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: environment variable `OUT_DIR` not defined at compile time [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/glfw-sys-3.1.3/build.rs:37:25 [INFO] [stdout] | [INFO] [stdout] 37 | &Path::new(env!("OUT_DIR")).join("libglfw3.a")) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: Cargo sets build script variables at run time. Use `std::env::var("OUT_DIR")` instead [INFO] [stdout] = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: environment variable `OUT_DIR` not defined at compile time [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/glfw-sys-3.1.3/build.rs:40:57 [INFO] [stdout] | [INFO] [stdout] 40 | println!("cargo:rustc-flags=-L {} -l glfw3:static", env!("OUT_DIR")); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: Cargo sets build script variables at run time. Use `std::env::var("OUT_DIR")` instead [INFO] [stdout] = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling xml-rs v0.3.4 [INFO] [stderr] error: could not compile `glfw-sys` (build script) due to 5 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0642]: patterns aren't allowed in functions without bodies [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rustc-serialize-0.3.19/src/serialize.rs:147:45 [INFO] [stdout] | [INFO] [stdout] 147 | ... &f_name: &str, [INFO] [stdout] | ^^^^^^^ pattern not allowed in function without body [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rustc-serialize-0.3.19/src/serialize.rs:454:5 [INFO] [stdout] | [INFO] [stdout] 454 | fn decode(d: &mut D) -> Result, D::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds... [INFO] [stdout] | [INFO] [stdout] note: ...that is required by this bound [INFO] [stdout] --> /rustc/9fc6b43126469e3858e2fe86cafb4f0fd5068869/library/alloc/src/borrow.rs:179:30 [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 450 | impl<'a, T: ?Sized + 'static> Decodable for Cow<'a, T> [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0310, E0642. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0310`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rustc-serialize` (lib) due to 2 previous errors [INFO] running `Command { std: "docker" "inspect" "268b3ffdf2e86f78a41b426b4b731e9e38c41534951ba9552a223e9ca9c7f915", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "268b3ffdf2e86f78a41b426b4b731e9e38c41534951ba9552a223e9ca9c7f915", kill_on_drop: false }` [INFO] [stdout] 268b3ffdf2e86f78a41b426b4b731e9e38c41534951ba9552a223e9ca9c7f915