[INFO] crate sxd-xpath 0.4.2 is already in cache [INFO] extracting crate sxd-xpath 0.4.2 into work/ex/beta-1.38-1/sources/1.37.0/reg/sxd-xpath/0.4.2 [INFO] extracting crate sxd-xpath 0.4.2 into work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/sxd-xpath/0.4.2 [INFO] validating manifest of sxd-xpath-0.4.2 on toolchain 1.37.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of sxd-xpath-0.4.2 on toolchain beta-2019-08-13 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing sxd-xpath-0.4.2 [INFO] finished frobbing sxd-xpath-0.4.2 [INFO] frobbed toml for sxd-xpath-0.4.2 written to work/ex/beta-1.38-1/sources/1.37.0/reg/sxd-xpath/0.4.2/Cargo.toml [INFO] started frobbing sxd-xpath-0.4.2 [INFO] finished frobbing sxd-xpath-0.4.2 [INFO] frobbed toml for sxd-xpath-0.4.2 written to work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/sxd-xpath/0.4.2/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing sxd-xpath-0.4.2 against beta-2019-08-13 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-2/beta-2019-08-13:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/sxd-xpath/0.4.2:/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=warn" "-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" "+beta-2019-08-13" "build" "--frozen"` [INFO] [stdout] f76cf6d461ab1228260266ae747771401a8da51c1d8fd1e5b500218b99f8b44b [INFO] running `"docker" "start" "-a" "f76cf6d461ab1228260266ae747771401a8da51c1d8fd1e5b500218b99f8b44b"` [INFO] [stderr] Compiling sxd-xpath v0.4.2 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/context.rs:14:42 [INFO] [stderr] | [INFO] [stderr] 14 | type Functions = HashMap>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn function::Function + 'static` [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/context.rs:179:64 [INFO] [stderr] | [INFO] [stderr] 179 | pub fn function_for_name(&self, name: QName) -> Option<&'c function::Function> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn function::Function` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/axis.rs:22:41 [INFO] [stderr] | [INFO] [stderr] 22 | node_test: &NodeTest) -> OrderedNodes<'d>; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn NodeTest` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/axis.rs:49:20 [INFO] [stderr] | [INFO] [stderr] 49 | node_test: &'c NodeTest, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn NodeTest` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/axis.rs:54:69 [INFO] [stderr] | [INFO] [stderr] 54 | fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c NodeTest) -> Self { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn NodeTest` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/axis.rs:71:41 [INFO] [stderr] | [INFO] [stderr] 71 | node_test: &NodeTest) -> OrderedNodes<'d> [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn NodeTest` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/expression.rs:73:30 [INFO] [stderr] | [INFO] [stderr] 73 | pub type SubExpression = Box; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Expression + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/expression.rs:435:25 [INFO] [stderr] | [INFO] [stderr] 435 | pub type StepTest = Box; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NodeTest + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/node_test.rs:20:28 [INFO] [stderr] | [INFO] [stderr] 20 | pub type SubNodeTest = Box; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NodeTest + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser.rs:175:20 [INFO] [stderr] | [INFO] [stderr] 175 | type Rule<'a, I> = Fn(TokenSource) -> ParseResult + 'a; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(TokenSource) -> ParseResult + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:339:22 [INFO] [stderr] | [INFO] [stderr] 339 | pub struct XPath(Box); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn expression::Expression + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:414:40 [INFO] [stderr] | [INFO] [stderr] 414 | fn cause(&self) -> Option<&std::error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error` [INFO] [stderr] ... [INFO] [stderr] 433 | / opaque_error!( [INFO] [stderr] 434 | | /// Errors that may occur when parsing an XPath [INFO] [stderr] 435 | | ParserError(parser::Error) [INFO] [stderr] 436 | | ); [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:414:40 [INFO] [stderr] | [INFO] [stderr] 414 | fn cause(&self) -> Option<&std::error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error` [INFO] [stderr] ... [INFO] [stderr] 438 | / opaque_error!( [INFO] [stderr] 439 | | /// Errors that may occur when executing an XPath [INFO] [stderr] 440 | | ExecutionError(expression::Error) [INFO] [stderr] 441 | | ); [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/lib.rs:415:24 [INFO] [stderr] | [INFO] [stderr] 415 | self.0.cause() [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 433 | / opaque_error!( [INFO] [stderr] 434 | | /// Errors that may occur when parsing an XPath [INFO] [stderr] 435 | | ParserError(parser::Error) [INFO] [stderr] 436 | | ); [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/lib.rs:415:24 [INFO] [stderr] | [INFO] [stderr] 415 | self.0.cause() [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 438 | / opaque_error!( [INFO] [stderr] 439 | | /// Errors that may occur when executing an XPath [INFO] [stderr] 440 | | ExecutionError(expression::Error) [INFO] [stderr] 441 | | ); [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.87s [INFO] running `"docker" "inspect" "f76cf6d461ab1228260266ae747771401a8da51c1d8fd1e5b500218b99f8b44b"` [INFO] running `"docker" "rm" "-f" "f76cf6d461ab1228260266ae747771401a8da51c1d8fd1e5b500218b99f8b44b"` [INFO] [stdout] f76cf6d461ab1228260266ae747771401a8da51c1d8fd1e5b500218b99f8b44b [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-2/beta-2019-08-13:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/sxd-xpath/0.4.2:/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=warn" "-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" "+beta-2019-08-13" "test" "--frozen" "--no-run"` [INFO] [stdout] 5310f1bb4b5a237af4be33230ec17a19468ee089ee943d7c18a08439d8ac509a [INFO] running `"docker" "start" "-a" "5310f1bb4b5a237af4be33230ec17a19468ee089ee943d7c18a08439d8ac509a"` [INFO] [stderr] Compiling sxd-xpath v0.4.2 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/context.rs:14:42 [INFO] [stderr] | [INFO] [stderr] 14 | type Functions = HashMap>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn function::Function + 'static` [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/context.rs:179:64 [INFO] [stderr] | [INFO] [stderr] 179 | pub fn function_for_name(&self, name: QName) -> Option<&'c function::Function> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn function::Function` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/axis.rs:22:41 [INFO] [stderr] | [INFO] [stderr] 22 | node_test: &NodeTest) -> OrderedNodes<'d>; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn NodeTest` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/axis.rs:49:20 [INFO] [stderr] | [INFO] [stderr] 49 | node_test: &'c NodeTest, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn NodeTest` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/axis.rs:54:69 [INFO] [stderr] | [INFO] [stderr] 54 | fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c NodeTest) -> Self { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn NodeTest` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/axis.rs:71:41 [INFO] [stderr] | [INFO] [stderr] 71 | node_test: &NodeTest) -> OrderedNodes<'d> [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn NodeTest` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/expression.rs:73:30 [INFO] [stderr] | [INFO] [stderr] 73 | pub type SubExpression = Box; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Expression + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/expression.rs:435:25 [INFO] [stderr] | [INFO] [stderr] 435 | pub type StepTest = Box; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NodeTest + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/expression.rs:750:27 [INFO] [stderr] | [INFO] [stderr] 750 | let arg_expr: Box = Box::new(Literal{value: Value::Boolean(true)}); [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Expression` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/expression.rs:886:46 [INFO] [stderr] | [INFO] [stderr] 886 | _node_test: &NodeTest) -> OrderedNodes<'d> [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn NodeTest` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/node_test.rs:20:28 [INFO] [stderr] | [INFO] [stderr] 20 | pub type SubNodeTest = Box; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NodeTest + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser.rs:175:20 [INFO] [stderr] | [INFO] [stderr] 175 | type Rule<'a, I> = Fn(TokenSource) -> ParseResult + 'a; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(TokenSource) -> ParseResult + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:339:22 [INFO] [stderr] | [INFO] [stderr] 339 | pub struct XPath(Box); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn expression::Expression + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:414:40 [INFO] [stderr] | [INFO] [stderr] 414 | fn cause(&self) -> Option<&std::error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error` [INFO] [stderr] ... [INFO] [stderr] 433 | / opaque_error!( [INFO] [stderr] 434 | | /// Errors that may occur when parsing an XPath [INFO] [stderr] 435 | | ParserError(parser::Error) [INFO] [stderr] 436 | | ); [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:414:40 [INFO] [stderr] | [INFO] [stderr] 414 | fn cause(&self) -> Option<&std::error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error` [INFO] [stderr] ... [INFO] [stderr] 438 | / opaque_error!( [INFO] [stderr] 439 | | /// Errors that may occur when executing an XPath [INFO] [stderr] 440 | | ExecutionError(expression::Error) [INFO] [stderr] 441 | | ); [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/lib.rs:415:24 [INFO] [stderr] | [INFO] [stderr] 415 | self.0.cause() [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 433 | / opaque_error!( [INFO] [stderr] 434 | | /// Errors that may occur when parsing an XPath [INFO] [stderr] 435 | | ParserError(parser::Error) [INFO] [stderr] 436 | | ); [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/lib.rs:415:24 [INFO] [stderr] | [INFO] [stderr] 415 | self.0.cause() [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 438 | / opaque_error!( [INFO] [stderr] 439 | | /// Errors that may occur when executing an XPath [INFO] [stderr] 440 | | ExecutionError(expression::Error) [INFO] [stderr] 441 | | ); [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 6.56s [INFO] running `"docker" "inspect" "5310f1bb4b5a237af4be33230ec17a19468ee089ee943d7c18a08439d8ac509a"` [INFO] running `"docker" "rm" "-f" "5310f1bb4b5a237af4be33230ec17a19468ee089ee943d7c18a08439d8ac509a"` [INFO] [stdout] 5310f1bb4b5a237af4be33230ec17a19468ee089ee943d7c18a08439d8ac509a [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-2/beta-2019-08-13:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/sxd-xpath/0.4.2:/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=warn" "-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" "+beta-2019-08-13" "test" "--frozen"` [INFO] [stdout] 249f3ac32cd6111be9837bc5adc55690d9ea27882ee3a673b1f09d2b753034d3 [INFO] running `"docker" "start" "-a" "249f3ac32cd6111be9837bc5adc55690d9ea27882ee3a673b1f09d2b753034d3"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running /opt/crater/target/debug/deps/sxd_xpath-6930ed1a641f9bbf [INFO] [stdout] [INFO] [stdout] running 235 tests [INFO] [stdout] test axis::test::descendant_or_self_also_includes_self ... ok [INFO] [stdout] test axis::test::descendant_includes_parents ... ok [INFO] [stdout] test axis::test::ancestor_includes_parents ... ok [INFO] [stdout] test expression::test::expression_and_returns_logical_and ... ok [INFO] [stdout] test axis::test::ancestor_or_self_also_includes_self ... ok [INFO] [stdout] test axis::test::preceding_sibling_selects_in_reverse_document_order ... ok [INFO] [stdout] test axis::test::following_selects_in_document_order ... ok [INFO] [stdout] test axis::test::preceding_selects_in_reverse_document_order ... ok [INFO] [stdout] test expression::test::expression_and_short_circuits_when_left_argument_is_false ... ok [INFO] [stdout] test expression::test::expression_equal_compares_as_boolean_if_one_argument_is_a_boolean ... ok [INFO] [stdout] test axis::test::following_sibling_selects_in_document_order ... ok [INFO] [stdout] test expression::test::expression_equal_compares_as_number_if_one_argument_is_a_number ... ok [INFO] [stdout] test expression::test::expression_equal_intersects_string_values_of_two_nodesets ... ok [INFO] [stdout] test expression::test::expression_math_does_basic_math ... ok [INFO] [stdout] test expression::test::expression_not_equal_negates_equality ... ok [INFO] [stdout] test expression::test::expression_function_unknown_function_is_reported_as_an_error ... ok [INFO] [stdout] test expression::test::expression_root_node_finds_the_root ... ok [INFO] [stdout] test expression::test::expression_equal_compares_as_string_otherwise ... ok [INFO] [stdout] test expression::test::expression_equal_compares_number_value_of_nodeset_to_number ... ok [INFO] [stdout] test expression::test::expression_relational_does_basic_comparisons ... ok [INFO] [stdout] test expression::test::expression_variable_looks_up_the_variable ... ok [INFO] [stdout] test expression::test::expression_equal_compares_string_value_of_nodeset_to_string ... ok [INFO] [stdout] test expression::test::expression_function_evaluates_input_arguments ... ok [INFO] [stdout] test expression::test::filter_with_false_predicate_selects_no_nodes ... ok [INFO] [stdout] test expression::test::filter_with_numeric_predicate_selects_that_node ... ok [INFO] [stdout] test expression::test::expression_union_combines_nodesets ... ok [INFO] [stdout] test expression::test::step_delegates_to_the_axis ... ok [INFO] [stdout] test function::test::boolean_converts_to_boolean ... ok [INFO] [stdout] test function::test::ceiling_rounds_up ... ok [INFO] [stdout] test function::test::last_returns_context_size ... ok [INFO] [stdout] test function::test::local_name_is_empty_for_empty_nodeset ... ok [INFO] [stdout] test function::test::concat_combines_strings ... ok [INFO] [stdout] test function::test::contains_looks_for_a_needle ... ok [INFO] [stdout] test function::test::count_counts_nodes_in_nodeset ... ok [INFO] [stdout] test function::test::floor_rounds_down ... ok [INFO] [stdout] test function::test::normalize_space_squashes_intermediate_space ... ok [INFO] [stdout] test function::test::number_converts_to_number ... ok [INFO] [stdout] test function::test::local_name_gets_name_of_element ... ok [INFO] [stdout] test function::test::normalize_space_removes_leading_space ... ok [INFO] [stdout] test function::test::round_neg_inf_to_neg_inf ... ok [INFO] [stdout] test function::test::normalize_space_removes_trailing_space ... ok [INFO] [stdout] test function::test::name_uses_declared_prefix ... ok [INFO] [stdout] test function::test::namespace_uri_gets_uri_of_element ... ok [INFO] [stdout] test function::test::round_neg_five_to_neg_five ... ok [INFO] [stdout] test function::test::round_nan_to_nan ... ok [INFO] [stdout] test function::test::round_pos_zero_to_pos_zero ... ok [INFO] [stdout] test function::test::round_neg_zero_point_five_to_neg_zero ... ok [INFO] [stdout] test function::test::number_fails_with_nan ... ok [INFO] [stdout] test function::test::position_returns_context_position ... ok [INFO] [stdout] test function::test::starts_with_checks_prefixes ... ok [INFO] [stdout] test function::test::round_neg_zero_to_neg_zero ... ok [INFO] [stdout] test function::test::round_pos_inf_to_pos_inf ... ok [INFO] [stdout] test function::test::string_converts_to_string ... ok [INFO] [stdout] test function::test::substring_is_one_indexed ... ok [INFO] [stdout] test function::test::round_pos_zero_point_five_to_pos_one ... ok [INFO] [stdout] test function::test::substring_after_slices_after ... ok [INFO] [stdout] test function::test::string_length_counts_characters ... ok [INFO] [stdout] test function::test::substring_with_nan_len_is_empty ... ok [INFO] [stdout] test function::test::substring_rounds_values ... ok [INFO] [stdout] test function::test::substring_with_infinite_len_goes_to_end_of_string ... ok [INFO] [stdout] test function::test::substring_with_nan_start_is_empty ... ok [INFO] [stdout] test function::test::substring_before_slices_before ... ok [INFO] [stdout] test function::test::substring_with_negative_infinity_start_is_empty ... ok [INFO] [stdout] test function::test::substring_has_optional_length ... ok [INFO] [stdout] test function::test::substring_is_a_window_of_the_characters ... ok [INFO] [stdout] test function::test::sum_adds_up_nodeset ... ok [INFO] [stdout] test function::test::translate_removes_characters_without_replacement ... ok [INFO] [stdout] test node_test::test::attribute_test_ignores_namespace_when_wildcard_without_prefix ... ok [INFO] [stdout] test node_test::test::attribute_test_matches_on_namespace_when_wildcard_with_prefix ... ok [INFO] [stdout] test function::test::translate_uses_first_replacement ... ok [INFO] [stdout] test node_test::test::attribute_test_does_not_match_when_attribute_has_namespace_but_without_prefix ... ok [INFO] [stdout] test node_test::test::attribute_test_does_not_select_other_names ... ok [INFO] [stdout] test function::test::translate_replaces_characters ... ok [INFO] [stdout] test node_test::test::attribute_test_matches_on_namespace_and_name ... ok [INFO] [stdout] test function::test::translate_ignores_extra_replacements ... ok [INFO] [stdout] test function::test::translate_replaces_each_char_only_once ... ok [INFO] [stdout] test node_test::test::element_test_matches_on_namespace_when_wildcard_with_prefix ... ok [INFO] [stdout] test node_test::test::element_test_does_not_match_when_element_has_namespace_but_without_prefix ... ok [INFO] [stdout] test node_test::test::element_test_does_not_select_other_names ... ok [INFO] [stdout] test node_test::test::attribute_test_supports_a_wildcard_match ... ok [INFO] [stdout] test node_test::test::attribute_test_selects_attributes_with_matching_names ... ok [INFO] [stdout] test node_test::test::element_test_selects_nodes_with_matching_names ... ok [INFO] [stdout] test nodeset::test::nodeset_can_include_all_node_types ... ok [INFO] [stdout] test node_test::test::element_test_supports_a_wildcard_match ... ok [INFO] [stdout] test nodeset::test::nodeset_knows_first_node_in_document_order ... ok [INFO] [stdout] test nodeset::test::prefixed_name_of_attribute_with_preferred_prefix ... ok [INFO] [stdout] test nodeset::test::attributes_come_before_children_in_document_order ... ok [INFO] [stdout] test nodeset::test::prefixed_name_of_attribute_with_prefix ... ok [INFO] [stdout] test nodeset::test::string_value_of_attribute_node_is_value ... ok [INFO] [stdout] test nodeset::test::string_value_of_comment_node_is_the_text ... ok [INFO] [stdout] test nodeset::test::string_value_of_element_node_is_concatenation_of_descendant_text_nodes ... ok [INFO] [stdout] test nodeset::test::string_value_of_pi_node_is_empty_when_no_value ... ok [INFO] [stdout] test node_test::test::element_test_matches_on_namespace_and_name ... ok [INFO] [stdout] test node_test::test::element_test_ignores_namespace_when_wildcard_without_prefix ... ok [INFO] [stdout] test nodeset::test::nodesets_can_be_combined ... ok [INFO] [stdout] test nodeset::test::prefixed_name_of_element_with_prefix ... ok [INFO] [stdout] test nodeset::test::prefixed_name_of_element_with_preferred_prefix ... ok [INFO] [stdout] test parser::test::a_tokenizer_error_is_reported_as_an_error ... ok [INFO] [stdout] test nodeset::test::prefixed_name_of_processing_instruction ... ok [INFO] [stdout] test parser::test::addition_of_two_numbers ... ok [INFO] [stdout] test parser::test::addition_of_multiple_numbers ... ok [INFO] [stdout] test nodeset::test::string_value_of_pi_node_is_the_value_when_value ... ok [INFO] [stdout] test nodeset::test::prefixed_name_of_element_without_prefix ... ok [INFO] [stdout] test nodeset::test::string_value_of_text_node_is_the_text ... ok [INFO] [stdout] test parser::test::binary_operator_without_right_hand_side_is_reported_as_an_error ... ok [INFO] [stdout] test parser::test::empty_predicate_is_reported_as_an_error ... ok [INFO] [stdout] test parser::test::division_of_two_numbers ... ok [INFO] [stdout] test parser::test::equality_expression ... ok [INFO] [stdout] test parser::test::filter_expression ... ok [INFO] [stdout] test parser::test::false_function_predicate_selects_no_nodes ... ok [INFO] [stdout] test parser::test::additive_expression_is_left_associative ... ok [INFO] [stdout] test parser::test::functions_accept_arguments ... ok [INFO] [stdout] test parser::test::and_expression ... ok [INFO] [stdout] test parser::test::greater_than_or_equal_expression ... ok [INFO] [stdout] test parser::test::functions_accept_any_expression_as_an_argument ... ok [INFO] [stdout] test parser::test::having_extra_tokens_is_reported_as_an_error ... ok [INFO] [stdout] test parser::test::less_than_or_equal_expression ... ok [INFO] [stdout] test parser::test::less_than_expression ... ok [INFO] [stdout] test parser::test::inequality_expression ... ok [INFO] [stdout] test parser::test::filter_expression_with_trailing_slash_is_reported_as_an_error ... ok [INFO] [stdout] test parser::test::filter_expression_and_relative_path ... ok [INFO] [stdout] test parser::test::multiplication_of_two_numbers ... ok [INFO] [stdout] test parser::test::absolute_path_with_child_expression ... ok [INFO] [stdout] test parser::test::absolute_path_expression ... ok [INFO] [stdout] test parser::test::greater_than_expression ... ok [INFO] [stdout] test parser::test::parses_attribute_axis ... ok [INFO] [stdout] test parser::test::nested_expression ... ok [INFO] [stdout] test parser::test::multiple_predicates ... ok [INFO] [stdout] test parser::test::numeric_predicate_selects_indexed_node ... ok [INFO] [stdout] test parser::test::numeric_literal ... ok [INFO] [stdout] test parser::test::parses_child_with_same_name_as_an_axis ... ok [INFO] [stdout] test parser::test::or_expression ... ok [INFO] [stdout] test parser::test::parses_descendant_axis ... ok [INFO] [stdout] test parser::test::parses_axis_and_node_test ... ok [INFO] [stdout] test parser::test::parses_descendant_or_self_axis ... ok [INFO] [stdout] test parser::test::parses_namespace_axis ... ok [INFO] [stdout] test parser::test::parses_parent_axis ... ok [INFO] [stdout] test parser::test::parses_node_node_test ... ok [INFO] [stdout] test parser::test::parses_string_as_child ... ok [INFO] [stdout] test parser::test::parses_two_strings_as_grandchild ... ok [INFO] [stdout] test parser::test::parses_text_node_test ... ok [INFO] [stdout] test parser::test::parses_self_axis ... ok [INFO] [stdout] test parser::test::relative_path_with_trailing_slash_is_reported_as_an_error ... ok [INFO] [stdout] test parser::test::repeated_unary_negation ... ok [INFO] [stdout] test parser::test::parses_child_axis ... ok [INFO] [stdout] test parser::test::running_out_of_input_is_reported_as_an_error ... ok [INFO] [stdout] test parser::test::remainder_of_two_numbers ... ok [INFO] [stdout] test parser::test::subtraction_of_two_numbers ... ok [INFO] [stdout] test parser::test::string_literal ... ok [INFO] [stdout] test parser::test::unary_negation ... ok [INFO] [stdout] test parser::test::unary_operator_without_right_hand_side_is_reported_as_an_error ... ok [INFO] [stdout] test parser::test::union_expression ... ok [INFO] [stdout] test parser::test::top_level_function_call ... ok [INFO] [stdout] test parser::test::true_function_predicate_selects_all_nodes ... ok [INFO] [stdout] test parser::test::unexpected_token_is_reported_as_an_error ... ok [INFO] [stdout] test parser::test::predicate_accepts_any_expression ... ok [INFO] [stdout] test parser::test::variable_reference ... ok [INFO] [stdout] test parser::test::parses_comment_node_test ... ok [INFO] [stdout] test parser::test::parses_processing_instruction_node_test ... ok [INFO] [stdout] test test::number_of_nodeset_is_number_value_of_first_node_in_document_order ... ok [INFO] [stdout] test test::number_of_string_with_negative_is_negative_number ... ok [INFO] [stdout] test test::number_of_boolean_false_is_0 ... ok [INFO] [stdout] test test::number_of_boolean_true_is_1 ... ok [INFO] [stdout] test parser::test::variable_reference_prefixed_name ... ok [INFO] [stdout] test test::string_of_nan_is_nan ... ok [INFO] [stdout] test test::number_of_string_with_surrounding_whitespace_is_number_without_whitespace ... ok [INFO] [stdout] test test::string_of_decimal_has_fractional_part ... ok [INFO] [stdout] test test::string_of_false_is_false ... ok [INFO] [stdout] test test::string_of_integer_has_no_decimal ... ok [INFO] [stdout] test test::string_of_negative_infinity_is_minus_infinity ... ok [INFO] [stdout] test test::number_of_garbage_string_is_nan ... ok [INFO] [stdout] test test::number_of_string_is_ieee_754_number ... ok [INFO] [stdout] test test::string_of_negative_zero_is_zero ... ok [INFO] [stdout] test test::string_of_nodeset_is_string_value_of_first_node_in_document_order ... ok [INFO] [stdout] test test::xpath_evaluation_parsing_error ... ok [INFO] [stdout] test test::xpath_evaluation_execution_error ... ok [INFO] [stdout] test test::xpath_evaluation_no_xpath_error ... ok [INFO] [stdout] test test::xpath_evaluation_success ... ok [INFO] [stdout] test tokenizer::test::converts_at_sign_to_attribute_axis ... ok [INFO] [stdout] test tokenizer::test::converts_current_node_to_self_node ... ok [INFO] [stdout] test tokenizer::test::converts_double_slash_to_descendant_or_self ... ok [INFO] [stdout] test tokenizer::test::empty_string_has_no_tokens ... ok [INFO] [stdout] test tokenizer::test::converts_parent_node_to_parent_node ... ok [INFO] [stdout] test tokenizer::test::ignores_whitespace_around_tokens ... ok [INFO] [stdout] test tokenizer::test::exception_thrown_when_quote_characters_mismatched ... ok [INFO] [stdout] test tokenizer::test::special_preceding_token_forces_named_operator_div ... ok [INFO] [stdout] test tokenizer::test::special_preceding_token_forces_named_operator_multiply ... ok [INFO] [stdout] test tokenizer::test::exception_thrown_when_name_test_has_no_local_name ... ok [INFO] [stdout] test tokenizer::test::exception_thrown_when_nothing_was_tokenized ... ok [INFO] [stdout] test tokenizer::test::special_preceding_token_forces_named_operator_or ... ok [INFO] [stdout] test test::string_of_positive_infinity_is_infinity ... ok [INFO] [stdout] test tokenizer::test::tokenizes_axis_selector ... ok [INFO] [stdout] test test::string_of_positive_zero_is_zero ... ok [INFO] [stdout] test test::string_of_true_is_true ... ok [INFO] [stdout] test tokenizer::test::tokenizes_decimal_number_without_integral_part ... ok [INFO] [stdout] test tokenizer::test::tokenizes_double_dot ... ok [INFO] [stdout] test tokenizer::test::tokenizes_at_sign ... ok [INFO] [stdout] test tokenizer::test::tokenizes_double_quote_literal ... ok [INFO] [stdout] test tokenizer::test::tokenizes_decimal_number ... ok [INFO] [stdout] test tokenizer::test::tokenizes_axis_selector_that_contains_another_axis ... ok [INFO] [stdout] test tokenizer::test::tokenizes_equal_sign ... ok [INFO] [stdout] test tokenizer::test::tokenizes_function_call_with_argument ... ok [INFO] [stdout] test tokenizer::test::tokenizes_function_call ... ok [INFO] [stdout] test tokenizer::test::tokenizes_grandchild_selector ... ok [INFO] [stdout] test tokenizer::test::tokenizes_function_call_with_multiple_arguments ... ok [INFO] [stdout] test tokenizer::test::tokenizes_great_grandchild_selector ... ok [INFO] [stdout] test tokenizer::test::tokenizes_function_call_with_prefixed_name ... ok [INFO] [stdout] test tokenizer::test::tokenizes_greater_than_or_equal ... ok [INFO] [stdout] test tokenizer::test::tokenizes_greater_than ... ok [INFO] [stdout] test tokenizer::test::tokenizes_integral_number ... ok [INFO] [stdout] test tokenizer::test::tokenizes_left_paren ... ok [INFO] [stdout] test tokenizer::test::tokenizes_left_bracket ... ok [INFO] [stdout] test tokenizer::test::tokenizes_minus_sign ... ok [INFO] [stdout] test tokenizer::test::tokenizes_less_than ... ok [INFO] [stdout] test tokenizer::test::tokenizes_not_equal_sign ... ok [INFO] [stdout] test tokenizer::test::tokenizes_less_than_or_equal ... ok [INFO] [stdout] test tokenizer::test::tokenizes_pipe ... ok [INFO] [stdout] test tokenizer::test::tokenizes_plus_sign ... ok [INFO] [stdout] test tokenizer::test::tokenizes_processing_instruction_node_test_with_args ... ok [INFO] [stdout] test tokenizer::test::tokenizes_processing_instruction_node_test_without_args ... ok [INFO] [stdout] test tokenizer::test::tokenizes_node_test_without_args ... ok [INFO] [stdout] test tokenizer::test::tokenizes_right_paren ... ok [INFO] [stdout] test tokenizer::test::tokenizes_right_bracket ... ok [INFO] [stdout] test tokenizer::test::tokenizes_simple_string ... ok [INFO] [stdout] test tokenizer::test::tokenizes_single_dot ... ok [INFO] [stdout] test tokenizer::test::tokenizes_single_slash ... ok [INFO] [stdout] test tokenizer::test::tokenizes_variable_reference ... ok [INFO] [stdout] test tokenizer::test::tokenizes_variable_reference_prefixed_name ... ok [INFO] [stdout] test tokenizer::test::tokenizes_wildcard_name_test ... ok [INFO] [stdout] test tokenizer::test::tokenizes_qualified_names ... ok [INFO] [stdout] test tokenizer::test::special_preceding_token_forces_named_operator_mod ... ok [INFO] [stdout] test tokenizer::test::special_preceding_token_forces_named_operator_and ... ok [INFO] [stdout] test tokenizer::test::tokenizes_apostrophe_literal ... ok [INFO] [stdout] test tokenizer::test::tokenizes_double_slash ... ok [INFO] [stdout] test tokenizer::test::tokenizes_double_slash_separator ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 235 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stderr] Running /opt/crater/target/debug/deps/integration-c11eefc7797c7bcc [INFO] [stdout] test functions_accept_arguments ... ok [INFO] [stdout] test axis_predicate_order ... ok [INFO] [stdout] test functions_implicitly_coerce_argument_types ... ok [INFO] [stdout] test variables_with_qualified_names ... ok [INFO] [stdout] test position_function_in_predicate ... ok [INFO] [stdout] test nodesets_are_unique ... ok [INFO] [stdout] test functions_with_qualified_names ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Doc-tests sxd-xpath [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test src/lib.rs - XPath::evaluate (line 348) ... ok [INFO] [stdout] test src/lib.rs - (line 47) ... ok [INFO] [stdout] test src/lib.rs - evaluate_xpath (line 479) ... ok [INFO] [stdout] test src/context.rs - context::Context (line 27) ... ok [INFO] [stdout] test src/lib.rs - (line 18) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "249f3ac32cd6111be9837bc5adc55690d9ea27882ee3a673b1f09d2b753034d3"` [INFO] running `"docker" "rm" "-f" "249f3ac32cd6111be9837bc5adc55690d9ea27882ee3a673b1f09d2b753034d3"` [INFO] [stdout] 249f3ac32cd6111be9837bc5adc55690d9ea27882ee3a673b1f09d2b753034d3