[INFO] cloning repository https://github.com/cdepillabout/saabanto
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cdepillabout/saabanto" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcdepillabout%2Fsaabanto", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcdepillabout%2Fsaabanto'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 27dbbded76cb708c30c14194ece33eaa2ae44fd0
[INFO] checking cdepillabout/saabanto against try#df1b9bf194c9183fb7c0604484171064069ce232 for pr-149195-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcdepillabout%2Fsaabanto" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cdepillabout/saabanto
[INFO] finished tweaking git repo https://github.com/cdepillabout/saabanto
[INFO] tweaked toml for git repo https://github.com/cdepillabout/saabanto written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cdepillabout/saabanto on toolchain df1b9bf194c9183fb7c0604484171064069ce232
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+df1b9bf194c9183fb7c0604484171064069ce232" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cdepillabout/saabanto already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+df1b9bf194c9183fb7c0604484171064069ce232" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:29356a839a4d14451438f794ce8414e707d72405f44418718d724d22562fe786" "/opt/rustwide/cargo-home/bin/cargo" "+df1b9bf194c9183fb7c0604484171064069ce232" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b6c6ad77f870303802c2064647662bd7de5c0bde8ca3c06f11f30288b5d6672f
[INFO] running `Command { std: "docker" "start" "-a" "b6c6ad77f870303802c2064647662bd7de5c0bde8ca3c06f11f30288b5d6672f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b6c6ad77f870303802c2064647662bd7de5c0bde8ca3c06f11f30288b5d6672f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b6c6ad77f870303802c2064647662bd7de5c0bde8ca3c06f11f30288b5d6672f", kill_on_drop: false }`
[INFO] [stdout] b6c6ad77f870303802c2064647662bd7de5c0bde8ca3c06f11f30288b5d6672f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:29356a839a4d14451438f794ce8414e707d72405f44418718d724d22562fe786" "/opt/rustwide/cargo-home/bin/cargo" "+df1b9bf194c9183fb7c0604484171064069ce232" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] edef0eb96ca397be40d26e4c0c3ae12c87a7c4476c44b9364ff8057c0d9eddd4
[INFO] running `Command { std: "docker" "start" "-a" "edef0eb96ca397be40d26e4c0c3ae12c87a7c4476c44b9364ff8057c0d9eddd4", kill_on_drop: false }`
[INFO] [stderr]     Checking saabanto v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot find macro `alts` in this scope
[INFO] [stdout]   --> src/lib.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             alts![
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `alts` in this scope
[INFO] [stdout]   --> src/lib.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             alts![
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `generate_server` in this scope
[INFO] [stdout]   --> src/lib.rs:87:1
[INFO] [stdout]    |
[INFO] [stdout] 87 | generate_server!(my_api,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `generate_server` in this scope
[INFO] [stdout]   --> src/lib.rs:87:1
[INFO] [stdout]    |
[INFO] [stdout] 87 | generate_server!(my_api,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `generate_client` in this scope
[INFO] [stdout]    --> src/lib.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | generate_client!(my_api,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `generate_client` in this scope
[INFO] [stdout]    --> src/lib.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | generate_client!(my_api,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `generate_docs` in this scope
[INFO] [stdout]    --> src/lib.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | generate_docs!(my_api);
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `generate_docs` in this scope
[INFO] [stdout]    --> src/lib.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | generate_docs!(my_api);
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Api` in this scope
[INFO] [stdout]   --> src/lib.rs:34:16
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn my_api() -> Api {
[INFO] [stdout]    |                ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | / /// This is where the magic really happens.
[INFO] [stdout] 71 | | ///
[INFO] [stdout] 72 | | /// This takes our `Api` type (`my_api`), and the handlers we have defined above
[INFO] [stdout] 73 | | /// (`handler_user_create` and `handler_users_get`), and ties them together.
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | | /// The neat thing about this approach is that it is general enough to be used with multiple web
[INFO] [stdout] 86 | | /// frameworks.  There is nothing about this that is specific to a single web framework.
[INFO] [stdout]    | |_---------------------------------------------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/lib.rs:95:1
[INFO] [stdout]     |
[INFO] [stdout]  95 | / /// Given that we have a well-defined web api, we can also easily generate a client.
[INFO] [stdout]  96 | | ///
[INFO] [stdout]  97 | | /// The following macro would generate a client that looks like the following:
[INFO] [stdout]  98 | | ///
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | | ///
[INFO] [stdout] 120 | | /// This is similar to technologies like swagger.
[INFO] [stdout]     | |_------------------------------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/lib.rs:129:1
[INFO] [stdout]     |
[INFO] [stdout] 129 | / /// Since our API is defined programatically, it should also be possible to generate documentation,
[INFO] [stdout] 130 | | /// similar to the docs I wrote for `my_api`.  This is the type of thing you should be able to give
[INFO] [stdout] 131 | | /// to the frontend team at your company when they want to access your web api.
[INFO] [stdout] 132 | | ///
[INFO] [stdout] 133 | | /// This is much less error prone than writing docs by hand.
[INFO] [stdout]     | |_-----------------------------------------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Api`
[INFO] [stdout]   --> src/lib.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Api::new()
[INFO] [stdout]    |     ^^^ use of undeclared type `Api`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Api` in this scope
[INFO] [stdout]   --> src/lib.rs:34:16
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn my_api() -> Api {
[INFO] [stdout]    |                ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | / /// This is where the magic really happens.
[INFO] [stdout] 71 | | ///
[INFO] [stdout] 72 | | /// This takes our `Api` type (`my_api`), and the handlers we have defined above
[INFO] [stdout] 73 | | /// (`handler_user_create` and `handler_users_get`), and ties them together.
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | | /// The neat thing about this approach is that it is general enough to be used with multiple web
[INFO] [stdout] 86 | | /// frameworks.  There is nothing about this that is specific to a single web framework.
[INFO] [stdout]    | |_---------------------------------------------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/lib.rs:95:1
[INFO] [stdout]     |
[INFO] [stdout]  95 | / /// Given that we have a well-defined web api, we can also easily generate a client.
[INFO] [stdout]  96 | | ///
[INFO] [stdout]  97 | | /// The following macro would generate a client that looks like the following:
[INFO] [stdout]  98 | | ///
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | | ///
[INFO] [stdout] 120 | | /// This is similar to technologies like swagger.
[INFO] [stdout]     | |_------------------------------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/lib.rs:129:1
[INFO] [stdout]     |
[INFO] [stdout] 129 | / /// Since our API is defined programatically, it should also be possible to generate documentation,
[INFO] [stdout] 130 | | /// similar to the docs I wrote for `my_api`.  This is the type of thing you should be able to give
[INFO] [stdout] 131 | | /// to the frontend team at your company when they want to access your web api.
[INFO] [stdout] 132 | | ///
[INFO] [stdout] 133 | | /// This is much less error prone than writing docs by hand.
[INFO] [stdout]     | |_-----------------------------------------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Api`
[INFO] [stdout]   --> src/lib.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Api::new()
[INFO] [stdout]    |     ^^^ use of undeclared type `Api`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `userId`
[INFO] [stdout]   --> src/lib.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn handler_user_create(userId: UserId, name: Name) -> User {
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_userId`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/lib.rs:61:40
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn handler_user_create(userId: UserId, name: Name) -> User {
[INFO] [stdout]    |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sort`
[INFO] [stdout]   --> src/lib.rs:65:22
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn handler_users_get(sort: bool) -> Vec<User> {
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `userId`
[INFO] [stdout]   --> src/lib.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn handler_user_create(userId: UserId, name: Name) -> User {
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_userId`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/lib.rs:61:40
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn handler_user_create(userId: UserId, name: Name) -> User {
[INFO] [stdout]    |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sort`
[INFO] [stdout]   --> src/lib.rs:65:22
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn handler_users_get(sort: bool) -> Vec<User> {
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `saabanto` (lib test) due to 6 previous errors; 6 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `saabanto` (lib) due to 6 previous errors; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "edef0eb96ca397be40d26e4c0c3ae12c87a7c4476c44b9364ff8057c0d9eddd4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "edef0eb96ca397be40d26e4c0c3ae12c87a7c4476c44b9364ff8057c0d9eddd4", kill_on_drop: false }`
[INFO] [stdout] edef0eb96ca397be40d26e4c0c3ae12c87a7c4476c44b9364ff8057c0d9eddd4
