[INFO] updating cached repository https://github.com/video-archivist/youtube-irc-bot [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/mnt/big/crater/work/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] 237de870c0c7ee1cf623696dca0a54c41f1bf9ec [INFO] checking video-archivist/youtube-irc-bot against try#e689e5eaefe96e6dc3ed5bb629c521b7d207aff7 for pr-64398 [INFO] running `"git" "clone" "work/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvideo-archivist%2Fyoutube-irc-bot" "work/builds/worker-0/source"` [INFO] [stderr] Cloning into 'work/builds/worker-0/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/video-archivist/youtube-irc-bot on toolchain e689e5eaefe96e6dc3ed5bb629c521b7d207aff7-alt [INFO] running `"/mnt/big/crater/work/cargo-home/bin/cargo" "+e689e5eaefe96e6dc3ed5bb629c521b7d207aff7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/video-archivist/youtube-irc-bot [INFO] finished tweaking git repo https://github.com/video-archivist/youtube-irc-bot [INFO] tweaked toml for git repo https://github.com/video-archivist/youtube-irc-bot written to work/builds/worker-0/source/Cargo.toml [INFO] crate git repo https://github.com/video-archivist/youtube-irc-bot already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/cargo-home/bin/cargo" "+e689e5eaefe96e6dc3ed5bb629c521b7d207aff7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/mnt/big/crater/work/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/mnt/big/crater/work/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=1000" "-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" "+e689e5eaefe96e6dc3ed5bb629c521b7d207aff7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] bbe0a1aee7389aa5db7faac78db44eb7366e88a772c66d6a350cbd17163f9243 [INFO] running `"docker" "start" "-a" "bbe0a1aee7389aa5db7faac78db44eb7366e88a772c66d6a350cbd17163f9243"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Checking strsim v0.9.2 [INFO] [stderr] Checking tokio-timer v0.1.2 [INFO] [stderr] Checking itertools v0.7.11 [INFO] [stderr] Checking tokio-trace-core v0.1.0 [INFO] [stderr] Checking getrandom v0.1.6 [INFO] [stderr] Checking directories v1.0.2 [INFO] [stderr] Checking tokio-executor v0.1.7 [INFO] [stderr] Checking openssl-sys v0.9.47 [INFO] [stderr] Checking mio v0.6.18 [INFO] [stderr] Checking rand_core v0.5.0 [INFO] [stderr] Checking regex v1.1.6 [INFO] [stderr] Checking parking_lot_core v0.4.0 [INFO] [stderr] Checking tokio-io v0.1.12 [INFO] [stderr] Checking tokio-threadpool v0.1.14 [INFO] [stderr] Checking tokio-current-thread v0.1.6 [INFO] [stderr] Checking tokio-timer v0.2.11 [INFO] [stderr] Checking rand_chacha v0.2.0 [INFO] [stderr] Checking openssl v0.10.23 [INFO] [stderr] Checking parking_lot v0.7.1 [INFO] [stderr] Checking toml v0.4.10 [INFO] [stderr] Checking tokio-codec v0.1.1 [INFO] [stderr] Checking tokio-mockstream v1.1.0 [INFO] [stderr] Checking rand v0.7.0 [INFO] [stderr] Checking mio-uds v0.6.7 [INFO] [stderr] Checking tokio-fs v0.1.6 [INFO] [stderr] Checking tokio-reactor v0.1.9 [INFO] [stderr] Checking docopt v1.1.0 [INFO] [stderr] Checking tokio-uds v0.2.5 [INFO] [stderr] Checking tokio-tcp v0.1.3 [INFO] [stderr] Checking tokio-udp v0.1.3 [INFO] [stderr] Checking tokio v0.1.20 [INFO] [stderr] Checking tokio-core v0.1.17 [INFO] [stderr] Checking native-tls v0.2.3 [INFO] [stderr] Checking tokio-tls v0.2.1 [INFO] [stderr] Checking irc v0.13.6 [INFO] [stderr] Checking youtube-irc-bot v1.5.0 (/opt/rustwide/workdir) [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/message.rs:444:9 [INFO] [stderr] | [INFO] [stderr] 444 | assert_eq!(folder_for_url("https://www.youtube.com/channel/UChBBWt5H8uZW1LSOh_aPt2Q/videos"), "UChBBWt5H8uZW1LSOh_aPt2Q"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `std::option::Option`, found &str [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::option::Option` [INFO] [stderr] found type `&str` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_title` [INFO] [stderr] --> src/http.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | fn parse_title(page_contents: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/message.rs:445:9 [INFO] [stderr] | [INFO] [stderr] 445 | assert_eq!(folder_for_url("https://www.youtube.com/user/jblow888/videos"), "jblow888"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `std::option::Option`, found &str [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::option::Option` [INFO] [stderr] found type `&str` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/message.rs:446:9 [INFO] [stderr] | [INFO] [stderr] 446 | assert_eq!(folder_for_url("https://www.youtube.com/playlist?list=PL5AC656794EE191C1"), "PL5AC656794EE191C1"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `std::option::Option`, found &str [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::option::Option` [INFO] [stderr] found type `&str` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/message.rs:447:9 [INFO] [stderr] | [INFO] [stderr] 447 | assert_eq!(folder_for_url("https://www.youtube.com/playlist?list=PL78L-9twndz8fMRU3NpiWSmB5IucqWuTF"), "PL78L-9twndz8fMRU3NpiWSmB5IucqWuTF"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `std::option::Option`, found &str [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::option::Option` [INFO] [stderr] found type `&str` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0277]: can't compare `std::string::String` with `std::option::Option<&str>` [INFO] [stderr] --> src/message.rs:453:9 [INFO] [stderr] | [INFO] [stderr] 453 | / assert_eq!( [INFO] [stderr] 454 | | get_canonical_url("https://www.youtube.com/playlist?list=PL5AC656794EE191C1").unwrap(), [INFO] [stderr] 455 | | Some("https://www.youtube.com/playlist?list=PL5AC656794EE191C1") [INFO] [stderr] 456 | | ); [INFO] [stderr] | |__________^ no implementation for `std::string::String == std::option::Option<&str>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::cmp::PartialEq>` is not implemented for `std::string::String` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0277]: can't compare `std::string::String` with `std::option::Option<&str>` [INFO] [stderr] --> src/message.rs:457:9 [INFO] [stderr] | [INFO] [stderr] 457 | / assert_eq!( [INFO] [stderr] 458 | | get_canonical_url("https://www.youtube.com/playlist?list=PL78L-9twndz8fMRU3NpiWSmB5IucqWuTF").unwrap(), [INFO] [stderr] 459 | | Some("https://www.youtube.com/playlist?list=PL78L-9twndz8fMRU3NpiWSmB5IucqWuTF") [INFO] [stderr] 460 | | ); [INFO] [stderr] | |__________^ no implementation for `std::string::String == std::option::Option<&str>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::cmp::PartialEq>` is not implemented for `std::string::String` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0277]: can't compare `std::string::String` with `std::option::Option<_>` [INFO] [stderr] --> src/message.rs:462:9 [INFO] [stderr] | [INFO] [stderr] 462 | / assert_eq!( [INFO] [stderr] 463 | | get_canonical_url("https://www.youtube.com/playlist?list=PL78L-9twndz8fMRU3NpiWSmB5IucqWuTa").unwrap(), [INFO] [stderr] 464 | | None [INFO] [stderr] 465 | | ); [INFO] [stderr] | |__________^ no implementation for `std::string::String == std::option::Option<_>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::cmp::PartialEq>` is not implemented for `std::string::String` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0277]: can't compare `std::string::String` with `std::option::Option<&str>` [INFO] [stderr] --> src/message.rs:467:9 [INFO] [stderr] | [INFO] [stderr] 467 | / assert_eq!( [INFO] [stderr] 468 | | get_canonical_url("https://www.youtube.com/user/jblow888/videos").unwrap(), [INFO] [stderr] 469 | | Some("https://www.youtube.com/user/jblow888/videos") [INFO] [stderr] 470 | | ); [INFO] [stderr] | |__________^ no implementation for `std::string::String == std::option::Option<&str>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::cmp::PartialEq>` is not implemented for `std::string::String` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0277]: can't compare `std::string::String` with `std::option::Option<&str>` [INFO] [stderr] --> src/message.rs:472:9 [INFO] [stderr] | [INFO] [stderr] 472 | / assert_eq!( [INFO] [stderr] 473 | | get_canonical_url("https://www.youtube.com/user/JBlow888/videos").unwrap(), [INFO] [stderr] 474 | | Some("https://www.youtube.com/user/jblow888/videos") [INFO] [stderr] 475 | | ); [INFO] [stderr] | |__________^ no implementation for `std::string::String == std::option::Option<&str>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::cmp::PartialEq>` is not implemented for `std::string::String` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0277]: can't compare `std::string::String` with `std::option::Option<&str>` [INFO] [stderr] --> src/message.rs:476:9 [INFO] [stderr] | [INFO] [stderr] 476 | / assert_eq!( [INFO] [stderr] 477 | | get_canonical_url("https://www.youtube.com/user/cnn/videos").unwrap(), [INFO] [stderr] 478 | | Some("https://www.youtube.com/user/CNN/videos") [INFO] [stderr] 479 | | ); [INFO] [stderr] | |__________^ no implementation for `std::string::String == std::option::Option<&str>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::cmp::PartialEq>` is not implemented for `std::string::String` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0277]: can't compare `std::string::String` with `std::option::Option<_>` [INFO] [stderr] --> src/message.rs:481:9 [INFO] [stderr] | [INFO] [stderr] 481 | / assert_eq!( [INFO] [stderr] 482 | | get_canonical_url("https://www.youtube.com/user/jblow8888/videos").unwrap(), [INFO] [stderr] 483 | | None [INFO] [stderr] 484 | | ); [INFO] [stderr] | |__________^ no implementation for `std::string::String == std::option::Option<_>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::cmp::PartialEq>` is not implemented for `std::string::String` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0277]: can't compare `std::string::String` with `std::option::Option<&str>` [INFO] [stderr] --> src/message.rs:486:9 [INFO] [stderr] | [INFO] [stderr] 486 | / assert_eq!( [INFO] [stderr] 487 | | get_canonical_url("https://www.youtube.com/channel/UChBBWt5H8uZW1LSOh_aPt2Q/videos").unwrap(), [INFO] [stderr] 488 | | Some("https://www.youtube.com/channel/UChBBWt5H8uZW1LSOh_aPt2Q/videos") [INFO] [stderr] 489 | | ); [INFO] [stderr] | |__________^ no implementation for `std::string::String == std::option::Option<&str>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::cmp::PartialEq>` is not implemented for `std::string::String` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0277]: can't compare `std::string::String` with `std::option::Option<&str>` [INFO] [stderr] --> src/message.rs:491:9 [INFO] [stderr] | [INFO] [stderr] 491 | / assert_eq!( [INFO] [stderr] 492 | | get_canonical_url("https://www.youtube.com/channel/UCupvZG-5ko_eiXAupbDfxWw").unwrap(), [INFO] [stderr] 493 | | Some("https://www.youtube.com/user/CNN/videos") [INFO] [stderr] 494 | | ); [INFO] [stderr] | |__________^ no implementation for `std::string::String == std::option::Option<&str>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::cmp::PartialEq>` is not implemented for `std::string::String` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0277]: can't compare `std::string::String` with `std::option::Option<_>` [INFO] [stderr] --> src/message.rs:496:9 [INFO] [stderr] | [INFO] [stderr] 496 | / assert_eq!( [INFO] [stderr] 497 | | get_canonical_url("https://www.youtube.com/channel/UChBBWt5H8uZW1LSOh_aPt2a/videos").unwrap(), [INFO] [stderr] 498 | | None [INFO] [stderr] 499 | | ); [INFO] [stderr] | |__________^ no implementation for `std::string::String == std::option::Option<_>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::cmp::PartialEq>` is not implemented for `std::string::String` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: aborting due to 14 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0308. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: Could not compile `youtube-irc-bot`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "bbe0a1aee7389aa5db7faac78db44eb7366e88a772c66d6a350cbd17163f9243"` [INFO] running `"docker" "rm" "-f" "bbe0a1aee7389aa5db7faac78db44eb7366e88a772c66d6a350cbd17163f9243"` [INFO] [stdout] bbe0a1aee7389aa5db7faac78db44eb7366e88a772c66d6a350cbd17163f9243