[INFO] updating cached repository pythonesque/project-euler [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/pythonesque/project-euler [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/pythonesque/project-euler" "work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/pythonesque/project-euler"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/pythonesque/project-euler'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/pythonesque/project-euler" "work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/pythonesque/project-euler"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/pythonesque/project-euler'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 7549bda092f1dad63abb732becda406ca994a3e5 [INFO] sha for GitHub repo pythonesque/project-euler: 7549bda092f1dad63abb732becda406ca994a3e5 [INFO] validating manifest of pythonesque/project-euler on toolchain master#60960a260f7b5c695fd0717311d72ce62dd4eb43 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of pythonesque/project-euler on toolchain try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing pythonesque/project-euler [INFO] finished frobbing pythonesque/project-euler [INFO] frobbed toml for pythonesque/project-euler written to work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/pythonesque/project-euler/Cargo.toml [INFO] started frobbing pythonesque/project-euler [INFO] finished frobbing pythonesque/project-euler [INFO] frobbed toml for pythonesque/project-euler written to work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/pythonesque/project-euler/Cargo.toml [INFO] crate pythonesque/project-euler already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking pythonesque/project-euler against try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 for pr-63376 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-63376/worker-6/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/pythonesque/project-euler:/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=forbid" "-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" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 1567ddbd8e75914537fd245e2ac546e412a50991f0d2a9dec701bdbd70913a1a [INFO] running `"docker" "start" "-a" "1567ddbd8e75914537fd245e2ac546e412a50991f0d2a9dec701bdbd70913a1a"` [INFO] [stderr] Checking project-euler v0.1.0 (/opt/crater/workdir) [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/sort.rs:26:27 [INFO] [stderr] | [INFO] [stderr] 26 | macro_rules! move_iterator( [INFO] [stderr] | ___________________________^ [INFO] [stderr] 27 | | ($x: expr, $y: expr) => ( [INFO] [stderr] 28 | | for (a, b) in $x.mut_iter().zip($y) { [INFO] [stderr] 29 | | *a = b [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | ) [INFO] [stderr] 32 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 26 | macro_rules! move_iterator { [INFO] [stderr] 27 | ($x: expr, $y: expr) => ( [INFO] [stderr] 28 | for (a, b) in $x.mut_iter().zip($y) { [INFO] [stderr] 29 | *a = b [INFO] [stderr] 30 | } [INFO] [stderr] 31 | ) [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 32 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: invalid suffix `u` for integer literal [INFO] [stderr] --> src/digit.rs:236:50 [INFO] [stderr] | [INFO] [stderr] 236 | let (mut carry1, mut carry0, mut sum) = (0u, Digit(0), Digit(0)); [INFO] [stderr] | ^^ invalid suffix `u` [INFO] [stderr] | [INFO] [stderr] = help: the suffix must be one of the integral types (`u32`, `isize`, etc) [INFO] [stderr] [INFO] [stderr] error: invalid suffix `u` for integer literal [INFO] [stderr] --> src/digit.rs:239:28 [INFO] [stderr] | [INFO] [stderr] 239 | for i in range(0u, max(1, llen) + slen - 1) { [INFO] [stderr] | ^^ invalid suffix `u` [INFO] [stderr] | [INFO] [stderr] = help: the suffix must be one of the integral types (`u32`, `isize`, etc) [INFO] [stderr] [INFO] [stderr] error: invalid suffix `u` for integer literal [INFO] [stderr] --> src/math.rs:16:14 [INFO] [stderr] | [INFO] [stderr] 16 | min: 0u, [INFO] [stderr] | ^^ invalid suffix `u` [INFO] [stderr] | [INFO] [stderr] = help: the suffix must be one of the integral types (`u32`, `isize`, etc) [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/problems/mod.rs:4:27 [INFO] [stderr] | [INFO] [stderr] 4 | macro_rules! euler_problem( [INFO] [stderr] | ___________________________^ [INFO] [stderr] 5 | | ($hash:expr, $writer:ident, $body: block) => ( [INFO] [stderr] 6 | | pub fn run($writer: &mut T) -> ::std::io::IoResult<()> { [INFO] [stderr] 7 | | $body [INFO] [stderr] ... | [INFO] [stderr] 56 | | ) [INFO] [stderr] 57 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 4 | macro_rules! euler_problem { [INFO] [stderr] 5 | ($hash:expr, $writer:ident, $body: block) => ( [INFO] [stderr] 6 | pub fn run($writer: &mut T) -> ::std::io::IoResult<()> { [INFO] [stderr] 7 | $body [INFO] [stderr] 8 | } [INFO] [stderr] 9 | [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 57 | ); [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/problems/p1.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem!(b"e1edf9d1967ca96767dcc2b2d6df69f4", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 4 | | let res = range(0, 1000u) [INFO] [stderr] 5 | | .filter( |i| i % 3 == 0 || i % 5 == 0) [INFO] [stderr] 6 | | .sum(); [INFO] [stderr] 7 | | write!(w, "{}", res) [INFO] [stderr] 8 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem! {b"e1edf9d1967ca96767dcc2b2d6df69f4", w, { [INFO] [stderr] 4 | let res = range(0, 1000u) [INFO] [stderr] 5 | .filter( |i| i % 3 == 0 || i % 5 == 0) [INFO] [stderr] 6 | .sum(); [INFO] [stderr] 7 | write!(w, "{}", res) [INFO] [stderr] 8 | }} [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 8 | }); [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/problems/p2.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem!(b"4194eb91842c8e7e6df099ca73c38f28", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 4 | | let (mut fib_i, mut fib_j) = (1, 2); [INFO] [stderr] 5 | | let mut sum_even = 0; [INFO] [stderr] 6 | | while fib_i <= 4_000_000u { [INFO] [stderr] ... | [INFO] [stderr] 13 | | write!(w, "{}", sum_even) [INFO] [stderr] 14 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem! {b"4194eb91842c8e7e6df099ca73c38f28", w, { [INFO] [stderr] 4 | let (mut fib_i, mut fib_j) = (1, 2); [INFO] [stderr] 5 | let mut sum_even = 0; [INFO] [stderr] 6 | while fib_i <= 4_000_000u { [INFO] [stderr] 7 | if fib_i % 2 == 0 { [INFO] [stderr] 8 | sum_even += fib_i [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 14 | }); [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/problems/p3.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem!(b"94c4dd41f9dddce696557d3717d98d82", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 4 | | let mut n = 600_851_475_143; [INFO] [stderr] 5 | | let max_prime_factor = (n as f64).sqrt() as uint; [INFO] [stderr] 6 | | for prime in sieve(max_prime_factor) { [INFO] [stderr] ... | [INFO] [stderr] 15 | | Ok(()) [INFO] [stderr] 16 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem! {b"94c4dd41f9dddce696557d3717d98d82", w, { [INFO] [stderr] 4 | let mut n = 600_851_475_143; [INFO] [stderr] 5 | let max_prime_factor = (n as f64).sqrt() as uint; [INFO] [stderr] 6 | for prime in sieve(max_prime_factor) { [INFO] [stderr] 7 | while n % prime == 0 { [INFO] [stderr] 8 | n /= prime; [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 16 | }); [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/problems/p4.rs:1:15 [INFO] [stderr] | [INFO] [stderr] 1 | euler_problem!(b"d4cfc27d16ea72a96b83d9bdef6ce2ec", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 2 | | // Assuming the *largest* palindrome will have at least 6 digits [INFO] [stderr] 3 | | let min = 99_999f64.sqrt() as u32 + 1; [INFO] [stderr] 4 | | let mut max = 0; [INFO] [stderr] ... | [INFO] [stderr] 27 | | write!(w, "{}", max) [INFO] [stderr] 28 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 1 | euler_problem! {b"d4cfc27d16ea72a96b83d9bdef6ce2ec", w, { [INFO] [stderr] 2 | // Assuming the *largest* palindrome will have at least 6 digits [INFO] [stderr] 3 | let min = 99_999f64.sqrt() as u32 + 1; [INFO] [stderr] 4 | let mut max = 0; [INFO] [stderr] 5 | // (Very) brute force [INFO] [stderr] 6 | for i in range(min, 999) { [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 28 | }); [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/problems/p5.rs:1:15 [INFO] [stderr] | [INFO] [stderr] 1 | euler_problem!(b"bc0d0a22a7a46212135ed0ba77d22f3a", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 2 | | // This problem doesn't really require a computer... [INFO] [stderr] 3 | | // 1, 2, 3, 2^2, 5, 2*3, 7, 2^3, 3^2, 2*5, 11, 2^2*3, 13, 2*7, 3*5, 2^4, 17, 2*3^2, 19, 2^2 * 5 [INFO] [stderr] 4 | | // 2 3 2 5 7 2 3 11 13 2 17 19 [INFO] [stderr] 5 | | write!(w, "{}", 2u * 3 * 2 * 5 * 7 * 2 * 3 * 11 * 13 * 2 * 17 * 19) [INFO] [stderr] 6 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 1 | euler_problem! {b"bc0d0a22a7a46212135ed0ba77d22f3a", w, { [INFO] [stderr] 2 | // This problem doesn't really require a computer... [INFO] [stderr] 3 | // 1, 2, 3, 2^2, 5, 2*3, 7, 2^3, 3^2, 2*5, 11, 2^2*3, 13, 2*7, 3*5, 2^4, 17, 2*3^2, 19, 2^2 * 5 [INFO] [stderr] 4 | // 2 3 2 5 7 2 3 11 13 2 17 19 [INFO] [stderr] 5 | write!(w, "{}", 2u * 3 * 2 * 5 * 7 * 2 * 3 * 11 * 13 * 2 * 17 * 19) [INFO] [stderr] 6 | }} [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 6 | }); [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/problems/p6.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem!(b"867380888952c39a131fe1d832246ecc", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 4 | | static max: i64 = 100; [INFO] [stderr] 5 | | let sum_squares = range_inclusive(1, max).map( |x| x * x).sum(); [INFO] [stderr] 6 | | let range_sum = max * (max + 1) / 2; [INFO] [stderr] 7 | | let square_sum = range_sum * range_sum; [INFO] [stderr] 8 | | write!(w, "{}", square_sum - sum_squares) [INFO] [stderr] 9 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem! {b"867380888952c39a131fe1d832246ecc", w, { [INFO] [stderr] 4 | static max: i64 = 100; [INFO] [stderr] 5 | let sum_squares = range_inclusive(1, max).map( |x| x * x).sum(); [INFO] [stderr] 6 | let range_sum = max * (max + 1) / 2; [INFO] [stderr] 7 | let square_sum = range_sum * range_sum; [INFO] [stderr] 8 | write!(w, "{}", square_sum - sum_squares) [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 9 | }); [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/problems/p7.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem!(b"8c32ab09ec0210af60d392e9b2009560", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 4 | | let mut n = 10_001u16; [INFO] [stderr] 5 | | for prime in sieve(1_000_000/* guess at upper bound */) { [INFO] [stderr] 6 | | n -= 1; [INFO] [stderr] ... | [INFO] [stderr] 12 | | Ok(()) [INFO] [stderr] 13 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem! {b"8c32ab09ec0210af60d392e9b2009560", w, { [INFO] [stderr] 4 | let mut n = 10_001u16; [INFO] [stderr] 5 | for prime in sieve(1_000_000/* guess at upper bound */) { [INFO] [stderr] 6 | n -= 1; [INFO] [stderr] 7 | if n == 0 { [INFO] [stderr] 8 | try!(write!(w, "{}", prime)) [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 13 | }); [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/problems/p8.rs:1:15 [INFO] [stderr] | [INFO] [stderr] 1 | euler_problem!(b"0f53ea7949d32ef24f9186207600403c", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 2 | | static digits: &'static str = concat!( [INFO] [stderr] 3 | | "73167176531330624919225119674426574742355349194934", [INFO] [stderr] 4 | | "96983520312774506326239578318016984801869478851843", [INFO] [stderr] ... | [INFO] [stderr] 40 | | write!(w, "{}", max) [INFO] [stderr] 41 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 1 | euler_problem! {b"0f53ea7949d32ef24f9186207600403c", w, { [INFO] [stderr] 2 | static digits: &'static str = concat!( [INFO] [stderr] 3 | "73167176531330624919225119674426574742355349194934", [INFO] [stderr] 4 | "96983520312774506326239578318016984801869478851843", [INFO] [stderr] 5 | "85861560789112949495459501737958331952853208805511", [INFO] [stderr] 6 | "12540698747158523863050715693290963295227443043557", [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 41 | }); [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/problems/p9.rs:1:15 [INFO] [stderr] | [INFO] [stderr] 1 | euler_problem!(b"24eaa9820350012ff678de47cb85b639", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 2 | | // (1) c <= a + b (triangle inequality) [INFO] [stderr] 3 | | // (2) 2c <= a + b + c = 1000 [INFO] [stderr] 4 | | // (3) c <= 500 [INFO] [stderr] ... | [INFO] [stderr] 16 | | Ok(()) [INFO] [stderr] 17 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 1 | euler_problem! {b"24eaa9820350012ff678de47cb85b639", w, { [INFO] [stderr] 2 | // (1) c <= a + b (triangle inequality) [INFO] [stderr] 3 | // (2) 2c <= a + b + c = 1000 [INFO] [stderr] 4 | // (3) c <= 500 [INFO] [stderr] 5 | for c in range(0, 500u32) { [INFO] [stderr] 6 | for b in range(0, 1000 - c) { [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 17 | }); [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/problems/p10.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | euler_problem!(b"d915b2a9ac8749a6b837404815f1ae25", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 5 | | static max: uint = 2_000_000; [INFO] [stderr] 6 | | let sum_primes = sieve(max - 1).sum(); [INFO] [stderr] 7 | | write!(w, "{}", sum_primes) [INFO] [stderr] 8 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 4 | euler_problem! {b"d915b2a9ac8749a6b837404815f1ae25", w, { [INFO] [stderr] 5 | static max: uint = 2_000_000; [INFO] [stderr] 6 | let sum_primes = sieve(max - 1).sum(); [INFO] [stderr] 7 | write!(w, "{}", sum_primes) [INFO] [stderr] 8 | }} [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 8 | }); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of `!`, `(`, `+`, `::`, `;`, `<`, or `]`, found `,` [INFO] [stderr] --> src/problems/p11.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | static grid: [u8, ..400] = [ [INFO] [stderr] | ^ expected one of 7 possible tokens here [INFO] [stderr] [INFO] [stderr] error: aborting due to 16 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `project-euler`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/sort.rs:26:27 [INFO] [stderr] | [INFO] [stderr] 26 | macro_rules! move_iterator( [INFO] [stderr] | ___________________________^ [INFO] [stderr] 27 | | ($x: expr, $y: expr) => ( [INFO] [stderr] 28 | | for (a, b) in $x.mut_iter().zip($y) { [INFO] [stderr] 29 | | *a = b [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | ) [INFO] [stderr] 32 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 26 | macro_rules! move_iterator { [INFO] [stderr] 27 | ($x: expr, $y: expr) => ( [INFO] [stderr] 28 | for (a, b) in $x.mut_iter().zip($y) { [INFO] [stderr] 29 | *a = b [INFO] [stderr] 30 | } [INFO] [stderr] 31 | ) [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 32 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: invalid suffix `u` for integer literal [INFO] [stderr] --> src/digit.rs:236:50 [INFO] [stderr] | [INFO] [stderr] 236 | let (mut carry1, mut carry0, mut sum) = (0u, Digit(0), Digit(0)); [INFO] [stderr] | ^^ invalid suffix `u` [INFO] [stderr] | [INFO] [stderr] = help: the suffix must be one of the integral types (`u32`, `isize`, etc) [INFO] [stderr] [INFO] [stderr] error: invalid suffix `u` for integer literal [INFO] [stderr] --> src/digit.rs:239:28 [INFO] [stderr] | [INFO] [stderr] 239 | for i in range(0u, max(1, llen) + slen - 1) { [INFO] [stderr] | ^^ invalid suffix `u` [INFO] [stderr] | [INFO] [stderr] = help: the suffix must be one of the integral types (`u32`, `isize`, etc) [INFO] [stderr] [INFO] [stderr] error: invalid suffix `u` for integer literal [INFO] [stderr] --> src/math.rs:16:14 [INFO] [stderr] | [INFO] [stderr] 16 | min: 0u, [INFO] [stderr] | ^^ invalid suffix `u` [INFO] [stderr] | [INFO] [stderr] = help: the suffix must be one of the integral types (`u32`, `isize`, etc) [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/problems/mod.rs:4:27 [INFO] [stderr] | [INFO] [stderr] 4 | macro_rules! euler_problem( [INFO] [stderr] | ___________________________^ [INFO] [stderr] 5 | | ($hash:expr, $writer:ident, $body: block) => ( [INFO] [stderr] 6 | | pub fn run($writer: &mut T) -> ::std::io::IoResult<()> { [INFO] [stderr] 7 | | $body [INFO] [stderr] ... | [INFO] [stderr] 56 | | ) [INFO] [stderr] 57 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 4 | macro_rules! euler_problem { [INFO] [stderr] 5 | ($hash:expr, $writer:ident, $body: block) => ( [INFO] [stderr] 6 | pub fn run($writer: &mut T) -> ::std::io::IoResult<()> { [INFO] [stderr] 7 | $body [INFO] [stderr] 8 | } [INFO] [stderr] 9 | [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 57 | ); [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/problems/p1.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem!(b"e1edf9d1967ca96767dcc2b2d6df69f4", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 4 | | let res = range(0, 1000u) [INFO] [stderr] 5 | | .filter( |i| i % 3 == 0 || i % 5 == 0) [INFO] [stderr] 6 | | .sum(); [INFO] [stderr] 7 | | write!(w, "{}", res) [INFO] [stderr] 8 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem! {b"e1edf9d1967ca96767dcc2b2d6df69f4", w, { [INFO] [stderr] 4 | let res = range(0, 1000u) [INFO] [stderr] 5 | .filter( |i| i % 3 == 0 || i % 5 == 0) [INFO] [stderr] 6 | .sum(); [INFO] [stderr] 7 | write!(w, "{}", res) [INFO] [stderr] 8 | }} [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 8 | }); [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/problems/p2.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem!(b"4194eb91842c8e7e6df099ca73c38f28", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 4 | | let (mut fib_i, mut fib_j) = (1, 2); [INFO] [stderr] 5 | | let mut sum_even = 0; [INFO] [stderr] 6 | | while fib_i <= 4_000_000u { [INFO] [stderr] ... | [INFO] [stderr] 13 | | write!(w, "{}", sum_even) [INFO] [stderr] 14 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem! {b"4194eb91842c8e7e6df099ca73c38f28", w, { [INFO] [stderr] 4 | let (mut fib_i, mut fib_j) = (1, 2); [INFO] [stderr] 5 | let mut sum_even = 0; [INFO] [stderr] 6 | while fib_i <= 4_000_000u { [INFO] [stderr] 7 | if fib_i % 2 == 0 { [INFO] [stderr] 8 | sum_even += fib_i [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 14 | }); [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/problems/p3.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem!(b"94c4dd41f9dddce696557d3717d98d82", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 4 | | let mut n = 600_851_475_143; [INFO] [stderr] 5 | | let max_prime_factor = (n as f64).sqrt() as uint; [INFO] [stderr] 6 | | for prime in sieve(max_prime_factor) { [INFO] [stderr] ... | [INFO] [stderr] 15 | | Ok(()) [INFO] [stderr] 16 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem! {b"94c4dd41f9dddce696557d3717d98d82", w, { [INFO] [stderr] 4 | let mut n = 600_851_475_143; [INFO] [stderr] 5 | let max_prime_factor = (n as f64).sqrt() as uint; [INFO] [stderr] 6 | for prime in sieve(max_prime_factor) { [INFO] [stderr] 7 | while n % prime == 0 { [INFO] [stderr] 8 | n /= prime; [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 16 | }); [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/problems/p4.rs:1:15 [INFO] [stderr] | [INFO] [stderr] 1 | euler_problem!(b"d4cfc27d16ea72a96b83d9bdef6ce2ec", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 2 | | // Assuming the *largest* palindrome will have at least 6 digits [INFO] [stderr] 3 | | let min = 99_999f64.sqrt() as u32 + 1; [INFO] [stderr] 4 | | let mut max = 0; [INFO] [stderr] ... | [INFO] [stderr] 27 | | write!(w, "{}", max) [INFO] [stderr] 28 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 1 | euler_problem! {b"d4cfc27d16ea72a96b83d9bdef6ce2ec", w, { [INFO] [stderr] 2 | // Assuming the *largest* palindrome will have at least 6 digits [INFO] [stderr] 3 | let min = 99_999f64.sqrt() as u32 + 1; [INFO] [stderr] 4 | let mut max = 0; [INFO] [stderr] 5 | // (Very) brute force [INFO] [stderr] 6 | for i in range(min, 999) { [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 28 | }); [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/problems/p5.rs:1:15 [INFO] [stderr] | [INFO] [stderr] 1 | euler_problem!(b"bc0d0a22a7a46212135ed0ba77d22f3a", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 2 | | // This problem doesn't really require a computer... [INFO] [stderr] 3 | | // 1, 2, 3, 2^2, 5, 2*3, 7, 2^3, 3^2, 2*5, 11, 2^2*3, 13, 2*7, 3*5, 2^4, 17, 2*3^2, 19, 2^2 * 5 [INFO] [stderr] 4 | | // 2 3 2 5 7 2 3 11 13 2 17 19 [INFO] [stderr] 5 | | write!(w, "{}", 2u * 3 * 2 * 5 * 7 * 2 * 3 * 11 * 13 * 2 * 17 * 19) [INFO] [stderr] 6 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 1 | euler_problem! {b"bc0d0a22a7a46212135ed0ba77d22f3a", w, { [INFO] [stderr] 2 | // This problem doesn't really require a computer... [INFO] [stderr] 3 | // 1, 2, 3, 2^2, 5, 2*3, 7, 2^3, 3^2, 2*5, 11, 2^2*3, 13, 2*7, 3*5, 2^4, 17, 2*3^2, 19, 2^2 * 5 [INFO] [stderr] 4 | // 2 3 2 5 7 2 3 11 13 2 17 19 [INFO] [stderr] 5 | write!(w, "{}", 2u * 3 * 2 * 5 * 7 * 2 * 3 * 11 * 13 * 2 * 17 * 19) [INFO] [stderr] 6 | }} [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 6 | }); [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/problems/p6.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem!(b"867380888952c39a131fe1d832246ecc", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 4 | | static max: i64 = 100; [INFO] [stderr] 5 | | let sum_squares = range_inclusive(1, max).map( |x| x * x).sum(); [INFO] [stderr] 6 | | let range_sum = max * (max + 1) / 2; [INFO] [stderr] 7 | | let square_sum = range_sum * range_sum; [INFO] [stderr] 8 | | write!(w, "{}", square_sum - sum_squares) [INFO] [stderr] 9 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem! {b"867380888952c39a131fe1d832246ecc", w, { [INFO] [stderr] 4 | static max: i64 = 100; [INFO] [stderr] 5 | let sum_squares = range_inclusive(1, max).map( |x| x * x).sum(); [INFO] [stderr] 6 | let range_sum = max * (max + 1) / 2; [INFO] [stderr] 7 | let square_sum = range_sum * range_sum; [INFO] [stderr] 8 | write!(w, "{}", square_sum - sum_squares) [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 9 | }); [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/problems/p7.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem!(b"8c32ab09ec0210af60d392e9b2009560", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 4 | | let mut n = 10_001u16; [INFO] [stderr] 5 | | for prime in sieve(1_000_000/* guess at upper bound */) { [INFO] [stderr] 6 | | n -= 1; [INFO] [stderr] ... | [INFO] [stderr] 12 | | Ok(()) [INFO] [stderr] 13 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 3 | euler_problem! {b"8c32ab09ec0210af60d392e9b2009560", w, { [INFO] [stderr] 4 | let mut n = 10_001u16; [INFO] [stderr] 5 | for prime in sieve(1_000_000/* guess at upper bound */) { [INFO] [stderr] 6 | n -= 1; [INFO] [stderr] 7 | if n == 0 { [INFO] [stderr] 8 | try!(write!(w, "{}", prime)) [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 13 | }); [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/problems/p8.rs:1:15 [INFO] [stderr] | [INFO] [stderr] 1 | euler_problem!(b"0f53ea7949d32ef24f9186207600403c", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 2 | | static digits: &'static str = concat!( [INFO] [stderr] 3 | | "73167176531330624919225119674426574742355349194934", [INFO] [stderr] 4 | | "96983520312774506326239578318016984801869478851843", [INFO] [stderr] ... | [INFO] [stderr] 40 | | write!(w, "{}", max) [INFO] [stderr] 41 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 1 | euler_problem! {b"0f53ea7949d32ef24f9186207600403c", w, { [INFO] [stderr] 2 | static digits: &'static str = concat!( [INFO] [stderr] 3 | "73167176531330624919225119674426574742355349194934", [INFO] [stderr] 4 | "96983520312774506326239578318016984801869478851843", [INFO] [stderr] 5 | "85861560789112949495459501737958331952853208805511", [INFO] [stderr] 6 | "12540698747158523863050715693290963295227443043557", [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 41 | }); [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/problems/p9.rs:1:15 [INFO] [stderr] | [INFO] [stderr] 1 | euler_problem!(b"24eaa9820350012ff678de47cb85b639", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 2 | | // (1) c <= a + b (triangle inequality) [INFO] [stderr] 3 | | // (2) 2c <= a + b + c = 1000 [INFO] [stderr] 4 | | // (3) c <= 500 [INFO] [stderr] ... | [INFO] [stderr] 16 | | Ok(()) [INFO] [stderr] 17 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 1 | euler_problem! {b"24eaa9820350012ff678de47cb85b639", w, { [INFO] [stderr] 2 | // (1) c <= a + b (triangle inequality) [INFO] [stderr] 3 | // (2) 2c <= a + b + c = 1000 [INFO] [stderr] 4 | // (3) c <= 500 [INFO] [stderr] 5 | for c in range(0, 500u32) { [INFO] [stderr] 6 | for b in range(0, 1000 - c) { [INFO] [stderr] ... [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 17 | }); [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/problems/p10.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | euler_problem!(b"d915b2a9ac8749a6b837404815f1ae25", w, { [INFO] [stderr] | _______________^ [INFO] [stderr] 5 | | static max: uint = 2_000_000; [INFO] [stderr] 6 | | let sum_primes = sieve(max - 1).sum(); [INFO] [stderr] 7 | | write!(w, "{}", sum_primes) [INFO] [stderr] 8 | | }) [INFO] [stderr] | |__^ [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 4 | euler_problem! {b"d915b2a9ac8749a6b837404815f1ae25", w, { [INFO] [stderr] 5 | static max: uint = 2_000_000; [INFO] [stderr] 6 | let sum_primes = sieve(max - 1).sum(); [INFO] [stderr] 7 | write!(w, "{}", sum_primes) [INFO] [stderr] 8 | }} [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 8 | }); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of `!`, `(`, `+`, `::`, `;`, `<`, or `]`, found `,` [INFO] [stderr] --> src/problems/p11.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | static grid: [u8, ..400] = [ [INFO] [stderr] | ^ expected one of 7 possible tokens here [INFO] [stderr] [INFO] [stderr] error: aborting due to 16 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `project-euler`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "1567ddbd8e75914537fd245e2ac546e412a50991f0d2a9dec701bdbd70913a1a"` [INFO] running `"docker" "rm" "-f" "1567ddbd8e75914537fd245e2ac546e412a50991f0d2a9dec701bdbd70913a1a"` [INFO] [stdout] 1567ddbd8e75914537fd245e2ac546e412a50991f0d2a9dec701bdbd70913a1a