[INFO] fetching crate rss-watch 0.1.0... [INFO] testing rss-watch-0.1.0 against 1.91.0 for beta-1.92-2 [INFO] extracting crate rss-watch 0.1.0 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate rss-watch 0.1.0 [INFO] finished tweaking crates.io crate rss-watch 0.1.0 [INFO] tweaked toml for crates.io crate rss-watch 0.1.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate rss-watch 0.1.0 on toolchain 1.91.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 251 packages to latest compatible versions [INFO] [stderr] Adding app_dirs v1.2.1 (available: v2.0.1) [INFO] [stderr] Adding atom_syndication v0.6.0 (available: v0.12.7) [INFO] [stderr] Adding clap v2.34.0 (available: v4.5.51) [INFO] [stderr] Adding env_logger v0.6.2 (available: v0.11.8) [INFO] [stderr] Adding humantime v1.3.0 (available: v2.3.0) [INFO] [stderr] Adding reqwest v0.9.24 (available: v0.12.24) [INFO] [stderr] Adding rss v1.10.0 (available: v2.0.12) [INFO] [stderr] Adding rusqlite v0.16.0 (available: v0.37.0) [INFO] [stderr] Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded darling_macro v0.10.2 [INFO] [stderr] Downloaded darling_core v0.10.2 [INFO] [stderr] Downloaded derive_builder_core v0.9.0 [INFO] [stderr] Downloaded darling v0.10.2 [INFO] [stderr] Downloaded want v0.2.0 [INFO] [stderr] Downloaded ole32-sys v0.2.0 [INFO] [stderr] Downloaded derive_builder v0.9.0 [INFO] [stderr] Downloaded app_dirs v1.2.1 [INFO] [stderr] Downloaded string v0.2.1 [INFO] [stderr] Downloaded http-body v0.1.0 [INFO] [stderr] Downloaded shell32-sys v0.1.2 [INFO] [stderr] Downloaded xdg v2.5.2 [INFO] [stderr] Downloaded derive_builder_core v0.2.0 [INFO] [stderr] Downloaded cookie_store v0.7.0 [INFO] [stderr] Downloaded derive_builder v0.5.1 [INFO] [stderr] Downloaded tokio-threadpool v0.1.18 [INFO] [stderr] Downloaded quick-xml v0.12.4 [INFO] [stderr] Downloaded reqwest v0.9.24 [INFO] [stderr] Downloaded quick-xml v0.20.0 [INFO] [stderr] Downloaded tokio v0.1.22 [INFO] [stderr] Downloaded h2 v0.1.26 [INFO] [stderr] Downloaded hyper v0.12.36 [INFO] [stderr] Downloaded tokio-timer v0.2.13 [INFO] [stderr] Downloaded rusqlite v0.16.0 [INFO] [stderr] Downloaded base64 v0.10.1 [INFO] [stderr] Downloaded cookie v0.12.0 [INFO] [stderr] Downloaded net2 v0.2.39 [INFO] [stderr] Downloaded tokio-sync v0.1.8 [INFO] [stderr] Downloaded crossbeam-deque v0.7.4 [INFO] [stderr] Downloaded uuid v0.7.4 [INFO] [stderr] Downloaded tokio-buf v0.1.1 [INFO] [stderr] Downloaded tokio-reactor v0.1.12 [INFO] [stderr] Downloaded tokio-tcp v0.1.4 [INFO] [stderr] Downloaded winreg v0.6.2 [INFO] [stderr] Downloaded atom_syndication v0.9.1 [INFO] [stderr] Downloaded strsim v0.9.3 [INFO] [stderr] Downloaded atom_syndication v0.6.0 [INFO] [stderr] Downloaded try_from v0.3.2 [INFO] [stderr] Downloaded futures-cpupool v0.1.8 [INFO] [stderr] Downloaded tokio-executor v0.1.10 [INFO] [stderr] Downloaded memoffset v0.5.6 [INFO] [stderr] Downloaded diligent-date-parser v0.1.5 [INFO] [stderr] Downloaded rss v1.10.0 [INFO] [stderr] Downloaded hyper-tls v0.3.2 [INFO] [stderr] Downloaded tokio-current-thread v0.1.7 [INFO] [stderr] Downloaded libsqlite3-sys v0.11.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] de44e4c406cadcce2b9c6ec66e560fdf982506c7e19bbef965a1225fa26d2521 [INFO] running `Command { std: "docker" "start" "-a" "de44e4c406cadcce2b9c6ec66e560fdf982506c7e19bbef965a1225fa26d2521", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "de44e4c406cadcce2b9c6ec66e560fdf982506c7e19bbef965a1225fa26d2521", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "de44e4c406cadcce2b9c6ec66e560fdf982506c7e19bbef965a1225fa26d2521", kill_on_drop: false }` [INFO] [stdout] de44e4c406cadcce2b9c6ec66e560fdf982506c7e19bbef965a1225fa26d2521 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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=warn" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e53131baac9cb160c0d02c097826ee763382dd603d7224eadd7d33fe5eb26b1a [INFO] running `Command { std: "docker" "start" "-a" "e53131baac9cb160c0d02c097826ee763382dd603d7224eadd7d33fe5eb26b1a", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.108 [INFO] [stderr] Compiling futures v0.1.31 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling log v0.4.28 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling autocfg v0.1.8 [INFO] [stderr] Compiling rand_core v0.4.2 [INFO] [stderr] Compiling bytes v0.4.12 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling tinyvec v1.10.0 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling icu_properties_data v2.1.1 [INFO] [stderr] Compiling smallvec v0.6.14 [INFO] [stderr] Compiling parking_lot_core v0.6.3 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling matches v0.1.10 [INFO] [stderr] Compiling unicode-bidi v0.3.18 [INFO] [stderr] Compiling simd-adler32 v0.3.7 [INFO] [stderr] Compiling object v0.37.3 [INFO] [stderr] Compiling unicode-normalization v0.1.25 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling openssl-sys v0.9.110 [INFO] [stderr] Compiling tokio-executor v0.1.10 [INFO] [stderr] Compiling tokio-io v0.1.13 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling lock_api v0.3.4 [INFO] [stderr] Compiling net2 v0.2.39 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling gimli v0.32.3 [INFO] [stderr] Compiling strsim v0.9.3 [INFO] [stderr] Compiling mio v0.6.23 [INFO] [stderr] Compiling tokio-sync v0.1.8 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling rustc-demangle v0.1.26 [INFO] [stderr] Compiling crossbeam-deque v0.7.4 [INFO] [stderr] Compiling http v0.1.21 [INFO] [stderr] Compiling tokio-reactor v0.1.12 [INFO] [stderr] Compiling idna v0.1.5 [INFO] [stderr] Compiling crossbeam-queue v0.2.3 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling percent-encoding v1.0.1 [INFO] [stderr] Compiling darling_core v0.10.2 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling addr2line v0.25.1 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Compiling url v1.7.2 [INFO] [stderr] Compiling openssl v0.10.74 [INFO] [stderr] Compiling tokio-threadpool v0.1.18 [INFO] [stderr] Compiling tokio-tcp v0.1.4 [INFO] [stderr] Compiling tokio-timer v0.2.13 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling tokio-current-thread v0.1.7 [INFO] [stderr] Compiling tokio-buf v0.1.1 [INFO] [stderr] Compiling hyper v0.12.36 [INFO] [stderr] Compiling string v0.2.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Compiling derive_builder v0.9.0 [INFO] [stderr] Compiling want v0.2.0 [INFO] [stderr] Compiling darling_macro v0.10.2 [INFO] [stderr] Compiling backtrace v0.3.76 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling h2 v0.1.26 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling darling v0.10.2 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling derive_builder_core v0.9.0 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling http-body v0.1.0 [INFO] [stderr] Compiling tokio v0.1.22 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling idna v0.2.3 [INFO] [stderr] Compiling rand_hc v0.1.0 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling rand_isaac v0.1.1 [INFO] [stderr] Compiling rand_xorshift v0.1.1 [INFO] [stderr] Compiling futures-cpupool v0.1.8 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling rand_jitter v0.1.4 [INFO] [stderr] Compiling libsqlite3-sys v0.11.1 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling derive_builder v0.5.1 [INFO] [stderr] Compiling icu_properties v2.1.1 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling diligent-date-parser v0.1.5 [INFO] [stderr] Compiling derive_builder_core v0.2.0 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling cookie v0.12.0 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling quick-xml v0.20.0 [INFO] [stderr] Compiling try_from v0.3.2 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling term_size v0.3.2 [INFO] [stderr] Compiling dtoa v0.4.8 [INFO] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling hyper-tls v0.3.2 [INFO] [stderr] Compiling serde_urlencoded v0.5.5 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling atom_syndication v0.9.1 [INFO] [stderr] Compiling uuid v0.7.4 [INFO] [stderr] Compiling flate2 v1.1.5 [INFO] [stderr] Compiling publicsuffix v1.5.6 [INFO] [stderr] Compiling cookie_store v0.7.0 [INFO] [stderr] Compiling quick-xml v0.12.4 [INFO] [stderr] Compiling base64 v0.10.1 [INFO] [stderr] Compiling xdg v2.5.2 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling rusqlite v0.16.0 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling atom_syndication v0.6.0 [INFO] [stderr] Compiling reqwest v0.9.24 [INFO] [stderr] Compiling app_dirs v1.2.1 [INFO] [stderr] Compiling env_logger v0.6.2 [INFO] [stderr] Compiling rss v1.10.0 [INFO] [stderr] Compiling rss-watch v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/watcher.rs:124:27 [INFO] [stdout] | [INFO] [stdout] 124 | entries: &'a [&'a FeedExt], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 124 | entries: &'a [&'a dyn FeedExt], [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/watcher.rs:125:22 [INFO] [stdout] | [INFO] [stdout] 125 | ) -> Result, Error> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 125 | ) -> Result, Error> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/database.rs:35:36 [INFO] [stdout] | [INFO] [stdout] 35 | &[&feed_url, &kind as &ToSql], [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 | &[&feed_url, &kind as &dyn ToSql], [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/database.rs:66:46 [INFO] [stdout] | [INFO] [stdout] 66 | match stmt.exists(&[&feed_id as &ToSql, guid]) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | match stmt.exists(&[&feed_id as &dyn ToSql, guid]) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/database.rs:81:28 [INFO] [stdout] | [INFO] [stdout] 81 | &[&feed_id as &ToSql, &guid], [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 81 | &[&feed_id as &dyn ToSql, &guid], [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/watcher.rs:132:31 [INFO] [stdout] | [INFO] [stdout] 132 | let new_entries: Vec<&FeedExt> = entries [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 132 | let new_entries: Vec<&dyn FeedExt> = entries [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/watcher.rs:136:54 [INFO] [stdout] | [INFO] [stdout] 136 | |e| match stmt.exists(&[&feed_id as &ToSql, &e.guid().unwrap()]) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 136 | |e| match stmt.exists(&[&feed_id as &dyn ToSql, &e.guid().unwrap()]) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/watcher.rs:143:29 [INFO] [stdout] | [INFO] [stdout] 143 | .collect::>(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 143 | .collect::>(); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/watcher.rs:158:27 [INFO] [stdout] | [INFO] [stdout] 158 | let entries: Vec<&FeedExt> = match &feed { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 158 | let entries: Vec<&dyn FeedExt> = match &feed { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/watcher.rs:159:70 [INFO] [stdout] | [INFO] [stdout] 159 | Ok(Feed::Rss(feed)) => feed.items().iter().map(|i| i as &FeedExt).collect(), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 159 | Ok(Feed::Rss(feed)) => feed.items().iter().map(|i| i as &dyn FeedExt).collect(), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/watcher.rs:160:73 [INFO] [stdout] | [INFO] [stdout] 160 | Ok(Feed::Atom(feed)) => feed.entries().iter().map(|i| i as &FeedExt).collect(), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 | Ok(Feed::Atom(feed)) => feed.entries().iter().map(|i| i as &dyn FeedExt).collect(), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CliError` [INFO] [stdout] 25 | enum CliError { [INFO] [stdout] | -------- `CliError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CliError` [INFO] [stdout] 25 | enum CliError { [INFO] [stdout] | -------- `CliError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/main.rs:78:17 [INFO] [stdout] | [INFO] [stdout] 78 | .author(crate_authors!("\n")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ this raw pointer has type `*const String` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&String` [INFO] [stdout] --> src/main.rs:78:17 [INFO] [stdout] | [INFO] [stdout] 78 | .author(crate_authors!("\n")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(dangerous_implicit_autorefs)]` on by default [INFO] [stdout] = note: this warning originates in the macro `crate_authors` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/clap-2.34.0/src/macros.rs:493:22 [INFO] [stdout] | [INFO] [stdout] 493| &(&(*VALUE))[..] [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Fail, Debug)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stdout] 5 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Fail, Debug)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stdout] 5 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | #[derive(Fail, Debug)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FeedParseError` [INFO] [stdout] 50 | pub enum FeedParseError { [INFO] [stdout] | -------------- `FeedParseError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | #[derive(Fail, Debug)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_FeedParseError` [INFO] [stdout] 50 | pub enum FeedParseError { [INFO] [stdout] | -------------- `FeedParseError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/watcher.rs:125:21 [INFO] [stdout] | [INFO] [stdout] 122 | &'a self, [INFO] [stdout] | -- the lifetime is named here [INFO] [stdout] 123 | feed_id: i64, [INFO] [stdout] 124 | entries: &'a [&'a FeedExt], [INFO] [stdout] | -- -- the lifetime is named here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] 125 | ) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 125 | ) -> Result, Error> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 48s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.12.4, quick-xml v0.20.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] running `Command { std: "docker" "inspect" "e53131baac9cb160c0d02c097826ee763382dd603d7224eadd7d33fe5eb26b1a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e53131baac9cb160c0d02c097826ee763382dd603d7224eadd7d33fe5eb26b1a", kill_on_drop: false }` [INFO] [stdout] e53131baac9cb160c0d02c097826ee763382dd603d7224eadd7d33fe5eb26b1a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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=warn" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 46cb0f191b8daaa9234ea62fc976a8c53d5f184b76aa3beebdf6c05e1addcb17 [INFO] running `Command { std: "docker" "start" "-a" "46cb0f191b8daaa9234ea62fc976a8c53d5f184b76aa3beebdf6c05e1addcb17", kill_on_drop: false }` [INFO] [stderr] Compiling rss-watch v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/watcher.rs:124:27 [INFO] [stdout] | [INFO] [stdout] 124 | entries: &'a [&'a FeedExt], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 124 | entries: &'a [&'a dyn FeedExt], [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/watcher.rs:125:22 [INFO] [stdout] | [INFO] [stdout] 125 | ) -> Result, Error> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 125 | ) -> Result, Error> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/database.rs:35:36 [INFO] [stdout] | [INFO] [stdout] 35 | &[&feed_url, &kind as &ToSql], [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 | &[&feed_url, &kind as &dyn ToSql], [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/database.rs:66:46 [INFO] [stdout] | [INFO] [stdout] 66 | match stmt.exists(&[&feed_id as &ToSql, guid]) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | match stmt.exists(&[&feed_id as &dyn ToSql, guid]) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/database.rs:81:28 [INFO] [stdout] | [INFO] [stdout] 81 | &[&feed_id as &ToSql, &guid], [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 81 | &[&feed_id as &dyn ToSql, &guid], [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/watcher.rs:132:31 [INFO] [stdout] | [INFO] [stdout] 132 | let new_entries: Vec<&FeedExt> = entries [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 132 | let new_entries: Vec<&dyn FeedExt> = entries [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/watcher.rs:136:54 [INFO] [stdout] | [INFO] [stdout] 136 | |e| match stmt.exists(&[&feed_id as &ToSql, &e.guid().unwrap()]) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 136 | |e| match stmt.exists(&[&feed_id as &dyn ToSql, &e.guid().unwrap()]) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/watcher.rs:143:29 [INFO] [stdout] | [INFO] [stdout] 143 | .collect::>(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 143 | .collect::>(); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/watcher.rs:158:27 [INFO] [stdout] | [INFO] [stdout] 158 | let entries: Vec<&FeedExt> = match &feed { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 158 | let entries: Vec<&dyn FeedExt> = match &feed { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/watcher.rs:159:70 [INFO] [stdout] | [INFO] [stdout] 159 | Ok(Feed::Rss(feed)) => feed.items().iter().map(|i| i as &FeedExt).collect(), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 159 | Ok(Feed::Rss(feed)) => feed.items().iter().map(|i| i as &dyn FeedExt).collect(), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/watcher.rs:160:73 [INFO] [stdout] | [INFO] [stdout] 160 | Ok(Feed::Atom(feed)) => feed.entries().iter().map(|i| i as &FeedExt).collect(), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 | Ok(Feed::Atom(feed)) => feed.entries().iter().map(|i| i as &dyn FeedExt).collect(), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CliError` [INFO] [stdout] 25 | enum CliError { [INFO] [stdout] | -------- `CliError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CliError` [INFO] [stdout] 25 | enum CliError { [INFO] [stdout] | -------- `CliError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/main.rs:78:17 [INFO] [stdout] | [INFO] [stdout] 78 | .author(crate_authors!("\n")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ this raw pointer has type `*const String` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&String` [INFO] [stdout] --> src/main.rs:78:17 [INFO] [stdout] | [INFO] [stdout] 78 | .author(crate_authors!("\n")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(dangerous_implicit_autorefs)]` on by default [INFO] [stdout] = note: this warning originates in the macro `crate_authors` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/clap-2.34.0/src/macros.rs:493:22 [INFO] [stdout] | [INFO] [stdout] 493| &(&(*VALUE))[..] [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Fail, Debug)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stdout] 5 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Fail, Debug)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stdout] 5 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | #[derive(Fail, Debug)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FeedParseError` [INFO] [stdout] 50 | pub enum FeedParseError { [INFO] [stdout] | -------------- `FeedParseError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | #[derive(Fail, Debug)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_FeedParseError` [INFO] [stdout] 50 | pub enum FeedParseError { [INFO] [stdout] | -------------- `FeedParseError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/watcher.rs:125:21 [INFO] [stdout] | [INFO] [stdout] 122 | &'a self, [INFO] [stdout] | -- the lifetime is named here [INFO] [stdout] 123 | feed_id: i64, [INFO] [stdout] 124 | entries: &'a [&'a FeedExt], [INFO] [stdout] | -- -- the lifetime is named here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] 125 | ) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^ the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 125 | ) -> Result, Error> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.72s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.12.4, quick-xml v0.20.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] running `Command { std: "docker" "inspect" "46cb0f191b8daaa9234ea62fc976a8c53d5f184b76aa3beebdf6c05e1addcb17", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "46cb0f191b8daaa9234ea62fc976a8c53d5f184b76aa3beebdf6c05e1addcb17", kill_on_drop: false }` [INFO] [stdout] 46cb0f191b8daaa9234ea62fc976a8c53d5f184b76aa3beebdf6c05e1addcb17 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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=warn" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 19deae47a9b4f779be105a4df6f3e7b4d5e61c78203d26fe0ba97773c5d611b0 [INFO] running `Command { std: "docker" "start" "-a" "19deae47a9b4f779be105a4df6f3e7b4d5e61c78203d26fe0ba97773c5d611b0", kill_on_drop: false }` [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/watcher.rs:124:27 [INFO] [stderr] | [INFO] [stderr] 124 | entries: &'a [&'a FeedExt], [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 124 | entries: &'a [&'a dyn FeedExt], [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/watcher.rs:125:22 [INFO] [stderr] | [INFO] [stderr] 125 | ) -> Result, Error> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 125 | ) -> Result, Error> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/database.rs:35:36 [INFO] [stderr] | [INFO] [stderr] 35 | &[&feed_url, &kind as &ToSql], [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 35 | &[&feed_url, &kind as &dyn ToSql], [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/database.rs:66:46 [INFO] [stderr] | [INFO] [stderr] 66 | match stmt.exists(&[&feed_id as &ToSql, guid]) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 66 | match stmt.exists(&[&feed_id as &dyn ToSql, guid]) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/database.rs:81:28 [INFO] [stderr] | [INFO] [stderr] 81 | &[&feed_id as &ToSql, &guid], [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 81 | &[&feed_id as &dyn ToSql, &guid], [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/watcher.rs:132:31 [INFO] [stderr] | [INFO] [stderr] 132 | let new_entries: Vec<&FeedExt> = entries [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 132 | let new_entries: Vec<&dyn FeedExt> = entries [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/watcher.rs:136:54 [INFO] [stderr] | [INFO] [stderr] 136 | |e| match stmt.exists(&[&feed_id as &ToSql, &e.guid().unwrap()]) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 136 | |e| match stmt.exists(&[&feed_id as &dyn ToSql, &e.guid().unwrap()]) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/watcher.rs:143:29 [INFO] [stderr] | [INFO] [stderr] 143 | .collect::>(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 143 | .collect::>(); [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/watcher.rs:158:27 [INFO] [stderr] | [INFO] [stderr] 158 | let entries: Vec<&FeedExt> = match &feed { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 158 | let entries: Vec<&dyn FeedExt> = match &feed { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/watcher.rs:159:70 [INFO] [stderr] | [INFO] [stderr] 159 | Ok(Feed::Rss(feed)) => feed.items().iter().map(|i| i as &FeedExt).collect(), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 159 | Ok(Feed::Rss(feed)) => feed.items().iter().map(|i| i as &dyn FeedExt).collect(), [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/watcher.rs:160:73 [INFO] [stderr] | [INFO] [stderr] 160 | Ok(Feed::Atom(feed)) => feed.entries().iter().map(|i| i as &FeedExt).collect(), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 160 | Ok(Feed::Atom(feed)) => feed.entries().iter().map(|i| i as &dyn FeedExt).collect(), [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:24:17 [INFO] [stderr] | [INFO] [stderr] 24 | #[derive(Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Fail` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CliError` [INFO] [stderr] 25 | enum CliError { [INFO] [stderr] | -------- `CliError` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:24:17 [INFO] [stderr] | [INFO] [stderr] 24 | #[derive(Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Display` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CliError` [INFO] [stderr] 25 | enum CliError { [INFO] [stderr] | -------- `CliError` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/main.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | .author(crate_authors!("\n")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ this raw pointer has type `*const String` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&String` [INFO] [stderr] --> src/main.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | .author(crate_authors!("\n")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(dangerous_implicit_autorefs)]` on by default [INFO] [stderr] = note: this warning originates in the macro `crate_authors` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/clap-2.34.0/src/macros.rs:493:22 [INFO] [stderr] | [INFO] [stderr] 493| &(&(*VALUE))[..] [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/error.rs:4:10 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Fail, Debug)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Fail` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stderr] 5 | pub enum Error { [INFO] [stderr] | ----- `Error` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/error.rs:4:10 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Fail, Debug)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Display` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stderr] 5 | pub enum Error { [INFO] [stderr] | ----- `Error` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/error.rs:49:10 [INFO] [stderr] | [INFO] [stderr] 49 | #[derive(Fail, Debug)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Fail` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FeedParseError` [INFO] [stderr] 50 | pub enum FeedParseError { [INFO] [stderr] | -------------- `FeedParseError` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/error.rs:49:10 [INFO] [stderr] | [INFO] [stderr] 49 | #[derive(Fail, Debug)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Display` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_FeedParseError` [INFO] [stderr] 50 | pub enum FeedParseError { [INFO] [stderr] | -------------- `FeedParseError` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/watcher.rs:125:21 [INFO] [stderr] | [INFO] [stderr] 122 | &'a self, [INFO] [stderr] | -- the lifetime is named here [INFO] [stderr] 123 | feed_id: i64, [INFO] [stderr] 124 | entries: &'a [&'a FeedExt], [INFO] [stderr] | -- -- the lifetime is named here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is named here [INFO] [stderr] 125 | ) -> Result, Error> { [INFO] [stderr] | ^^^^^^^^ the same lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 125 | ) -> Result, Error> { [INFO] [stderr] | ++ [INFO] [stderr] [INFO] [stderr] warning: `rss-watch` (bin "rss-watch" test) generated 19 warnings (run `cargo fix --bin "rss-watch" --tests` to apply 12 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.12.4, quick-xml v0.20.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rss_watch-c322c2fc458b3e2c) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "19deae47a9b4f779be105a4df6f3e7b4d5e61c78203d26fe0ba97773c5d611b0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "19deae47a9b4f779be105a4df6f3e7b4d5e61c78203d26fe0ba97773c5d611b0", kill_on_drop: false }` [INFO] [stdout] 19deae47a9b4f779be105a4df6f3e7b4d5e61c78203d26fe0ba97773c5d611b0