[INFO] crate stainless2 0.1.14 is already in cache [INFO] extracting crate stainless2 0.1.14 into work/ex/beta-1.38-1/sources/1.37.0/reg/stainless2/0.1.14 [INFO] extracting crate stainless2 0.1.14 into work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/stainless2/0.1.14 [INFO] validating manifest of stainless2-0.1.14 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 stainless2-0.1.14 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 stainless2-0.1.14 [INFO] finished frobbing stainless2-0.1.14 [INFO] frobbed toml for stainless2-0.1.14 written to work/ex/beta-1.38-1/sources/1.37.0/reg/stainless2/0.1.14/Cargo.toml [INFO] started frobbing stainless2-0.1.14 [INFO] finished frobbing stainless2-0.1.14 [INFO] frobbed toml for stainless2-0.1.14 written to work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/stainless2/0.1.14/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 stainless2-0.1.14 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-0/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/stainless2/0.1.14:/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] dec3294f99b0fab56efc90ea3dc8a4b38c67b3a4687ea1b7f0611f3069188e29 [INFO] running `"docker" "start" "-a" "dec3294f99b0fab56efc90ea3dc8a4b38c67b3a4687ea1b7f0611f3069188e29"` [INFO] [stderr] Compiling stainless2 v0.1.14 (/opt/crater/workdir) [INFO] [stderr] error[E0557]: feature has been removed [INFO] [stderr] --> src/lib.rs:7:30 [INFO] [stderr] | [INFO] [stderr] 7 | #![feature(plugin_registrar, quote, rustc_private)] [INFO] [stderr] | ^^^^^ feature has been removed [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `rustc_data_structures::small_vec` [INFO] [stderr] --> src/describe.rs:34:28 [INFO] [stderr] | [INFO] [stderr] 34 | use rustc_data_structures::small_vec::OneVector; [INFO] [stderr] | ^^^^^^^^^ could not find `small_vec` in `rustc_data_structures` [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_ty!` in this scope [INFO] [stderr] --> src/generate.rs:159:29 [INFO] [stderr] | [INFO] [stderr] 159 | ty: quote_ty!(cx, &mut ::test::Bencher), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `quote_pat!` in this scope [INFO] [stderr] --> src/generate.rs:160:30 [INFO] [stderr] | [INFO] [stderr] 160 | pat: quote_pat!(cx, $bench), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: could not find `NestedMetaItemKind` in `ast` [INFO] [stderr] --> src/generate.rs:98:30 [INFO] [stderr] | [INFO] [stderr] 98 | ast::NestedMetaItemKind::MetaItem(expected_name_value)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ could not find `NestedMetaItemKind` in `ast` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `IdentTT` in module `syntax::ext::base` [INFO] [stderr] --> src/lib.rs:192:28 [INFO] [stderr] | [INFO] [stderr] 192 | syntax::ext::base::IdentTT(Box::new(describe), None, false) [INFO] [stderr] | ^^^^^^^ not found in `syntax::ext::base` [INFO] [stderr] [INFO] [stderr] error[E0554]: `#![feature]` may not be used on the beta release channel [INFO] [stderr] --> src/lib.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | #![feature(plugin_registrar, quote, rustc_private)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/describe.rs:64:79 [INFO] [stderr] | [INFO] [stderr] 64 | name: ast::Ident, tokens: Vec) -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn base::MacResult + 'a` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:8:23 [INFO] [stderr] | [INFO] [stderr] 8 | #![deny(missing_docs, warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]` [INFO] [stderr] [INFO] [stderr] warning: unused import: `syntax::ext::build::AstBuilder` [INFO] [stderr] --> src/generate.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use syntax::ext::build::AstBuilder; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:8:23 [INFO] [stderr] | [INFO] [stderr] 8 | #![deny(missing_docs, warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: `#[warn(unused_imports)]` implied by `#[warn(warnings)]` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 3 parameters but 2 parameters were supplied [INFO] [stderr] --> src/describe.rs:66:50 [INFO] [stderr] | [INFO] [stderr] 66 | let state: DescribeState = Parse::parse(&mut parse::stream_to_parser(cx.parse_sess(), tokens.into_iter().collect()), (sp, &mut*cx, Some(name))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 3 parameters [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/parse.rs:60:14 [INFO] [stderr] | [INFO] [stderr] 59 | let name = match (open_delim, bench_ident, close_delim) { [INFO] [stderr] | -------------------------------------- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] 60 | (token::OpenDelim(token::Paren), ident, token::CloseDelim(token::Paren)) => { ident }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/parse.rs:60:53 [INFO] [stderr] | [INFO] [stderr] 59 | let name = match (open_delim, bench_ident, close_delim) { [INFO] [stderr] | -------------------------------------- this match expression has type `syntax::parse::token::Token` [INFO] [stderr] 60 | (token::OpenDelim(token::Paren), ident, token::CloseDelim(token::Paren)) => { ident }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/parse.rs:105:37 [INFO] [stderr] | [INFO] [stderr] 105 | try(parser, token::OpenDelim(token::Brace), "{ after the name of a describe! block"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/parse.rs:163:37 [INFO] [stderr] | [INFO] [stderr] 163 | try(parser, token::CloseDelim(token::Paren), "unclosed failing condition paren"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/parse.rs:177:33 [INFO] [stderr] | [INFO] [stderr] 177 | try(parser, token::Not, "!"); [INFO] [stderr] | ^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/parse.rs:185:33 [INFO] [stderr] | [INFO] [stderr] 185 | try(parser, token::CloseDelim(token::Brace), "}} to close `describe!`") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `syntax::parse::token::Token`, found enum `syntax::parse::token::TokenKind` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::parse::token::Token` [INFO] [stderr] found type `syntax::parse::token::TokenKind` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `span` on type `&mut syntax::parse::parser::Parser<'_>` [INFO] [stderr] --> src/parse.rs:206:23 [INFO] [stderr] | [INFO] [stderr] 206 | let span = parser.span; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 2 parameters were supplied [INFO] [stderr] --> src/generate.rs:32:33 [INFO] [stderr] | [INFO] [stderr] 32 | let test_attribute = cx.attribute(sp, cx.meta_word(sp, Symbol::intern("test"))); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 2 parameters were supplied [INFO] [stderr] --> src/generate.rs:35:31 [INFO] [stderr] | [INFO] [stderr] 35 | let should_panic = cx.attribute(sp, cx.meta_word(sp, Symbol::intern("should_panic"))); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 2 parameters were supplied [INFO] [stderr] --> src/generate.rs:38:25 [INFO] [stderr] | [INFO] [stderr] 38 | let ignore = cx.attribute(sp, cx.meta_word(sp, Symbol::intern("ignore"))); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 2 parameters were supplied [INFO] [stderr] --> src/generate.rs:43:39 [INFO] [stderr] | [INFO] [stderr] 43 | let allow_non_snake_case = cx.attribute(sp, allow_non_snake_case); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 2 parameters were supplied [INFO] [stderr] --> src/generate.rs:99:35 [INFO] [stderr] | [INFO] [stderr] 99 | attrs.push(cx.attribute(sp, cx.meta_list( [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/generate.rs:102:30 [INFO] [stderr] | [INFO] [stderr] 102 | vec![nested_expected_name_value] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `syntax::ast::NestedMetaItem`, found struct `syntax::source_map::Spanned` [INFO] [stderr] | [INFO] [stderr] = note: expected type `syntax::ast::NestedMetaItem` [INFO] [stderr] found type `syntax::source_map::Spanned<_>` [INFO] [stderr] [INFO] [stderr] error[E0560]: struct `syntax::ast::FnDecl` has no field named `variadic` [INFO] [stderr] --> src/generate.rs:123:21 [INFO] [stderr] | [INFO] [stderr] 123 | variadic: false [INFO] [stderr] | ^^^^^^^^ help: a field with a similar name exists: `c_variadic` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 2 parameters were supplied [INFO] [stderr] --> src/generate.rs:145:34 [INFO] [stderr] | [INFO] [stderr] 145 | let bench_attribute = cx.attribute(sp, cx.meta_word(sp, Symbol::intern("bench"))); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0063]: missing fields `attrs`, `span` in initializer of `syntax::ast::Arg` [INFO] [stderr] --> src/generate.rs:158:34 [INFO] [stderr] | [INFO] [stderr] 158 | inputs: vec![ast::Arg { [INFO] [stderr] | ^^^^^^^^ missing `attrs`, `span` [INFO] [stderr] [INFO] [stderr] error[E0560]: struct `syntax::ast::FnDecl` has no field named `variadic` [INFO] [stderr] --> src/generate.rs:164:21 [INFO] [stderr] | [INFO] [stderr] 164 | variadic: false [INFO] [stderr] | ^^^^^^^^ help: a field with a similar name exists: `c_variadic` [INFO] [stderr] [INFO] [stderr] error: aborting due to 25 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0061, E0063, E0308, E0425, E0432, E0433, E0554, E0557, E0560... [INFO] [stderr] For more information about an error, try `rustc --explain E0061`. [INFO] [stderr] error: Could not compile `stainless2`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "dec3294f99b0fab56efc90ea3dc8a4b38c67b3a4687ea1b7f0611f3069188e29"` [INFO] running `"docker" "rm" "-f" "dec3294f99b0fab56efc90ea3dc8a4b38c67b3a4687ea1b7f0611f3069188e29"` [INFO] [stdout] dec3294f99b0fab56efc90ea3dc8a4b38c67b3a4687ea1b7f0611f3069188e29