[INFO] fetching crate drone-stm32-svd 0.8.3... [INFO] testing drone-stm32-svd-0.8.3 against try#ce59db7a1b1b012fb2793c4641c1bdecad7a128b for pr-85530 [INFO] extracting crate drone-stm32-svd 0.8.3 into /workspace/builds/worker-11/source [INFO] validating manifest of crates.io crate drone-stm32-svd 0.8.3 on toolchain ce59db7a1b1b012fb2793c4641c1bdecad7a128b [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate drone-stm32-svd 0.8.3 [INFO] finished tweaking crates.io crate drone-stm32-svd 0.8.3 [INFO] tweaked toml for crates.io crate drone-stm32-svd 0.8.3 written to /workspace/builds/worker-11/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded drone-mirror-failure v0.1.2 [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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ed6e8184763fcc6490338de3d0b790089f45c42b222cf5aa785e04b9621f07e0 [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" "ed6e8184763fcc6490338de3d0b790089f45c42b222cf5aa785e04b9621f07e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ed6e8184763fcc6490338de3d0b790089f45c42b222cf5aa785e04b9621f07e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ed6e8184763fcc6490338de3d0b790089f45c42b222cf5aa785e04b9621f07e0", kill_on_drop: false }` [INFO] [stdout] ed6e8184763fcc6490338de3d0b790089f45c42b222cf5aa785e04b9621f07e0 [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=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2c2814b506b09d8ef653b5c13543793a00e9532a3cd4e9bde8a1491464429255 [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" "2c2814b506b09d8ef653b5c13543793a00e9532a3cd4e9bde8a1491464429255", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Compiling libc v0.2.95 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling serde v1.0.126 [INFO] [stderr] Compiling bitflags v0.7.0 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling syn v1.0.72 [INFO] [stderr] Compiling xml-rs v0.3.6 [INFO] [stderr] Compiling log v0.3.9 [INFO] [stderr] Compiling object v0.25.2 [INFO] [stderr] Compiling serde_derive v1.0.126 [INFO] [stderr] Compiling serde-xml-rs v0.2.1 [INFO] [stderr] Compiling backtrace v0.3.60 [INFO] [stderr] Compiling drone-mirror-failure v0.1.2 [INFO] [stderr] Compiling drone-stm32-svd v0.8.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:12:3 [INFO] [stdout] | [INFO] [stdout] 12 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 13 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(legacy_derive_helpers)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:18:3 [INFO] [stdout] | [INFO] [stdout] 18 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 19 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:25:3 [INFO] [stdout] | [INFO] [stdout] 25 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 26 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:38:3 [INFO] [stdout] | [INFO] [stdout] 38 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 39 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:47:3 [INFO] [stdout] | [INFO] [stdout] 47 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 48 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:53:3 [INFO] [stdout] | [INFO] [stdout] 53 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 54 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:68:3 [INFO] [stdout] | [INFO] [stdout] 68 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 69 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:74:3 [INFO] [stdout] | [INFO] [stdout] 74 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 75 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:84:3 [INFO] [stdout] | [INFO] [stdout] 84 | #[serde(rename_all = "kebab-case")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 85 | #[derive(Deserialize, Clone, Copy)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `failure::core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stdout] --> src/device.rs:314:13 [INFO] [stdout] | [INFO] [stdout] 314 | let s = s.trim_left_matches("0x").trim_left_matches("0X"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `failure::core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stdout] --> src/device.rs:314:37 [INFO] [stdout] | [INFO] [stdout] 314 | let s = s.trim_left_matches("0x").trim_left_matches("0X"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `range_contains` has been stable since 1.35.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | #![feature(range_contains)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 17.37s [INFO] running `Command { std: "docker" "inspect" "2c2814b506b09d8ef653b5c13543793a00e9532a3cd4e9bde8a1491464429255", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2c2814b506b09d8ef653b5c13543793a00e9532a3cd4e9bde8a1491464429255", kill_on_drop: false }` [INFO] [stdout] 2c2814b506b09d8ef653b5c13543793a00e9532a3cd4e9bde8a1491464429255 [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=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 668fcd28b8c66d034ec2f8f98febe91b70c7de4ae0148312d9696d1106569c0c [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" "668fcd28b8c66d034ec2f8f98febe91b70c7de4ae0148312d9696d1106569c0c", kill_on_drop: false }` [INFO] [stderr] Compiling drone-stm32-svd v0.8.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:12:3 [INFO] [stdout] | [INFO] [stdout] 12 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 13 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(legacy_derive_helpers)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:18:3 [INFO] [stdout] | [INFO] [stdout] 18 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 19 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:25:3 [INFO] [stdout] | [INFO] [stdout] 25 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 26 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:38:3 [INFO] [stdout] | [INFO] [stdout] 38 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 39 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:47:3 [INFO] [stdout] | [INFO] [stdout] 47 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 48 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:53:3 [INFO] [stdout] | [INFO] [stdout] 53 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 54 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:68:3 [INFO] [stdout] | [INFO] [stdout] 68 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 69 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:74:3 [INFO] [stdout] | [INFO] [stdout] 74 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 75 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:84:3 [INFO] [stdout] | [INFO] [stdout] 84 | #[serde(rename_all = "kebab-case")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 85 | #[derive(Deserialize, Clone, Copy)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `failure::core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stdout] --> src/device.rs:314:13 [INFO] [stdout] | [INFO] [stdout] 314 | let s = s.trim_left_matches("0x").trim_left_matches("0X"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `failure::core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stdout] --> src/device.rs:314:37 [INFO] [stdout] | [INFO] [stdout] 314 | let s = s.trim_left_matches("0x").trim_left_matches("0X"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `range_contains` has been stable since 1.35.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | #![feature(range_contains)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:12:3 [INFO] [stdout] | [INFO] [stdout] 12 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 13 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(legacy_derive_helpers)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:18:3 [INFO] [stdout] | [INFO] [stdout] 18 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 19 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:25:3 [INFO] [stdout] | [INFO] [stdout] 25 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 26 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:38:3 [INFO] [stdout] | [INFO] [stdout] 38 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 39 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:47:3 [INFO] [stdout] | [INFO] [stdout] 47 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 48 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:53:3 [INFO] [stdout] | [INFO] [stdout] 53 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 54 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:68:3 [INFO] [stdout] | [INFO] [stdout] 68 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 69 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:74:3 [INFO] [stdout] | [INFO] [stdout] 74 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 75 | #[derive(Deserialize)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/device.rs:84:3 [INFO] [stdout] | [INFO] [stdout] 84 | #[serde(rename_all = "kebab-case")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] 85 | #[derive(Deserialize, Clone, Copy)] [INFO] [stdout] | ----------- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `failure::core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stdout] --> src/device.rs:314:13 [INFO] [stdout] | [INFO] [stdout] 314 | let s = s.trim_left_matches("0x").trim_left_matches("0X"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `failure::core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stdout] --> src/device.rs:314:37 [INFO] [stdout] | [INFO] [stdout] 314 | let s = s.trim_left_matches("0x").trim_left_matches("0X"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `range_contains` has been stable since 1.35.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | #![feature(range_contains)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.98s [INFO] running `Command { std: "docker" "inspect" "668fcd28b8c66d034ec2f8f98febe91b70c7de4ae0148312d9696d1106569c0c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "668fcd28b8c66d034ec2f8f98febe91b70c7de4ae0148312d9696d1106569c0c", kill_on_drop: false }` [INFO] [stdout] 668fcd28b8c66d034ec2f8f98febe91b70c7de4ae0148312d9696d1106569c0c [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=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 4007a90b9e80ad696ca1fbd5d6d030e8d6939b6cabe7ff32ab186ac2a9b95127 [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" "4007a90b9e80ad696ca1fbd5d6d030e8d6939b6cabe7ff32ab186ac2a9b95127", kill_on_drop: false }` [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:12:3 [INFO] [stderr] | [INFO] [stderr] 12 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 13 | #[derive(Deserialize)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(legacy_derive_helpers)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:18:3 [INFO] [stderr] | [INFO] [stderr] 18 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 19 | #[derive(Deserialize)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:25:3 [INFO] [stderr] | [INFO] [stderr] 25 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 26 | #[derive(Deserialize)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:38:3 [INFO] [stderr] | [INFO] [stderr] 38 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 39 | #[derive(Deserialize)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:47:3 [INFO] [stderr] | [INFO] [stderr] 47 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 48 | #[derive(Deserialize)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:53:3 [INFO] [stderr] | [INFO] [stderr] 53 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 54 | #[derive(Deserialize)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:68:3 [INFO] [stderr] | [INFO] [stderr] 68 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 69 | #[derive(Deserialize)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:74:3 [INFO] [stderr] | [INFO] [stderr] 74 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 75 | #[derive(Deserialize)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:84:3 [INFO] [stderr] | [INFO] [stderr] 84 | #[serde(rename_all = "kebab-case")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 85 | #[derive(Deserialize, Clone, Copy)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `failure::core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stderr] --> src/device.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | let s = s.trim_left_matches("0x").trim_left_matches("0X"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `failure::core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stderr] --> src/device.rs:314:37 [INFO] [stderr] | [INFO] [stderr] 314 | let s = s.trim_left_matches("0x").trim_left_matches("0X"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches` [INFO] [stderr] [INFO] [stderr] warning: the feature `range_contains` has been stable since 1.35.0 and no longer requires an attribute to enable [INFO] [stderr] --> src/lib.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | #![feature(range_contains)] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(stable_features)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 12 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:12:3 [INFO] [stderr] | [INFO] [stderr] 12 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 13 | #[derive(Deserialize)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(legacy_derive_helpers)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:18:3 [INFO] [stderr] | [INFO] [stderr] 18 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 19 | #[derive(Deserialize)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:25:3 [INFO] [stderr] | [INFO] [stderr] 25 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 26 | #[derive(Deserialize)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:38:3 [INFO] [stderr] | [INFO] [stderr] 38 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 39 | #[derive(Deserialize)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:47:3 [INFO] [stderr] | [INFO] [stderr] 47 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 48 | #[derive(Deserialize)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:53:3 [INFO] [stderr] | [INFO] [stderr] 53 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 54 | #[derive(Deserialize)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:68:3 [INFO] [stderr] | [INFO] [stderr] 68 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 69 | #[derive(Deserialize)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:74:3 [INFO] [stderr] | [INFO] [stderr] 74 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 75 | #[derive(Deserialize)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: derive helper attribute is used before it is introduced [INFO] [stderr] --> src/device.rs:84:3 [INFO] [stderr] | [INFO] [stderr] 84 | #[serde(rename_all = "kebab-case")] [INFO] [stderr] | ^^^^^ [INFO] [stderr] 85 | #[derive(Deserialize, Clone, Copy)] [INFO] [stderr] | ----------- the attribute is introduced here [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79202 [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `failure::core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stderr] --> src/device.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | let s = s.trim_left_matches("0x").trim_left_matches("0X"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `failure::core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stderr] --> src/device.rs:314:37 [INFO] [stderr] | [INFO] [stderr] 314 | let s = s.trim_left_matches("0x").trim_left_matches("0X"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches` [INFO] [stderr] [INFO] [stderr] warning: the feature `range_contains` has been stable since 1.35.0 and no longer requires an attribute to enable [INFO] [stderr] --> src/lib.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | #![feature(range_contains)] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(stable_features)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 12 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/drone_stm32_svd-94fabb40d9944e64) [INFO] [stdout] [INFO] [stderr] Doc-tests drone-stm32-svd [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "4007a90b9e80ad696ca1fbd5d6d030e8d6939b6cabe7ff32ab186ac2a9b95127", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4007a90b9e80ad696ca1fbd5d6d030e8d6939b6cabe7ff32ab186ac2a9b95127", kill_on_drop: false }` [INFO] [stdout] 4007a90b9e80ad696ca1fbd5d6d030e8d6939b6cabe7ff32ab186ac2a9b95127