[INFO] updating cached repository https://github.com/sarahhodne/travis-build-rs [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 9f3185eb567fc0dd0029016a053e309e86d0e94a [INFO] checking sarahhodne/travis-build-rs against try#e4dba30b9b475d8750370c4dfb49b6541990904d for pr-71393 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsarahhodne%2Ftravis-build-rs" "/workspace/builds/worker-8/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/sarahhodne/travis-build-rs on toolchain e4dba30b9b475d8750370c4dfb49b6541990904d [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/sarahhodne/travis-build-rs [INFO] finished tweaking git repo https://github.com/sarahhodne/travis-build-rs [INFO] tweaked toml for git repo https://github.com/sarahhodne/travis-build-rs written to /workspace/builds/worker-8/source/Cargo.toml [INFO] crate git repo https://github.com/sarahhodne/travis-build-rs already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] e3e067ff1bd88daf9c7601c6552fd928376d02755ed48a2ff5dd976cdf42cf75 [INFO] running `"docker" "start" "-a" "e3e067ff1bd88daf9c7601c6552fd928376d02755ed48a2ff5dd976cdf42cf75"` [INFO] [stderr] Checking travis_build v0.0.1 (/opt/rustwide/workdir) [INFO] [stderr] error[E0658]: non-builtin inner attributes are unstable [INFO] [stderr] --> src/lib.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | #![license = "MIT"] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #54726 for more information [INFO] [stderr] = help: add `#![feature(custom_inner_attributes)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: non-builtin inner attributes are unstable [INFO] [stderr] --> src/lib.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #![comment = "Travis Build generates build scripts"] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #54726 for more information [INFO] [stderr] = help: add `#![feature(custom_inner_attributes)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: non-builtin inner attributes are unstable [INFO] [stderr] --> src/lib.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | #![experimental] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #54726 for more information [INFO] [stderr] = help: add `#![feature(custom_inner_attributes)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/ast/mod.rs:53:21 [INFO] [stderr] | [INFO] [stderr] 53 | macro_rules! ast_if ( [INFO] [stderr] | _____________________^ [INFO] [stderr] 54 | | ($cond:expr { $($body:expr;)* }) => (::ast::If($cond, box ast_block! { $($body);* }, box ::ast::Noop)); [INFO] [stderr] 55 | | ($cond:expr { $($body:expr;)* } else { $($elsebody:expr;)* }) => (::ast::If($cond, box ast_block!{ $($body);* }, box ast_block! { $($elsebody);* })) [INFO] [stderr] 56 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 53 | macro_rules! ast_if { [INFO] [stderr] 54 | ($cond:expr { $($body:expr;)* }) => (::ast::If($cond, box ast_block! { $($body);* }, box ::ast::Noop)); [INFO] [stderr] 55 | ($cond:expr { $($body:expr;)* } else { $($elsebody:expr;)* }) => (::ast::If($cond, box ast_block!{ $($body);* }, box ast_block! { $($elsebody);* })) [INFO] [stderr] 56 | } [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 56 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/ast/mod.rs:59:24 [INFO] [stderr] | [INFO] [stderr] 59 | macro_rules! format_cmd( [INFO] [stderr] | ________________________^ [INFO] [stderr] 60 | | ([$($opts:ident)|*], $($arg:tt)*) => (::ast::Cmd(::ast::Raw(format!($($arg)*)), vec![$(::ast::$opts),*])); [INFO] [stderr] 61 | | ($($arg:tt)*) => (::ast::Cmd(::ast::Raw(format!($($arg)*)), vec![])) [INFO] [stderr] 62 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 59 | macro_rules! format_cmd{ [INFO] [stderr] 60 | ([$($opts:ident)|*], $($arg:tt)*) => (::ast::Cmd(::ast::Raw(format!($($arg)*)), vec![$(::ast::$opts),*])); [INFO] [stderr] 61 | ($($arg:tt)*) => (::ast::Cmd(::ast::Raw(format!($($arg)*)), vec![])) [INFO] [stderr] 62 | } [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 62 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/ast/mod.rs:65:17 [INFO] [stderr] | [INFO] [stderr] 65 | macro_rules! cmd( [INFO] [stderr] | _________________^ [INFO] [stderr] 66 | | ([$($opts:ident)|*], $cmd:expr) => (::ast::Cmd($cmd, vec![$(::ast::$opts),*])); [INFO] [stderr] 67 | | ($cmd:expr) => (::ast::Cmd($cmd, vec![])) [INFO] [stderr] 68 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 65 | macro_rules! cmd{ [INFO] [stderr] 66 | ([$($opts:ident)|*], $cmd:expr) => (::ast::Cmd($cmd, vec![$(::ast::$opts),*])); [INFO] [stderr] 67 | ($cmd:expr) => (::ast::Cmd($cmd, vec![])) [INFO] [stderr] 68 | } [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 68 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/ast/mod.rs:71:21 [INFO] [stderr] | [INFO] [stderr] 71 | macro_rules! ast_set( [INFO] [stderr] | _____________________^ [INFO] [stderr] 72 | | ($key:ident = $value:expr) => (cmd!(ast::Envset(stringify!($key).to_string(), $value))); [INFO] [stderr] 73 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 71 | macro_rules! ast_set{ [INFO] [stderr] 72 | ($key:ident = $value:expr) => (cmd!(ast::Envset(stringify!($key).to_string(), $value))); [INFO] [stderr] 73 | } [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 73 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/ast/mod.rs:88:23 [INFO] [stderr] | [INFO] [stderr] 88 | macro_rules! ast_block( [INFO] [stderr] | _______________________^ [INFO] [stderr] 89 | | { $($x:expr);* } => (::ast::Statements(box vec![$($x),*])); [INFO] [stderr] 90 | | { $($x:expr;)* } => (ast_block! { $($x);* }) [INFO] [stderr] 91 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 88 | macro_rules! ast_block{ [INFO] [stderr] 89 | { $($x:expr);* } => (::ast::Statements(box vec![$($x),*])); [INFO] [stderr] 90 | { $($x:expr;)* } => (ast_block! { $($x);* }) [INFO] [stderr] 91 | } [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 91 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/payload.rs:43:22 [INFO] [stderr] | [INFO] [stderr] 43 | macro_rules! json_to ( [INFO] [stderr] | ______________________^ [INFO] [stderr] 44 | | ($r:expr, String) => ($r.as_string()); [INFO] [stderr] 45 | | ($r:expr, bool) => ($r.as_boolean()); [INFO] [stderr] 46 | | ($r:expr, u64) => ($r.as_u64()); [INFO] [stderr] 47 | | ($r:expr, $t:ident) => (Some(try!($t::from_json($r)))); [INFO] [stderr] 48 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 43 | macro_rules! json_to { [INFO] [stderr] 44 | ($r:expr, String) => ($r.as_string()); [INFO] [stderr] 45 | ($r:expr, bool) => ($r.as_boolean()); [INFO] [stderr] 46 | ($r:expr, u64) => ($r.as_u64()); [INFO] [stderr] 47 | ($r:expr, $t:ident) => (Some(try!($t::from_json($r)))); [INFO] [stderr] 48 | } [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 48 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/payload.rs:50:23 [INFO] [stderr] | [INFO] [stderr] 50 | macro_rules! find_key ( [INFO] [stderr] | _______________________^ [INFO] [stderr] 51 | | ($j:expr, $t:ident, $key:expr) => (match $j.find(&*::std::string::as_string($key)) { [INFO] [stderr] 52 | | Some(v) => try!(json_to!(v, $t).ok_or(json::ApplicationError(format!("{} must be a string", $key)))), [INFO] [stderr] 53 | | None => return Err(json::MissingFieldError($key.to_string())), [INFO] [stderr] ... | [INFO] [stderr] 59 | | }); [INFO] [stderr] 60 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 50 | macro_rules! find_key { [INFO] [stderr] 51 | ($j:expr, $t:ident, $key:expr) => (match $j.find(&*::std::string::as_string($key)) { [INFO] [stderr] 52 | Some(v) => try!(json_to!(v, $t).ok_or(json::ApplicationError(format!("{} must be a string", $key)))), [INFO] [stderr] 53 | None => return Err(json::MissingFieldError($key.to_string())), [INFO] [stderr] 54 | }); [INFO] [stderr] 55 | ($j:expr, $t:ident, $key:expr, Optional) => (try!($j.find(&*::std::string::as_string($key)).map_or(Ok(None), |r| json_to!(r, $t).ok_or(json::ApplicationError(format!("{} must be a string", $key))).map(Some)))); [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 60 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error[E0658]: non-builtin inner attributes are unstable [INFO] [stderr] --> src/lib.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | #![license = "MIT"] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #54726 for more information [INFO] [stderr] = help: add `#![feature(custom_inner_attributes)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: non-builtin inner attributes are unstable [INFO] [stderr] --> src/lib.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #![comment = "Travis Build generates build scripts"] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #54726 for more information [INFO] [stderr] = help: add `#![feature(custom_inner_attributes)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error[E0658]: non-builtin inner attributes are unstable [INFO] [stderr] --> src/lib.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | #![experimental] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #54726 for more information [INFO] [stderr] = help: add `#![feature(custom_inner_attributes)]` to the crate attributes to enable [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/ast/mod.rs:53:21 [INFO] [stderr] | [INFO] [stderr] 53 | macro_rules! ast_if ( [INFO] [stderr] | _____________________^ [INFO] [stderr] 54 | | ($cond:expr { $($body:expr;)* }) => (::ast::If($cond, box ast_block! { $($body);* }, box ::ast::Noop)); [INFO] [stderr] 55 | | ($cond:expr { $($body:expr;)* } else { $($elsebody:expr;)* }) => (::ast::If($cond, box ast_block!{ $($body);* }, box ast_block! { $($elsebody);* })) [INFO] [stderr] 56 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 53 | macro_rules! ast_if { [INFO] [stderr] 54 | ($cond:expr { $($body:expr;)* }) => (::ast::If($cond, box ast_block! { $($body);* }, box ::ast::Noop)); [INFO] [stderr] 55 | ($cond:expr { $($body:expr;)* } else { $($elsebody:expr;)* }) => (::ast::If($cond, box ast_block!{ $($body);* }, box ast_block! { $($elsebody);* })) [INFO] [stderr] 56 | } [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 56 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/ast/mod.rs:59:24 [INFO] [stderr] | [INFO] [stderr] 59 | macro_rules! format_cmd( [INFO] [stderr] | ________________________^ [INFO] [stderr] 60 | | ([$($opts:ident)|*], $($arg:tt)*) => (::ast::Cmd(::ast::Raw(format!($($arg)*)), vec![$(::ast::$opts),*])); [INFO] [stderr] 61 | | ($($arg:tt)*) => (::ast::Cmd(::ast::Raw(format!($($arg)*)), vec![])) [INFO] [stderr] 62 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 59 | macro_rules! format_cmd{ [INFO] [stderr] 60 | ([$($opts:ident)|*], $($arg:tt)*) => (::ast::Cmd(::ast::Raw(format!($($arg)*)), vec![$(::ast::$opts),*])); [INFO] [stderr] 61 | ($($arg:tt)*) => (::ast::Cmd(::ast::Raw(format!($($arg)*)), vec![])) [INFO] [stderr] 62 | } [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 62 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/ast/mod.rs:65:17 [INFO] [stderr] | [INFO] [stderr] 65 | macro_rules! cmd( [INFO] [stderr] | _________________^ [INFO] [stderr] 66 | | ([$($opts:ident)|*], $cmd:expr) => (::ast::Cmd($cmd, vec![$(::ast::$opts),*])); [INFO] [stderr] 67 | | ($cmd:expr) => (::ast::Cmd($cmd, vec![])) [INFO] [stderr] 68 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 65 | macro_rules! cmd{ [INFO] [stderr] 66 | ([$($opts:ident)|*], $cmd:expr) => (::ast::Cmd($cmd, vec![$(::ast::$opts),*])); [INFO] [stderr] 67 | ($cmd:expr) => (::ast::Cmd($cmd, vec![])) [INFO] [stderr] 68 | } [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 68 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/ast/mod.rs:71:21 [INFO] [stderr] | [INFO] [stderr] 71 | macro_rules! ast_set( [INFO] [stderr] | _____________________^ [INFO] [stderr] 72 | | ($key:ident = $value:expr) => (cmd!(ast::Envset(stringify!($key).to_string(), $value))); [INFO] [stderr] 73 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 71 | macro_rules! ast_set{ [INFO] [stderr] 72 | ($key:ident = $value:expr) => (cmd!(ast::Envset(stringify!($key).to_string(), $value))); [INFO] [stderr] 73 | } [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 73 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/ast/mod.rs:88:23 [INFO] [stderr] | [INFO] [stderr] 88 | macro_rules! ast_block( [INFO] [stderr] | _______________________^ [INFO] [stderr] 89 | | { $($x:expr);* } => (::ast::Statements(box vec![$($x),*])); [INFO] [stderr] 90 | | { $($x:expr;)* } => (ast_block! { $($x);* }) [INFO] [stderr] 91 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 88 | macro_rules! ast_block{ [INFO] [stderr] 89 | { $($x:expr);* } => (::ast::Statements(box vec![$($x),*])); [INFO] [stderr] 90 | { $($x:expr;)* } => (ast_block! { $($x);* }) [INFO] [stderr] 91 | } [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 91 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/payload.rs:43:22 [INFO] [stderr] | [INFO] [stderr] 43 | macro_rules! json_to ( [INFO] [stderr] | ______________________^ [INFO] [stderr] 44 | | ($r:expr, String) => ($r.as_string()); [INFO] [stderr] 45 | | ($r:expr, bool) => ($r.as_boolean()); [INFO] [stderr] 46 | | ($r:expr, u64) => ($r.as_u64()); [INFO] [stderr] 47 | | ($r:expr, $t:ident) => (Some(try!($t::from_json($r)))); [INFO] [stderr] 48 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 43 | macro_rules! json_to { [INFO] [stderr] 44 | ($r:expr, String) => ($r.as_string()); [INFO] [stderr] 45 | ($r:expr, bool) => ($r.as_boolean()); [INFO] [stderr] 46 | ($r:expr, u64) => ($r.as_u64()); [INFO] [stderr] 47 | ($r:expr, $t:ident) => (Some(try!($t::from_json($r)))); [INFO] [stderr] 48 | } [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 48 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/payload.rs:50:23 [INFO] [stderr] | [INFO] [stderr] 50 | macro_rules! find_key ( [INFO] [stderr] | _______________________^ [INFO] [stderr] 51 | | ($j:expr, $t:ident, $key:expr) => (match $j.find(&*::std::string::as_string($key)) { [INFO] [stderr] 52 | | Some(v) => try!(json_to!(v, $t).ok_or(json::ApplicationError(format!("{} must be a string", $key)))), [INFO] [stderr] 53 | | None => return Err(json::MissingFieldError($key.to_string())), [INFO] [stderr] ... | [INFO] [stderr] 59 | | }); [INFO] [stderr] 60 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 50 | macro_rules! find_key { [INFO] [stderr] 51 | ($j:expr, $t:ident, $key:expr) => (match $j.find(&*::std::string::as_string($key)) { [INFO] [stderr] 52 | Some(v) => try!(json_to!(v, $t).ok_or(json::ApplicationError(format!("{} must be a string", $key)))), [INFO] [stderr] 53 | None => return Err(json::MissingFieldError($key.to_string())), [INFO] [stderr] 54 | }); [INFO] [stderr] 55 | ($j:expr, $t:ident, $key:expr, Optional) => (try!($j.find(&*::std::string::as_string($key)).map_or(Ok(None), |r| json_to!(r, $t).ok_or(json::ApplicationError(format!("{} must be a string", $key))).map(Some)))); [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 60 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error[E0463]: can't find crate for `serialize` [INFO] [stderr] --> src/lib.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | extern crate serialize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stderr] [INFO] [stderr] error: aborting due to 11 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0463, E0658. [INFO] [stderr] For more information about an error, try `rustc --explain E0463`. [INFO] [stderr] error: could not compile `travis_build`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0463]: can't find crate for `serialize` [INFO] [stderr] --> src/lib.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | extern crate serialize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stderr] [INFO] [stderr] error: aborting due to 11 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0463, E0658. [INFO] [stderr] For more information about an error, try `rustc --explain E0463`. [INFO] [stderr] error: could not compile `travis_build`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "e3e067ff1bd88daf9c7601c6552fd928376d02755ed48a2ff5dd976cdf42cf75"` [INFO] running `"docker" "rm" "-f" "e3e067ff1bd88daf9c7601c6552fd928376d02755ed48a2ff5dd976cdf42cf75"` [INFO] [stdout] e3e067ff1bd88daf9c7601c6552fd928376d02755ed48a2ff5dd976cdf42cf75