[INFO] updating cached repository https://github.com/google/rerast [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/big/crater/work/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] [stderr] From https://github.com/google/rerast [INFO] [stderr] f6d7961..d6628e7 master -> master [INFO] [stderr] * [new tag] v0.1.69 -> v0.1.69 [INFO] [stderr] * [new tag] v0.1.68 -> v0.1.68 [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] d6628e7f366e1ceaa4743a78b7e008b376e8e6f5 [INFO] testing google/rerast against 1.38.0 for beta-1.39-1 [INFO] running `"git" "clone" "work/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgoogle%2Frerast" "work/builds/worker-2/source"` [INFO] [stderr] Cloning into 'work/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/google/rerast on toolchain 1.38.0 [INFO] running `"/big/crater/work/cargo-home/bin/cargo" "+1.38.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/google/rerast [INFO] removed path dependency rerast_macros from git repo https://github.com/google/rerast [INFO] finished tweaking git repo https://github.com/google/rerast [INFO] tweaked toml for git repo https://github.com/google/rerast written to work/builds/worker-2/source/Cargo.toml [INFO] crate git repo https://github.com/google/rerast already has a lockfile, it will not be regenerated [INFO] running `"/big/crater/work/cargo-home/bin/cargo" "+1.38.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] error: the lock file /big/crater/work/builds/worker-2/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] the lockfile is outdated, regenerating it [INFO] running `"/big/crater/work/cargo-home/bin/cargo" "+1.38.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"/big/crater/work/cargo-home/bin/cargo" "+1.38.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/big/crater/work/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/big/crater/work/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/big/crater/work/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/big/crater/work/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=1000" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.38.0" "build" "--frozen"` [INFO] [stdout] 2304c0efa4c9f332320b40f8449de8a627fd2f8ffe01a72d4d4a05f0c867b64d [INFO] running `"docker" "start" "-a" "2304c0efa4c9f332320b40f8449de8a627fd2f8ffe01a72d4d4a05f0c867b64d"` [INFO] [stderr] Compiling winapi v0.3.8 [INFO] [stderr] Compiling rerast_macros v0.1.12 [INFO] [stderr] Compiling json v0.11.15 [INFO] [stderr] Compiling winconsole v0.10.0 [INFO] [stderr] Compiling colored v1.8.0 [INFO] [stderr] Compiling rerast v0.1.69 (/opt/rustwide/workdir) [INFO] [stderr] error[E0412]: cannot find type `Param` in module `hir` [INFO] [stderr] --> src/rule_matcher.rs:664:25 [INFO] [stderr] | [INFO] [stderr] 664 | impl Matchable for hir::Param { [INFO] [stderr] | ^^^^^ not found in `hir` [INFO] [stderr] help: there is an enum variant `core::fmt::rt::v1::Count::Param` and 9 others; try using the variant's enum [INFO] [stderr] | [INFO] [stderr] 664 | impl Matchable for core::fmt::rt::v1::Count { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 664 | impl Matchable for rustc::hir::LifetimeName { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 664 | impl Matchable for rustc::infer::region_constraints::GenericKind { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 664 | impl Matchable for rustc::mir::interpret::ConstValue { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] and 5 other candidates [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `ExpnData` in module `source_map` [INFO] [stderr] --> src/rule_matcher.rs:1504:38 [INFO] [stderr] | [INFO] [stderr] 1504 | fn is_same_expansion(a: &source_map::ExpnData, b: &source_map::ExpnData) -> bool { [INFO] [stderr] | ^^^^^^^^ not found in `source_map` [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `ExpnData` in module `source_map` [INFO] [stderr] --> src/rule_matcher.rs:1504:64 [INFO] [stderr] | [INFO] [stderr] 1504 | fn is_same_expansion(a: &source_map::ExpnData, b: &source_map::ExpnData) -> bool { [INFO] [stderr] | ^^^^^^^^ not found in `source_map` [INFO] [stderr] [INFO] [stderr] error[E0554]: `#![feature]` may not be used on the stable release channel [INFO] [stderr] --> src/lib.rs:69:1 [INFO] [stderr] | [INFO] [stderr] 69 | #![feature(rustc_private)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0554]: `#![feature]` may not be used on the stable release channel [INFO] [stderr] --> src/lib.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | #![feature(box_syntax)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `root` found for type `syntax_pos::SyntaxContext` in the current scope [INFO] [stderr] --> src/lib.rs:268:42 [INFO] [stderr] | [INFO] [stderr] 268 | if span.ctxt() == SyntaxContext::root() { [INFO] [stderr] | ^^^^ function or associated item not found in `syntax_pos::SyntaxContext` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Pat` [INFO] [stderr] --> src/lib.rs:398:69 [INFO] [stderr] | [INFO] [stderr] 398 | if let hir::PatKind::Binding(_, hir_id, ref ident, _) = pat.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Expr` [INFO] [stderr] --> src/change_to_rule.rs:118:67 [INFO] [stderr] | [INFO] [stderr] 118 | if let hir::ExprKind::Call(ref _expr_fn, ref args) = expr.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `expn_data` found for type `syntax_pos::ExpnId` in the current scope [INFO] [stderr] --> src/change_to_rule.rs:176:50 [INFO] [stderr] | [INFO] [stderr] 176 | let expn_info = span.ctxt().outer_expn().expn_data(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `with_root_ctxt` found for type `syntax_pos::Span` in the current scope [INFO] [stderr] --> src/change_to_rule.rs:187:19 [INFO] [stderr] | [INFO] [stderr] 187 | Span::with_root_ctxt(filemap.start_pos, filemap.end_pos), [INFO] [stderr] | ^^^^^^^^^^^^^^ function or associated item not found in `syntax_pos::Span` [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `with_root_ctxt` found for type `syntax_pos::Span` in the current scope [INFO] [stderr] --> src/change_to_rule.rs:197:28 [INFO] [stderr] | [INFO] [stderr] 197 | let result = Span::with_root_ctxt(self.0.start + start_pos, self.0.end + start_pos); [INFO] [stderr] | ^^^^^^^^^^^^^^ function or associated item not found in `syntax_pos::Span` [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `root` found for type `syntax_pos::SyntaxContext` in the current scope [INFO] [stderr] --> src/change_to_rule.rs:231:28 [INFO] [stderr] | [INFO] [stderr] 231 | SyntaxContext::root(), [INFO] [stderr] | ^^^^ function or associated item not found in `syntax_pos::SyntaxContext` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::ty::TyS<'_>` [INFO] [stderr] --> src/change_to_rule.rs:371:48 [INFO] [stderr] | [INFO] [stderr] 371 | if let TyKind::Param(..) = subtype.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Item` [INFO] [stderr] --> src/change_to_rule.rs:379:38 [INFO] [stderr] | [INFO] [stderr] 379 | if let Some(generics) = item.kind.generics() { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `with_root_ctxt` found for type `syntax_pos::Span` in the current scope [INFO] [stderr] --> src/change_to_rule.rs:443:36 [INFO] [stderr] | [INFO] [stderr] 443 | .span_to_snippet(Span::with_root_ctxt(start, subst_span.lo())) [INFO] [stderr] | ^^^^^^^^^^^^^^ function or associated item not found in `syntax_pos::Span` [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `with_root_ctxt` found for type `syntax_pos::Span` in the current scope [INFO] [stderr] --> src/change_to_rule.rs:449:32 [INFO] [stderr] | [INFO] [stderr] 449 | .span_to_snippet(Span::with_root_ctxt(start, span.hi())) [INFO] [stderr] | ^^^^^^^^^^^^^^ function or associated item not found in `syntax_pos::Span` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `from_expansion` found for type `syntax_pos::Span` in the current scope [INFO] [stderr] --> src/change_to_rule.rs:597:22 [INFO] [stderr] | [INFO] [stderr] 597 | if expr.span.from_expansion() { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: there is a method with a similar name: `fresh_expansion` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Item` [INFO] [stderr] --> src/definitions.rs:69:52 [INFO] [stderr] | [INFO] [stderr] 69 | } else if let hir::ItemKind::Mod(_) = item.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `params` on type `&'tcx rustc::hir::Body` [INFO] [stderr] --> src/definitions.rs:82:34 [INFO] [stderr] | [INFO] [stderr] 82 | let mut types = body.params.iter().map(|arg| tables.node_type(arg.hir_id)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `params` on type `&rustc::hir::Body` [INFO] [stderr] --> src/rule_finder.rs:112:32 [INFO] [stderr] | [INFO] [stderr] 112 | for param in &body.params { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `rustc::hir::Expr` [INFO] [stderr] --> src/rule_finder.rs:121:66 [INFO] [stderr] | [INFO] [stderr] 121 | if let hir::ExprKind::Block(block, ..) = &body.value.kind { [INFO] [stderr] | ^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `span`, `node`, `attrs`, `hir_id` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::Stmt` [INFO] [stderr] --> src/rule_finder.rs:123:64 [INFO] [stderr] | [INFO] [stderr] 123 | if let hir::StmtKind::Local(local) = &stmt.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `rustc::hir::ptr::P` [INFO] [stderr] --> src/rule_finder.rs:124:82 [INFO] [stderr] | [INFO] [stderr] 124 | if let hir::PatKind::Binding(_, hir_id, ..) = &local.pat.kind { [INFO] [stderr] | ^^^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0614]: type `rustc::hir::HirId` cannot be dereferenced [INFO] [stderr] --> src/rule_finder.rs:125:50 [INFO] [stderr] | [INFO] [stderr] 125 | placeholder_ids.push(*hir_id); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `pat` on type `&rustc::hir::Arm` [INFO] [stderr] --> src/rule_finder.rs:92:87 [INFO] [stderr] | [INFO] [stderr] 92 | if let hir::PatKind::Path(hir::QPath::Resolved(None, ref path)) = arm.pat.kind { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `rustc::hir::ptr::P` [INFO] [stderr] --> src/rule_finder.rs:95:82 [INFO] [stderr] | [INFO] [stderr] 95 | if let hir::ExprKind::Block(ref block, _) = arm.body.kind { [INFO] [stderr] | ^^^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Item` [INFO] [stderr] --> src/rule_finder.rs:166:45 [INFO] [stderr] | [INFO] [stderr] 166 | if let hir::ItemKind::Mod(_) = item.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Expr` [INFO] [stderr] --> src/rule_finder.rs:185:68 [INFO] [stderr] | [INFO] [stderr] 185 | if let ExprKind::Match(ref match_expr, ref arms, _) = expr.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::ptr::P` [INFO] [stderr] --> src/rule_finder.rs:186:85 [INFO] [stderr] | [INFO] [stderr] 186 | if let ExprKind::MethodCall(ref _name, ref _tys, ref args) = match_expr.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `rustc::hir::Stmt` [INFO] [stderr] --> src/rule_finder.rs:248:72 [INFO] [stderr] | [INFO] [stderr] 248 | if let hir::StmtKind::Semi(ref addr_expr) = block.stmts[0].kind { [INFO] [stderr] | ^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `hir_id`, `node`, `span` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::ptr::P` [INFO] [stderr] --> src/rule_finder.rs:249:71 [INFO] [stderr] | [INFO] [stderr] 249 | if let hir::ExprKind::AddrOf(_, ref expr) = addr_expr.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `rustc::hir::Stmt` [INFO] [stderr] --> src/rule_finder.rs:279:69 [INFO] [stderr] | [INFO] [stderr] 279 | if let hir::StmtKind::Local(ref local) = block.stmts[0].kind { [INFO] [stderr] | ^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `hir_id`, `node`, `span` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::ptr::P` [INFO] [stderr] --> src/rule_finder.rs:281:70 [INFO] [stderr] | [INFO] [stderr] 281 | if let hir::TyKind::Rptr(_, ref mut_ty) = ref_ty.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::Ty` [INFO] [stderr] --> src/rule_finder.rs:312:61 [INFO] [stderr] | [INFO] [stderr] 312 | if let hir::TyKind::TraitObject(ref bounds, _) = ty.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `rustc::hir::Stmt` [INFO] [stderr] --> src/rule_finder.rs:348:67 [INFO] [stderr] | [INFO] [stderr] 348 | if let hir::StmtKind::Semi(ref expr) = block.stmts[0].kind { [INFO] [stderr] | ^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `hir_id`, `node`, `span` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::ptr::P` [INFO] [stderr] --> src/rule_finder.rs:349:68 [INFO] [stderr] | [INFO] [stderr] 349 | if let hir::ExprKind::Match(_, ref arms, _) = expr.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `pat` on type `rustc::hir::Arm` [INFO] [stderr] --> src/rule_finder.rs:353:84 [INFO] [stderr] | [INFO] [stderr] 353 | if let hir::PatKind::TupleStruct(_, ref patterns, _) = arms[0].pat.kind { [INFO] [stderr] | ^^^ help: a field with a similar name exists: `pats` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Item` [INFO] [stderr] --> src/rule_matcher.rs:222:45 [INFO] [stderr] | [INFO] [stderr] 222 | if let hir::ItemKind::Mod(_) = item.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `rustc::hir::Expr` [INFO] [stderr] --> src/rule_matcher.rs:242:26 [INFO] [stderr] | [INFO] [stderr] 242 | match body.value.kind { [INFO] [stderr] | ^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `span`, `node`, `attrs`, `hir_id` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `params` on type `&'tcx rustc::hir::Body` [INFO] [stderr] --> src/rule_matcher.rs:247:36 [INFO] [stderr] | [INFO] [stderr] 247 | for param in &body.params { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::Stmt` [INFO] [stderr] --> src/rule_matcher.rs:379:53 [INFO] [stderr] | [INFO] [stderr] 379 | if let hir::StmtKind::Semi(ref expr) = stmt.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::ptr::P` [INFO] [stderr] --> src/rule_matcher.rs:380:64 [INFO] [stderr] | [INFO] [stderr] 380 | if let hir::ExprKind::Call(ref function, _) = expr.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::ptr::P` [INFO] [stderr] --> src/rule_matcher.rs:385:65 [INFO] [stderr] | [INFO] [stderr] 385 | if let hir::ExprKind::Path(ref path) = function.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::Expr` [INFO] [stderr] --> src/rule_matcher.rs:479:35 [INFO] [stderr] | [INFO] [stderr] 479 | let result = match (&self.kind, &code.kind) { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Expr` [INFO] [stderr] --> src/rule_matcher.rs:479:47 [INFO] [stderr] | [INFO] [stderr] 479 | let result = match (&self.kind, &code.kind) { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Expr` [INFO] [stderr] --> src/rule_matcher.rs:646:64 [INFO] [stderr] | [INFO] [stderr] 646 | "Expression: {:?}\ndidn't match: {:?}", code.kind, self.kind [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::Expr` [INFO] [stderr] --> src/rule_matcher.rs:646:75 [INFO] [stderr] | [INFO] [stderr] 646 | "Expression: {:?}\ndidn't match: {:?}", code.kind, self.kind [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `params` on type `&rustc::hir::Body` [INFO] [stderr] --> src/rule_matcher.rs:659:14 [INFO] [stderr] | [INFO] [stderr] 659 | self.params.attempt_match(state, &code.params) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `params` on type `&'tcx rustc::hir::Body` [INFO] [stderr] --> src/rule_matcher.rs:659:48 [INFO] [stderr] | [INFO] [stderr] 659 | self.params.attempt_match(state, &code.params) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::Ty` [INFO] [stderr] --> src/rule_matcher.rs:680:14 [INFO] [stderr] | [INFO] [stderr] 680 | self.kind.attempt_match(state, &code.kind) [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Ty` [INFO] [stderr] --> src/rule_matcher.rs:680:46 [INFO] [stderr] | [INFO] [stderr] 680 | self.kind.attempt_match(state, &code.kind) [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `pat` on type `&rustc::hir::Arm` [INFO] [stderr] --> src/rule_matcher.rs:815:21 [INFO] [stderr] | [INFO] [stderr] 815 | && self.pat.attempt_match(state, &code.pat) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `pat` on type `&'tcx rustc::hir::Arm` [INFO] [stderr] --> src/rule_matcher.rs:815:52 [INFO] [stderr] | [INFO] [stderr] 815 | && self.pat.attempt_match(state, &code.pat) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::Pat` [INFO] [stderr] --> src/rule_matcher.rs:842:22 [INFO] [stderr] | [INFO] [stderr] 842 | match (&self.kind, &code.kind) { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Pat` [INFO] [stderr] --> src/rule_matcher.rs:842:34 [INFO] [stderr] | [INFO] [stderr] 842 | match (&self.kind, &code.kind) { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Pat` [INFO] [stderr] --> src/rule_matcher.rs:851:87 [INFO] [stderr] | [INFO] [stderr] 851 | } else if let Binding(c_mode, c_hir_id, ref c_name, ref c_pat) = code.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/rule_matcher.rs:881:39 [INFO] [stderr] | [INFO] [stderr] 881 | && sorted_by_name(p_pats) [INFO] [stderr] | ^^^^^^ expected struct `rustc::hir::FieldPat`, found struct `syntax::source_map::Spanned` [INFO] [stderr] | [INFO] [stderr] = note: expected type `&rustc::hir::ptr::P<[rustc::hir::FieldPat]>` [INFO] [stderr] found type `&rustc::hir::ptr::P<[syntax::source_map::Spanned]>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/rule_matcher.rs:883:45 [INFO] [stderr] | [INFO] [stderr] 883 | .zip(sorted_by_name(c_pats)) [INFO] [stderr] | ^^^^^^ expected struct `rustc::hir::FieldPat`, found struct `syntax::source_map::Spanned` [INFO] [stderr] | [INFO] [stderr] = note: expected type `&rustc::hir::ptr::P<[rustc::hir::FieldPat]>` [INFO] [stderr] found type `&rustc::hir::ptr::P<[syntax::source_map::Spanned]>` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::Stmt` [INFO] [stderr] --> src/rule_matcher.rs:1060:22 [INFO] [stderr] | [INFO] [stderr] 1060 | match (&self.kind, &code.kind) { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Stmt` [INFO] [stderr] --> src/rule_matcher.rs:1060:34 [INFO] [stderr] | [INFO] [stderr] 1060 | match (&self.kind, &code.kind) { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::Item` [INFO] [stderr] --> src/rule_matcher.rs:1101:21 [INFO] [stderr] | [INFO] [stderr] 1101 | && self.kind.attempt_match(state, &code.kind) [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Item` [INFO] [stderr] --> src/rule_matcher.rs:1101:53 [INFO] [stderr] | [INFO] [stderr] 1101 | && self.kind.attempt_match(state, &code.kind) [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::Expr` [INFO] [stderr] --> src/rule_matcher.rs:1439:25 [INFO] [stderr] | [INFO] [stderr] 1439 | Some(match expr.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `from_expansion` found for type `syntax_pos::Span` in the current scope [INFO] [stderr] --> src/rule_matcher.rs:1489:24 [INFO] [stderr] | [INFO] [stderr] 1489 | match (search_span.from_expansion(), code_span.from_expansion()) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: there is a method with a similar name: `fresh_expansion` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `from_expansion` found for type `syntax_pos::Span` in the current scope [INFO] [stderr] --> src/rule_matcher.rs:1489:52 [INFO] [stderr] | [INFO] [stderr] 1489 | match (search_span.from_expansion(), code_span.from_expansion()) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: there is a method with a similar name: `fresh_expansion` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `expn_data` found for type `syntax_pos::ExpnId` in the current scope [INFO] [stderr] --> src/rule_matcher.rs:1491:63 [INFO] [stderr] | [INFO] [stderr] 1491 | let search_expn = search_span.ctxt().outer_expn().expn_data(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `expn_data` found for type `syntax_pos::ExpnId` in the current scope [INFO] [stderr] --> src/rule_matcher.rs:1492:59 [INFO] [stderr] | [INFO] [stderr] 1492 | let code_expn = code_span.ctxt().outer_expn().expn_data(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `expn_data` found for type `syntax_pos::ExpnId` in the current scope [INFO] [stderr] --> src/rule_matcher.rs:1520:50 [INFO] [stderr] | [INFO] [stderr] 1520 | let expn_info = span.ctxt().outer_expn().expn_data(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Expr` [INFO] [stderr] --> src/rule_matcher.rs:1555:53 [INFO] [stderr] | [INFO] [stderr] 1555 | if let hir::ExprKind::Path(ref path) = expr.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Stmt` [INFO] [stderr] --> src/rule_matcher.rs:1603:53 [INFO] [stderr] | [INFO] [stderr] 1603 | if let hir::StmtKind::Semi(ref expr) = stmt.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&rustc::hir::ptr::P` [INFO] [stderr] --> src/rule_matcher.rs:1604:63 [INFO] [stderr] | [INFO] [stderr] 1604 | if let hir::ExprKind::Call(ref expr_fn, _) = expr.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `kind` on type `&'tcx rustc::hir::Pat` [INFO] [stderr] --> src/rule_matcher.rs:1614:69 [INFO] [stderr] | [INFO] [stderr] 1614 | if let hir::PatKind::Binding(_, hir_id, ref ident, _) = pat.kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `params` on type `&rustc::hir::Body` [INFO] [stderr] --> src/validation.rs:47:41 [INFO] [stderr] | [INFO] [stderr] 47 | placeholders: rule_body.params.iter().map(|arg| arg.pat.hir_id).collect(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 73 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0308, E0412, E0554, E0599, E0609, E0614. [INFO] [stderr] For more information about an error, try `rustc --explain E0308`. [INFO] [stderr] error: Could not compile `rerast`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "2304c0efa4c9f332320b40f8449de8a627fd2f8ffe01a72d4d4a05f0c867b64d"` [INFO] running `"docker" "rm" "-f" "2304c0efa4c9f332320b40f8449de8a627fd2f8ffe01a72d4d4a05f0c867b64d"` [INFO] [stdout] 2304c0efa4c9f332320b40f8449de8a627fd2f8ffe01a72d4d4a05f0c867b64d