[INFO] fetching crate iderive 0.1.0...
[INFO] testing iderive-0.1.0 against 1.54.0 for beta-1.55-1
[INFO] extracting crate iderive 0.1.0 into /workspace/builds/worker-11/source
[INFO] validating manifest of crates.io crate iderive 0.1.0 on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate iderive 0.1.0
[INFO] finished tweaking crates.io crate iderive 0.1.0
[INFO] tweaked toml for crates.io crate iderive 0.1.0 written to /workspace/builds/worker-11/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1010732bcea6b7c05b851a88fa2ed9e72d28b2171dc908be9f8585f73288cf5b
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "1010732bcea6b7c05b851a88fa2ed9e72d28b2171dc908be9f8585f73288cf5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1010732bcea6b7c05b851a88fa2ed9e72d28b2171dc908be9f8585f73288cf5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1010732bcea6b7c05b851a88fa2ed9e72d28b2171dc908be9f8585f73288cf5b", kill_on_drop: false }`
[INFO] [stdout] 1010732bcea6b7c05b851a88fa2ed9e72d28b2171dc908be9f8585f73288cf5b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a1b4744d4790194857f14f6d802496fa0c7a87418dfe8e05b31f4dfbd3732518
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "a1b4744d4790194857f14f6d802496fa0c7a87418dfe8e05b31f4dfbd3732518", kill_on_drop: false }`
[INFO] [stderr]    Compiling iderive v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2.97s
[INFO] running `Command { std: "docker" "inspect" "a1b4744d4790194857f14f6d802496fa0c7a87418dfe8e05b31f4dfbd3732518", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a1b4744d4790194857f14f6d802496fa0c7a87418dfe8e05b31f4dfbd3732518", kill_on_drop: false }`
[INFO] [stdout] a1b4744d4790194857f14f6d802496fa0c7a87418dfe8e05b31f4dfbd3732518
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4cdcf60993b9b528efe5427bf5627b916383c585d84eb3c6f71095aa91830be9
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "4cdcf60993b9b528efe5427bf5627b916383c585d84eb3c6f71095aa91830be9", kill_on_drop: false }`
[INFO] [stderr]    Compiling iderive v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] [src/lib.rs:141] output.to_string() = "struct Unit ; impl :: core :: clone :: Clone for Unit where\n{ #[inline] fn clone(& self) -> Self { Self { } } } impl :: core :: marker ::\nCopy for Unit where { } impl :: core :: fmt :: Debug for Unit where\n{\n    #[inline] fn fmt(& self, fmt : & mut :: core :: fmt :: Formatter) -> ::\n    core :: fmt :: Result { fmt.write_str(\"Unit\") }\n} impl :: core :: default :: Default for Unit where\n{ #[inline] fn default() -> Self { Self { } } } impl :: core :: cmp ::\nPartialEq for Unit where\n{ #[inline] fn eq(& self, other : & Self) -> bool { true } } impl :: core ::\ncmp :: Eq for Unit where { } impl :: core :: cmp :: PartialOrd for Unit where\n{\n    #[inline] fn partial_cmp(& self, other : & Self) -> Option < :: core ::\n    cmp :: Ordering >\n    { let cmp = Some(:: core :: cmp :: Ordering :: Equal) ; cmp }\n} impl :: core :: cmp :: Ord for Unit where\n{\n    #[inline] fn cmp(& self, other : & Self) -> :: core :: cmp :: Ordering\n    { let cmp = :: core :: cmp :: Ordering :: Equal ; cmp }\n} impl :: core :: hash :: Hash for Unit where\n{\n    #[inline] fn hash < H : :: core :: hash :: Hasher >\n    (& self, state : & mut H) { }\n}"
[INFO] [stderr] [src/lib.rs:141] output.to_string() = "struct Tuple() ; impl :: core :: clone :: Clone for Tuple where\n{ #[inline] fn clone(& self) -> Self { Self { } } } impl :: core :: marker ::\nCopy for Tuple where { } impl :: core :: fmt :: Debug for Tuple where\n{\n    #[inline] fn fmt(& self, fmt : & mut :: core :: fmt :: Formatter) -> ::\n    core :: fmt :: Result { fmt.debug_tuple(\"Tuple\").finish() }\n} impl :: core :: default :: Default for Tuple where\n{ #[inline] fn default() -> Self { Self { } } } impl :: core :: cmp ::\nPartialEq for Tuple where\n{ #[inline] fn eq(& self, other : & Self) -> bool { true } } impl :: core ::\ncmp :: Eq for Tuple where { } impl :: core :: cmp :: PartialOrd for Tuple\nwhere\n{\n    #[inline] fn partial_cmp(& self, other : & Self) -> Option < :: core ::\n    cmp :: Ordering >\n    { let cmp = Some(:: core :: cmp :: Ordering :: Equal) ; cmp }\n} impl :: core :: cmp :: Ord for Tuple where\n{\n    #[inline] fn cmp(& self, other : & Self) -> :: core :: cmp :: Ordering\n    { let cmp = :: core :: cmp :: Ordering :: Equal ; cmp }\n} impl :: core :: hash :: Hash for Tuple where\n{\n    #[inline] fn hash < H : :: core :: hash :: Hasher >\n    (& self, state : & mut H) { }\n}"
[INFO] [stderr] [src/lib.rs:141] output.to_string() = "struct Tuple(u32) ; impl :: core :: clone :: Clone for Tuple where u32 : ::\ncore :: clone :: Clone,\n{ #[inline] fn clone(& self) -> Self { Self { 0 : self.0.clone(), } } } impl\n:: core :: marker :: Copy for Tuple where u32 : :: core :: marker :: Copy, { }\nimpl :: core :: fmt :: Debug for Tuple where u32 : :: core :: fmt :: Debug,\n{\n    #[inline] fn fmt(& self, fmt : & mut :: core :: fmt :: Formatter) -> ::\n    core :: fmt :: Result\n    { fmt.debug_tuple(\"Tuple\").field(& self.0).finish() }\n} impl :: core :: default :: Default for Tuple where u32 : :: core :: default\n:: Default,\n{\n    #[inline] fn default() -> Self\n    { Self { 0 : :: core :: default :: Default :: default(), } }\n} impl :: core :: cmp :: PartialEq for Tuple where u32 : :: core :: cmp ::\nPartialEq,\n{\n    #[inline] fn eq(& self, other : & Self) -> bool\n    { true && self.0.eq(& other.0) }\n} impl :: core :: cmp :: Eq for Tuple where u32 : :: core :: cmp :: Eq, { }\nimpl :: core :: cmp :: PartialOrd for Tuple where u32 : :: core :: cmp ::\nPartialOrd,\n{\n    #[inline] fn partial_cmp(& self, other : & Self) -> Option < :: core ::\n    cmp :: Ordering >\n    {\n        let cmp = Some(:: core :: cmp :: Ordering :: Equal) ; if cmp !=\n        Some(:: core :: cmp :: Ordering :: Equal) { return cmp ; } let cmp =\n        self.0.partial_cmp(& other.0) ; cmp\n    }\n} impl :: core :: cmp :: Ord for Tuple where u32 : :: core :: cmp :: Ord,\n{\n    #[inline] fn cmp(& self, other : & Self) -> :: core :: cmp :: Ordering\n    {\n        let cmp = :: core :: cmp :: Ordering :: Equal ; if cmp != :: core ::\n        cmp :: Ordering :: Equal { return cmp ; } let cmp =\n        self.0.cmp(& other.0) ; cmp\n    }\n} impl :: core :: hash :: Hash for Tuple where u32 : :: core :: hash :: Hash,\n{\n    #[inline] fn hash < H : :: core :: hash :: Hasher >\n    (& self, state : & mut H) { self.0.hash(state) ; }\n}"
[INFO] [stderr] [src/lib.rs:141] output.to_string() = "struct Tuple(u32, i64) ; impl :: core :: clone :: Clone for Tuple where u32 :\n:: core :: clone :: Clone, i64 : :: core :: clone :: Clone,\n{\n    #[inline] fn clone(& self) -> Self\n    { Self { 0 : self.0.clone(), 1 : self.1.clone(), } }\n} impl :: core :: marker :: Copy for Tuple where u32 : :: core :: marker ::\nCopy, i64 : :: core :: marker :: Copy, { } impl :: core :: fmt :: Debug for\nTuple where u32 : :: core :: fmt :: Debug, i64 : :: core :: fmt :: Debug,\n{\n    #[inline] fn fmt(& self, fmt : & mut :: core :: fmt :: Formatter) -> ::\n    core :: fmt :: Result\n    { fmt.debug_tuple(\"Tuple\").field(& self.0).field(& self.1).finish() }\n} impl :: core :: default :: Default for Tuple where u32 : :: core :: default\n:: Default, i64 : :: core :: default :: Default,\n{\n    #[inline] fn default() -> Self\n    {\n        Self\n        {\n            0 : :: core :: default :: Default :: default(), 1 : :: core ::\n            default :: Default :: default(),\n        }\n    }\n} impl :: core :: cmp :: PartialEq for Tuple where u32 : :: core :: cmp ::\nPartialEq, i64 : :: core :: cmp :: PartialEq,\n{\n    #[inline] fn eq(& self, other : & Self) -> bool\n    { true && self.0.eq(& other.0) && self.1.eq(& other.1) }\n} impl :: core :: cmp :: Eq for Tuple where u32 : :: core :: cmp :: Eq, i64 :\n:: core :: cmp :: Eq, { } impl :: core :: cmp :: PartialOrd for Tuple where\nu32 : :: core :: cmp :: PartialOrd, i64 : :: core :: cmp :: PartialOrd,\n{\n    #[inline] fn partial_cmp(& self, other : & Self) -> Option < :: core ::\n    cmp :: Ordering >\n    {\n        let cmp = Some(:: core :: cmp :: Ordering :: Equal) ; if cmp !=\n        Some(:: core :: cmp :: Ordering :: Equal) { return cmp ; } let cmp =\n        self.0.partial_cmp(& other.0) ; if cmp !=\n        Some(:: core :: cmp :: Ordering :: Equal) { return cmp ; } let cmp =\n        self.1.partial_cmp(& other.1) ; cmp\n    }\n} impl :: core :: cmp :: Ord for Tuple where u32 : :: core :: cmp :: Ord, i64\n: :: core :: cmp :: Ord,\n{\n    #[inline] fn cmp(& self, other : & Self) -> :: core :: cmp :: Ordering\n    {\n        let cmp = :: core :: cmp :: Ordering :: Equal ; if cmp != :: core ::\n        cmp :: Ordering :: Equal { return cmp ; } let cmp =\n        self.0.cmp(& other.0) ; if cmp != :: core :: cmp :: Ordering :: Equal\n        { return cmp ; } let cmp = self.1.cmp(& other.1) ; cmp\n    }\n} impl :: core :: hash :: Hash for Tuple where u32 : :: core :: hash :: Hash,\ni64 : :: core :: hash :: Hash,\n{\n    #[inline] fn hash < H : :: core :: hash :: Hasher >\n    (& self, state : & mut H) { self.0.hash(state) ; self.1.hash(state) ; }\n}"
[INFO] [stderr] [src/lib.rs:141] output.to_string() = "struct Named { } impl :: core :: clone :: Clone for Named where\n{ #[inline] fn clone(& self) -> Self { Self { } } } impl :: core :: marker ::\nCopy for Named where { } impl :: core :: fmt :: Debug for Named where\n{\n    #[inline] fn fmt(& self, fmt : & mut :: core :: fmt :: Formatter) -> ::\n    core :: fmt :: Result { fmt.debug_struct(\"Named\").finish() }\n} impl :: core :: default :: Default for Named where\n{ #[inline] fn default() -> Self { Self { } } } impl :: core :: cmp ::\nPartialEq for Named where\n{ #[inline] fn eq(& self, other : & Self) -> bool { true } } impl :: core ::\ncmp :: Eq for Named where { } impl :: core :: cmp :: PartialOrd for Named\nwhere\n{\n    #[inline] fn partial_cmp(& self, other : & Self) -> Option < :: core ::\n    cmp :: Ordering >\n    { let cmp = Some(:: core :: cmp :: Ordering :: Equal) ; cmp }\n} impl :: core :: cmp :: Ord for Named where\n{\n    #[inline] fn cmp(& self, other : & Self) -> :: core :: cmp :: Ordering\n    { let cmp = :: core :: cmp :: Ordering :: Equal ; cmp }\n} impl :: core :: hash :: Hash for Named where\n{\n    #[inline] fn hash < H : :: core :: hash :: Hasher >\n    (& self, state : & mut H) { }\n}"
[INFO] [stderr] [src/lib.rs:141] output.to_string() = "struct Named { one : u32, } impl :: core :: clone :: Clone for Named where u32\n: :: core :: clone :: Clone,\n{ #[inline] fn clone(& self) -> Self { Self { one : self.one.clone(), } } }\nimpl :: core :: marker :: Copy for Named where u32 : :: core :: marker ::\nCopy, { } impl :: core :: fmt :: Debug for Named where u32 : :: core :: fmt ::\nDebug,\n{\n    #[inline] fn fmt(& self, fmt : & mut :: core :: fmt :: Formatter) -> ::\n    core :: fmt :: Result\n    { fmt.debug_struct(\"Named\").field(\"one\", & self.one).finish() }\n} impl :: core :: default :: Default for Named where u32 : :: core :: default\n:: Default,\n{\n    #[inline] fn default() -> Self\n    { Self { one : :: core :: default :: Default :: default(), } }\n} impl :: core :: cmp :: PartialEq for Named where u32 : :: core :: cmp ::\nPartialEq,\n{\n    #[inline] fn eq(& self, other : & Self) -> bool\n    { true && self.one.eq(& other.one) }\n} impl :: core :: cmp :: Eq for Named where u32 : :: core :: cmp :: Eq, { }\nimpl :: core :: cmp :: PartialOrd for Named where u32 : :: core :: cmp ::\nPartialOrd,\n{\n    #[inline] fn partial_cmp(& self, other : & Self) -> Option < :: core ::\n    cmp :: Ordering >\n    {\n        let cmp = Some(:: core :: cmp :: Ordering :: Equal) ; if cmp !=\n        Some(:: core :: cmp :: Ordering :: Equal) { return cmp ; } let cmp =\n        self.one.partial_cmp(& other.one) ; cmp\n    }\n} impl :: core :: cmp :: Ord for Named where u32 : :: core :: cmp :: Ord,\n{\n    #[inline] fn cmp(& self, other : & Self) -> :: core :: cmp :: Ordering\n    {\n        let cmp = :: core :: cmp :: Ordering :: Equal ; if cmp != :: core ::\n        cmp :: Ordering :: Equal { return cmp ; } let cmp =\n        self.one.cmp(& other.one) ; cmp\n    }\n} impl :: core :: hash :: Hash for Named where u32 : :: core :: hash :: Hash,\n{\n    #[inline] fn hash < H : :: core :: hash :: Hasher >\n    (& self, state : & mut H) { self.one.hash(state) ; }\n}"
[INFO] [stderr] [src/lib.rs:141] output.to_string() = "struct Named { one : u32, two : i64, } impl :: core :: clone :: Clone for\nNamed where u32 : :: core :: clone :: Clone, i64 : :: core :: clone :: Clone,\n{\n    #[inline] fn clone(& self) -> Self\n    { Self { one : self.one.clone(), two : self.two.clone(), } }\n} impl :: core :: marker :: Copy for Named where u32 : :: core :: marker ::\nCopy, i64 : :: core :: marker :: Copy, { } impl :: core :: fmt :: Debug for\nNamed where u32 : :: core :: fmt :: Debug, i64 : :: core :: fmt :: Debug,\n{\n    #[inline] fn fmt(& self, fmt : & mut :: core :: fmt :: Formatter) -> ::\n    core :: fmt :: Result\n    {\n        fmt.debug_struct(\"Named\").field(\"one\", &\n                                        self.one).field(\"two\", &\n                                                        self.two).finish()\n    }\n} impl :: core :: default :: Default for Named where u32 : :: core :: default\n:: Default, i64 : :: core :: default :: Default,\n{\n    #[inline] fn default() -> Self\n    {\n        Self\n        {\n            one : :: core :: default :: Default :: default(), two : :: core ::\n            default :: Default :: default(),\n        }\n    }\n} impl :: core :: cmp :: PartialEq for Named where u32 : :: core :: cmp ::\nPartialEq, i64 : :: core :: cmp :: PartialEq,\n{\n    #[inline] fn eq(& self, other : & Self) -> bool\n    { true && self.one.eq(& other.one) && self.two.eq(& other.two) }\n} impl :: core :: cmp :: Eq for Named where u32 : :: core :: cmp :: Eq, i64 :\n:: core :: cmp :: Eq, { } impl :: core :: cmp :: PartialOrd for Named where\nu32 : :: core :: cmp :: PartialOrd, i64 : :: core :: cmp :: PartialOrd,\n{\n    #[inline] fn partial_cmp(& self, other : & Self) -> Option < :: core ::\n    cmp :: Ordering >\n    {\n        let cmp = Some(:: core :: cmp :: Ordering :: Equal) ; if cmp !=\n        Some(:: core :: cmp :: Ordering :: Equal) { return cmp ; } let cmp =\n        self.one.partial_cmp(& other.one) ; if cmp !=\n        Some(:: core :: cmp :: Ordering :: Equal) { return cmp ; } let cmp =\n        self.two.partial_cmp(& other.two) ; cmp\n    }\n} impl :: core :: cmp :: Ord for Named where u32 : :: core :: cmp :: Ord, i64\n: :: core :: cmp :: Ord,\n{\n    #[inline] fn cmp(& self, other : & Self) -> :: core :: cmp :: Ordering\n    {\n        let cmp = :: core :: cmp :: Ordering :: Equal ; if cmp != :: core ::\n        cmp :: Ordering :: Equal { return cmp ; } let cmp =\n        self.one.cmp(& other.one) ; if cmp != :: core :: cmp :: Ordering ::\n        Equal { return cmp ; } let cmp = self.two.cmp(& other.two) ; cmp\n    }\n} impl :: core :: hash :: Hash for Named where u32 : :: core :: hash :: Hash,\ni64 : :: core :: hash :: Hash,\n{\n    #[inline] fn hash < H : :: core :: hash :: Hasher >\n    (& self, state : & mut H)\n    { self.one.hash(state) ; self.two.hash(state) ; }\n}"
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.48s
[INFO] running `Command { std: "docker" "inspect" "4cdcf60993b9b528efe5427bf5627b916383c585d84eb3c6f71095aa91830be9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4cdcf60993b9b528efe5427bf5627b916383c585d84eb3c6f71095aa91830be9", kill_on_drop: false }`
[INFO] [stdout] 4cdcf60993b9b528efe5427bf5627b916383c585d84eb3c6f71095aa91830be9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] cf54d56740d174d520a71b2b88679aeed4aae6dcfa49811a1e3d053f6cd88024
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "cf54d56740d174d520a71b2b88679aeed4aae6dcfa49811a1e3d053f6cd88024", kill_on_drop: false }`
[INFO] [stdout] 
[INFO] [stderr] [src/lib.rs:141] output.to_string() = "struct Unit ; impl :: core :: clone :: Clone for Unit where\n{ #[inline] fn clone(& self) -> Self { Self { } } } impl :: core :: marker ::\nCopy for Unit where { } impl :: core :: fmt :: Debug for Unit where\n{\n    #[inline] fn fmt(& self, fmt : & mut :: core :: fmt :: Formatter) -> ::\n    core :: fmt :: Result { fmt.write_str(\"Unit\") }\n} impl :: core :: default :: Default for Unit where\n{ #[inline] fn default() -> Self { Self { } } } impl :: core :: cmp ::\nPartialEq for Unit where\n{ #[inline] fn eq(& self, other : & Self) -> bool { true } } impl :: core ::\ncmp :: Eq for Unit where { } impl :: core :: cmp :: PartialOrd for Unit where\n{\n    #[inline] fn partial_cmp(& self, other : & Self) -> Option < :: core ::\n    cmp :: Ordering >\n    { let cmp = Some(:: core :: cmp :: Ordering :: Equal) ; cmp }\n} impl :: core :: cmp :: Ord for Unit where\n{\n    #[inline] fn cmp(& self, other : & Self) -> :: core :: cmp :: Ordering\n    { let cmp = :: core :: cmp :: Ordering :: Equal ; cmp }\n} impl :: core :: hash :: Hash for Unit where\n{\n    #[inline] fn hash < H : :: core :: hash :: Hasher >\n    (& self, state : & mut H) { }\n}"
[INFO] [stdout] running 0 tests
[INFO] [stderr] [src/lib.rs:141] output.to_string() = "struct Tuple() ; impl :: core :: clone :: Clone for Tuple where\n{ #[inline] fn clone(& self) -> Self { Self { } } } impl :: core :: marker ::\nCopy for Tuple where { } impl :: core :: fmt :: Debug for Tuple where\n{\n    #[inline] fn fmt(& self, fmt : & mut :: core :: fmt :: Formatter) -> ::\n    core :: fmt :: Result { fmt.debug_tuple(\"Tuple\").finish() }\n} impl :: core :: default :: Default for Tuple where\n{ #[inline] fn default() -> Self { Self { } } } impl :: core :: cmp ::\nPartialEq for Tuple where\n{ #[inline] fn eq(& self, other : & Self) -> bool { true } } impl :: core ::\ncmp :: Eq for Tuple where { } impl :: core :: cmp :: PartialOrd for Tuple\nwhere\n{\n    #[inline] fn partial_cmp(& self, other : & Self) -> Option < :: core ::\n    cmp :: Ordering >\n    { let cmp = Some(:: core :: cmp :: Ordering :: Equal) ; cmp }\n} impl :: core :: cmp :: Ord for Tuple where\n{\n    #[inline] fn cmp(& self, other : & Self) -> :: core :: cmp :: Ordering\n    { let cmp = :: core :: cmp :: Ordering :: Equal ; cmp }\n} impl :: core :: hash :: Hash for Tuple where\n{\n    #[inline] fn hash < H : :: core :: hash :: Hasher >\n    (& self, state : & mut H) { }\n}"
[INFO] [stdout] 
[INFO] [stderr] [src/lib.rs:141] output.to_string() = "struct Tuple(u32) ; impl :: core :: clone :: Clone for Tuple where u32 : ::\ncore :: clone :: Clone,\n{ #[inline] fn clone(& self) -> Self { Self { 0 : self.0.clone(), } } } impl\n:: core :: marker :: Copy for Tuple where u32 : :: core :: marker :: Copy, { }\nimpl :: core :: fmt :: Debug for Tuple where u32 : :: core :: fmt :: Debug,\n{\n    #[inline] fn fmt(& self, fmt : & mut :: core :: fmt :: Formatter) -> ::\n    core :: fmt :: Result\n    { fmt.debug_tuple(\"Tuple\").field(& self.0).finish() }\n} impl :: core :: default :: Default for Tuple where u32 : :: core :: default\n:: Default,\n{\n    #[inline] fn default() -> Self\n    { Self { 0 : :: core :: default :: Default :: default(), } }\n} impl :: core :: cmp :: PartialEq for Tuple where u32 : :: core :: cmp ::\nPartialEq,\n{\n    #[inline] fn eq(& self, other : & Self) -> bool\n    { true && self.0.eq(& other.0) }\n} impl :: core :: cmp :: Eq for Tuple where u32 : :: core :: cmp :: Eq, { }\nimpl :: core :: cmp :: PartialOrd for Tuple where u32 : :: core :: cmp ::\nPartialOrd,\n{\n    #[inline] fn partial_cmp(& self, other : & Self) -> Option < :: core ::\n    cmp :: Ordering >\n    {\n        let cmp = Some(:: core :: cmp :: Ordering :: Equal) ; if cmp !=\n        Some(:: core :: cmp :: Ordering :: Equal) { return cmp ; } let cmp =\n        self.0.partial_cmp(& other.0) ; cmp\n    }\n} impl :: core :: cmp :: Ord for Tuple where u32 : :: core :: cmp :: Ord,\n{\n    #[inline] fn cmp(& self, other : & Self) -> :: core :: cmp :: Ordering\n    {\n        let cmp = :: core :: cmp :: Ordering :: Equal ; if cmp != :: core ::\n        cmp :: Ordering :: Equal { return cmp ; } let cmp =\n        self.0.cmp(& other.0) ; cmp\n    }\n} impl :: core :: hash :: Hash for Tuple where u32 : :: core :: hash :: Hash,\n{\n    #[inline] fn hash < H : :: core :: hash :: Hasher >\n    (& self, state : & mut H) { self.0.hash(state) ; }\n}"
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr] [src/lib.rs:141] output.to_string() = "struct Tuple(u32, i64) ; impl :: core :: clone :: Clone for Tuple where u32 :\n:: core :: clone :: Clone, i64 : :: core :: clone :: Clone,\n{\n    #[inline] fn clone(& self) -> Self\n    { Self { 0 : self.0.clone(), 1 : self.1.clone(), } }\n} impl :: core :: marker :: Copy for Tuple where u32 : :: core :: marker ::\nCopy, i64 : :: core :: marker :: Copy, { } impl :: core :: fmt :: Debug for\nTuple where u32 : :: core :: fmt :: Debug, i64 : :: core :: fmt :: Debug,\n{\n    #[inline] fn fmt(& self, fmt : & mut :: core :: fmt :: Formatter) -> ::\n    core :: fmt :: Result\n    { fmt.debug_tuple(\"Tuple\").field(& self.0).field(& self.1).finish() }\n} impl :: core :: default :: Default for Tuple where u32 : :: core :: default\n:: Default, i64 : :: core :: default :: Default,\n{\n    #[inline] fn default() -> Self\n    {\n        Self\n        {\n            0 : :: core :: default :: Default :: default(), 1 : :: core ::\n            default :: Default :: default(),\n        }\n    }\n} impl :: core :: cmp :: PartialEq for Tuple where u32 : :: core :: cmp ::\nPartialEq, i64 : :: core :: cmp :: PartialEq,\n{\n    #[inline] fn eq(& self, other : & Self) -> bool\n    { true && self.0.eq(& other.0) && self.1.eq(& other.1) }\n} impl :: core :: cmp :: Eq for Tuple where u32 : :: core :: cmp :: Eq, i64 :\n:: core :: cmp :: Eq, { } impl :: core :: cmp :: PartialOrd for Tuple where\nu32 : :: core :: cmp :: PartialOrd, i64 : :: core :: cmp :: PartialOrd,\n{\n    #[inline] fn partial_cmp(& self, other : & Self) -> Option < :: core ::\n    cmp :: Ordering >\n    {\n        let cmp = Some(:: core :: cmp :: Ordering :: Equal) ; if cmp !=\n        Some(:: core :: cmp :: Ordering :: Equal) { return cmp ; } let cmp =\n        self.0.partial_cmp(& other.0) ; if cmp !=\n        Some(:: core :: cmp :: Ordering :: Equal) { return cmp ; } let cmp =\n        self.1.partial_cmp(& other.1) ; cmp\n    }\n} impl :: core :: cmp :: Ord for Tuple where u32 : :: core :: cmp :: Ord, i64\n: :: core :: cmp :: Ord,\n{\n    #[inline] fn cmp(& self, other : & Self) -> :: core :: cmp :: Ordering\n    {\n        let cmp = :: core :: cmp :: Ordering :: Equal ; if cmp != :: core ::\n        cmp :: Ordering :: Equal { return cmp ; } let cmp =\n        self.0.cmp(& other.0) ; if cmp != :: core :: cmp :: Ordering :: Equal\n        { return cmp ; } let cmp = self.1.cmp(& other.1) ; cmp\n    }\n} impl :: core :: hash :: Hash for Tuple where u32 : :: core :: hash :: Hash,\ni64 : :: core :: hash :: Hash,\n{\n    #[inline] fn hash < H : :: core :: hash :: Hasher >\n    (& self, state : & mut H) { self.0.hash(state) ; self.1.hash(state) ; }\n}"
[INFO] [stdout] 
[INFO] [stderr] [src/lib.rs:141] output.to_string() = "struct Named { } impl :: core :: clone :: Clone for Named where\n{ #[inline] fn clone(& self) -> Self { Self { } } } impl :: core :: marker ::\nCopy for Named where { } impl :: core :: fmt :: Debug for Named where\n{\n    #[inline] fn fmt(& self, fmt : & mut :: core :: fmt :: Formatter) -> ::\n    core :: fmt :: Result { fmt.debug_struct(\"Named\").finish() }\n} impl :: core :: default :: Default for Named where\n{ #[inline] fn default() -> Self { Self { } } } impl :: core :: cmp ::\nPartialEq for Named where\n{ #[inline] fn eq(& self, other : & Self) -> bool { true } } impl :: core ::\ncmp :: Eq for Named where { } impl :: core :: cmp :: PartialOrd for Named\nwhere\n{\n    #[inline] fn partial_cmp(& self, other : & Self) -> Option < :: core ::\n    cmp :: Ordering >\n    { let cmp = Some(:: core :: cmp :: Ordering :: Equal) ; cmp }\n} impl :: core :: cmp :: Ord for Named where\n{\n    #[inline] fn cmp(& self, other : & Self) -> :: core :: cmp :: Ordering\n    { let cmp = :: core :: cmp :: Ordering :: Equal ; cmp }\n} impl :: core :: hash :: Hash for Named where\n{\n    #[inline] fn hash < H : :: core :: hash :: Hasher >\n    (& self, state : & mut H) { }\n}"
[INFO] [stderr] [src/lib.rs:141] output.to_string() = "struct Named { one : u32, } impl :: core :: clone :: Clone for Named where u32\n: :: core :: clone :: Clone,\n{ #[inline] fn clone(& self) -> Self { Self { one : self.one.clone(), } } }\nimpl :: core :: marker :: Copy for Named where u32 : :: core :: marker ::\nCopy, { } impl :: core :: fmt :: Debug for Named where u32 : :: core :: fmt ::\nDebug,\n{\n    #[inline] fn fmt(& self, fmt : & mut :: core :: fmt :: Formatter) -> ::\n    core :: fmt :: Result\n    { fmt.debug_struct(\"Named\").field(\"one\", & self.one).finish() }\n} impl :: core :: default :: Default for Named where u32 : :: core :: default\n:: Default,\n{\n    #[inline] fn default() -> Self\n    { Self { one : :: core :: default :: Default :: default(), } }\n} impl :: core :: cmp :: PartialEq for Named where u32 : :: core :: cmp ::\nPartialEq,\n{\n    #[inline] fn eq(& self, other : & Self) -> bool\n    { true && self.one.eq(& other.one) }\n} impl :: core :: cmp :: Eq for Named where u32 : :: core :: cmp :: Eq, { }\nimpl :: core :: cmp :: PartialOrd for Named where u32 : :: core :: cmp ::\nPartialOrd,\n{\n    #[inline] fn partial_cmp(& self, other : & Self) -> Option < :: core ::\n    cmp :: Ordering >\n    {\n        let cmp = Some(:: core :: cmp :: Ordering :: Equal) ; if cmp !=\n        Some(:: core :: cmp :: Ordering :: Equal) { return cmp ; } let cmp =\n        self.one.partial_cmp(& other.one) ; cmp\n    }\n} impl :: core :: cmp :: Ord for Named where u32 : :: core :: cmp :: Ord,\n{\n    #[inline] fn cmp(& self, other : & Self) -> :: core :: cmp :: Ordering\n    {\n        let cmp = :: core :: cmp :: Ordering :: Equal ; if cmp != :: core ::\n        cmp :: Ordering :: Equal { return cmp ; } let cmp =\n        self.one.cmp(& other.one) ; cmp\n    }\n} impl :: core :: hash :: Hash for Named where u32 : :: core :: hash :: Hash,\n{\n    #[inline] fn hash < H : :: core :: hash :: Hasher >\n    (& self, state : & mut H) { self.one.hash(state) ; }\n}"
[INFO] [stderr] [src/lib.rs:141] output.to_string() = "struct Named { one : u32, two : i64, } impl :: core :: clone :: Clone for\nNamed where u32 : :: core :: clone :: Clone, i64 : :: core :: clone :: Clone,\n{\n    #[inline] fn clone(& self) -> Self\n    { Self { one : self.one.clone(), two : self.two.clone(), } }\n} impl :: core :: marker :: Copy for Named where u32 : :: core :: marker ::\nCopy, i64 : :: core :: marker :: Copy, { } impl :: core :: fmt :: Debug for\nNamed where u32 : :: core :: fmt :: Debug, i64 : :: core :: fmt :: Debug,\n{\n    #[inline] fn fmt(& self, fmt : & mut :: core :: fmt :: Formatter) -> ::\n    core :: fmt :: Result\n    {\n        fmt.debug_struct(\"Named\").field(\"one\", &\n                                        self.one).field(\"two\", &\n                                                        self.two).finish()\n    }\n} impl :: core :: default :: Default for Named where u32 : :: core :: default\n:: Default, i64 : :: core :: default :: Default,\n{\n    #[inline] fn default() -> Self\n    {\n        Self\n        {\n            one : :: core :: default :: Default :: default(), two : :: core ::\n            default :: Default :: default(),\n        }\n    }\n} impl :: core :: cmp :: PartialEq for Named where u32 : :: core :: cmp ::\nPartialEq, i64 : :: core :: cmp :: PartialEq,\n{\n    #[inline] fn eq(& self, other : & Self) -> bool\n    { true && self.one.eq(& other.one) && self.two.eq(& other.two) }\n} impl :: core :: cmp :: Eq for Named where u32 : :: core :: cmp :: Eq, i64 :\n:: core :: cmp :: Eq, { } impl :: core :: cmp :: PartialOrd for Named where\nu32 : :: core :: cmp :: PartialOrd, i64 : :: core :: cmp :: PartialOrd,\n{\n    #[inline] fn partial_cmp(& self, other : & Self) -> Option < :: core ::\n    cmp :: Ordering >\n    {\n        let cmp = Some(:: core :: cmp :: Ordering :: Equal) ; if cmp !=\n        Some(:: core :: cmp :: Ordering :: Equal) { return cmp ; } let cmp =\n        self.one.partial_cmp(& other.one) ; if cmp !=\n        Some(:: core :: cmp :: Ordering :: Equal) { return cmp ; } let cmp =\n        self.two.partial_cmp(& other.two) ; cmp\n    }\n} impl :: core :: cmp :: Ord for Named where u32 : :: core :: cmp :: Ord, i64\n: :: core :: cmp :: Ord,\n{\n    #[inline] fn cmp(& self, other : & Self) -> :: core :: cmp :: Ordering\n    {\n        let cmp = :: core :: cmp :: Ordering :: Equal ; if cmp != :: core ::\n        cmp :: Ordering :: Equal { return cmp ; } let cmp =\n        self.one.cmp(& other.one) ; if cmp != :: core :: cmp :: Ordering ::\n        Equal { return cmp ; } let cmp = self.two.cmp(& other.two) ; cmp\n    }\n} impl :: core :: hash :: Hash for Named where u32 : :: core :: hash :: Hash,\ni64 : :: core :: hash :: Hash,\n{\n    #[inline] fn hash < H : :: core :: hash :: Hasher >\n    (& self, state : & mut H)\n    { self.one.hash(state) ; self.two.hash(state) ; }\n}"
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/iderive-d212ded6df1e3944)
[INFO] [stderr]      Running tests/test.rs (/opt/rustwide/target/debug/deps/test-68f23b953867f1f6)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stderr]    Doc-tests iderive
[INFO] [stdout] test tuple_struct_1 ... ok
[INFO] [stdout] test tuple_struct_2 ... ok
[INFO] [stdout] test unit_struct ... ok
[INFO] [stdout] test tuple_struct_0 ... ok
[INFO] [stdout] test named_struct_1 ... ok
[INFO] [stdout] test named_struct_2 ... ok
[INFO] [stdout] test named_struct_0 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/lib.rs - (line 12) - compile fail ... ok
[INFO] [stdout] test src/lib.rs - (line 32) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.59s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "cf54d56740d174d520a71b2b88679aeed4aae6dcfa49811a1e3d053f6cd88024", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf54d56740d174d520a71b2b88679aeed4aae6dcfa49811a1e3d053f6cd88024", kill_on_drop: false }`
[INFO] [stdout] cf54d56740d174d520a71b2b88679aeed4aae6dcfa49811a1e3d053f6cd88024
