[INFO] fetching crate fst 0.3.3... [INFO] extracting crate fst 0.3.3 into work/ex/pr-61874/sources/master#9f06855064ed06a50c496577b21ca50f92a2e67d/reg/fst/0.3.3 [INFO] extracting crate fst 0.3.3 into work/ex/pr-61874/sources/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df/reg/fst/0.3.3 [INFO] validating manifest of fst-0.3.3 on toolchain master#9f06855064ed06a50c496577b21ca50f92a2e67d [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+9f06855064ed06a50c496577b21ca50f92a2e67d-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of fst-0.3.3 on toolchain try#d3301713b54af69ca9de941a8c6b0d8287dbd6df [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing fst-0.3.3 [INFO] finished frobbing fst-0.3.3 [INFO] frobbed toml for fst-0.3.3 written to work/ex/pr-61874/sources/master#9f06855064ed06a50c496577b21ca50f92a2e67d/reg/fst/0.3.3/Cargo.toml [INFO] started frobbing fst-0.3.3 [INFO] finished frobbing fst-0.3.3 [INFO] frobbed toml for fst-0.3.3 written to work/ex/pr-61874/sources/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df/reg/fst/0.3.3/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+9f06855064ed06a50c496577b21ca50f92a2e67d-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+9f06855064ed06a50c496577b21ca50f92a2e67d-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking fst-0.3.3 against try#d3301713b54af69ca9de941a8c6b0d8287dbd6df for pr-61874 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61874/worker-5/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61874/sources/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df/reg/fst/0.3.3:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 7d5e2cd1d2becca916a528a8c38b42dee41533814b6b62365a03308b26c31f09 [INFO] running `"docker" "start" "-a" "7d5e2cd1d2becca916a528a8c38b42dee41533814b6b62365a03308b26c31f09"` [INFO] [stderr] Checking fst v0.3.3 [INFO] [stderr] Checking quickcheck v0.7.2 [INFO] [stderr] Checking fst v0.3.3 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:53:32 [INFO] [stderr] | [INFO] [stderr] 53 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raw/error.rs:108:32 [INFO] [stderr] | [INFO] [stderr] 108 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raw/ops.rs:9:28 [INFO] [stderr] | [INFO] [stderr] 9 | type BoxedStream<'f> = Box Streamer<'a, Item=(&'a [u8], Output)> + 'f>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'a> Streamer<'a, Item=(&'a [u8], Output)> + 'f` [INFO] [stderr] [INFO] [stderr] Checking fst-levenshtein v0.2.1 [INFO] [stderr] Checking fst-regex v0.2.2 [INFO] [stderr] error[E0277]: the trait bound `fst_regex::Regex: fst::Automaton` is not satisfied [INFO] [stderr] --> tests/test.rs:38:23 [INFO] [stderr] | [INFO] [stderr] 38 | let mut rdr = set.search(&re).ge("abd").lt("ax").into_stream(); [INFO] [stderr] | ^^^^^^ the trait `fst::Automaton` is not implemented for `fst_regex::Regex` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `fst::Automaton` for `&fst_regex::Regex` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `ge` found for type `fst::raw::StreamBuilder<'_, &fst_regex::Regex>` in the current scope [INFO] [stderr] --> tests/test.rs:38:35 [INFO] [stderr] | [INFO] [stderr] 38 | let mut rdr = set.search(&re).ge("abd").lt("ax").into_stream(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: the method `ge` exists but the following trait bounds were not satisfied: [INFO] [stderr] `&fst_regex::Regex : fst::Automaton` [INFO] [stderr] `&mut fst::raw::StreamBuilder<'_, &fst_regex::Regex> : std::iter::Iterator` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `fst_levenshtein::Levenshtein: fst::Automaton` is not satisfied [INFO] [stderr] --> tests/test.rs:47:18 [INFO] [stderr] | [INFO] [stderr] 47 | let vs = set.search(&q).into_stream().into_byte_keys(); [INFO] [stderr] | ^^^^^^ the trait `fst::Automaton` is not implemented for `fst_levenshtein::Levenshtein` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `fst::Automaton` for `&fst_levenshtein::Levenshtein` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `into_stream` found for type `fst::raw::StreamBuilder<'_, &fst_levenshtein::Levenshtein>` in the current scope [INFO] [stderr] --> tests/test.rs:47:29 [INFO] [stderr] | [INFO] [stderr] 47 | let vs = set.search(&q).into_stream().into_byte_keys(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the method `into_stream` exists but the following trait bounds were not satisfied: [INFO] [stderr] `&fst::raw::StreamBuilder<'_, &fst_levenshtein::Levenshtein> : fst::IntoStreamer` [INFO] [stderr] `&mut fst::raw::StreamBuilder<'_, &fst_levenshtein::Levenshtein> : fst::IntoStreamer` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `fst_levenshtein::Levenshtein: fst::Automaton` is not satisfied [INFO] [stderr] --> tests/test.rs:55:18 [INFO] [stderr] | [INFO] [stderr] 55 | let vs = set.search(&q).into_stream().into_byte_keys(); [INFO] [stderr] | ^^^^^^ the trait `fst::Automaton` is not implemented for `fst_levenshtein::Levenshtein` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `fst::Automaton` for `&fst_levenshtein::Levenshtein` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `into_stream` found for type `fst::raw::StreamBuilder<'_, &fst_levenshtein::Levenshtein>` in the current scope [INFO] [stderr] --> tests/test.rs:55:29 [INFO] [stderr] | [INFO] [stderr] 55 | let vs = set.search(&q).into_stream().into_byte_keys(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the method `into_stream` exists but the following trait bounds were not satisfied: [INFO] [stderr] `&fst::raw::StreamBuilder<'_, &fst_levenshtein::Levenshtein> : fst::IntoStreamer` [INFO] [stderr] `&mut fst::raw::StreamBuilder<'_, &fst_levenshtein::Levenshtein> : fst::IntoStreamer` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `complement` found for type `fst_levenshtein::Levenshtein` in the current scope [INFO] [stderr] --> tests/test.rs:64:33 [INFO] [stderr] | [INFO] [stderr] 64 | let stream = set.search(lev.complement()).into_stream(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the method `complement` exists but the following trait bounds were not satisfied: [INFO] [stderr] `&fst_levenshtein::Levenshtein : fst::Automaton` [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope, perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 5 | use fst::inner_automaton::Automaton; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `starts_with` found for type `fst_levenshtein::Levenshtein` in the current scope [INFO] [stderr] --> tests/test.rs:78:33 [INFO] [stderr] | [INFO] [stderr] 78 | let stream = set.search(lev.starts_with()).into_stream(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the method `starts_with` exists but the following trait bounds were not satisfied: [INFO] [stderr] `&fst_levenshtein::Levenshtein : fst::Automaton` [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope, perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 5 | use fst::inner_automaton::Automaton; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `intersection` found for type `fst_levenshtein::Levenshtein` in the current scope [INFO] [stderr] --> tests/test.rs:92:33 [INFO] [stderr] | [INFO] [stderr] 92 | let stream = set.search(lev.intersection(reg)).into_stream(); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the method `intersection` exists but the following trait bounds were not satisfied: [INFO] [stderr] `&fst_levenshtein::Levenshtein : fst::Automaton` [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope, perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 5 | use fst::inner_automaton::Automaton; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `union` found for type `fst_levenshtein::Levenshtein` in the current scope [INFO] [stderr] --> tests/test.rs:104:33 [INFO] [stderr] | [INFO] [stderr] 104 | let stream = set.search(lev.union(reg)).into_stream(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the method `union` exists but the following trait bounds were not satisfied: [INFO] [stderr] `&fst_levenshtein::Levenshtein : fst::Automaton` [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope, perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 5 | use fst::inner_automaton::Automaton; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `intersection` found for type `&fst_levenshtein::Levenshtein` in the current scope [INFO] [stderr] --> tests/test.rs:115:41 [INFO] [stderr] | [INFO] [stderr] 115 | let mut stream1 = set.search((&lev).intersection(®)).into_stream(); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the method `intersection` exists but the following trait bounds were not satisfied: [INFO] [stderr] `&&fst_levenshtein::Levenshtein : fst::Automaton` [INFO] [stderr] `&fst_levenshtein::Levenshtein : fst::Automaton` [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope, perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 5 | use fst::inner_automaton::Automaton; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `fst_levenshtein::Levenshtein: fst::Automaton` is not satisfied [INFO] [stderr] --> tests/test.rs:117:18 [INFO] [stderr] | [INFO] [stderr] 117 | .add(set.search(&lev)) [INFO] [stderr] | ^^^^^^ the trait `fst::Automaton` is not implemented for `fst_levenshtein::Levenshtein` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `fst::Automaton` for `&fst_levenshtein::Levenshtein` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `fst::set::StreamBuilder<'_, &fst_levenshtein::Levenshtein>: fst::IntoStreamer<'a>` is not satisfied [INFO] [stderr] --> tests/test.rs:117:10 [INFO] [stderr] | [INFO] [stderr] 117 | .add(set.search(&lev)) [INFO] [stderr] | ^^^ the trait `fst::IntoStreamer<'a>` is not implemented for `fst::set::StreamBuilder<'_, &fst_levenshtein::Levenshtein>` [INFO] [stderr] | [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] as fst::IntoStreamer<'a>> [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `fst_regex::Regex: fst::Automaton` is not satisfied [INFO] [stderr] --> tests/test.rs:118:18 [INFO] [stderr] | [INFO] [stderr] 118 | .add(set.search(®)) [INFO] [stderr] | ^^^^^^ the trait `fst::Automaton` is not implemented for `fst_regex::Regex` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `fst::Automaton` for `&fst_regex::Regex` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `fst::set::StreamBuilder<'_, &fst_regex::Regex>: fst::IntoStreamer<'a>` is not satisfied [INFO] [stderr] --> tests/test.rs:118:10 [INFO] [stderr] | [INFO] [stderr] 118 | .add(set.search(®)) [INFO] [stderr] | ^^^ the trait `fst::IntoStreamer<'a>` is not implemented for `fst::set::StreamBuilder<'_, &fst_regex::Regex>` [INFO] [stderr] | [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] as fst::IntoStreamer<'a>> [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `union` found for type `&fst_levenshtein::Levenshtein` in the current scope [INFO] [stderr] --> tests/test.rs:131:41 [INFO] [stderr] | [INFO] [stderr] 131 | let mut stream1 = set.search((&lev).union(®)).into_stream(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the method `union` exists but the following trait bounds were not satisfied: [INFO] [stderr] `&&fst_levenshtein::Levenshtein : fst::Automaton` [INFO] [stderr] `&fst_levenshtein::Levenshtein : fst::Automaton` [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope, perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 5 | use fst::inner_automaton::Automaton; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `fst_levenshtein::Levenshtein: fst::Automaton` is not satisfied [INFO] [stderr] --> tests/test.rs:133:18 [INFO] [stderr] | [INFO] [stderr] 133 | .add(set.search(&lev)) [INFO] [stderr] | ^^^^^^ the trait `fst::Automaton` is not implemented for `fst_levenshtein::Levenshtein` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `fst::Automaton` for `&fst_levenshtein::Levenshtein` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `fst::set::StreamBuilder<'_, &fst_levenshtein::Levenshtein>: fst::IntoStreamer<'a>` is not satisfied [INFO] [stderr] --> tests/test.rs:133:10 [INFO] [stderr] | [INFO] [stderr] 133 | .add(set.search(&lev)) [INFO] [stderr] | ^^^ the trait `fst::IntoStreamer<'a>` is not implemented for `fst::set::StreamBuilder<'_, &fst_levenshtein::Levenshtein>` [INFO] [stderr] | [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] as fst::IntoStreamer<'a>> [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `fst_regex::Regex: fst::Automaton` is not satisfied [INFO] [stderr] --> tests/test.rs:134:18 [INFO] [stderr] | [INFO] [stderr] 134 | .add(set.search(®)) [INFO] [stderr] | ^^^^^^ the trait `fst::Automaton` is not implemented for `fst_regex::Regex` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `fst::Automaton` for `&fst_regex::Regex` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `fst::set::StreamBuilder<'_, &fst_regex::Regex>: fst::IntoStreamer<'a>` is not satisfied [INFO] [stderr] --> tests/test.rs:134:10 [INFO] [stderr] | [INFO] [stderr] 134 | .add(set.search(®)) [INFO] [stderr] | ^^^ the trait `fst::IntoStreamer<'a>` is not implemented for `fst::set::StreamBuilder<'_, &fst_regex::Regex>` [INFO] [stderr] | [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] as fst::IntoStreamer<'a>> [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `fst_regex::Regex: fst::Automaton` is not satisfied [INFO] [stderr] --> tests/test.rs:148:27 [INFO] [stderr] | [INFO] [stderr] 148 | let mut stream2 = set.search(®ex).into_stream(); [INFO] [stderr] | ^^^^^^ the trait `fst::Automaton` is not implemented for `fst_regex::Regex` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `fst::Automaton` for `&fst_regex::Regex` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `into_stream` found for type `fst::set::StreamBuilder<'_, &fst_regex::Regex>` in the current scope [INFO] [stderr] --> tests/test.rs:148:42 [INFO] [stderr] | [INFO] [stderr] 148 | let mut stream2 = set.search(®ex).into_stream(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the method `into_stream` exists but the following trait bounds were not satisfied: [INFO] [stderr] `&fst::set::StreamBuilder<'_, &fst_regex::Regex> : fst::IntoStreamer` [INFO] [stderr] `&mut fst::set::StreamBuilder<'_, &fst_regex::Regex> : fst::IntoStreamer` [INFO] [stderr] [INFO] [stderr] warning: unused import: `Automaton` [INFO] [stderr] --> tests/test.rs:8:11 [INFO] [stderr] | [INFO] [stderr] 8 | use fst::{Automaton, IntoStreamer, Streamer}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 22 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0599. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: Could not compile `fst`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:53:32 [INFO] [stderr] | [INFO] [stderr] 53 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raw/error.rs:108:32 [INFO] [stderr] | [INFO] [stderr] 108 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raw/ops.rs:9:28 [INFO] [stderr] | [INFO] [stderr] 9 | type BoxedStream<'f> = Box Streamer<'a, Item=(&'a [u8], Output)> + 'f>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'a> Streamer<'a, Item=(&'a [u8], Output)> + 'f` [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "7d5e2cd1d2becca916a528a8c38b42dee41533814b6b62365a03308b26c31f09"` [INFO] running `"docker" "rm" "-f" "7d5e2cd1d2becca916a528a8c38b42dee41533814b6b62365a03308b26c31f09"` [INFO] [stdout] 7d5e2cd1d2becca916a528a8c38b42dee41533814b6b62365a03308b26c31f09