[INFO] cloning repository https://github.com/MJJBennett/cardgame
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MJJBennett/cardgame" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMJJBennett%2Fcardgame", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMJJBennett%2Fcardgame'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9961e8219f93aeaa02935f44cc129de023c134c0
[INFO] documenting MJJBennett/cardgame against beta-2020-10-09 for beta-1.48-rustdoc-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMJJBennett%2Fcardgame" "/workspace/builds/worker-4/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/MJJBennett/cardgame on toolchain beta-2020-10-09
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/MJJBennett/cardgame
[INFO] finished tweaking git repo https://github.com/MJJBennett/cardgame
[INFO] tweaked toml for git repo https://github.com/MJJBennett/cardgame written to /workspace/builds/worker-4/source/Cargo.toml
[INFO] crate git repo https://github.com/MJJBennett/cardgame already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded nb-connect v1.0.2
[INFO] [stderr]   Downloaded wepoll-sys v3.0.0
[INFO] [stderr]   Downloaded polling v2.0.1
[INFO] [stderr]   Downloaded async-io v1.1.10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a9b385ff210da2fb291c608f552654689b20f23d0cbb19a744935b5f682ba9ed
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "a9b385ff210da2fb291c608f552654689b20f23d0cbb19a744935b5f682ba9ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a9b385ff210da2fb291c608f552654689b20f23d0cbb19a744935b5f682ba9ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a9b385ff210da2fb291c608f552654689b20f23d0cbb19a744935b5f682ba9ed", kill_on_drop: false }`
[INFO] [stdout] a9b385ff210da2fb291c608f552654689b20f23d0cbb19a744935b5f682ba9ed
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9fd6061765f37eb99f5dccae779e9ce5e9535ff63000af4f0cacda1a51f725cf
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "9fd6061765f37eb99f5dccae779e9ce5e9535ff63000af4f0cacda1a51f725cf", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Checking urlencoding v1.1.1
[INFO] [stderr]     Checking headers-core v0.2.0
[INFO] [stderr]     Checking tracing v0.1.21
[INFO] [stderr]     Checking polling v2.0.1
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling gl_generator v0.10.0
[INFO] [stderr]     Checking serde_json v1.0.59
[INFO] [stderr]     Checking twoway v0.1.8
[INFO] [stderr]     Checking mio v0.6.22
[INFO] [stderr]     Checking async-executor v1.3.0
[INFO] [stderr]     Checking blocking v1.0.2
[INFO] [stderr]    Compiling async-trait v0.1.41
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking serde_urlencoded v0.6.1
[INFO] [stderr]     Checking pistoncore-input v1.0.0
[INFO] [stderr]     Checking futures-util v0.3.6
[INFO] [stderr]     Checking tungstenite v0.11.1
[INFO] [stderr]     Checking headers v0.3.2
[INFO] [stderr]     Checking multipart v0.17.0
[INFO] [stderr]     Checking tracing-futures v0.2.4
[INFO] [stderr]     Checking smithay-client-toolkit v0.4.6
[INFO] [stderr]     Checking async-io v1.1.10
[INFO] [stderr]    Compiling structopt-derive v0.4.13
[INFO] [stderr]     Checking async-global-executor v1.3.0
[INFO] [stderr]     Checking tokio v0.2.22
[INFO] [stderr]     Checking async-std v1.6.5
[INFO] [stderr]    Compiling gl v0.11.0
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.5
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.7
[INFO] [stderr]     Checking winit v0.19.5
[INFO] [stderr]     Checking pistoncore-window v0.47.0
[INFO] [stderr]     Checking pistoncore-event_loop v0.52.0
[INFO] [stderr]     Checking piston v0.52.0
[INFO] [stderr]     Checking structopt v0.3.20
[INFO] [stderr]     Checking glutin v0.21.2
[INFO] [stderr]     Checking futures v0.3.6
[INFO] [stderr]     Checking tokio-util v0.3.1
[INFO] [stderr]     Checking tokio-tungstenite v0.11.0
[INFO] [stderr]     Checking h2 v0.2.6
[INFO] [stderr]     Checking piston2d-opengl_graphics v0.74.0
[INFO] [stderr]     Checking pistoncore-glutin_window v0.66.0
[INFO] [stderr]     Checking hyper v0.13.8
[INFO] [stderr]     Checking warp v0.2.5
[INFO] [stderr]     Checking cardgame v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]  Documenting cardgame v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected identifier, found keyword `Self`
[INFO] [stdout]   --> src/game.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Self,
[INFO] [stdout]    |     ^^^^ expected identifier, found keyword
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected item, found `;`
[INFO] [stdout]   --> src/game.rs:31:2
[INFO] [stdout]    |
[INFO] [stdout] 31 | };
[INFO] [stdout]    |  ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = help: braced struct declarations are not followed by a semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected item, found `;`
[INFO] [stdout]   --> src/game.rs:37:2
[INFO] [stdout]    |
[INFO] [stdout] 37 | };
[INFO] [stdout]    |  ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = help: braced struct declarations are not followed by a semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found keyword `Self`
[INFO] [stdout]   --> src/game.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Self,
[INFO] [stdout]    |     ^^^^ expected identifier, found keyword
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected item, found `;`
[INFO] [stdout]   --> src/game.rs:31:2
[INFO] [stdout]    |
[INFO] [stdout] 31 | };
[INFO] [stdout]    |  ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = help: braced struct declarations are not followed by a semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected item, found `;`
[INFO] [stdout]   --> src/game.rs:37:2
[INFO] [stdout]    |
[INFO] [stdout] 37 | };
[INFO] [stdout]    |  ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = help: braced struct declarations are not followed by a semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: unnecessary visibility qualifier
[INFO] [stdout]   --> src/game.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub impl GameRules {
[INFO] [stdout]    | ^^^ `pub` not permitted here because it's implied
[INFO] [stdout]    |
[INFO] [stdout]    = note: place qualifiers on individual impl items instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: unnecessary visibility qualifier
[INFO] [stdout]   --> src/game.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub impl GameRules {
[INFO] [stdout]    | ^^^ `pub` not permitted here because it's implied
[INFO] [stdout]    |
[INFO] [stdout]    = note: place qualifiers on individual impl items instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> src/game.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Serialize, Deserialize};
[INFO] [stdout]   |     ^^^^^ use of undeclared crate or module `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Serialize`
[INFO] [stdout]  --> src/game.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Deserialize`
[INFO] [stdout]  --> src/game.rs:8:28
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Serialize`
[INFO] [stdout]   --> src/game.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Deserialize`
[INFO] [stdout]   --> src/game.rs:17:28
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Serialize`
[INFO] [stdout]   --> src/game.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Deserialize`
[INFO] [stdout]   --> src/game.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Serialize`
[INFO] [stdout]   --> src/game.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Deserialize`
[INFO] [stdout]   --> src/game.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Serialize`
[INFO] [stdout]   --> src/game.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Deserialize`
[INFO] [stdout]   --> src/game.rs:43:28
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: `Self` in paths can only be used in start position
[INFO] [stdout]   --> src/game.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Self,
[INFO] [stdout]    |     ^^^^ `Self` in paths can only be used in start position
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Optional` in this scope
[INFO] [stdout]    --> src/game.rs:28:11
[INFO] [stdout]     |
[INFO] [stdout] 28  |       cost: Optional<i16>,
[INFO] [stdout]     |             ^^^^^^^^ help: an enum with a similar name exists: `Option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `structopt::StructOpt`
[INFO] [stdout]  --> src/game.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use structopt::StructOpt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/game.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, BufReader};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> src/game.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Serialize, Deserialize};
[INFO] [stdout]   |     ^^^^^ use of undeclared crate or module `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Serialize`
[INFO] [stdout]  --> src/game.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Deserialize`
[INFO] [stdout]  --> src/game.rs:8:28
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Serialize`
[INFO] [stdout]   --> src/game.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Deserialize`
[INFO] [stdout]   --> src/game.rs:17:28
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Serialize`
[INFO] [stdout]   --> src/game.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Deserialize`
[INFO] [stdout]   --> src/game.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Serialize`
[INFO] [stdout]   --> src/game.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Deserialize`
[INFO] [stdout]   --> src/game.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Serialize`
[INFO] [stdout]   --> src/game.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the derive macro `Deserialize`
[INFO] [stdout]   --> src/game.rs:43:28
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Optional` in this scope
[INFO] [stdout]    --> src/game.rs:28:11
[INFO] [stdout]     |
[INFO] [stdout] 28  |       cost: Optional<i16>,
[INFO] [stdout]     |             ^^^^^^^^ help: an enum with a similar name exists: `Option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: Compilation failed, aborting rustdoc
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0432, E0449.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] 
[INFO] [stderr] error: could not document `cardgame`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `rustdoc --edition=2018 --crate-type lib --crate-name cardgame src/lib.rs -o /opt/rustwide/target/doc --error-format=json --json=diagnostic-rendered-ansi --document-private-items -L dependency=/opt/rustwide/target/debug/deps --extern async_std=/opt/rustwide/target/debug/deps/libasync_std-d45a04870568ae5d.rmeta --extern async_trait=/opt/rustwide/target/debug/deps/libasync_trait-6bffa51ad39d7022.so --extern piston=/opt/rustwide/target/debug/deps/libpiston-1a4c7cdddc949775.rmeta --extern graphics=/opt/rustwide/target/debug/deps/libgraphics-1f0f0992174ff3fe.rmeta --extern opengl_graphics=/opt/rustwide/target/debug/deps/libopengl_graphics-f943a0133b71aea7.rmeta --extern glutin_window=/opt/rustwide/target/debug/deps/libglutin_window-166bee4394f57818.rmeta --extern structopt=/opt/rustwide/target/debug/deps/libstructopt-834f61b4a1776e91.rmeta --extern warp=/opt/rustwide/target/debug/deps/libwarp-3c5f2ae4bfb55ba7.rmeta --cap-lints=warn --crate-version 0.1.1` (exit code: 1)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `Try`)
[INFO] [stdout]   --> src/game.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 53 | /     pub fn from(filename: String) -> GameRules {
[INFO] [stdout] 54 | |         let file = File::open(filename)?;
[INFO] [stdout]    | |                    ^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a method that returns `GameRules`
[INFO] [stdout] 55 | |         let reader = BufReader::new(file);
[INFO] [stdout] 56 | |
[INFO] [stdout] 57 | |     }
[INFO] [stdout]    | |_____- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Try` is not implemented for `GameRules`
[INFO] [stdout]    = note: required by `from_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game.rs:53:38
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn from(filename: String) -> GameRules {
[INFO] [stdout]    |            ----                      ^^^^^^^^^ expected struct `GameRules`, found `()`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 19 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0412, E0432, E0433, E0449.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "9fd6061765f37eb99f5dccae779e9ce5e9535ff63000af4f0cacda1a51f725cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9fd6061765f37eb99f5dccae779e9ce5e9535ff63000af4f0cacda1a51f725cf", kill_on_drop: false }`
[INFO] [stdout] 9fd6061765f37eb99f5dccae779e9ce5e9535ff63000af4f0cacda1a51f725cf
