[INFO] fetching crate rabe 0.4.2... [INFO] testing rabe-0.4.2 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate rabe 0.4.2 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate rabe 0.4.2 [INFO] finished tweaking crates.io crate rabe 0.4.2 [INFO] tweaked toml for crates.io crate rabe 0.4.2 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate rabe 0.4.2 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 120 packages to latest compatible versions [INFO] [stderr] Adding criterion v0.3.6 (available: v0.6.0) [INFO] [stderr] Adding rand v0.8.5 (available: v0.9.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded permutation v0.4.1 [INFO] [stderr] Downloaded rabe-bn v0.4.23 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2fc517baa1cce4351cb51cf9043d146264456b18518e3474403d9e46e236cc48 [INFO] running `Command { std: "docker" "start" "-a" "2fc517baa1cce4351cb51cf9043d146264456b18518e3474403d9e46e236cc48", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2fc517baa1cce4351cb51cf9043d146264456b18518e3474403d9e46e236cc48", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2fc517baa1cce4351cb51cf9043d146264456b18518e3474403d9e46e236cc48", kill_on_drop: false }` [INFO] [stdout] 2fc517baa1cce4351cb51cf9043d146264456b18518e3474403d9e46e236cc48 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] f5b81cf372eeb7b62895d5441f6e9f053de4575e54c3e9c83eaea1c25574fff3 [INFO] running `Command { std: "docker" "start" "-a" "f5b81cf372eeb7b62895d5441f6e9f053de4575e54c3e9c83eaea1c25574fff3", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling cfg-if v1.0.1 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling opaque-debug v0.3.1 [INFO] [stderr] Compiling keccak v0.1.5 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling permutation v0.4.1 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling polyval v0.6.2 [INFO] [stderr] Compiling sha3 v0.10.8 [INFO] [stderr] Compiling ghash v0.5.1 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling aes-gcm v0.10.3 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling pest v2.8.1 [INFO] [stderr] Compiling pest_meta v2.8.1 [INFO] [stderr] Compiling pest_generator v2.8.1 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling pest_derive v2.8.1 [INFO] [stderr] Compiling rabe-bn v0.4.23 [INFO] [stderr] Compiling rabe v0.4.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: dropping unsupported crate type `cdylib` for target `x86_64-unknown-linux-musl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/policy/pest/mod.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | policy: &str, [INFO] [stdout] | ^^^^ this lifetime flows to the output [INFO] [stdout] 42 | language: PolicyLanguage [INFO] [stdout] 43 | ) -> Result { [INFO] [stdout] | ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 43 | ) -> Result, RabeError> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 41.68s [INFO] running `Command { std: "docker" "inspect" "f5b81cf372eeb7b62895d5441f6e9f053de4575e54c3e9c83eaea1c25574fff3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f5b81cf372eeb7b62895d5441f6e9f053de4575e54c3e9c83eaea1c25574fff3", kill_on_drop: false }` [INFO] [stdout] f5b81cf372eeb7b62895d5441f6e9f053de4575e54c3e9c83eaea1c25574fff3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 063bee065339cbca4d6ca3aeed428bf1a29a38ad3a4a0f3587016c3cbb22554b [INFO] running `Command { std: "docker" "start" "-a" "063bee065339cbca4d6ca3aeed428bf1a29a38ad3a4a0f3587016c3cbb22554b", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling csv-core v0.1.12 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling half v1.8.3 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling serde_cbor v0.11.2 [INFO] [stderr] Compiling csv v1.3.1 [INFO] [stderr] Compiling criterion-plot v0.4.5 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stdout] warning: dropping unsupported crate type `cdylib` for target `x86_64-unknown-linux-musl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/policy/pest/mod.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | policy: &str, [INFO] [stdout] | ^^^^ this lifetime flows to the output [INFO] [stdout] 42 | language: PolicyLanguage [INFO] [stdout] 43 | ) -> Result { [INFO] [stdout] | ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 43 | ) -> Result, RabeError> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling criterion v0.3.6 [INFO] [stderr] Compiling rabe v0.4.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/utils/policy/pest/mod.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | policy: &str, [INFO] [stdout] | ^^^^ this lifetime flows to the output [INFO] [stdout] 42 | language: PolicyLanguage [INFO] [stdout] 43 | ) -> Result { [INFO] [stdout] | ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 43 | ) -> Result, RabeError> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 39.05s [INFO] running `Command { std: "docker" "inspect" "063bee065339cbca4d6ca3aeed428bf1a29a38ad3a4a0f3587016c3cbb22554b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "063bee065339cbca4d6ca3aeed428bf1a29a38ad3a4a0f3587016c3cbb22554b", kill_on_drop: false }` [INFO] [stdout] 063bee065339cbca4d6ca3aeed428bf1a29a38ad3a4a0f3587016c3cbb22554b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 9ef667391b7b38538e02c0dcc4099a6a870fa1a75061c5e25561ce361925bf40 [INFO] running `Command { std: "docker" "start" "-a" "9ef667391b7b38538e02c0dcc4099a6a870fa1a75061c5e25561ce361925bf40", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: dropping unsupported crate type `cdylib` for target `x86_64-unknown-linux-musl` [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/utils/policy/pest/mod.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | policy: &str, [INFO] [stderr] | ^^^^ this lifetime flows to the output [INFO] [stderr] 42 | language: PolicyLanguage [INFO] [stderr] 43 | ) -> Result { [INFO] [stderr] | ----------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 43 | ) -> Result, RabeError> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `rabe` (lib) generated 2 warnings (run `cargo fix --lib -p rabe` to apply 1 suggestion) [INFO] [stderr] warning: `rabe` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/rabe-28efaeccab02c6a1) [INFO] [stdout] [INFO] [stdout] running 46 tests [INFO] [stdout] test schemes::ac17::tests::kp_not ... ok [INFO] [stdout] test schemes::ac17::tests::kp_or ... ok [INFO] [stdout] test schemes::ac17::tests::cp_or ... ok [INFO] [stdout] test schemes::ac17::tests::cp_and ... ok [INFO] [stdout] test schemes::ac17::tests::kp_and ... ok [INFO] [stdout] test schemes::ac17::tests::cp_or_and_and ... ok [INFO] [stdout] test schemes::bdabe::tests::not ... ok [INFO] [stdout] test schemes::aw11::tests::not ... ok [INFO] [stdout] test schemes::bdabe::tests::and ... ok [INFO] [stdout] test schemes::aw11::tests::and ... ok [INFO] [stdout] test schemes::aw11::tests::or ... ok [INFO] [stdout] test schemes::bdabe::tests::or ... ok [INFO] [stdout] test schemes::bdabe::tests::or_and ... ok [INFO] [stdout] test schemes::bsw::tests::and ... ok [INFO] [stdout] test schemes::aw11::tests::or_and ... ok [INFO] [stdout] test schemes::bsw::tests::delegate_ab ... ok [INFO] [stdout] test schemes::bsw::tests::and3 ... ok [INFO] [stdout] test schemes::ac17::tests::kp_or_and ... ok [INFO] [stdout] test schemes::bsw::tests::or ... ok [INFO] [stdout] test schemes::bsw::tests::dual_attributes ... ok [INFO] [stdout] test schemes::bsw::tests::or3 ... ok [INFO] [stdout] test schemes::ghw11::tests::and2 ... ok [INFO] [stdout] test schemes::lsw::tests::not ... ok [INFO] [stdout] test schemes::lsw::tests::and ... ok [INFO] [stdout] test schemes::bsw::tests::or_and ... ok [INFO] [stdout] test schemes::ghw11::tests::or ... ok [INFO] [stdout] test schemes::lsw::tests::or ... ok [INFO] [stdout] test schemes::lsw::tests::or_and ... ok [INFO] [stdout] test utils::aes::tests::correctness_test1 ... ok [INFO] [stdout] test utils::policy::dnf::tests::test_dnf_from ... ok [INFO] [stdout] test utils::policy::msp::tests::test_msp_from ... ok [INFO] [stdout] test utils::policy::pest::tests::test_children_parsing ... ok [INFO] [stdout] test utils::policy::pest::tests::test_single_parsing ... ok [INFO] [stdout] test utils::policy::pest::tests::test_sub_children_parsing ... ok [INFO] [stdout] test utils::secretsharing::tests::test_gen_shares_json ... ok [INFO] [stdout] test utils::secretsharing::tests::test_pruning ... ok [INFO] [stdout] test utils::secretsharing::tests::test_secret_sharing_and ... ok [INFO] [stdout] test utils::secretsharing::tests::test_secret_sharing_or ... ok [INFO] [stdout] test utils::tools::tests::test_traverse ... ok [INFO] [stdout] test schemes::bsw::tests::and10 ... ok [INFO] [stdout] test schemes::yct14::tests::or ... ok [INFO] [stdout] test schemes::mke08::tests::or ... ok [INFO] [stdout] test schemes::mke08::tests::and ... ok [INFO] [stdout] test schemes::ghw11::tests::and10 ... ok [INFO] [stdout] test schemes::mke08::tests::or_and ... ok [INFO] [stdout] test schemes::bsw::tests::nested ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 46 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 74.52s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "9ef667391b7b38538e02c0dcc4099a6a870fa1a75061c5e25561ce361925bf40", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9ef667391b7b38538e02c0dcc4099a6a870fa1a75061c5e25561ce361925bf40", kill_on_drop: false }` [INFO] [stdout] 9ef667391b7b38538e02c0dcc4099a6a870fa1a75061c5e25561ce361925bf40