[INFO] crate tenacious 0.2.3 is already in cache [INFO] extracting crate tenacious 0.2.3 into work/ex/beta-1.38-1/sources/1.37.0/reg/tenacious/0.2.3 [INFO] extracting crate tenacious 0.2.3 into work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/tenacious/0.2.3 [INFO] validating manifest of tenacious-0.2.3 on toolchain 1.37.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of tenacious-0.2.3 on toolchain beta-2019-08-13 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing tenacious-0.2.3 [INFO] finished frobbing tenacious-0.2.3 [INFO] frobbed toml for tenacious-0.2.3 written to work/ex/beta-1.38-1/sources/1.37.0/reg/tenacious/0.2.3/Cargo.toml [INFO] started frobbing tenacious-0.2.3 [INFO] finished frobbing tenacious-0.2.3 [INFO] frobbed toml for tenacious-0.2.3 written to work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/tenacious/0.2.3/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing tenacious-0.2.3 against beta-2019-08-13 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-4/beta-2019-08-13:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/tenacious/0.2.3:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+beta-2019-08-13" "build" "--frozen"` [INFO] [stdout] d51180cce44945449910841c521a20f8284423b31e8514ea5ca677eb9d91f60f [INFO] running `"docker" "start" "-a" "d51180cce44945449910841c521a20f8284423b31e8514ea5ca677eb9d91f60f"` [INFO] [stderr] Compiling tenacious v0.2.3 (/opt/crater/workdir) [INFO] [stderr] error[E0432]: unresolved import `syntax::codemap` [INFO] [stderr] --> src/lib.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | use syntax::codemap::Span; [INFO] [stderr] | ^^^^^^^ could not find `codemap` in `syntax` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `syntax::attr::AttrMetaMethods` [INFO] [stderr] --> src/lib.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | use syntax::attr::AttrMetaMethods; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `AttrMetaMethods` in `attr` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: could not find `ParameterEnvironment` in `ty` [INFO] [stderr] --> src/lib.rs:64:29 [INFO] [stderr] | [INFO] [stderr] 64 | let param_env = ty::ParameterEnvironment::for_item(cx.tcx, id); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ could not find `ParameterEnvironment` in `ty` [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `NodeItem` in module `ast_map` [INFO] [stderr] --> src/lib.rs:73:22 [INFO] [stderr] | [INFO] [stderr] 73 | ast_map::NodeItem(it) => it, [INFO] [stderr] | ^^^^^^^^ not found in `ast_map` [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `TyStruct` in module `ty` [INFO] [stderr] --> src/lib.rs:141:17 [INFO] [stderr] | [INFO] [stderr] 141 | ty::TyStruct(did, _) | ty::TyEnum(did, _) => { [INFO] [stderr] | ^^^^^^^^ not found in `ty` [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `TyEnum` in module `ty` [INFO] [stderr] --> src/lib.rs:141:40 [INFO] [stderr] | [INFO] [stderr] 141 | ty::TyStruct(did, _) | ty::TyEnum(did, _) => { [INFO] [stderr] | ^^^^^^ not found in `ty` [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `TyRef` in module `ty` [INFO] [stderr] --> src/lib.rs:155:17 [INFO] [stderr] | [INFO] [stderr] 155 | ty::TyRef(..) | ty::TyRawPtr(..) | ty::TyBox(..) => false, // don't recurse down ptrs [INFO] [stderr] | ^^^^^ not found in `ty` [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `TyRawPtr` in module `ty` [INFO] [stderr] --> src/lib.rs:155:33 [INFO] [stderr] | [INFO] [stderr] 155 | ty::TyRef(..) | ty::TyRawPtr(..) | ty::TyBox(..) => false, // don't recurse down ptrs [INFO] [stderr] | ^^^^^^^^ help: a tuple variant with a similar name exists: `RawPtr` [INFO] [stderr] [INFO] [stderr] error[E0531]: cannot find tuple struct/variant `TyBox` in module `ty` [INFO] [stderr] --> src/lib.rs:155:52 [INFO] [stderr] | [INFO] [stderr] 155 | ty::TyRef(..) | ty::TyRawPtr(..) | ty::TyBox(..) => false, // don't recurse down ptrs [INFO] [stderr] | ^^^^^ not found in `ty` [INFO] [stderr] [INFO] [stderr] error[E0554]: `#![feature]` may not be used on the beta release channel [INFO] [stderr] --> src/lib.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(plugin_registrar, box_syntax)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0554]: `#![feature]` may not be used on the beta release channel [INFO] [stderr] --> src/lib.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | #![feature(rustc_private)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0726]: implicit elided lifetime not allowed here [INFO] [stderr] --> src/lib.rs:62:6 [INFO] [stderr] | [INFO] [stderr] 62 | impl LateLintPass for TenaciousPass { [INFO] [stderr] | ^^^^^^^^^^^^- help: indicate the anonymous lifetimes: `<'_, '_>` [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `rustc::infer` [INFO] [stderr] --> src/lib.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | use rustc::infer; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0046]: not all trait items implemented, missing: `name` [INFO] [stderr] --> src/lib.rs:55:1 [INFO] [stderr] | [INFO] [stderr] 55 | impl LintPass for TenaciousPass { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `name` in implementation [INFO] [stderr] | [INFO] [stderr] = note: `name` from trait: `fn(&Self) -> &'static str` [INFO] [stderr] [INFO] [stderr] error[E0053]: method `check_struct_def` has an incompatible type for trait [INFO] [stderr] --> src/lib.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | fn check_struct_def(&mut self, cx: &Context, def: &VariantData, _: Name, _: &Generics, id: NodeId) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `rustc::hir::HirId`, found struct `syntax::ast::NodeId` [INFO] [stderr] | [INFO] [stderr] = note: expected type `fn(&mut TenaciousPass, &rustc::lint::LateContext<'static, 'static>, &'static rustc::hir::VariantData, syntax::ast::Symbol, &'static rustc::hir::Generics, rustc::hir::HirId)` [INFO] [stderr] found type `fn(&mut TenaciousPass, &rustc::lint::LateContext<'_, '_>, &rustc::hir::VariantData, syntax::ast::Symbol, &rustc::hir::Generics, syntax::ast::NodeId)` [INFO] [stderr] [INFO] [stderr] error[E0053]: method `matched_pat` has an incompatible type for trait [INFO] [stderr] --> src/lib.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | fn matched_pat(&mut self, pat: &Pat, cmt: cmt<'tcx>, mode: euv::MatchMode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected reference, found struct `std::rc::Rc` [INFO] [stderr] | [INFO] [stderr] = note: expected type `fn(&mut TenaciousDelegate<'a, 'gcx>, &rustc::hir::Pat, &rustc::middle::mem_categorization::cmt_<'tcx>, rustc::middle::expr_use_visitor::MatchMode)` [INFO] [stderr] found type `fn(&mut TenaciousDelegate<'a, 'gcx>, &rustc::hir::Pat, std::rc::Rc>, rustc::middle::expr_use_visitor::MatchMode)` [INFO] [stderr] [INFO] [stderr] error[E0053]: method `consume_pat` has an incompatible type for trait [INFO] [stderr] --> src/lib.rs:119:5 [INFO] [stderr] | [INFO] [stderr] 119 | fn consume_pat(&mut self, pat: &Pat, cmt: cmt<'tcx>, mode: euv::ConsumeMode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected reference, found struct `std::rc::Rc` [INFO] [stderr] | [INFO] [stderr] = note: expected type `fn(&mut TenaciousDelegate<'a, 'gcx>, &rustc::hir::Pat, &rustc::middle::mem_categorization::cmt_<'tcx>, rustc::middle::expr_use_visitor::ConsumeMode)` [INFO] [stderr] found type `fn(&mut TenaciousDelegate<'a, 'gcx>, &rustc::hir::Pat, std::rc::Rc>, rustc::middle::expr_use_visitor::ConsumeMode)` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `for<'a, 'tcx> TenaciousPass: rustc::lint::LateLintPass<'a, 'tcx>` is not satisfied [INFO] [stderr] --> src/lib.rs:29:33 [INFO] [stderr] | [INFO] [stderr] 29 | reg.register_late_lint_pass(box TenaciousPass); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ the trait `for<'a, 'tcx> rustc::lint::LateLintPass<'a, 'tcx>` is not implemented for `TenaciousPass` [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[E0061]: this function takes 0 parameters but 3 parameters were supplied [INFO] [stderr] --> src/lib.rs:65:16 [INFO] [stderr] | [INFO] [stderr] 65 | cx.tcx.infer_ctxt(None, Some(param_env), Reveal::All).enter(|infcx| { [INFO] [stderr] | ^^^^^^^^^^ expected 0 parameters [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 7 parameters but 2 parameters were supplied [INFO] [stderr] --> src/lib.rs:67:27 [INFO] [stderr] | [INFO] [stderr] 67 | let mut vis = euv::ExprUseVisitor::new(&mut v, &infcx); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 7 parameters [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `walk_fn` found for type `rustc::middle::expr_use_visitor::ExprUseVisitor<'_, '_>` in the current scope [INFO] [stderr] --> src/lib.rs:68:17 [INFO] [stderr] | [INFO] [stderr] 68 | vis.walk_fn(decl, body) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `map` on type `rustc::ty::TyCtxt<'_>` [INFO] [stderr] --> src/lib.rs:72:33 [INFO] [stderr] | [INFO] [stderr] 72 | let item = match cx.tcx.map.get(id) { [INFO] [stderr] | ^^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `map` on type `rustc::ty::TyCtxt<'_>` [INFO] [stderr] --> src/lib.rs:74:25 [INFO] [stderr] | [INFO] [stderr] 74 | _ => cx.tcx.map.expect_item(cx.tcx.map.get_parent(id)), [INFO] [stderr] | ^^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `map` on type `rustc::ty::TyCtxt<'_>` [INFO] [stderr] --> src/lib.rs:74:48 [INFO] [stderr] | [INFO] [stderr] 74 | _ => cx.tcx.map.expect_item(cx.tcx.map.get_parent(id)), [INFO] [stderr] | ^^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `node_id_to_type` found for type `rustc::ty::TyCtxt<'_>` in the current scope [INFO] [stderr] --> src/lib.rs:78:49 [INFO] [stderr] | [INFO] [stderr] 78 | if is_ty_no_move(cx.tcx, cx.tcx.node_id_to_type(field.id)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `id` on type `&&rustc::hir::StructField` [INFO] [stderr] --> src/lib.rs:78:71 [INFO] [stderr] | [INFO] [stderr] 78 | if is_ty_no_move(cx.tcx, cx.tcx.node_id_to_type(field.id)) { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `id` on type `std::rc::Rc>` [INFO] [stderr] --> src/lib.rs:95:42 [INFO] [stderr] | [INFO] [stderr] 95 | if is_in_let(self.0.tcx, cmt.id) { [INFO] [stderr] | ^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:142:42 [INFO] [stderr] | [INFO] [stderr] 142 | if tcx.has_attr(did.did, "allow_movable_interior") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::ast::Symbol`, found reference [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::ast::Symbol` [INFO] [stderr] found type `&'static str` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:145:42 [INFO] [stderr] | [INFO] [stderr] 145 | if tcx.has_attr(did.did, "no_move") { [INFO] [stderr] | ^^^^^^^^^ expected struct `syntax::ast::Symbol`, found reference [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::ast::Symbol` [INFO] [stderr] found type `&'static str` [INFO] [stderr] [INFO] [stderr] error[E0277]: can't compare `syntax::ast::Symbol` with `&str` [INFO] [stderr] --> src/lib.rs:171:14 [INFO] [stderr] | [INFO] [stderr] 171 | if krate != &path[0] { [INFO] [stderr] | ^^ no implementation for `syntax::ast::Symbol == &str` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::cmp::PartialEq<&str>` is not implemented for `syntax::ast::Symbol` [INFO] [stderr] = note: required because of the requirements on the impl of `std::cmp::PartialEq<&&str>` for `&syntax::ast::Symbol` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:185:49 [INFO] [stderr] | [INFO] [stderr] 185 | .all(|(nm, p)| nm.as_interned_str() == *p) [INFO] [stderr] | ^^ expected struct `syntax::symbol::InternedString`, found &str [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::symbol::InternedString` [INFO] [stderr] found type `&str` [INFO] [stderr] [INFO] [stderr] error: aborting due to 30 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0046, E0053, E0061, E0277, E0308, E0432, E0433, E0554, E0599... [INFO] [stderr] For more information about an error, try `rustc --explain E0046`. [INFO] [stderr] error: Could not compile `tenacious`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "d51180cce44945449910841c521a20f8284423b31e8514ea5ca677eb9d91f60f"` [INFO] running `"docker" "rm" "-f" "d51180cce44945449910841c521a20f8284423b31e8514ea5ca677eb9d91f60f"` [INFO] [stdout] d51180cce44945449910841c521a20f8284423b31e8514ea5ca677eb9d91f60f