[INFO] fetching crate herbie-lint 1.0.7... [INFO] checking herbie-lint-1.0.7 against try#ea663bba38739867a4b75ac820991b4f5d093c3b for pr-62262-1 [INFO] extracting crate herbie-lint 1.0.7 into /workspace/builds/worker-2/source [INFO] validating manifest of crates.io crate herbie-lint 1.0.7 on toolchain ea663bba38739867a4b75ac820991b4f5d093c3b [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate herbie-lint 1.0.7 [INFO] finished tweaking crates.io crate herbie-lint 1.0.7 [INFO] tweaked toml for crates.io crate herbie-lint 1.0.7 written to /workspace/builds/worker-2/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 726406c4cfdad90f7997bcbfde09b7dea126e2f14772bd1e3b03176e41a3d568 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "726406c4cfdad90f7997bcbfde09b7dea126e2f14772bd1e3b03176e41a3d568"` [INFO] [stderr] Compiling bitflags v0.1.1 [INFO] [stderr] Compiling itertools v0.4.19 [INFO] [stderr] Compiling libsqlite3-sys v0.4.0 [INFO] [stderr] Checking toml v0.1.30 [INFO] [stderr] Compiling wait-timeout v0.1.5 [INFO] [stderr] Checking compiletest_rs v0.1.3 [INFO] [stderr] error[E0432]: unresolved import `test::TestPaths` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/compiletest_rs-0.1.3/src/compiletest.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | use test::TestPaths; [INFO] [stderr] | ^^^^^^--------- [INFO] [stderr] | | | [INFO] [stderr] | | help: a similar name exists in the module: `TestOpts` [INFO] [stderr] | no `TestPaths` in the root [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `test::TestPaths` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/compiletest_rs-0.1.3/src/runtest.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use test::TestPaths; [INFO] [stderr] | ^^^^^^--------- [INFO] [stderr] | | | [INFO] [stderr] | | help: a similar name exists in the module: `TestOpts` [INFO] [stderr] | no `TestPaths` in the root [INFO] [stderr] [INFO] [stderr] Checking rusqlite v0.6.1 [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/compiletest_rs-0.1.3/src/compiletest.rs:118:22 [INFO] [stderr] | [INFO] [stderr] 118 | run_ignored: config.run_ignored, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ expected enum `test::RunIgnored`, found bool [INFO] [stderr] | [INFO] [stderr] = note: expected type `test::RunIgnored` [INFO] [stderr] found type `bool` [INFO] [stderr] [INFO] [stderr] error[E0560]: struct `test::TestOpts` has no field named `quiet` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/compiletest_rs-0.1.3/src/compiletest.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | quiet: config.quiet, [INFO] [stderr] | ^^^^^ `test::TestOpts` does not have this field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `list`, `filter`, `filter_exact`, `exclude_should_panic`, `run_ignored` ... and 10 others [INFO] [stderr] [INFO] [stderr] error[E0063]: missing field `allow_fail` in initializer of `test::TestDesc` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/compiletest_rs-0.1.3/src/compiletest.rs:232:15 [INFO] [stderr] | [INFO] [stderr] 232 | desc: test::TestDesc { [INFO] [stderr] | ^^^^^^^^^^^^^^ missing `allow_fail` [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0063, E0308, E0432, E0560. [INFO] [stderr] For more information about an error, try `rustc --explain E0063`. [INFO] [stderr] Checking herbie-lint v1.0.7 (/opt/rustwide/workdir) [INFO] [stderr] error: could not compile `compiletest_rs`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0432]: unresolved import `rustc::ty::TypeVariants` [INFO] [stderr] --> src/lint.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use rustc::ty::TypeVariants; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ no `TypeVariants` in `ty` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `syntax::codemap` [INFO] [stderr] --> src/lisp.rs:11:13 [INFO] [stderr] | [INFO] [stderr] 11 | use syntax::codemap::{Span, Spanned}; [INFO] [stderr] | ^^^^^^^ could not find `codemap` in `syntax` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `syntax::codemap` [INFO] [stderr] --> src/utils.rs:3:13 [INFO] [stderr] | [INFO] [stderr] 3 | use syntax::codemap::{Span, mk_sp}; [INFO] [stderr] | ^^^^^^^ could not find `codemap` in `syntax` [INFO] [stderr] [INFO] [stderr] error[E0532]: expected tuple struct/variant, found unit variant `MetaItemKind::Word` [INFO] [stderr] --> src/lint.rs:124:20 [INFO] [stderr] | [INFO] [stderr] 124 | if let MetaItemKind::Word(ref word) = attr.node.value.node { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not a tuple struct/variant [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `BinOp_` in this scope [INFO] [stderr] --> src/lisp.rs:16:12 [INFO] [stderr] | [INFO] [stderr] 16 | Binary(BinOp_, Box, Box), [INFO] [stderr] | ^^^^^^ help: a type alias with a similar name exists: `BinOp` [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `QSelf` in this scope [INFO] [stderr] --> src/lisp.rs:71:18 [INFO] [stderr] | [INFO] [stderr] 71 | Field(Option, Path, Spanned), [INFO] [stderr] | ^^^^^ [INFO] [stderr] help: a self type with a similar name exists [INFO] [stderr] | [INFO] [stderr] 71 | Field(Option, Path, Spanned), [INFO] [stderr] | ^^^^ [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 3 | use syntax::ast::QSelf; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `QSelf` in this scope [INFO] [stderr] --> src/lisp.rs:72:18 [INFO] [stderr] | [INFO] [stderr] 72 | Ident(Option, Path), [INFO] [stderr] | ^^^^^ [INFO] [stderr] help: a self type with a similar name exists [INFO] [stderr] | [INFO] [stderr] 72 | Ident(Option, Path), [INFO] [stderr] | ^^^^ [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 3 | use syntax::ast::QSelf; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `QSelf` in this scope [INFO] [stderr] --> src/lisp.rs:75:21 [INFO] [stderr] | [INFO] [stderr] 75 | TupField(Option, Path, Spanned), [INFO] [stderr] | ^^^^^ [INFO] [stderr] help: a self type with a similar name exists [INFO] [stderr] | [INFO] [stderr] 75 | TupField(Option, Path, Spanned), [INFO] [stderr] | ^^^^ [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 3 | use syntax::ast::QSelf; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprBinary` in this scope [INFO] [stderr] --> src/lisp.rs:102:17 [INFO] [stderr] | [INFO] [stderr] 102 | ExprBinary(op, ref lhs, ref rhs) => { [INFO] [stderr] | ^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprField` in this scope [INFO] [stderr] --> src/lisp.rs:111:17 [INFO] [stderr] | [INFO] [stderr] 111 | ExprField(ref expr, ref name) => { [INFO] [stderr] | ^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprPath` in this scope [INFO] [stderr] --> src/lisp.rs:112:28 [INFO] [stderr] | [INFO] [stderr] 112 | if let ExprPath(ref qualif, ref path) = expr.node { [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprLit` in this scope [INFO] [stderr] --> src/lisp.rs:134:17 [INFO] [stderr] | [INFO] [stderr] 134 | ExprLit(ref lit) => { [INFO] [stderr] | ^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprMethodCall` in this scope [INFO] [stderr] --> src/lisp.rs:143:17 [INFO] [stderr] | [INFO] [stderr] 143 | ExprMethodCall(ref fun, ref ascripted_type, ref params) if ascripted_type.is_empty() => { [INFO] [stderr] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprPath` in this scope [INFO] [stderr] --> src/lisp.rs:162:17 [INFO] [stderr] | [INFO] [stderr] 162 | ExprPath(ref qualif, ref path) => { [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprTupField` in this scope [INFO] [stderr] --> src/lisp.rs:179:17 [INFO] [stderr] | [INFO] [stderr] 179 | ExprTupField(ref tup, ref idx) => { [INFO] [stderr] | ^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprPath` in this scope [INFO] [stderr] --> src/lisp.rs:180:28 [INFO] [stderr] | [INFO] [stderr] 180 | if let ExprPath(ref qualif, ref path) = tup.node { [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprUnary` in this scope [INFO] [stderr] --> src/lisp.rs:202:17 [INFO] [stderr] | [INFO] [stderr] 202 | ExprUnary(op, ref expr) => { [INFO] [stderr] | ^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprBinary` in this scope [INFO] [stderr] --> src/lisp.rs:248:19 [INFO] [stderr] | [INFO] [stderr] 248 | (&ExprBinary(lop, ref lp1, ref lp2), &LispExpr::Binary(rop, ref rp1, ref rp2)) => { [INFO] [stderr] | ^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprMethodCall` in this scope [INFO] [stderr] --> src/lisp.rs:253:19 [INFO] [stderr] | [INFO] [stderr] 253 | (&ExprMethodCall(ref lfun, ref ascripted_type, ref lp), &LispExpr::Fun(ref rfun, ref rp)) if ascripted_type.is_empty() => { [INFO] [stderr] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprPath` in this scope [INFO] [stderr] --> src/lisp.rs:263:19 [INFO] [stderr] | [INFO] [stderr] 263 | (&ExprPath(ref qualif, ref path), &LispExpr::Ident(rid)) => { [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprLit` in this scope [INFO] [stderr] --> src/lisp.rs:277:19 [INFO] [stderr] | [INFO] [stderr] 277 | (&ExprLit(ref lit), &LispExpr::Lit(r)) => { [INFO] [stderr] | ^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprLit` in this scope [INFO] [stderr] --> src/lisp.rs:286:19 [INFO] [stderr] | [INFO] [stderr] 286 | (&ExprLit(ref expr), &LispExpr::Ident(rid)) => { [INFO] [stderr] | ^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprUnary` in this scope [INFO] [stderr] --> src/lisp.rs:309:19 [INFO] [stderr] | [INFO] [stderr] 309 | (&ExprUnary(lop, ref lp), &LispExpr::Unary(rop, ref rp)) => { [INFO] [stderr] | ^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprTupField` in this scope [INFO] [stderr] --> src/lisp.rs:312:19 [INFO] [stderr] | [INFO] [stderr] 312 | (&ExprTupField(ref tup, ref idx), &LispExpr::Ident(rid)) => { [INFO] [stderr] | ^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprPath` in this scope [INFO] [stderr] --> src/lisp.rs:313:28 [INFO] [stderr] | [INFO] [stderr] 313 | if let ExprPath(ref qualif, ref path) = tup.node { [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprField` in this scope [INFO] [stderr] --> src/lisp.rs:331:19 [INFO] [stderr] | [INFO] [stderr] 331 | (&ExprField(ref expr, ref name), &LispExpr::Ident(rid)) => { [INFO] [stderr] | ^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `ExprPath` in this scope [INFO] [stderr] --> src/lisp.rs:332:28 [INFO] [stderr] | [INFO] [stderr] 332 | if let ExprPath(ref qualif, ref path) = expr.node { [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `BiAdd` in this scope [INFO] [stderr] --> src/lisp.rs:526:52 [INFO] [stderr] | [INFO] [stderr] 526 | Some('+') => self.parse_op(it, BiAdd), [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `BiSub` in this scope [INFO] [stderr] --> src/lisp.rs:527:52 [INFO] [stderr] | [INFO] [stderr] 527 | Some('-') => self.parse_op(it, BiSub), [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `BiMul` in this scope [INFO] [stderr] --> src/lisp.rs:528:52 [INFO] [stderr] | [INFO] [stderr] 528 | Some('*') => self.parse_op(it, BiMul), [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `BiDiv` in this scope [INFO] [stderr] --> src/lisp.rs:529:52 [INFO] [stderr] | [INFO] [stderr] 529 | Some('/') => self.parse_op(it, BiDiv), [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `BiMul` in this scope [INFO] [stderr] --> src/lisp.rs:668:44 [INFO] [stderr] | [INFO] [stderr] 668 | return Ok(LispExpr::Binary(BiMul, box params[0].clone(), box params.remove(0))); [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `BinOp_` in this scope [INFO] [stderr] --> src/lisp.rs:675:72 [INFO] [stderr] | [INFO] [stderr] 675 | fn parse_op>(&mut self, it: &mut It, op: BinOp_) [INFO] [stderr] | ^^^^^^ help: a type alias with a similar name exists: `BinOp` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `BiSub` in this scope [INFO] [stderr] --> src/lisp.rs:683:23 [INFO] [stderr] | [INFO] [stderr] 683 | else if op == BiSub { [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0603]: enum `Node` is private [INFO] [stderr] --> src/lint.rs:7:22 [INFO] [stderr] | [INFO] [stderr] 7 | use rustc::hir::map::Node; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0726]: implicit elided lifetime not allowed here [INFO] [stderr] --> src/lint.rs:121:6 [INFO] [stderr] | [INFO] [stderr] 121 | impl LateLintPass for Herbie { [INFO] [stderr] | ^^^^^^^^^^^^- help: indicate the anonymous lifetimes: `<'_, '_>` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/conf.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | try!(conf.read_to_string(&mut buffer)); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lint.rs:69:20 [INFO] [stderr] | [INFO] [stderr] 69 | let conf = try!(conf::read_conf()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lint.rs:70:26 [INFO] [stderr] | [INFO] [stderr] 70 | let connection = try!(sql::Connection::open_with_flags( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lint.rs:73:25 [INFO] [stderr] | [INFO] [stderr] 73 | let mut query = try!(connection.prepare("SELECT * FROM HerbieResults")); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lint.rs:75:21 [INFO] [stderr] | [INFO] [stderr] 75 | self.subs = try!(query.query(&[])).filter_map(|row| { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lint.rs:318:22 [INFO] [stderr] | [INFO] [stderr] 318 | let connection = try!(sql::Connection::open_with_flags( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lint.rs:322:5 [INFO] [stderr] | [INFO] [stderr] 322 | try!(connection.execute("INSERT INTO HerbieResults (cmdin, cmdout, opts, errin, errout) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lisp.rs:629:9 [INFO] [stderr] | [INFO] [stderr] 629 | try!(self.expect(it, ')', true)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lisp.rs:658:13 [INFO] [stderr] | [INFO] [stderr] 658 | try!(self.expect(it, ')', true)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lisp.rs:679:19 [INFO] [stderr] | [INFO] [stderr] 679 | let lhs = try!(self.parse_impl(it)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lisp.rs:689:9 [INFO] [stderr] | [INFO] [stderr] 689 | try!(self.expect(it, ')', true)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated attribute `plugin_registrar`: compiler plugins are deprecated. See https://github.com/rust-lang/rust/issues/29597 [INFO] [stderr] --> src/lib.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | #[plugin_registrar] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'rustc_plugin': import this through `rustc_driver::plugin` instead to make TLS work correctly. See https://github.com/rust-lang/rust/issues/62717 [INFO] [stderr] --> src/lib.rs:23:1 [INFO] [stderr] | [INFO] [stderr] 23 | extern crate rustc_plugin; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0046]: not all trait items implemented, missing: `name` [INFO] [stderr] --> src/lint.rs:115:1 [INFO] [stderr] | [INFO] [stderr] 115 | impl LintPass for Herbie { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ missing `name` in implementation [INFO] [stderr] | [INFO] [stderr] = note: `name` from trait: `fn(&Self) -> &'static str` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `for<'a, 'tcx> lint::Herbie: rustc::lint::LateLintPass<'a, 'tcx>` is not satisfied [INFO] [stderr] --> src/lib.rs:39:33 [INFO] [stderr] | [INFO] [stderr] 39 | reg.register_late_lint_pass(box lint::Herbie::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'a, 'tcx> rustc::lint::LateLintPass<'a, 'tcx>` is not implemented for `lint::Herbie` [INFO] [stderr] | [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required for the cast to the object type `dyn for<'a, 'tcx> rustc::lint::LateLintPass<'a, 'tcx> + rustc_data_structures::sync::Send + rustc_data_structures::sync::Sync` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `syntax::ast::Name: std::convert::From<&str>` is not satisfied [INFO] [stderr] --> src/lib.rs:41:28 [INFO] [stderr] | [INFO] [stderr] 41 | reg.register_attribute("herbie_ignore".into(), AttributeType::Whitelisted); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::From<&str>` is not implemented for `syntax::ast::Name` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::convert::Into` for `&str` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `map` on type `rustc::ty::TyCtxt<'_>` [INFO] [stderr] --> src/lint.rs:132:34 [INFO] [stderr] | [INFO] [stderr] 132 | let attrs = match cx.tcx.map.find(cx.tcx.map.get_parent(expr.id)) { [INFO] [stderr] | ^^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `map` on type `rustc::ty::TyCtxt<'_>` [INFO] [stderr] --> src/lint.rs:132:50 [INFO] [stderr] | [INFO] [stderr] 132 | let attrs = match cx.tcx.map.find(cx.tcx.map.get_parent(expr.id)) { [INFO] [stderr] | ^^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `id` on type `&rustc::hir::Expr` [INFO] [stderr] --> src/lint.rs:132:70 [INFO] [stderr] | [INFO] [stderr] 132 | let attrs = match cx.tcx.map.find(cx.tcx.map.get_parent(expr.id)) { [INFO] [stderr] | ^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `hir_id`, `kind`, `attrs`, `span` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `NodeItem` found for type `rustc::hir::Node<'_>` in the current scope [INFO] [stderr] --> src/lint.rs:133:24 [INFO] [stderr] | [INFO] [stderr] 133 | Some(Node::NodeItem(item)) => &item.attrs, [INFO] [stderr] | ^^^^^^^^ variant or associated item not found in `rustc::hir::Node<'_>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `NodeTraitItem` found for type `rustc::hir::Node<'_>` in the current scope [INFO] [stderr] --> src/lint.rs:134:24 [INFO] [stderr] | [INFO] [stderr] 134 | Some(Node::NodeTraitItem(item)) => &item.attrs, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `rustc::hir::Node<'_>` [INFO] [stderr] | help: there is a variant with a similar name: `TraitItem` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `NodeImplItem` found for type `rustc::hir::Node<'_>` in the current scope [INFO] [stderr] --> src/lint.rs:135:24 [INFO] [stderr] | [INFO] [stderr] 135 | Some(Node::NodeImplItem(item)) => &item.attrs, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `rustc::hir::Node<'_>` [INFO] [stderr] | help: there is a variant with a similar name: `ImplItem` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `expr_ty` found for type `rustc::ty::TyCtxt<'_>` in the current scope [INFO] [stderr] --> src/lint.rs:143:25 [INFO] [stderr] | [INFO] [stderr] 143 | let ty = cx.tcx.expr_ty(expr); [INFO] [stderr] | ^^^^^^^ method not found in `rustc::ty::TyCtxt<'_>` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `krate` on type `&rustc::lint::LateContext<'_, '_>` [INFO] [stderr] --> src/lint.rs:152:20 [INFO] [stderr] | [INFO] [stderr] 152 | cx.krate.span, [INFO] [stderr] | ^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `tcx`, `tables`, `param_env`, `access_levels`, `generics` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `krate` on type `&rustc::lint::LateContext<'_, '_>` [INFO] [stderr] --> src/lint.rs:154:20 [INFO] [stderr] | [INFO] [stderr] 154 | cx.krate.span, [INFO] [stderr] | ^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `tcx`, `tables`, `param_env`, `access_levels`, `generics` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `node` on type `&syntax::ast::Attribute` [INFO] [stderr] --> src/lint.rs:124:56 [INFO] [stderr] | [INFO] [stderr] 124 | if let MetaItemKind::Word(ref word) = attr.node.value.node { [INFO] [stderr] | ^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `item`, `id`, `style`, `is_sugared_doc`, `span` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 4 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lint.rs:308:8 [INFO] [stderr] | [INFO] [stderr] 308 | .span_suggestion(expr.span, "Try this", cmdout.to_rust(cx, &bindings)) [INFO] [stderr] | ^^^^^^^^^^^^^^^ expected 4 parameters [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `node` on type `&rustc::hir::Expr` [INFO] [stderr] --> src/lisp.rs:101:24 [INFO] [stderr] | [INFO] [stderr] 101 | match expr.node { [INFO] [stderr] | ^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `hir_id`, `kind`, `attrs`, `span` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `global` on type `&rustc::hir::Path` [INFO] [stderr] --> src/lisp.rs:116:42 [INFO] [stderr] | [INFO] [stderr] 116 | ... && bpath.global == path.global [INFO] [stderr] | ^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `span`, `res`, `segments` [INFO] [stderr] [INFO] [stderr] error[E0369]: binary operation `==` cannot be applied to type `rustc::hir::ptr::P<[rustc::hir::PathSegment]>` [INFO] [stderr] --> src/lisp.rs:117:51 [INFO] [stderr] | [INFO] [stderr] 117 | ... && bpath.segments == path.segments [INFO] [stderr] | -------------- ^^ ------------- [type error] [INFO] [stderr] | | [INFO] [stderr] | rustc::hir::ptr::P<[rustc::hir::PathSegment]> [INFO] [stderr] | [INFO] [stderr] = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::ptr::P<[rustc::hir::PathSegment]>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `parse` found for type `&syntax::ast::Name` in the current scope [INFO] [stderr] --> src/lisp.rs:138:31 [INFO] [stderr] | [INFO] [stderr] 138 | ... f.parse().ok().map(LispExpr::Lit) [INFO] [stderr] | ^^^^^ method not found in `&syntax::ast::Name` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `global` on type `&rustc::hir::Path` [INFO] [stderr] --> src/lisp.rs:166:38 [INFO] [stderr] | [INFO] [stderr] 166 | ... && bpath.global == path.global [INFO] [stderr] | ^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `span`, `res`, `segments` [INFO] [stderr] [INFO] [stderr] error[E0369]: binary operation `==` cannot be applied to type `rustc::hir::ptr::P<[rustc::hir::PathSegment]>` [INFO] [stderr] --> src/lisp.rs:167:47 [INFO] [stderr] | [INFO] [stderr] 167 | ... && bpath.segments == path.segments [INFO] [stderr] | -------------- ^^ ------------- [type error] [INFO] [stderr] | | [INFO] [stderr] | rustc::hir::ptr::P<[rustc::hir::PathSegment]> [INFO] [stderr] | [INFO] [stderr] = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::ptr::P<[rustc::hir::PathSegment]>` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `global` on type `&rustc::hir::Path` [INFO] [stderr] --> src/lisp.rs:184:42 [INFO] [stderr] | [INFO] [stderr] 184 | ... && bpath.global == path.global [INFO] [stderr] | ^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `span`, `res`, `segments` [INFO] [stderr] [INFO] [stderr] error[E0369]: binary operation `==` cannot be applied to type `rustc::hir::ptr::P<[rustc::hir::PathSegment]>` [INFO] [stderr] --> src/lisp.rs:185:51 [INFO] [stderr] | [INFO] [stderr] 185 | ... && bpath.segments == path.segments [INFO] [stderr] | -------------- ^^ ------------- [type error] [INFO] [stderr] | | [INFO] [stderr] | rustc::hir::ptr::P<[rustc::hir::PathSegment]> [INFO] [stderr] | [INFO] [stderr] = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::ptr::P<[rustc::hir::PathSegment]>` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `node` on type `&rustc::hir::Expr` [INFO] [stderr] --> src/lisp.rs:247:25 [INFO] [stderr] | [INFO] [stderr] 247 | match (&lhs.node, rhs) { [INFO] [stderr] | ^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `hir_id`, `kind`, `attrs`, `span` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `global` on type `&rustc::hir::Path` [INFO] [stderr] --> src/lisp.rs:267:53 [INFO] [stderr] | [INFO] [stderr] 267 | ... && path.global == bpath.global [INFO] [stderr] | ^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `span`, `res`, `segments` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `parse` found for type `&syntax::ast::Name` in the current scope [INFO] [stderr] --> src/lisp.rs:281:31 [INFO] [stderr] | [INFO] [stderr] 281 | ... f.parse() == Ok(r) [INFO] [stderr] | ^^^^^ method not found in `&syntax::ast::Name` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `parse` found for type `&syntax::ast::Name` in the current scope [INFO] [stderr] --> src/lisp.rs:290:50 [INFO] [stderr] | [INFO] [stderr] 290 | ... if let Ok(lit) = lit.parse() { [INFO] [stderr] | ^^^^^ method not found in `&syntax::ast::Name` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `global` on type `&rustc::hir::Path` [INFO] [stderr] --> src/lisp.rs:317:57 [INFO] [stderr] | [INFO] [stderr] 317 | ... && path.global == bpath.global [INFO] [stderr] | ^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `span`, `res`, `segments` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `global` on type `&rustc::hir::Path` [INFO] [stderr] --> src/lisp.rs:336:57 [INFO] [stderr] | [INFO] [stderr] 336 | ... && path.global == bpath.global [INFO] [stderr] | ^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `span`, `res`, `segments` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `codemap` found for type `&rustc::session::Session` in the current scope [INFO] [stderr] --> src/utils.rs:9:15 [INFO] [stderr] | [INFO] [stderr] 9 | cx.sess().codemap().span_to_snippet(span) [INFO] [stderr] | ^^^^^^^ method not found in `&rustc::session::Session` [INFO] [stderr] [INFO] [stderr] error: aborting due to 65 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0046, E0061, E0277, E0369, E0412, E0425, E0432, E0531, E0532... [INFO] [stderr] For more information about an error, try `rustc --explain E0046`. [INFO] [stderr] error: could not compile `herbie-lint`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "726406c4cfdad90f7997bcbfde09b7dea126e2f14772bd1e3b03176e41a3d568"` [INFO] running `"docker" "rm" "-f" "726406c4cfdad90f7997bcbfde09b7dea126e2f14772bd1e3b03176e41a3d568"` [INFO] [stdout] 726406c4cfdad90f7997bcbfde09b7dea126e2f14772bd1e3b03176e41a3d568