[INFO] fetching crate sxd-xpath 0.4.2... [INFO] testing sxd-xpath-0.4.2 against beta-2022-04-10 for beta-1.61-1 [INFO] extracting crate sxd-xpath 0.4.2 into /workspace/builds/worker-28/source [INFO] validating manifest of crates.io crate sxd-xpath 0.4.2 on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate sxd-xpath 0.4.2 [INFO] finished tweaking crates.io crate sxd-xpath 0.4.2 [INFO] tweaked toml for crates.io crate sxd-xpath 0.4.2 written to /workspace/builds/worker-28/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-28/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-28/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 93bcf1a19eb4c9cbe941677284a453cca4cc9012c2d14f7f4db5a9a1d2d4611d [INFO] running `Command { std: "docker" "start" "-a" "93bcf1a19eb4c9cbe941677284a453cca4cc9012c2d14f7f4db5a9a1d2d4611d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "93bcf1a19eb4c9cbe941677284a453cca4cc9012c2d14f7f4db5a9a1d2d4611d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "93bcf1a19eb4c9cbe941677284a453cca4cc9012c2d14f7f4db5a9a1d2d4611d", kill_on_drop: false }` [INFO] [stdout] 93bcf1a19eb4c9cbe941677284a453cca4cc9012c2d14f7f4db5a9a1d2d4611d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-28/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-28/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 73cf3757819694305d90081936072cb248f61997cce1a247ead50e5677ca6e7c [INFO] running `Command { std: "docker" "start" "-a" "73cf3757819694305d90081936072cb248f61997cce1a247ead50e5677ca6e7c", kill_on_drop: false }` [INFO] [stderr] Compiling peresil v0.3.0 [INFO] [stderr] Compiling typed-arena v1.7.0 [INFO] [stderr] Compiling sxd-document v0.3.2 [INFO] [stderr] Compiling sxd-xpath v0.4.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/nodeset.rs:99:10 [INFO] [stdout] | [INFO] [stdout] 99 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/nodeset.rs:203:10 [INFO] [stdout] | [INFO] [stdout] 203 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:95:20 [INFO] [stdout] | [INFO] [stdout] 95 | let left = try!(self.left.evaluate(context)).boolean(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:96:25 [INFO] [stdout] | [INFO] [stdout] 96 | let v = left && try!(self.right.evaluate(context)).boolean(); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:121:24 [INFO] [stdout] | [INFO] [stdout] 121 | let left_val = try!(self.left.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:122:25 [INFO] [stdout] | [INFO] [stdout] 122 | let right_val = try!(self.right.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:200:28 [INFO] [stdout] | [INFO] [stdout] 200 | let args = try!(self.arguments.iter().map(|arg| arg.evaluate(context)).collect()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:259:20 [INFO] [stdout] | [INFO] [stdout] 259 | let left = try!(self.left.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:260:21 [INFO] [stdout] | [INFO] [stdout] 260 | let right = try!(self.right.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:293:20 [INFO] [stdout] | [INFO] [stdout] 293 | let left = try!(self.left.evaluate(context)).boolean(); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:294:25 [INFO] [stdout] | [INFO] [stdout] 294 | let v = left || try!(self.right.evaluate(context)).boolean(); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:313:22 [INFO] [stdout] | [INFO] [stdout] 313 | let result = try!(self.start_point.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:314:26 [INFO] [stdout] | [INFO] [stdout] 314 | let mut result = try!(value_into_nodeset(result)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:317:22 [INFO] [stdout] | [INFO] [stdout] 317 | result = try!(step.evaluate(context, result)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:381:24 [INFO] [stdout] | [INFO] [stdout] 381 | let left_val = try!(self.left.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:382:25 [INFO] [stdout] | [INFO] [stdout] 382 | let right_val = try!(self.right.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:423:21 [INFO] [stdout] | [INFO] [stdout] 423 | let value = try!(self.expression.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:468:25 [INFO] [stdout] | [INFO] [stdout] 468 | nodes = try!(predicate.select(context, nodes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:490:30 [INFO] [stdout] | [INFO] [stdout] 490 | let mut left_nodes = try!(as_nodes(&self.left)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:491:27 [INFO] [stdout] | [INFO] [stdout] 491 | let right_nodes = try!(as_nodes(&self.right)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | try!(args.exactly(0)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | try!(args.exactly(0)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:225:9 [INFO] [stdout] | [INFO] [stdout] 225 | try!(args.exactly(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:226:19 [INFO] [stdout] | [INFO] [stdout] 226 | let arg = try!(args.pop_nodeset()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:240:19 [INFO] [stdout] | [INFO] [stdout] 240 | let arg = try!(args.pop_nodeset_or_context_node(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:259:19 [INFO] [stdout] | [INFO] [stdout] 259 | let arg = try!(args.pop_nodeset_or_context_node(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:277:9 [INFO] [stdout] | [INFO] [stdout] 277 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:278:19 [INFO] [stdout] | [INFO] [stdout] 278 | let arg = try!(args.pop_nodeset_or_context_node(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:295:9 [INFO] [stdout] | [INFO] [stdout] 295 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:309:9 [INFO] [stdout] | [INFO] [stdout] 309 | try!(args.at_least(2)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:323:9 [INFO] [stdout] | [INFO] [stdout] 323 | try!(args.exactly(2)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/function.rs:331:64 [INFO] [stdout] | [INFO] [stdout] 331 | fn imp(a: &str, b: &str) -> bool { str::starts_with(a, b) }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/function.rs:335:61 [INFO] [stdout] | [INFO] [stdout] 335 | fn imp(a: &str, b: &str) -> bool { str::contains(a, b) }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:347:9 [INFO] [stdout] | [INFO] [stdout] 347 | try!(args.exactly(2)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:382:9 [INFO] [stdout] | [INFO] [stdout] 382 | try!(args.at_least(2)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:383:9 [INFO] [stdout] | [INFO] [stdout] 383 | try!(args.at_most(3)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:386:23 [INFO] [stdout] | [INFO] [stdout] 386 | let len = try!(args.pop_number()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:392:21 [INFO] [stdout] | [INFO] [stdout] 392 | let start = try!(args.pop_number()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:394:17 [INFO] [stdout] | [INFO] [stdout] 394 | let s = try!(args.pop_string()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:418:9 [INFO] [stdout] | [INFO] [stdout] 418 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:432:9 [INFO] [stdout] | [INFO] [stdout] 432 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:449:9 [INFO] [stdout] | [INFO] [stdout] 449 | try!(args.exactly(3)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:451:18 [INFO] [stdout] | [INFO] [stdout] 451 | let to = try!(args.pop_string()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:452:20 [INFO] [stdout] | [INFO] [stdout] 452 | let from = try!(args.pop_string()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:453:17 [INFO] [stdout] | [INFO] [stdout] 453 | let s = try!(args.pop_string()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:479:9 [INFO] [stdout] | [INFO] [stdout] 479 | try!(args.exactly(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:492:9 [INFO] [stdout] | [INFO] [stdout] 492 | try!(args.exactly(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:493:19 [INFO] [stdout] | [INFO] [stdout] 493 | let arg = try!(args.pop_boolean()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:506:9 [INFO] [stdout] | [INFO] [stdout] 506 | try!(args.exactly(0)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:522:9 [INFO] [stdout] | [INFO] [stdout] 522 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:536:9 [INFO] [stdout] | [INFO] [stdout] 536 | try!(args.exactly(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:537:19 [INFO] [stdout] | [INFO] [stdout] 537 | let arg = try!(args.pop_nodeset()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:551:9 [INFO] [stdout] | [INFO] [stdout] 551 | try!(args.exactly(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:552:19 [INFO] [stdout] | [INFO] [stdout] 552 | let arg = try!(args.pop_number()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:140:20 [INFO] [stdout] | [INFO] [stdout] 140 | let left = try!(child_parse(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:152:21 [INFO] [stdout] | [INFO] [stdout] 152 | try!(source.consume(&rule.token)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:154:33 [INFO] [stdout] | [INFO] [stdout] 154 | let right = try!(child_parse(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:182:20 [INFO] [stdout] | [INFO] [stdout] 182 | let expr = try!((*child_parse)(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:258:13 [INFO] [stdout] | [INFO] [stdout] 258 | try!(source.consume(&Token::LeftParen)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | try!(source.consume(&Token::RightParen)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:259:26 [INFO] [stdout] | [INFO] [stdout] 259 | let result = try!(self.parse_expression(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:305:13 [INFO] [stdout] | [INFO] [stdout] 305 | try!(source.consume(&Token::Comma)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:307:19 [INFO] [stdout] | [INFO] [stdout] 307 | match try!(self.parse_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:322:15 [INFO] [stdout] | [INFO] [stdout] 322 | match try!(self.parse_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:336:13 [INFO] [stdout] | [INFO] [stdout] 336 | try!(source.consume(&Token::LeftParen)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:338:13 [INFO] [stdout] | [INFO] [stdout] 338 | try!(source.consume(&Token::RightParen)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:337:29 [INFO] [stdout] | [INFO] [stdout] 337 | let arguments = try!(self.parse_function_args(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:364:13 [INFO] [stdout] | [INFO] [stdout] 364 | try!(source.consume(&Token::LeftBracket)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:366:19 [INFO] [stdout] | [INFO] [stdout] 366 | match try!(self.parse_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:368:21 [INFO] [stdout] | [INFO] [stdout] 368 | try!(source.consume(&Token::RightBracket)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:383:37 [INFO] [stdout] | [INFO] [stdout] 383 | while let Some(predicate) = try!(self.parse_predicate_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:393:20 [INFO] [stdout] | [INFO] [stdout] 393 | let axis = try!(self.parse_axis(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:395:31 [INFO] [stdout] | [INFO] [stdout] 395 | let node_test = match try!(self.parse_node_test(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:397:21 [INFO] [stdout] | [INFO] [stdout] 397 | None => try!(self.default_node_test(source, axis)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:405:26 [INFO] [stdout] | [INFO] [stdout] 405 | let predicates = try!(self.parse_predicates(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:415:15 [INFO] [stdout] | [INFO] [stdout] 415 | match try!(self.parse_step(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:420:21 [INFO] [stdout] | [INFO] [stdout] 420 | try!(source.consume(&Token::Slash)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:422:27 [INFO] [stdout] | [INFO] [stdout] 422 | match try!(self.parse_step(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:445:13 [INFO] [stdout] | [INFO] [stdout] 445 | try!(source.consume(&Token::Slash)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:448:19 [INFO] [stdout] | [INFO] [stdout] 448 | match try!(self.parse_relative_location_path_raw(source, start_point)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:471:15 [INFO] [stdout] | [INFO] [stdout] 471 | match try!(self.parse_primary_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:473:34 [INFO] [stdout] | [INFO] [stdout] 473 | let predicates = try!(self.parse_predicates(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:486:20 [INFO] [stdout] | [INFO] [stdout] 486 | let expr = try!(self.parse_location_path(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:491:15 [INFO] [stdout] | [INFO] [stdout] 491 | match try!(self.parse_filter_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:494:21 [INFO] [stdout] | [INFO] [stdout] 494 | try!(source.consume(&Token::Slash)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:496:27 [INFO] [stdout] | [INFO] [stdout] 496 | match try!(self.parse_relative_location_path_raw(source, expr)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:521:20 [INFO] [stdout] | [INFO] [stdout] 521 | let expr = try!(self.parse_union_expression(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:527:13 [INFO] [stdout] | [INFO] [stdout] 527 | try!(source.consume(&Token::MinusSign)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:529:24 [INFO] [stdout] | [INFO] [stdout] 529 | let expr = try!(self.parse_unary_expression(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:631:20 [INFO] [stdout] | [INFO] [stdout] 631 | let expr = try!(self.parse_or_expression(&mut source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/tokenizer.rs:372:21 [INFO] [stdout] | [INFO] [stdout] 372 | let token = try!(self.raw_next_token()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/context.rs:14:42 [INFO] [stdout] | [INFO] [stdout] 14 | type Functions = HashMap>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 - type Functions = HashMap>; [INFO] [stdout] 14 + type Functions = HashMap>; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/axis.rs:49:20 [INFO] [stdout] | [INFO] [stdout] 49 | node_test: &'c NodeTest, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 - node_test: &'c NodeTest, [INFO] [stdout] 49 + node_test: &'c dyn NodeTest, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/expression.rs:73:30 [INFO] [stdout] | [INFO] [stdout] 73 | pub type SubExpression = Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 73 - pub type SubExpression = Box; [INFO] [stdout] 73 + pub type SubExpression = Box; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/expression.rs:435:25 [INFO] [stdout] | [INFO] [stdout] 435 | pub type StepTest = Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 435 - pub type StepTest = Box; [INFO] [stdout] 435 + pub type StepTest = Box; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:339:22 [INFO] [stdout] | [INFO] [stdout] 339 | pub struct XPath(Box); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 339 - pub struct XPath(Box); [INFO] [stdout] 339 + pub struct XPath(Box); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:414:40 [INFO] [stdout] | [INFO] [stdout] 414 | fn cause(&self) -> Option<&std::error::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 433 | / opaque_error!( [INFO] [stdout] 434 | | /// Errors that may occur when parsing an XPath [INFO] [stdout] 435 | | ParserError(parser::Error) [INFO] [stdout] 436 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 414 - fn cause(&self) -> Option<&std::error::Error> { [INFO] [stdout] 414 + fn cause(&self) -> Option<&dyn std::error::Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:414:40 [INFO] [stdout] | [INFO] [stdout] 414 | fn cause(&self) -> Option<&std::error::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | / opaque_error!( [INFO] [stdout] 439 | | /// Errors that may occur when executing an XPath [INFO] [stdout] 440 | | ExecutionError(expression::Error) [INFO] [stdout] 441 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 414 - fn cause(&self) -> Option<&std::error::Error> { [INFO] [stdout] 414 + fn cause(&self) -> Option<&dyn std::error::Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/context.rs:179:64 [INFO] [stdout] | [INFO] [stdout] 179 | pub fn function_for_name(&self, name: QName) -> Option<&'c function::Function> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 179 - pub fn function_for_name(&self, name: QName) -> Option<&'c function::Function> { [INFO] [stdout] 179 + pub fn function_for_name(&self, name: QName) -> Option<&'c dyn function::Function> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/axis.rs:22:41 [INFO] [stdout] | [INFO] [stdout] 22 | ... node_test: &NodeTest) -> OrderedNodes<'d>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - node_test: &NodeTest) -> OrderedNodes<'d>; [INFO] [stdout] 22 + node_test: &dyn NodeTest) -> OrderedNodes<'d>; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/axis.rs:54:69 [INFO] [stdout] | [INFO] [stdout] 54 | fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c NodeTest) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 - fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c NodeTest) -> Self { [INFO] [stdout] 54 + fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c dyn NodeTest) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/axis.rs:71:41 [INFO] [stdout] | [INFO] [stdout] 71 | ... node_test: &NodeTest) -> OrderedNodes<'d> [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 - node_test: &NodeTest) -> OrderedNodes<'d> [INFO] [stdout] 71 + node_test: &dyn NodeTest) -> OrderedNodes<'d> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node_test.rs:20:28 [INFO] [stdout] | [INFO] [stdout] 20 | pub type SubNodeTest = Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 - pub type SubNodeTest = Box; [INFO] [stdout] 20 + pub type SubNodeTest = Box; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser.rs:175:20 [INFO] [stdout] | [INFO] [stdout] 175 | type Rule<'a, I> = Fn(TokenSource) -> ParseResult + 'a; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 175 - type Rule<'a, I> = Fn(TokenSource) -> ParseResult + 'a; [INFO] [stdout] 175 + type Rule<'a, I> = dyn Fn(TokenSource) -> ParseResult + 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/lib.rs:411:24 [INFO] [stdout] | [INFO] [stdout] 411 | self.0.description() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 433 | / opaque_error!( [INFO] [stdout] 434 | | /// Errors that may occur when parsing an XPath [INFO] [stdout] 435 | | ParserError(parser::Error) [INFO] [stdout] 436 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/lib.rs:415:24 [INFO] [stdout] | [INFO] [stdout] 415 | self.0.cause() [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 433 | / opaque_error!( [INFO] [stdout] 434 | | /// Errors that may occur when parsing an XPath [INFO] [stdout] 435 | | ParserError(parser::Error) [INFO] [stdout] 436 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/lib.rs:411:24 [INFO] [stdout] | [INFO] [stdout] 411 | self.0.description() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | / opaque_error!( [INFO] [stdout] 439 | | /// Errors that may occur when executing an XPath [INFO] [stdout] 440 | | ExecutionError(expression::Error) [INFO] [stdout] 441 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/lib.rs:415:24 [INFO] [stdout] | [INFO] [stdout] 415 | self.0.cause() [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | / opaque_error!( [INFO] [stdout] 439 | | /// Errors that may occur when executing an XPath [INFO] [stdout] 440 | | ExecutionError(expression::Error) [INFO] [stdout] 441 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 110 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.60s [INFO] running `Command { std: "docker" "inspect" "73cf3757819694305d90081936072cb248f61997cce1a247ead50e5677ca6e7c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "73cf3757819694305d90081936072cb248f61997cce1a247ead50e5677ca6e7c", kill_on_drop: false }` [INFO] [stdout] 73cf3757819694305d90081936072cb248f61997cce1a247ead50e5677ca6e7c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-28/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-28/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fbd42b63ca5700ed1ee08fab67c864077d2ce046f59bbcf1e7141b7a5221646b [INFO] running `Command { std: "docker" "start" "-a" "fbd42b63ca5700ed1ee08fab67c864077d2ce046f59bbcf1e7141b7a5221646b", kill_on_drop: false }` [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/nodeset.rs:99:10 [INFO] [stdout] | [INFO] [stdout] 99 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/nodeset.rs:203:10 [INFO] [stdout] | [INFO] [stdout] 203 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:95:20 [INFO] [stdout] | [INFO] [stdout] 95 | let left = try!(self.left.evaluate(context)).boolean(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:96:25 [INFO] [stdout] | [INFO] [stdout] 96 | let v = left && try!(self.right.evaluate(context)).boolean(); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:121:24 [INFO] [stdout] | [INFO] [stdout] 121 | let left_val = try!(self.left.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:122:25 [INFO] [stdout] | [INFO] [stdout] 122 | let right_val = try!(self.right.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:200:28 [INFO] [stdout] | [INFO] [stdout] 200 | let args = try!(self.arguments.iter().map(|arg| arg.evaluate(context)).collect()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:259:20 [INFO] [stdout] | [INFO] [stdout] 259 | let left = try!(self.left.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:260:21 [INFO] [stdout] | [INFO] [stdout] 260 | let right = try!(self.right.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:293:20 [INFO] [stdout] | [INFO] [stdout] 293 | let left = try!(self.left.evaluate(context)).boolean(); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:294:25 [INFO] [stdout] | [INFO] [stdout] 294 | let v = left || try!(self.right.evaluate(context)).boolean(); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:313:22 [INFO] [stdout] | [INFO] [stdout] 313 | let result = try!(self.start_point.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:314:26 [INFO] [stdout] | [INFO] [stdout] 314 | let mut result = try!(value_into_nodeset(result)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:317:22 [INFO] [stdout] | [INFO] [stdout] 317 | result = try!(step.evaluate(context, result)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:381:24 [INFO] [stdout] | [INFO] [stdout] 381 | let left_val = try!(self.left.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:382:25 [INFO] [stdout] | [INFO] [stdout] 382 | let right_val = try!(self.right.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:423:21 [INFO] [stdout] | [INFO] [stdout] 423 | let value = try!(self.expression.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:468:25 [INFO] [stdout] | [INFO] [stdout] 468 | nodes = try!(predicate.select(context, nodes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:490:30 [INFO] [stdout] | [INFO] [stdout] 490 | let mut left_nodes = try!(as_nodes(&self.left)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:491:27 [INFO] [stdout] | [INFO] [stdout] 491 | let right_nodes = try!(as_nodes(&self.right)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | try!(args.exactly(0)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | try!(args.exactly(0)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:225:9 [INFO] [stdout] | [INFO] [stdout] 225 | try!(args.exactly(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:226:19 [INFO] [stdout] | [INFO] [stdout] 226 | let arg = try!(args.pop_nodeset()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:240:19 [INFO] [stdout] | [INFO] [stdout] 240 | let arg = try!(args.pop_nodeset_or_context_node(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:259:19 [INFO] [stdout] | [INFO] [stdout] 259 | let arg = try!(args.pop_nodeset_or_context_node(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:277:9 [INFO] [stdout] | [INFO] [stdout] 277 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:278:19 [INFO] [stdout] | [INFO] [stdout] 278 | let arg = try!(args.pop_nodeset_or_context_node(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:295:9 [INFO] [stdout] | [INFO] [stdout] 295 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:309:9 [INFO] [stdout] | [INFO] [stdout] 309 | try!(args.at_least(2)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:323:9 [INFO] [stdout] | [INFO] [stdout] 323 | try!(args.exactly(2)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/function.rs:331:64 [INFO] [stdout] | [INFO] [stdout] 331 | fn imp(a: &str, b: &str) -> bool { str::starts_with(a, b) }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/function.rs:335:61 [INFO] [stdout] | [INFO] [stdout] 335 | fn imp(a: &str, b: &str) -> bool { str::contains(a, b) }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:347:9 [INFO] [stdout] | [INFO] [stdout] 347 | try!(args.exactly(2)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:382:9 [INFO] [stdout] | [INFO] [stdout] 382 | try!(args.at_least(2)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:383:9 [INFO] [stdout] | [INFO] [stdout] 383 | try!(args.at_most(3)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:386:23 [INFO] [stdout] | [INFO] [stdout] 386 | let len = try!(args.pop_number()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:392:21 [INFO] [stdout] | [INFO] [stdout] 392 | let start = try!(args.pop_number()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:394:17 [INFO] [stdout] | [INFO] [stdout] 394 | let s = try!(args.pop_string()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:418:9 [INFO] [stdout] | [INFO] [stdout] 418 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:432:9 [INFO] [stdout] | [INFO] [stdout] 432 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:449:9 [INFO] [stdout] | [INFO] [stdout] 449 | try!(args.exactly(3)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:451:18 [INFO] [stdout] | [INFO] [stdout] 451 | let to = try!(args.pop_string()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:452:20 [INFO] [stdout] | [INFO] [stdout] 452 | let from = try!(args.pop_string()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:453:17 [INFO] [stdout] | [INFO] [stdout] 453 | let s = try!(args.pop_string()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:479:9 [INFO] [stdout] | [INFO] [stdout] 479 | try!(args.exactly(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:492:9 [INFO] [stdout] | [INFO] [stdout] 492 | try!(args.exactly(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:493:19 [INFO] [stdout] | [INFO] [stdout] 493 | let arg = try!(args.pop_boolean()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:506:9 [INFO] [stdout] | [INFO] [stdout] 506 | try!(args.exactly(0)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:522:9 [INFO] [stdout] | [INFO] [stdout] 522 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:536:9 [INFO] [stdout] | [INFO] [stdout] 536 | try!(args.exactly(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:537:19 [INFO] [stdout] | [INFO] [stdout] 537 | let arg = try!(args.pop_nodeset()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:551:9 [INFO] [stdout] | [INFO] [stdout] 551 | try!(args.exactly(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:552:19 [INFO] [stdout] | [INFO] [stdout] 552 | let arg = try!(args.pop_number()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:140:20 [INFO] [stdout] | [INFO] [stdout] 140 | let left = try!(child_parse(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:152:21 [INFO] [stdout] | [INFO] [stdout] 152 | try!(source.consume(&rule.token)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:154:33 [INFO] [stdout] | [INFO] [stdout] 154 | let right = try!(child_parse(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:182:20 [INFO] [stdout] | [INFO] [stdout] 182 | let expr = try!((*child_parse)(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:258:13 [INFO] [stdout] | [INFO] [stdout] 258 | try!(source.consume(&Token::LeftParen)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | try!(source.consume(&Token::RightParen)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:259:26 [INFO] [stdout] | [INFO] [stdout] 259 | let result = try!(self.parse_expression(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:305:13 [INFO] [stdout] | [INFO] [stdout] 305 | try!(source.consume(&Token::Comma)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:307:19 [INFO] [stdout] | [INFO] [stdout] 307 | match try!(self.parse_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:322:15 [INFO] [stdout] | [INFO] [stdout] 322 | match try!(self.parse_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:336:13 [INFO] [stdout] | [INFO] [stdout] 336 | try!(source.consume(&Token::LeftParen)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:338:13 [INFO] [stdout] | [INFO] [stdout] 338 | try!(source.consume(&Token::RightParen)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:337:29 [INFO] [stdout] | [INFO] [stdout] 337 | let arguments = try!(self.parse_function_args(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:364:13 [INFO] [stdout] | [INFO] [stdout] 364 | try!(source.consume(&Token::LeftBracket)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:366:19 [INFO] [stdout] | [INFO] [stdout] 366 | match try!(self.parse_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:368:21 [INFO] [stdout] | [INFO] [stdout] 368 | try!(source.consume(&Token::RightBracket)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:383:37 [INFO] [stdout] | [INFO] [stdout] 383 | while let Some(predicate) = try!(self.parse_predicate_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:393:20 [INFO] [stdout] | [INFO] [stdout] 393 | let axis = try!(self.parse_axis(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:395:31 [INFO] [stdout] | [INFO] [stdout] 395 | let node_test = match try!(self.parse_node_test(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:397:21 [INFO] [stdout] | [INFO] [stdout] 397 | None => try!(self.default_node_test(source, axis)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:405:26 [INFO] [stdout] | [INFO] [stdout] 405 | let predicates = try!(self.parse_predicates(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:415:15 [INFO] [stdout] | [INFO] [stdout] 415 | match try!(self.parse_step(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:420:21 [INFO] [stdout] | [INFO] [stdout] 420 | try!(source.consume(&Token::Slash)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:422:27 [INFO] [stdout] | [INFO] [stdout] 422 | match try!(self.parse_step(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:445:13 [INFO] [stdout] | [INFO] [stdout] 445 | try!(source.consume(&Token::Slash)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:448:19 [INFO] [stdout] | [INFO] [stdout] 448 | match try!(self.parse_relative_location_path_raw(source, start_point)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:471:15 [INFO] [stdout] | [INFO] [stdout] 471 | match try!(self.parse_primary_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:473:34 [INFO] [stdout] | [INFO] [stdout] 473 | let predicates = try!(self.parse_predicates(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:486:20 [INFO] [stdout] | [INFO] [stdout] 486 | let expr = try!(self.parse_location_path(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:491:15 [INFO] [stdout] | [INFO] [stdout] 491 | match try!(self.parse_filter_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:494:21 [INFO] [stdout] | [INFO] [stdout] 494 | try!(source.consume(&Token::Slash)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:496:27 [INFO] [stdout] | [INFO] [stdout] 496 | match try!(self.parse_relative_location_path_raw(source, expr)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:521:20 [INFO] [stdout] | [INFO] [stdout] 521 | let expr = try!(self.parse_union_expression(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:527:13 [INFO] [stdout] | [INFO] [stdout] 527 | try!(source.consume(&Token::MinusSign)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:529:24 [INFO] [stdout] | [INFO] [stdout] 529 | let expr = try!(self.parse_unary_expression(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:631:20 [INFO] [stdout] | [INFO] [stdout] 631 | let expr = try!(self.parse_or_expression(&mut source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/tokenizer.rs:372:21 [INFO] [stdout] | [INFO] [stdout] 372 | let token = try!(self.raw_next_token()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/context.rs:14:42 [INFO] [stdout] | [INFO] [stdout] 14 | type Functions = HashMap>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 - type Functions = HashMap>; [INFO] [stdout] 14 + type Functions = HashMap>; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/axis.rs:49:20 [INFO] [stdout] | [INFO] [stdout] 49 | node_test: &'c NodeTest, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 - node_test: &'c NodeTest, [INFO] [stdout] 49 + node_test: &'c dyn NodeTest, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/expression.rs:73:30 [INFO] [stdout] | [INFO] [stdout] 73 | pub type SubExpression = Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 73 - pub type SubExpression = Box; [INFO] [stdout] 73 + pub type SubExpression = Box; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/expression.rs:435:25 [INFO] [stdout] | [INFO] [stdout] 435 | pub type StepTest = Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 435 - pub type StepTest = Box; [INFO] [stdout] 435 + pub type StepTest = Box; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:339:22 [INFO] [stdout] | [INFO] [stdout] 339 | pub struct XPath(Box); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 339 - pub struct XPath(Box); [INFO] [stdout] 339 + pub struct XPath(Box); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:414:40 [INFO] [stdout] | [INFO] [stdout] 414 | fn cause(&self) -> Option<&std::error::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 433 | / opaque_error!( [INFO] [stdout] 434 | | /// Errors that may occur when parsing an XPath [INFO] [stdout] 435 | | ParserError(parser::Error) [INFO] [stdout] 436 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 414 - fn cause(&self) -> Option<&std::error::Error> { [INFO] [stdout] 414 + fn cause(&self) -> Option<&dyn std::error::Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:414:40 [INFO] [stdout] | [INFO] [stdout] 414 | fn cause(&self) -> Option<&std::error::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | / opaque_error!( [INFO] [stdout] 439 | | /// Errors that may occur when executing an XPath [INFO] [stdout] 440 | | ExecutionError(expression::Error) [INFO] [stdout] 441 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 414 - fn cause(&self) -> Option<&std::error::Error> { [INFO] [stdout] 414 + fn cause(&self) -> Option<&dyn std::error::Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/context.rs:179:64 [INFO] [stdout] | [INFO] [stdout] 179 | pub fn function_for_name(&self, name: QName) -> Option<&'c function::Function> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 179 - pub fn function_for_name(&self, name: QName) -> Option<&'c function::Function> { [INFO] [stdout] 179 + pub fn function_for_name(&self, name: QName) -> Option<&'c dyn function::Function> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/axis.rs:22:41 [INFO] [stdout] | [INFO] [stdout] 22 | ... node_test: &NodeTest) -> OrderedNodes<'d>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - node_test: &NodeTest) -> OrderedNodes<'d>; [INFO] [stdout] 22 + node_test: &dyn NodeTest) -> OrderedNodes<'d>; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/axis.rs:54:69 [INFO] [stdout] | [INFO] [stdout] 54 | fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c NodeTest) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 - fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c NodeTest) -> Self { [INFO] [stdout] 54 + fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c dyn NodeTest) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/axis.rs:71:41 [INFO] [stdout] | [INFO] [stdout] 71 | ... node_test: &NodeTest) -> OrderedNodes<'d> [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 - node_test: &NodeTest) -> OrderedNodes<'d> [INFO] [stdout] 71 + node_test: &dyn NodeTest) -> OrderedNodes<'d> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node_test.rs:20:28 [INFO] [stdout] | [INFO] [stdout] 20 | pub type SubNodeTest = Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 - pub type SubNodeTest = Box; [INFO] [stdout] 20 + pub type SubNodeTest = Box; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser.rs:175:20 [INFO] [stdout] | [INFO] [stdout] 175 | type Rule<'a, I> = Fn(TokenSource) -> ParseResult + 'a; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 175 - type Rule<'a, I> = Fn(TokenSource) -> ParseResult + 'a; [INFO] [stdout] 175 + type Rule<'a, I> = dyn Fn(TokenSource) -> ParseResult + 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/lib.rs:411:24 [INFO] [stdout] | [INFO] [stdout] 411 | self.0.description() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 433 | / opaque_error!( [INFO] [stdout] 434 | | /// Errors that may occur when parsing an XPath [INFO] [stdout] 435 | | ParserError(parser::Error) [INFO] [stdout] 436 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/lib.rs:415:24 [INFO] [stdout] | [INFO] [stdout] 415 | self.0.cause() [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 433 | / opaque_error!( [INFO] [stdout] 434 | | /// Errors that may occur when parsing an XPath [INFO] [stdout] 435 | | ParserError(parser::Error) [INFO] [stdout] 436 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/lib.rs:411:24 [INFO] [stdout] | [INFO] [stdout] 411 | self.0.description() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | / opaque_error!( [INFO] [stdout] 439 | | /// Errors that may occur when executing an XPath [INFO] [stdout] 440 | | ExecutionError(expression::Error) [INFO] [stdout] 441 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/lib.rs:415:24 [INFO] [stdout] | [INFO] [stdout] 415 | self.0.cause() [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | / opaque_error!( [INFO] [stdout] 439 | | /// Errors that may occur when executing an XPath [INFO] [stdout] 440 | | ExecutionError(expression::Error) [INFO] [stdout] 441 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling sxd-xpath v0.4.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: 110 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/nodeset.rs:99:10 [INFO] [stdout] | [INFO] [stdout] 99 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/nodeset.rs:203:10 [INFO] [stdout] | [INFO] [stdout] 203 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:95:20 [INFO] [stdout] | [INFO] [stdout] 95 | let left = try!(self.left.evaluate(context)).boolean(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:96:25 [INFO] [stdout] | [INFO] [stdout] 96 | let v = left && try!(self.right.evaluate(context)).boolean(); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:121:24 [INFO] [stdout] | [INFO] [stdout] 121 | let left_val = try!(self.left.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:122:25 [INFO] [stdout] | [INFO] [stdout] 122 | let right_val = try!(self.right.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:200:28 [INFO] [stdout] | [INFO] [stdout] 200 | let args = try!(self.arguments.iter().map(|arg| arg.evaluate(context)).collect()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:259:20 [INFO] [stdout] | [INFO] [stdout] 259 | let left = try!(self.left.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:260:21 [INFO] [stdout] | [INFO] [stdout] 260 | let right = try!(self.right.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:293:20 [INFO] [stdout] | [INFO] [stdout] 293 | let left = try!(self.left.evaluate(context)).boolean(); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:294:25 [INFO] [stdout] | [INFO] [stdout] 294 | let v = left || try!(self.right.evaluate(context)).boolean(); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:313:22 [INFO] [stdout] | [INFO] [stdout] 313 | let result = try!(self.start_point.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:314:26 [INFO] [stdout] | [INFO] [stdout] 314 | let mut result = try!(value_into_nodeset(result)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:317:22 [INFO] [stdout] | [INFO] [stdout] 317 | result = try!(step.evaluate(context, result)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:381:24 [INFO] [stdout] | [INFO] [stdout] 381 | let left_val = try!(self.left.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:382:25 [INFO] [stdout] | [INFO] [stdout] 382 | let right_val = try!(self.right.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:423:21 [INFO] [stdout] | [INFO] [stdout] 423 | let value = try!(self.expression.evaluate(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:468:25 [INFO] [stdout] | [INFO] [stdout] 468 | nodes = try!(predicate.select(context, nodes)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:490:30 [INFO] [stdout] | [INFO] [stdout] 490 | let mut left_nodes = try!(as_nodes(&self.left)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/expression.rs:491:27 [INFO] [stdout] | [INFO] [stdout] 491 | let right_nodes = try!(as_nodes(&self.right)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | try!(args.exactly(0)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | try!(args.exactly(0)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:225:9 [INFO] [stdout] | [INFO] [stdout] 225 | try!(args.exactly(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:226:19 [INFO] [stdout] | [INFO] [stdout] 226 | let arg = try!(args.pop_nodeset()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:240:19 [INFO] [stdout] | [INFO] [stdout] 240 | let arg = try!(args.pop_nodeset_or_context_node(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:259:19 [INFO] [stdout] | [INFO] [stdout] 259 | let arg = try!(args.pop_nodeset_or_context_node(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:277:9 [INFO] [stdout] | [INFO] [stdout] 277 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:278:19 [INFO] [stdout] | [INFO] [stdout] 278 | let arg = try!(args.pop_nodeset_or_context_node(context)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:295:9 [INFO] [stdout] | [INFO] [stdout] 295 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:309:9 [INFO] [stdout] | [INFO] [stdout] 309 | try!(args.at_least(2)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:323:9 [INFO] [stdout] | [INFO] [stdout] 323 | try!(args.exactly(2)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/function.rs:331:64 [INFO] [stdout] | [INFO] [stdout] 331 | fn imp(a: &str, b: &str) -> bool { str::starts_with(a, b) }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/function.rs:335:61 [INFO] [stdout] | [INFO] [stdout] 335 | fn imp(a: &str, b: &str) -> bool { str::contains(a, b) }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:347:9 [INFO] [stdout] | [INFO] [stdout] 347 | try!(args.exactly(2)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:382:9 [INFO] [stdout] | [INFO] [stdout] 382 | try!(args.at_least(2)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:383:9 [INFO] [stdout] | [INFO] [stdout] 383 | try!(args.at_most(3)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:386:23 [INFO] [stdout] | [INFO] [stdout] 386 | let len = try!(args.pop_number()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:392:21 [INFO] [stdout] | [INFO] [stdout] 392 | let start = try!(args.pop_number()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:394:17 [INFO] [stdout] | [INFO] [stdout] 394 | let s = try!(args.pop_string()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:418:9 [INFO] [stdout] | [INFO] [stdout] 418 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:432:9 [INFO] [stdout] | [INFO] [stdout] 432 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:449:9 [INFO] [stdout] | [INFO] [stdout] 449 | try!(args.exactly(3)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:451:18 [INFO] [stdout] | [INFO] [stdout] 451 | let to = try!(args.pop_string()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:452:20 [INFO] [stdout] | [INFO] [stdout] 452 | let from = try!(args.pop_string()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:453:17 [INFO] [stdout] | [INFO] [stdout] 453 | let s = try!(args.pop_string()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:479:9 [INFO] [stdout] | [INFO] [stdout] 479 | try!(args.exactly(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:492:9 [INFO] [stdout] | [INFO] [stdout] 492 | try!(args.exactly(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:493:19 [INFO] [stdout] | [INFO] [stdout] 493 | let arg = try!(args.pop_boolean()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:506:9 [INFO] [stdout] | [INFO] [stdout] 506 | try!(args.exactly(0)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:522:9 [INFO] [stdout] | [INFO] [stdout] 522 | try!(args.at_most(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:536:9 [INFO] [stdout] | [INFO] [stdout] 536 | try!(args.exactly(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:537:19 [INFO] [stdout] | [INFO] [stdout] 537 | let arg = try!(args.pop_nodeset()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:551:9 [INFO] [stdout] | [INFO] [stdout] 551 | try!(args.exactly(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/function.rs:552:19 [INFO] [stdout] | [INFO] [stdout] 552 | let arg = try!(args.pop_number()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:140:20 [INFO] [stdout] | [INFO] [stdout] 140 | let left = try!(child_parse(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:152:21 [INFO] [stdout] | [INFO] [stdout] 152 | try!(source.consume(&rule.token)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:154:33 [INFO] [stdout] | [INFO] [stdout] 154 | let right = try!(child_parse(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:182:20 [INFO] [stdout] | [INFO] [stdout] 182 | let expr = try!((*child_parse)(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:258:13 [INFO] [stdout] | [INFO] [stdout] 258 | try!(source.consume(&Token::LeftParen)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | try!(source.consume(&Token::RightParen)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:259:26 [INFO] [stdout] | [INFO] [stdout] 259 | let result = try!(self.parse_expression(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:305:13 [INFO] [stdout] | [INFO] [stdout] 305 | try!(source.consume(&Token::Comma)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:307:19 [INFO] [stdout] | [INFO] [stdout] 307 | match try!(self.parse_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:322:15 [INFO] [stdout] | [INFO] [stdout] 322 | match try!(self.parse_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:336:13 [INFO] [stdout] | [INFO] [stdout] 336 | try!(source.consume(&Token::LeftParen)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:338:13 [INFO] [stdout] | [INFO] [stdout] 338 | try!(source.consume(&Token::RightParen)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:337:29 [INFO] [stdout] | [INFO] [stdout] 337 | let arguments = try!(self.parse_function_args(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:364:13 [INFO] [stdout] | [INFO] [stdout] 364 | try!(source.consume(&Token::LeftBracket)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:366:19 [INFO] [stdout] | [INFO] [stdout] 366 | match try!(self.parse_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:368:21 [INFO] [stdout] | [INFO] [stdout] 368 | try!(source.consume(&Token::RightBracket)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:383:37 [INFO] [stdout] | [INFO] [stdout] 383 | while let Some(predicate) = try!(self.parse_predicate_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:393:20 [INFO] [stdout] | [INFO] [stdout] 393 | let axis = try!(self.parse_axis(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:395:31 [INFO] [stdout] | [INFO] [stdout] 395 | let node_test = match try!(self.parse_node_test(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:397:21 [INFO] [stdout] | [INFO] [stdout] 397 | None => try!(self.default_node_test(source, axis)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:405:26 [INFO] [stdout] | [INFO] [stdout] 405 | let predicates = try!(self.parse_predicates(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:415:15 [INFO] [stdout] | [INFO] [stdout] 415 | match try!(self.parse_step(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:420:21 [INFO] [stdout] | [INFO] [stdout] 420 | try!(source.consume(&Token::Slash)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:422:27 [INFO] [stdout] | [INFO] [stdout] 422 | match try!(self.parse_step(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:445:13 [INFO] [stdout] | [INFO] [stdout] 445 | try!(source.consume(&Token::Slash)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:448:19 [INFO] [stdout] | [INFO] [stdout] 448 | match try!(self.parse_relative_location_path_raw(source, start_point)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:471:15 [INFO] [stdout] | [INFO] [stdout] 471 | match try!(self.parse_primary_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:473:34 [INFO] [stdout] | [INFO] [stdout] 473 | let predicates = try!(self.parse_predicates(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:486:20 [INFO] [stdout] | [INFO] [stdout] 486 | let expr = try!(self.parse_location_path(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:491:15 [INFO] [stdout] | [INFO] [stdout] 491 | match try!(self.parse_filter_expression(source)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:494:21 [INFO] [stdout] | [INFO] [stdout] 494 | try!(source.consume(&Token::Slash)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:496:27 [INFO] [stdout] | [INFO] [stdout] 496 | match try!(self.parse_relative_location_path_raw(source, expr)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:521:20 [INFO] [stdout] | [INFO] [stdout] 521 | let expr = try!(self.parse_union_expression(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:527:13 [INFO] [stdout] | [INFO] [stdout] 527 | try!(source.consume(&Token::MinusSign)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:529:24 [INFO] [stdout] | [INFO] [stdout] 529 | let expr = try!(self.parse_unary_expression(source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parser.rs:631:20 [INFO] [stdout] | [INFO] [stdout] 631 | let expr = try!(self.parse_or_expression(&mut source)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/tokenizer.rs:372:21 [INFO] [stdout] | [INFO] [stdout] 372 | let token = try!(self.raw_next_token()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/context.rs:14:42 [INFO] [stdout] | [INFO] [stdout] 14 | type Functions = HashMap>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 - type Functions = HashMap>; [INFO] [stdout] 14 + type Functions = HashMap>; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/axis.rs:49:20 [INFO] [stdout] | [INFO] [stdout] 49 | node_test: &'c NodeTest, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 - node_test: &'c NodeTest, [INFO] [stdout] 49 + node_test: &'c dyn NodeTest, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/expression.rs:73:30 [INFO] [stdout] | [INFO] [stdout] 73 | pub type SubExpression = Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 73 - pub type SubExpression = Box; [INFO] [stdout] 73 + pub type SubExpression = Box; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/expression.rs:435:25 [INFO] [stdout] | [INFO] [stdout] 435 | pub type StepTest = Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 435 - pub type StepTest = Box; [INFO] [stdout] 435 + pub type StepTest = Box; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:339:22 [INFO] [stdout] | [INFO] [stdout] 339 | pub struct XPath(Box); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 339 - pub struct XPath(Box); [INFO] [stdout] 339 + pub struct XPath(Box); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:414:40 [INFO] [stdout] | [INFO] [stdout] 414 | fn cause(&self) -> Option<&std::error::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 433 | / opaque_error!( [INFO] [stdout] 434 | | /// Errors that may occur when parsing an XPath [INFO] [stdout] 435 | | ParserError(parser::Error) [INFO] [stdout] 436 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 414 - fn cause(&self) -> Option<&std::error::Error> { [INFO] [stdout] 414 + fn cause(&self) -> Option<&dyn std::error::Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:414:40 [INFO] [stdout] | [INFO] [stdout] 414 | fn cause(&self) -> Option<&std::error::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | / opaque_error!( [INFO] [stdout] 439 | | /// Errors that may occur when executing an XPath [INFO] [stdout] 440 | | ExecutionError(expression::Error) [INFO] [stdout] 441 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 414 - fn cause(&self) -> Option<&std::error::Error> { [INFO] [stdout] 414 + fn cause(&self) -> Option<&dyn std::error::Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/context.rs:179:64 [INFO] [stdout] | [INFO] [stdout] 179 | pub fn function_for_name(&self, name: QName) -> Option<&'c function::Function> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 179 - pub fn function_for_name(&self, name: QName) -> Option<&'c function::Function> { [INFO] [stdout] 179 + pub fn function_for_name(&self, name: QName) -> Option<&'c dyn function::Function> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/axis.rs:22:41 [INFO] [stdout] | [INFO] [stdout] 22 | ... node_test: &NodeTest) -> OrderedNodes<'d>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - node_test: &NodeTest) -> OrderedNodes<'d>; [INFO] [stdout] 22 + node_test: &dyn NodeTest) -> OrderedNodes<'d>; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/axis.rs:54:69 [INFO] [stdout] | [INFO] [stdout] 54 | fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c NodeTest) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 - fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c NodeTest) -> Self { [INFO] [stdout] 54 + fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c dyn NodeTest) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/axis.rs:71:41 [INFO] [stdout] | [INFO] [stdout] 71 | ... node_test: &NodeTest) -> OrderedNodes<'d> [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 - node_test: &NodeTest) -> OrderedNodes<'d> [INFO] [stdout] 71 + node_test: &dyn NodeTest) -> OrderedNodes<'d> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node_test.rs:20:28 [INFO] [stdout] | [INFO] [stdout] 20 | pub type SubNodeTest = Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 - pub type SubNodeTest = Box; [INFO] [stdout] 20 + pub type SubNodeTest = Box; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser.rs:175:20 [INFO] [stdout] | [INFO] [stdout] 175 | type Rule<'a, I> = Fn(TokenSource) -> ParseResult + 'a; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 175 - type Rule<'a, I> = Fn(TokenSource) -> ParseResult + 'a; [INFO] [stdout] 175 + type Rule<'a, I> = dyn Fn(TokenSource) -> ParseResult + 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/expression.rs:886:46 [INFO] [stdout] | [INFO] [stdout] 886 | ... _node_test: &NodeTest) -> OrderedNodes<'d> [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 886 - _node_test: &NodeTest) -> OrderedNodes<'d> [INFO] [stdout] 886 + _node_test: &dyn NodeTest) -> OrderedNodes<'d> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/expression.rs:750:27 [INFO] [stdout] | [INFO] [stdout] 750 | let arg_expr: Box = Box::new(Literal{value: Value::Boolean(true)}); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 750 - let arg_expr: Box = Box::new(Literal{value: Value::Boolean(true)}); [INFO] [stdout] 750 + let arg_expr: Box = Box::new(Literal{value: Value::Boolean(true)}); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/lib.rs:411:24 [INFO] [stdout] | [INFO] [stdout] 411 | self.0.description() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 433 | / opaque_error!( [INFO] [stdout] 434 | | /// Errors that may occur when parsing an XPath [INFO] [stdout] 435 | | ParserError(parser::Error) [INFO] [stdout] 436 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/lib.rs:415:24 [INFO] [stdout] | [INFO] [stdout] 415 | self.0.cause() [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 433 | / opaque_error!( [INFO] [stdout] 434 | | /// Errors that may occur when parsing an XPath [INFO] [stdout] 435 | | ParserError(parser::Error) [INFO] [stdout] 436 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/lib.rs:411:24 [INFO] [stdout] | [INFO] [stdout] 411 | self.0.description() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | / opaque_error!( [INFO] [stdout] 439 | | /// Errors that may occur when executing an XPath [INFO] [stdout] 440 | | ExecutionError(expression::Error) [INFO] [stdout] 441 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/lib.rs:415:24 [INFO] [stdout] | [INFO] [stdout] 415 | self.0.cause() [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | / opaque_error!( [INFO] [stdout] 439 | | /// Errors that may occur when executing an XPath [INFO] [stdout] 440 | | ExecutionError(expression::Error) [INFO] [stdout] 441 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 112 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.49s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/sxd_xpath-47cf0d00b852e1f6) [INFO] [stderr] Executable tests/integration.rs (/opt/rustwide/target/debug/deps/integration-caedb7a1c029a6fe) [INFO] running `Command { std: "docker" "inspect" "fbd42b63ca5700ed1ee08fab67c864077d2ce046f59bbcf1e7141b7a5221646b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fbd42b63ca5700ed1ee08fab67c864077d2ce046f59bbcf1e7141b7a5221646b", kill_on_drop: false }` [INFO] [stdout] fbd42b63ca5700ed1ee08fab67c864077d2ce046f59bbcf1e7141b7a5221646b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-28/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-28/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a4b5a2b57fdc2f0808822127f65cf2f2fe0d9f787bb917e17e9d32fce4bd767f [INFO] running `Command { std: "docker" "start" "-a" "a4b5a2b57fdc2f0808822127f65cf2f2fe0d9f787bb917e17e9d32fce4bd767f", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/nodeset.rs:99:10 [INFO] [stderr] | [INFO] [stderr] 99 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/nodeset.rs:203:10 [INFO] [stderr] | [INFO] [stderr] 203 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:95:20 [INFO] [stderr] | [INFO] [stderr] 95 | let left = try!(self.left.evaluate(context)).boolean(); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:96:25 [INFO] [stderr] | [INFO] [stderr] 96 | let v = left && try!(self.right.evaluate(context)).boolean(); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:121:24 [INFO] [stderr] | [INFO] [stderr] 121 | let left_val = try!(self.left.evaluate(context)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:122:25 [INFO] [stderr] | [INFO] [stderr] 122 | let right_val = try!(self.right.evaluate(context)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:200:28 [INFO] [stderr] | [INFO] [stderr] 200 | let args = try!(self.arguments.iter().map(|arg| arg.evaluate(context)).collect()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:259:20 [INFO] [stderr] | [INFO] [stderr] 259 | let left = try!(self.left.evaluate(context)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:260:21 [INFO] [stderr] | [INFO] [stderr] 260 | let right = try!(self.right.evaluate(context)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:293:20 [INFO] [stderr] | [INFO] [stderr] 293 | let left = try!(self.left.evaluate(context)).boolean(); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:294:25 [INFO] [stderr] | [INFO] [stderr] 294 | let v = left || try!(self.right.evaluate(context)).boolean(); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:313:22 [INFO] [stderr] | [INFO] [stderr] 313 | let result = try!(self.start_point.evaluate(context)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:314:26 [INFO] [stderr] | [INFO] [stderr] 314 | let mut result = try!(value_into_nodeset(result)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:317:22 [INFO] [stderr] | [INFO] [stderr] 317 | result = try!(step.evaluate(context, result)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:381:24 [INFO] [stderr] | [INFO] [stderr] 381 | let left_val = try!(self.left.evaluate(context)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:382:25 [INFO] [stderr] | [INFO] [stderr] 382 | let right_val = try!(self.right.evaluate(context)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:423:21 [INFO] [stderr] | [INFO] [stderr] 423 | let value = try!(self.expression.evaluate(context)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:468:25 [INFO] [stderr] | [INFO] [stderr] 468 | nodes = try!(predicate.select(context, nodes)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:490:30 [INFO] [stderr] | [INFO] [stderr] 490 | let mut left_nodes = try!(as_nodes(&self.left)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/expression.rs:491:27 [INFO] [stderr] | [INFO] [stderr] 491 | let right_nodes = try!(as_nodes(&self.right)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:199:9 [INFO] [stderr] | [INFO] [stderr] 199 | try!(args.exactly(0)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:212:9 [INFO] [stderr] | [INFO] [stderr] 212 | try!(args.exactly(0)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:225:9 [INFO] [stderr] | [INFO] [stderr] 225 | try!(args.exactly(1)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:226:19 [INFO] [stderr] | [INFO] [stderr] 226 | let arg = try!(args.pop_nodeset()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:239:9 [INFO] [stderr] | [INFO] [stderr] 239 | try!(args.at_most(1)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:240:19 [INFO] [stderr] | [INFO] [stderr] 240 | let arg = try!(args.pop_nodeset_or_context_node(context)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:258:9 [INFO] [stderr] | [INFO] [stderr] 258 | try!(args.at_most(1)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:259:19 [INFO] [stderr] | [INFO] [stderr] 259 | let arg = try!(args.pop_nodeset_or_context_node(context)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:277:9 [INFO] [stderr] | [INFO] [stderr] 277 | try!(args.at_most(1)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:278:19 [INFO] [stderr] | [INFO] [stderr] 278 | let arg = try!(args.pop_nodeset_or_context_node(context)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:295:9 [INFO] [stderr] | [INFO] [stderr] 295 | try!(args.at_most(1)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:309:9 [INFO] [stderr] | [INFO] [stderr] 309 | try!(args.at_least(2)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:323:9 [INFO] [stderr] | [INFO] [stderr] 323 | try!(args.exactly(2)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/function.rs:331:64 [INFO] [stderr] | [INFO] [stderr] 331 | fn imp(a: &str, b: &str) -> bool { str::starts_with(a, b) }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/function.rs:335:61 [INFO] [stderr] | [INFO] [stderr] 335 | fn imp(a: &str, b: &str) -> bool { str::contains(a, b) }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:347:9 [INFO] [stderr] | [INFO] [stderr] 347 | try!(args.exactly(2)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:382:9 [INFO] [stderr] | [INFO] [stderr] 382 | try!(args.at_least(2)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:383:9 [INFO] [stderr] | [INFO] [stderr] 383 | try!(args.at_most(3)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:386:23 [INFO] [stderr] | [INFO] [stderr] 386 | let len = try!(args.pop_number()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:392:21 [INFO] [stderr] | [INFO] [stderr] 392 | let start = try!(args.pop_number()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:394:17 [INFO] [stderr] | [INFO] [stderr] 394 | let s = try!(args.pop_string()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:418:9 [INFO] [stderr] | [INFO] [stderr] 418 | try!(args.at_most(1)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:432:9 [INFO] [stderr] | [INFO] [stderr] 432 | try!(args.at_most(1)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:449:9 [INFO] [stderr] | [INFO] [stderr] 449 | try!(args.exactly(3)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:451:18 [INFO] [stderr] | [INFO] [stderr] 451 | let to = try!(args.pop_string()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:452:20 [INFO] [stderr] | [INFO] [stderr] 452 | let from = try!(args.pop_string()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:453:17 [INFO] [stderr] | [INFO] [stderr] 453 | let s = try!(args.pop_string()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:479:9 [INFO] [stderr] | [INFO] [stderr] 479 | try!(args.exactly(1)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:492:9 [INFO] [stderr] | [INFO] [stderr] 492 | try!(args.exactly(1)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:493:19 [INFO] [stderr] | [INFO] [stderr] 493 | let arg = try!(args.pop_boolean()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:506:9 [INFO] [stderr] | [INFO] [stderr] 506 | try!(args.exactly(0)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:522:9 [INFO] [stderr] | [INFO] [stderr] 522 | try!(args.at_most(1)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:536:9 [INFO] [stderr] | [INFO] [stderr] 536 | try!(args.exactly(1)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:537:19 [INFO] [stderr] | [INFO] [stderr] 537 | let arg = try!(args.pop_nodeset()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:551:9 [INFO] [stderr] | [INFO] [stderr] 551 | try!(args.exactly(1)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/function.rs:552:19 [INFO] [stderr] | [INFO] [stderr] 552 | let arg = try!(args.pop_number()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:140:20 [INFO] [stderr] | [INFO] [stderr] 140 | let left = try!(child_parse(source)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:152:21 [INFO] [stderr] | [INFO] [stderr] 152 | try!(source.consume(&rule.token)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:154:33 [INFO] [stderr] | [INFO] [stderr] 154 | let right = try!(child_parse(source)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:182:20 [INFO] [stderr] | [INFO] [stderr] 182 | let expr = try!((*child_parse)(source)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:258:13 [INFO] [stderr] | [INFO] [stderr] 258 | try!(source.consume(&Token::LeftParen)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:260:13 [INFO] [stderr] | [INFO] [stderr] 260 | try!(source.consume(&Token::RightParen)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:259:26 [INFO] [stderr] | [INFO] [stderr] 259 | let result = try!(self.parse_expression(source)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:305:13 [INFO] [stderr] | [INFO] [stderr] 305 | try!(source.consume(&Token::Comma)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:307:19 [INFO] [stderr] | [INFO] [stderr] 307 | match try!(self.parse_expression(source)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:322:15 [INFO] [stderr] | [INFO] [stderr] 322 | match try!(self.parse_expression(source)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:336:13 [INFO] [stderr] | [INFO] [stderr] 336 | try!(source.consume(&Token::LeftParen)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:338:13 [INFO] [stderr] | [INFO] [stderr] 338 | try!(source.consume(&Token::RightParen)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:337:29 [INFO] [stderr] | [INFO] [stderr] 337 | let arguments = try!(self.parse_function_args(source)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:364:13 [INFO] [stderr] | [INFO] [stderr] 364 | try!(source.consume(&Token::LeftBracket)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:366:19 [INFO] [stderr] | [INFO] [stderr] 366 | match try!(self.parse_expression(source)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:368:21 [INFO] [stderr] | [INFO] [stderr] 368 | try!(source.consume(&Token::RightBracket)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:383:37 [INFO] [stderr] | [INFO] [stderr] 383 | while let Some(predicate) = try!(self.parse_predicate_expression(source)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:393:20 [INFO] [stderr] | [INFO] [stderr] 393 | let axis = try!(self.parse_axis(source)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:395:31 [INFO] [stderr] | [INFO] [stderr] 395 | let node_test = match try!(self.parse_node_test(source)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:397:21 [INFO] [stderr] | [INFO] [stderr] 397 | None => try!(self.default_node_test(source, axis)), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:405:26 [INFO] [stderr] | [INFO] [stderr] 405 | let predicates = try!(self.parse_predicates(source)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:415:15 [INFO] [stderr] | [INFO] [stderr] 415 | match try!(self.parse_step(source)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:420:21 [INFO] [stderr] | [INFO] [stderr] 420 | try!(source.consume(&Token::Slash)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:422:27 [INFO] [stderr] | [INFO] [stderr] 422 | match try!(self.parse_step(source)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:445:13 [INFO] [stderr] | [INFO] [stderr] 445 | try!(source.consume(&Token::Slash)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:448:19 [INFO] [stderr] | [INFO] [stderr] 448 | match try!(self.parse_relative_location_path_raw(source, start_point)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:471:15 [INFO] [stderr] | [INFO] [stderr] 471 | match try!(self.parse_primary_expression(source)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:473:34 [INFO] [stderr] | [INFO] [stderr] 473 | let predicates = try!(self.parse_predicates(source)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:486:20 [INFO] [stderr] | [INFO] [stderr] 486 | let expr = try!(self.parse_location_path(source)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:491:15 [INFO] [stderr] | [INFO] [stderr] 491 | match try!(self.parse_filter_expression(source)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:494:21 [INFO] [stderr] | [INFO] [stderr] 494 | try!(source.consume(&Token::Slash)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:496:27 [INFO] [stderr] | [INFO] [stderr] 496 | match try!(self.parse_relative_location_path_raw(source, expr)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:521:20 [INFO] [stderr] | [INFO] [stderr] 521 | let expr = try!(self.parse_union_expression(source)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:527:13 [INFO] [stderr] | [INFO] [stderr] 527 | try!(source.consume(&Token::MinusSign)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:529:24 [INFO] [stderr] | [INFO] [stderr] 529 | let expr = try!(self.parse_unary_expression(source)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parser.rs:631:20 [INFO] [stderr] | [INFO] [stderr] 631 | let expr = try!(self.parse_or_expression(&mut source)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/tokenizer.rs:372:21 [INFO] [stderr] | [INFO] [stderr] 372 | let token = try!(self.raw_next_token()); [INFO] [stderr] | ^^^ [INFO] [stderr] [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 14 - type Functions = HashMap>; [INFO] [stderr] 14 + type Functions = HashMap>; [INFO] [stderr] | [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] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 49 - node_test: &'c NodeTest, [INFO] [stderr] 49 + node_test: &'c dyn NodeTest, [INFO] [stderr] | [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] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 73 - pub type SubExpression = Box; [INFO] [stderr] 73 + pub type SubExpression = Box; [INFO] [stderr] | [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] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 435 - pub type StepTest = Box; [INFO] [stderr] 435 + pub type StepTest = Box; [INFO] [stderr] | [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 339 - pub struct XPath(Box); [INFO] [stderr] 339 + pub struct XPath(Box); [INFO] [stderr] | [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] | ^^^^^^^^^^^^^^^^^ [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: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 414 - fn cause(&self) -> Option<&std::error::Error> { [INFO] [stderr] 414 + fn cause(&self) -> Option<&dyn std::error::Error> { [INFO] [stderr] | [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] | ^^^^^^^^^^^^^^^^^ [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: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 414 - fn cause(&self) -> Option<&std::error::Error> { [INFO] [stderr] 414 + fn cause(&self) -> Option<&dyn std::error::Error> { [INFO] [stderr] | [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] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 179 - pub fn function_for_name(&self, name: QName) -> Option<&'c function::Function> { [INFO] [stderr] 179 + pub fn function_for_name(&self, name: QName) -> Option<&'c dyn function::Function> { [INFO] [stderr] | [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] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 22 - node_test: &NodeTest) -> OrderedNodes<'d>; [INFO] [stderr] 22 + node_test: &dyn NodeTest) -> OrderedNodes<'d>; [INFO] [stderr] | [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] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 54 - fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c NodeTest) -> Self { [INFO] [stderr] 54 + fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c dyn NodeTest) -> Self { [INFO] [stderr] | [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] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 71 - node_test: &NodeTest) -> OrderedNodes<'d> [INFO] [stderr] 71 + node_test: &dyn NodeTest) -> OrderedNodes<'d> [INFO] [stderr] | [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] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 20 - pub type SubNodeTest = Box; [INFO] [stderr] 20 + pub type SubNodeTest = Box; [INFO] [stderr] | [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 175 - type Rule<'a, I> = Fn(TokenSource) -> ParseResult + 'a; [INFO] [stderr] 175 + type Rule<'a, I> = dyn Fn(TokenSource) -> ParseResult + 'a; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/lib.rs:411:24 [INFO] [stderr] | [INFO] [stderr] 411 | self.0.description() [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: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `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: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/lib.rs:411:24 [INFO] [stderr] | [INFO] [stderr] 411 | self.0.description() [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] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `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] = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `sxd-xpath` (lib) generated 110 warnings [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] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 886 - _node_test: &NodeTest) -> OrderedNodes<'d> [INFO] [stderr] 886 + _node_test: &dyn NodeTest) -> OrderedNodes<'d> [INFO] [stderr] | [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] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 750 - let arg_expr: Box = Box::new(Literal{value: Value::Boolean(true)}); [INFO] [stderr] 750 + let arg_expr: Box = Box::new(Literal{value: Value::Boolean(true)}); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `sxd-xpath` (lib test) generated 112 warnings (110 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sxd_xpath-47cf0d00b852e1f6) [INFO] [stdout] [INFO] [stdout] running 235 tests [INFO] [stdout] test axis::test::ancestor_includes_parents ... ok [INFO] [stdout] test axis::test::ancestor_or_self_also_includes_self ... ok [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::following_sibling_selects_in_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 axis::test::preceding_sibling_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_string_otherwise ... ok [INFO] [stdout] test expression::test::expression_equal_compares_as_boolean_if_one_argument_is_a_boolean ... ok [INFO] [stdout] test expression::test::expression_equal_compares_number_value_of_nodeset_to_number ... ok [INFO] [stdout] test expression::test::expression_function_unknown_function_is_reported_as_an_error ... ok [INFO] [stdout] test expression::test::expression_equal_intersects_string_values_of_two_nodesets ... ok [INFO] [stdout] test expression::test::expression_function_evaluates_input_arguments ... ok [INFO] [stdout] test expression::test::expression_equal_compares_as_number_if_one_argument_is_a_number ... ok [INFO] [stdout] test expression::test::expression_relational_does_basic_comparisons ... ok [INFO] [stdout] test expression::test::expression_root_node_finds_the_root ... ok [INFO] [stdout] test expression::test::filter_with_false_predicate_selects_no_nodes ... ok [INFO] [stdout] test expression::test::expression_not_equal_negates_equality ... ok [INFO] [stdout] test expression::test::expression_math_does_basic_math ... ok [INFO] [stdout] test expression::test::expression_equal_compares_string_value_of_nodeset_to_string ... ok [INFO] [stdout] test expression::test::expression_variable_looks_up_the_variable ... ok [INFO] [stdout] test expression::test::expression_and_returns_logical_and ... 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 expression::test::filter_with_numeric_predicate_selects_that_node ... 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::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::last_returns_context_size ... ok [INFO] [stdout] test function::test::local_name_gets_name_of_element ... ok [INFO] [stdout] test function::test::local_name_is_empty_for_empty_nodeset ... ok [INFO] [stdout] test function::test::normalize_space_removes_leading_space ... ok [INFO] [stdout] test function::test::normalize_space_removes_trailing_space ... 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::number_fails_with_nan ... ok [INFO] [stdout] test function::test::position_returns_context_position ... ok [INFO] [stdout] test function::test::round_nan_to_nan ... ok [INFO] [stdout] test function::test::round_neg_five_to_neg_five ... ok [INFO] [stdout] test function::test::round_neg_zero_point_five_to_neg_zero ... ok [INFO] [stdout] test function::test::round_neg_inf_to_neg_inf ... ok [INFO] [stdout] test function::test::round_neg_zero_to_neg_zero ... ok [INFO] [stdout] test function::test::round_pos_zero_to_pos_zero ... ok [INFO] [stdout] test function::test::string_converts_to_string ... ok [INFO] [stdout] test function::test::substring_after_slices_after ... ok [INFO] [stdout] test function::test::substring_before_slices_before ... ok [INFO] [stdout] test function::test::substring_has_optional_length ... ok [INFO] [stdout] test function::test::substring_is_one_indexed ... ok [INFO] [stdout] test function::test::substring_rounds_values ... ok [INFO] [stdout] test function::test::substring_is_a_window_of_the_characters ... ok [INFO] [stdout] test function::test::substring_with_infinite_len_goes_to_end_of_string ... ok [INFO] [stdout] test function::test::substring_with_negative_infinity_start_is_empty ... ok [INFO] [stdout] test function::test::translate_ignores_extra_replacements ... ok [INFO] [stdout] test function::test::sum_adds_up_nodeset ... ok [INFO] [stdout] test function::test::translate_replaces_each_char_only_once ... ok [INFO] [stdout] test function::test::translate_removes_characters_without_replacement ... 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 function::test::translate_replaces_characters ... ok [INFO] [stdout] test node_test::test::attribute_test_ignores_namespace_when_wildcard_without_prefix ... ok [INFO] [stdout] test function::test::round_pos_zero_point_five_to_pos_one ... ok [INFO] [stdout] test node_test::test::attribute_test_matches_on_namespace_when_wildcard_with_prefix ... ok [INFO] [stdout] test node_test::test::attribute_test_matches_on_namespace_and_name ... ok [INFO] [stdout] test node_test::test::attribute_test_supports_a_wildcard_match ... 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 function::test::starts_with_checks_prefixes ... ok [INFO] [stdout] test function::test::substring_with_nan_len_is_empty ... ok [INFO] [stdout] test node_test::test::element_test_ignores_namespace_when_wildcard_without_prefix ... 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 node_test::test::element_test_matches_on_namespace_when_wildcard_with_prefix ... ok [INFO] [stdout] test node_test::test::element_test_supports_a_wildcard_match ... ok [INFO] [stdout] test node_test::test::element_test_matches_on_namespace_and_name ... ok [INFO] [stdout] test nodeset::test::nodeset_knows_first_node_in_document_order ... ok [INFO] [stdout] test nodeset::test::nodeset_can_include_all_node_types ... ok [INFO] [stdout] test nodeset::test::nodesets_can_be_combined ... ok [INFO] [stdout] test nodeset::test::attributes_come_before_children_in_document_order ... ok [INFO] [stdout] test nodeset::test::prefixed_name_of_attribute_with_preferred_prefix ... ok [INFO] [stdout] test nodeset::test::prefixed_name_of_element_without_prefix ... ok [INFO] [stdout] test nodeset::test::string_value_of_attribute_node_is_value ... ok [INFO] [stdout] test nodeset::test::prefixed_name_of_processing_instruction ... ok [INFO] [stdout] test nodeset::test::prefixed_name_of_attribute_with_prefix ... 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 nodeset::test::prefixed_name_of_element_with_preferred_prefix ... ok [INFO] [stdout] test node_test::test::attribute_test_does_not_select_other_names ... ok [INFO] [stdout] test nodeset::test::string_value_of_pi_node_is_the_value_when_value ... ok [INFO] [stdout] test nodeset::test::string_value_of_text_node_is_the_text ... ok [INFO] [stdout] test nodeset::test::prefixed_name_of_element_with_prefix ... ok [INFO] [stdout] test parser::test::addition_of_multiple_numbers ... ok [INFO] [stdout] test parser::test::addition_of_two_numbers ... ok [INFO] [stdout] test parser::test::additive_expression_is_left_associative ... ok [INFO] [stdout] test parser::test::binary_operator_without_right_hand_side_is_reported_as_an_error ... ok [INFO] [stdout] test parser::test::absolute_path_with_child_expression ... ok [INFO] [stdout] test parser::test::filter_expression_with_trailing_slash_is_reported_as_an_error ... ok [INFO] [stdout] test function::test::namespace_uri_gets_uri_of_element ... ok [INFO] [stdout] test parser::test::absolute_path_expression ... 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::division_of_two_numbers ... ok [INFO] [stdout] test function::test::substring_with_nan_start_is_empty ... ok [INFO] [stdout] test function::test::round_pos_inf_to_pos_inf ... ok [INFO] [stdout] test function::test::string_length_counts_characters ... ok [INFO] [stdout] test parser::test::a_tokenizer_error_is_reported_as_an_error ... ok [INFO] [stdout] test parser::test::less_than_or_equal_expression ... ok [INFO] [stdout] test parser::test::having_extra_tokens_is_reported_as_an_error ... ok [INFO] [stdout] test parser::test::less_than_expression ... ok [INFO] [stdout] test parser::test::equality_expression ... ok [INFO] [stdout] test function::test::name_uses_declared_prefix ... ok [INFO] [stdout] test parser::test::empty_predicate_is_reported_as_an_error ... ok [INFO] [stdout] test parser::test::filter_expression_and_relative_path ... ok [INFO] [stdout] test parser::test::inequality_expression ... ok [INFO] [stdout] test parser::test::greater_than_expression ... ok [INFO] [stdout] test parser::test::multiplication_of_two_numbers ... ok [INFO] [stdout] test test::number_of_nodeset_is_number_value_of_first_node_in_document_order ... 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_nan_is_nan ... ok [INFO] [stdout] test test::number_of_string_is_ieee_754_number ... ok [INFO] [stdout] test parser::test::parses_descendant_or_self_axis ... ok [INFO] [stdout] test parser::test::functions_accept_arguments ... ok [INFO] [stdout] test parser::test::parses_namespace_axis ... ok [INFO] [stdout] test parser::test::variable_reference_prefixed_name ... 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 test::number_of_garbage_string_is_nan ... ok [INFO] [stdout] test test::number_of_string_with_negative_is_negative_number ... ok [INFO] [stdout] test parser::test::numeric_literal ... ok [INFO] [stdout] test test::number_of_string_with_surrounding_whitespace_is_number_without_whitespace ... ok [INFO] [stdout] test test::string_of_negative_infinity_is_minus_infinity ... ok [INFO] [stdout] test parser::test::parses_axis_and_node_test ... ok [INFO] [stdout] test parser::test::unary_negation ... ok [INFO] [stdout] test parser::test::nested_expression ... ok [INFO] [stdout] test parser::test::relative_path_with_trailing_slash_is_reported_as_an_error ... ok [INFO] [stdout] test parser::test::parses_node_node_test ... ok [INFO] [stdout] test parser::test::remainder_of_two_numbers ... ok [INFO] [stdout] test parser::test::unexpected_token_is_reported_as_an_error ... ok [INFO] [stdout] test parser::test::variable_reference ... ok [INFO] [stdout] test parser::test::parses_self_axis ... ok [INFO] [stdout] test parser::test::unary_operator_without_right_hand_side_is_reported_as_an_error ... ok [INFO] [stdout] test test::string_of_positive_infinity_is_infinity ... ok [INFO] [stdout] test tokenizer::test::converts_at_sign_to_attribute_axis ... ok [INFO] [stdout] test tokenizer::test::converts_double_slash_to_descendant_or_self ... ok [INFO] [stdout] test test::xpath_evaluation_parsing_error ... ok [INFO] [stdout] test tokenizer::test::converts_parent_node_to_parent_node ... ok [INFO] [stdout] test tokenizer::test::empty_string_has_no_tokens ... ok [INFO] [stdout] test tokenizer::test::exception_thrown_when_name_test_has_no_local_name ... ok [INFO] [stdout] test tokenizer::test::converts_current_node_to_self_node ... ok [INFO] [stdout] test tokenizer::test::exception_thrown_when_quote_characters_mismatched ... ok [INFO] [stdout] test tokenizer::test::ignores_whitespace_around_tokens ... ok [INFO] [stdout] test tokenizer::test::exception_thrown_when_nothing_was_tokenized ... ok [INFO] [stdout] test parser::test::parses_child_axis ... ok [INFO] [stdout] test parser::test::filter_expression ... ok [INFO] [stdout] test parser::test::parses_parent_axis ... ok [INFO] [stdout] test parser::test::multiple_predicates ... ok [INFO] [stdout] test parser::test::numeric_predicate_selects_indexed_node ... ok [INFO] [stdout] test test::string_of_nodeset_is_string_value_of_first_node_in_document_order ... 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 parser::test::running_out_of_input_is_reported_as_an_error ... ok [INFO] [stdout] test parser::test::parses_processing_instruction_node_test ... ok [INFO] [stdout] test tokenizer::test::special_preceding_token_forces_named_operator_and ... ok [INFO] [stdout] test parser::test::union_expression ... 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_mod ... ok [INFO] [stdout] test tokenizer::test::tokenizes_at_sign ... ok [INFO] [stdout] test tokenizer::test::tokenizes_axis_selector ... ok [INFO] [stdout] test tokenizer::test::tokenizes_axis_selector_that_contains_another_axis ... ok [INFO] [stdout] test tokenizer::test::tokenizes_decimal_number ... 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_double_quote_literal ... ok [INFO] [stdout] test parser::test::parses_descendant_axis ... ok [INFO] [stdout] test parser::test::parses_child_with_same_name_as_an_axis ... ok [INFO] [stdout] test parser::test::parses_string_as_child ... ok [INFO] [stdout] test test::xpath_evaluation_success ... ok [INFO] [stdout] test parser::test::or_expression ... ok [INFO] [stdout] test parser::test::parses_text_node_test ... ok [INFO] [stdout] test tokenizer::test::tokenizes_function_call_with_argument ... ok [INFO] [stdout] test tokenizer::test::tokenizes_function_call_with_multiple_arguments ... ok [INFO] [stdout] test tokenizer::test::tokenizes_function_call ... ok [INFO] [stdout] test tokenizer::test::tokenizes_grandchild_selector ... ok [INFO] [stdout] test tokenizer::test::special_preceding_token_forces_named_operator_or ... ok [INFO] [stdout] test tokenizer::test::tokenizes_greater_than_or_equal ... ok [INFO] [stdout] test parser::test::parses_attribute_axis ... ok [INFO] [stdout] test parser::test::repeated_unary_negation ... ok [INFO] [stdout] test parser::test::subtraction_of_two_numbers ... ok [INFO] [stdout] test tokenizer::test::tokenizes_integral_number ... ok [INFO] [stdout] test tokenizer::test::special_preceding_token_forces_named_operator_multiply ... ok [INFO] [stdout] test tokenizer::test::tokenizes_minus_sign ... ok [INFO] [stdout] test tokenizer::test::tokenizes_node_test_without_args ... ok [INFO] [stdout] test tokenizer::test::tokenizes_not_equal_sign ... 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_right_bracket ... ok [INFO] [stdout] test tokenizer::test::tokenizes_right_paren ... 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::tokenizes_double_slash ... ok [INFO] [stdout] test tokenizer::test::tokenizes_double_slash_separator ... ok [INFO] [stdout] test tokenizer::test::tokenizes_equal_sign ... ok [INFO] [stdout] test tokenizer::test::tokenizes_left_bracket ... ok [INFO] [stdout] test parser::test::parses_two_strings_as_grandchild ... ok [INFO] [stdout] test test::xpath_evaluation_no_xpath_error ... ok [INFO] [stdout] test parser::test::string_literal ... ok [INFO] [stdout] test parser::test::top_level_function_call ... ok [INFO] [stdout] test parser::test::parses_comment_node_test ... ok [INFO] [stdout] test tokenizer::test::tokenizes_less_than ... ok [INFO] [stdout] test tokenizer::test::tokenizes_less_than_or_equal ... ok [INFO] [stdout] test tokenizer::test::tokenizes_apostrophe_literal ... ok [INFO] [stdout] test tokenizer::test::tokenizes_greater_than ... ok [INFO] [stdout] test tokenizer::test::tokenizes_great_grandchild_selector ... ok [INFO] [stdout] test tokenizer::test::tokenizes_left_paren ... ok [INFO] [stdout] test parser::test::functions_accept_any_expression_as_an_argument ... ok [INFO] [stdout] test tokenizer::test::tokenizes_function_call_with_prefixed_name ... ok [INFO] [stdout] test parser::test::true_function_predicate_selects_all_nodes ... ok [INFO] [stdout] test parser::test::false_function_predicate_selects_no_nodes ... ok [INFO] [stdout] test test::xpath_evaluation_execution_error ... ok [INFO] [stdout] test parser::test::predicate_accepts_any_expression ... ok [INFO] [stdout] test test::string_of_negative_zero_is_zero ... FAILED [INFO] [stderr] error: test failed, to rerun pass '--lib' [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- test::string_of_negative_zero_is_zero stdout ---- [INFO] [stdout] thread 'test::string_of_negative_zero_is_zero' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `"0"`, [INFO] [stdout] right: `"-0"`', src/lib.rs:588:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55f575aece4d - std::backtrace_rs::backtrace::libunwind::trace::ha359b7f0090e2792 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x55f575aece4d - std::backtrace_rs::backtrace::trace_unsynchronized::h0584631f25c1d70e [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x55f575aece4d - std::sys_common::backtrace::_print_fmt::hdadffd97d279ff14 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:66:5 [INFO] [stdout] 3: 0x55f575aece4d - ::fmt::h26f189e611080a74 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:45:22 [INFO] [stdout] 4: 0x55f575b10a6c - core::fmt::write::hfb5d11dfe037e8b7 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/fmt/mod.rs:1194:17 [INFO] [stdout] 5: 0x55f575ae9811 - std::io::Write::write_fmt::h6a24ec64406df9e2 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/io/mod.rs:1655:15 [INFO] [stdout] 6: 0x55f575aeeb95 - std::sys_common::backtrace::_print::h7a0e44402913ba60 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:48:5 [INFO] [stdout] 7: 0x55f575aeeb95 - std::sys_common::backtrace::print::h9767dc455a84e728 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:35:9 [INFO] [stdout] 8: 0x55f575aeeb95 - std::panicking::default_hook::{{closure}}::h60afd6c8b12988ad [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:295:22 [INFO] [stdout] 9: 0x55f575aee884 - std::panicking::default_hook::ha7b9bac6813f9d21 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:311:9 [INFO] [stdout] 10: 0x55f575aef0e2 - std::panicking::rust_panic_with_hook::h7b117a162a6f8664 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:698:17 [INFO] [stdout] 11: 0x55f575aeefc7 - std::panicking::begin_panic_handler::{{closure}}::h346750923c608600 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:588:13 [INFO] [stdout] 12: 0x55f575aed304 - std::sys_common::backtrace::__rust_end_short_backtrace::h768c56c6a0c055c0 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:138:18 [INFO] [stdout] 13: 0x55f575aeecf9 - rust_begin_unwind [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:584:5 [INFO] [stdout] 14: 0x55f575909463 - core::panicking::panic_fmt::h5c41cb2fa118fdbc [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/panicking.rs:143:14 [INFO] [stdout] 15: 0x55f575b0f368 - core::panicking::assert_failed_inner::h337b271ded48bc15 [INFO] [stdout] 16: 0x55f5759c234e - core::panicking::assert_failed::he927eb91f171e91c [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/panicking.rs:182:5 [INFO] [stdout] 17: 0x55f57591bdca - sxd_xpath::test::string_of_negative_zero_is_zero::h6ad3f203891eb50a [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:588:9 [INFO] [stdout] 18: 0x55f57591bcaa - sxd_xpath::test::string_of_negative_zero_is_zero::{{closure}}::h6a08fbe90ac49062 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:586:5 [INFO] [stdout] 19: 0x55f5759a0d0e - core::ops::function::FnOnce::call_once::h7e35f6d743c2b626 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 20: 0x55f575a1aaa3 - core::ops::function::FnOnce::call_once::h018fc248431ce8de [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 21: 0x55f575a1aaa3 - test::__rust_begin_short_backtrace::h293b982b6069d6e3 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/test/src/lib.rs:574:5 [INFO] [stdout] 22: 0x55f575a19859 - as core::ops::function::FnOnce>::call_once::h4fc1be1a762c7a46 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/alloc/src/boxed.rs:1861:9 [INFO] [stdout] 23: 0x55f575a19859 - as core::ops::function::FnOnce<()>>::call_once::hd44623ec51b9e897 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 24: 0x55f575a19859 - std::panicking::try::do_call::ha8cfa4b025f5b832 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:492:40 [INFO] [stdout] 25: 0x55f575a19859 - std::panicking::try::h664f75e41c112145 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:456:19 [INFO] [stdout] 26: 0x55f575a19859 - std::panic::catch_unwind::h4932ec05cd60558e [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panic.rs:137:14 [INFO] [stdout] 27: 0x55f575a19859 - test::run_test_in_process::ha14a47756671755c [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/test/src/lib.rs:597:18 [INFO] [stdout] 28: 0x55f575a19859 - test::run_test::run_test_inner::{{closure}}::h0ec9e37c8f67b62d [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/test/src/lib.rs:491:39 [INFO] [stdout] 29: 0x55f5759e5a0e - test::run_test::run_test_inner::{{closure}}::hd9d2e7f26d4f59e6 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/test/src/lib.rs:518:37 [INFO] [stdout] 30: 0x55f5759e5a0e - std::sys_common::backtrace::__rust_begin_short_backtrace::h41c0a39fac5123f8 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:122:18 [INFO] [stdout] 31: 0x55f5759eaf78 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h69a02ca0bebb6eeb [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/thread/mod.rs:498:17 [INFO] [stdout] 32: 0x55f5759eaf78 - as core::ops::function::FnOnce<()>>::call_once::hdd05632920ce689b [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 33: 0x55f5759eaf78 - std::panicking::try::do_call::hb4947142729b90fd [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:492:40 [INFO] [stdout] 34: 0x55f5759eaf78 - std::panicking::try::h15a7e9b8394e6878 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:456:19 [INFO] [stdout] 35: 0x55f5759eaf78 - std::panic::catch_unwind::hbd3f4a3f9df49b85 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panic.rs:137:14 [INFO] [stdout] 36: 0x55f5759eaf78 - std::thread::Builder::spawn_unchecked_::{{closure}}::h880b5d5f1b9799f4 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/thread/mod.rs:497:30 [INFO] [stdout] 37: 0x55f5759eaf78 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h304d5eaf401f5061 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 38: 0x55f575af38f3 - as core::ops::function::FnOnce>::call_once::hdba7f2afed0c35b3 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/alloc/src/boxed.rs:1861:9 [INFO] [stdout] 39: 0x55f575af38f3 - as core::ops::function::FnOnce>::call_once::h38b0832765bf7961 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/alloc/src/boxed.rs:1861:9 [INFO] [stdout] 40: 0x55f575af38f3 - std::sys::unix::thread::Thread::new::thread_start::h70236dc17753425e [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys/unix/thread.rs:108:17 [INFO] [stdout] 41: 0x7f65def79609 - start_thread [INFO] [stdout] 42: 0x7f65ded49163 - clone [INFO] [stdout] 43: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] test::string_of_negative_zero_is_zero [INFO] [stdout] [INFO] [stdout] test result: FAILED. 234 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a4b5a2b57fdc2f0808822127f65cf2f2fe0d9f787bb917e17e9d32fce4bd767f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a4b5a2b57fdc2f0808822127f65cf2f2fe0d9f787bb917e17e9d32fce4bd767f", kill_on_drop: false }` [INFO] [stdout] a4b5a2b57fdc2f0808822127f65cf2f2fe0d9f787bb917e17e9d32fce4bd767f