[INFO] fetching crate intrusive 0.0.4...
[INFO] checking intrusive-0.0.4 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate intrusive 0.0.4 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate intrusive 0.0.4 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate intrusive 0.0.4
[INFO] finished tweaking crates.io crate intrusive 0.0.4
[INFO] tweaked toml for crates.io crate intrusive 0.0.4 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded stainless v0.1.12
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] df7b16d604a5368da2fdb9e06e35c639fc1ccee1a62811ec9056c19dbb003310
[INFO] running `Command { std: "docker" "start" "-a" "df7b16d604a5368da2fdb9e06e35c639fc1ccee1a62811ec9056c19dbb003310", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "df7b16d604a5368da2fdb9e06e35c639fc1ccee1a62811ec9056c19dbb003310", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "df7b16d604a5368da2fdb9e06e35c639fc1ccee1a62811ec9056c19dbb003310", kill_on_drop: false }`
[INFO] [stdout] df7b16d604a5368da2fdb9e06e35c639fc1ccee1a62811ec9056c19dbb003310
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 19a8680194284dba9a3c17b96a3447737b48382ad6c903a5fdef683daa43ac10
[INFO] running `Command { std: "docker" "start" "-a" "19a8680194284dba9a3c17b96a3447737b48382ad6c903a5fdef683daa43ac10", kill_on_drop: false }`
[INFO] [stderr]    Compiling stainless v0.1.12
[INFO] [stderr]     Checking intrusive v0.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected parameter name, found `:`
[INFO] [stdout]   --> src/lib.rs:29:28
[INFO] [stdout]    |
[INFO] [stdout] 29 |         self.traverse(|&mut: t: T| { f(t); false })
[INFO] [stdout]    |                            ^ expected parameter name
[INFO] [stdout]    |
[INFO] [stdout]    = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/stainless-0.1.12/src/lib.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | #![feature(plugin_registrar, quote, rustc_private)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: plugins are no longer supported
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected parameter name, found `:`
[INFO] [stdout]   --> src/impls.rs:57:27
[INFO] [stdout]    |
[INFO] [stdout] 57 |         iter.iterate(|&mut: elem| vec.push(elem));
[INFO] [stdout]    |                           ^ expected parameter name
[INFO] [stdout]    |
[INFO] [stdout]    = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/stainless-0.1.12/src/lib.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | #![feature(plugin_registrar, quote, rustc_private)]
[INFO] [stdout]   |                              ^^^^^ feature has been removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `(`, `[`, or `{`, found `intrusive_slice_iter`
[INFO] [stdout]   --> src/impls.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |     describe! intrusive_slice_iter {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^ expected one of `(`, `[`, or `{`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `syntax`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/stainless-0.1.12/src/lib.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | extern crate syntax;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `rustc_plugin`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/stainless-0.1.12/src/lib.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | extern crate rustc_plugin;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `quote_ty` in this scope
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/stainless-0.1.12/src/generate.rs:161:29
[INFO] [stdout]     |
[INFO] [stdout] 161 |                         ty: quote_ty!(cx, &mut ::test::Bencher),
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `quote_pat` in this scope
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/stainless-0.1.12/src/generate.rs:162:30
[INFO] [stdout]     |
[INFO] [stdout] 162 |                         pat: quote_pat!(cx, $bench),
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `plugin_registrar` in this scope
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/stainless-0.1.12/src/lib.rs:185:3
[INFO] [stdout]     |
[INFO] [stdout] 185 | #[plugin_registrar]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `plugin_registrar` is in scope, but it is a function, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `uint` in this scope
[INFO] [stdout]   --> src/ext.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn skip(self, uint) -> Skip<Self>;
[INFO] [stdout]    |                   ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `uint` in this scope
[INFO] [stdout]   --> src/ext.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn take(self, uint) -> Take<Self>;
[INFO] [stdout]    |                   ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `uint` in this scope
[INFO] [stdout]   --> src/ext.rs:37:22
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn skip(self, n: uint) -> Skip<I> {
[INFO] [stdout]    |                      ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `uint` in this scope
[INFO] [stdout]   --> src/ext.rs:41:22
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn take(self, n: uint) -> Take<I> {
[INFO] [stdout]    |                      ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `uint` in this scope
[INFO] [stdout]    --> src/ext.rs:121:31
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl<T, I> IntrusiveIterator<(uint, T)> for Enumerate<I>
[INFO] [stdout]     |                               ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl<T, I, uint> IntrusiveIterator<(uint, T)> for Enumerate<I>
[INFO] [stdout]     |          ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `uint` in this scope
[INFO] [stdout]    --> src/ext.rs:123:28
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn traverse<F1: FnMut((uint, T)) -> bool>(self, mut f: F1) {
[INFO] [stdout]     |                            ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `uint` in this scope
[INFO] [stdout]    --> src/ext.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 |     n: uint
[INFO] [stdout]     |        ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `uint` in this scope
[INFO] [stdout]    --> src/ext.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 157 |     n: uint
[INFO] [stdout]     |        ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/lib.rs:23:44
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn traverse<F: FnMut(T) -> bool>(self, F);
[INFO] [stdout]    |                                            ^ help: try naming the parameter or explicitly ignoring it: `_: F`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/lib.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn collect<I: IntrusiveIterator<T>>(I) -> Self;
[INFO] [stdout]    |                                         ^ help: try naming the parameter or explicitly ignoring it: `_: I`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]  --> src/ext.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn map<O, F: FnMut(T) -> O>(self, F) -> Map<Self, F>;
[INFO] [stdout]   |                                       ^ help: try naming the parameter or explicitly ignoring it: `_: F`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]   = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]  --> src/ext.rs:8:54
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn filter_map<O, F: FnMut(T) -> Option<O>>(self, F) -> FilterMap<Self, F>;
[INFO] [stdout]   |                                                      ^ help: try naming the parameter or explicitly ignoring it: `_: F`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]   = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/ext.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn skip(self, uint) -> Skip<Self>;
[INFO] [stdout]    |                   ^^^^ help: try naming the parameter or explicitly ignoring it: `_: uint`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/ext.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn take(self, uint) -> Take<Self>;
[INFO] [stdout]    |                   ^^^^ help: try naming the parameter or explicitly ignoring it: `_: uint`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/ext.rs:12:46
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn skip_while<F: FnMut(T) -> bool>(self, F) -> SkipWhile<Self, F>;
[INFO] [stdout]    |                                              ^ help: try naming the parameter or explicitly ignoring it: `_: F`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/ext.rs:13:46
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn take_while<F: FnMut(T) -> bool>(self, F) -> TakeWhile<Self, F>;
[INFO] [stdout]    |                                              ^ help: try naming the parameter or explicitly ignoring it: `_: F`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/ext.rs:14:36
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn inspect<F: FnMut(&T)>(self, F) -> Inspect<Self, F>;
[INFO] [stdout]    |                                    ^ help: try naming the parameter or explicitly ignoring it: `_: F`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/ext.rs:15:60
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn flat_map<O, U: Iterator<O>, F: FnMut(T) -> U>(self, F) -> FlatMap<Self, F>;
[INFO] [stdout]    |                                                            ^ help: try naming the parameter or explicitly ignoring it: `_: F`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/ext.rs:16:45
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn chain<O: IntrusiveIterator<T>>(self, O) -> Chain<Self, O>;
[INFO] [stdout]    |                                             ^ help: try naming the parameter or explicitly ignoring it: `_: O`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `globs` has been stable since 1.0.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(unboxed_closures, globs, phase)]
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `phase`
[INFO] [stdout]  --> src/lib.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(unboxed_closures, globs, phase)]
[INFO] [stdout]   |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 generic arguments but 1 generic argument was supplied
[INFO] [stdout]   --> src/lib.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl<T, I: Iterator<T>> IntoIntrusive<T> for I {
[INFO] [stdout]    |            ^^^^^^^^ expected 0 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] help: replace the generic bound with the associated type
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl<T, I: Iterator<Item = T>> IntoIntrusive<T> for I {
[INFO] [stdout]    |                     ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 generic arguments but 1 generic argument was supplied
[INFO] [stdout]   --> src/lib.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl<T, I: Iterator<T>> IntrusiveIterator<T> for Intrusive<I> {
[INFO] [stdout]    |            ^^^^^^^^ expected 0 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] help: replace the generic bound with the associated type
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl<T, I: Iterator<Item = T>> IntrusiveIterator<T> for Intrusive<I> {
[INFO] [stdout]    |                     ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0463, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time
[INFO] [stdout]   --> src/lib.rs:38:32
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn into_intrusive(self) -> Intrusive<Self>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout] note: required by an implicit `Sized` bound in `Intrusive`
[INFO] [stdout]   --> src/lib.rs:47:22
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct Intrusive<I> {
[INFO] [stdout]    |                      ^ required by the implicit `Sized` requirement on this type parameter in `Intrusive`
[INFO] [stdout] help: you could relax the implicit `Sized` bound on `I` if it were used through indirection like `&I` or `Box<I>`
[INFO] [stdout]   --> src/lib.rs:47:22
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct Intrusive<I> {
[INFO] [stdout]    |                      ^ this could be changed to `I: ?Sized`...
[INFO] [stdout] 48 |     iter: I
[INFO] [stdout]    |           - ...if indirection were used here: `Box<I>`
[INFO] [stdout] help: consider further restricting `Self`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn into_intrusive(self) -> Intrusive<Self> where Self: Sized;
[INFO] [stdout]    |                                                +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 generic arguments but 1 generic argument was supplied
[INFO] [stdout]   --> src/ext.rs:57:23
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn flat_map<O, U: Iterator<O>, F: FnMut(T) -> U>(self, f: F) -> FlatMap<I, F> {
[INFO] [stdout]    |                       ^^^^^^^^ expected 0 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] help: replace the generic bound with the associated type
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn flat_map<O, U: Iterator<Item = O>, F: FnMut(T) -> U>(self, f: F) -> FlatMap<I, F> {
[INFO] [stdout]    |                                ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 generic arguments but 1 generic argument was supplied
[INFO] [stdout]   --> src/ext.rs:15:23
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn flat_map<O, U: Iterator<O>, F: FnMut(T) -> U>(self, F) -> FlatMap<Self, F>;
[INFO] [stdout]    |                       ^^^^^^^^ expected 0 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] help: replace the generic bound with the associated type
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn flat_map<O, U: Iterator<Item = O>, F: FnMut(T) -> U>(self, F) -> FlatMap<Self, F>;
[INFO] [stdout]    |                                ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates
[INFO] [stdout]   --> src/ext.rs:77:6
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl<T, O, I: IntrusiveIterator<T>, F: FnMut(T) -> O> IntrusiveIterator<O> for Map<I, F> {
[INFO] [stdout]    |      ^ unconstrained type parameter
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates
[INFO] [stdout]    --> src/ext.rs:106:6
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl<T, O, I, F> IntrusiveIterator<O> for FilterMap<I, F>
[INFO] [stdout]     |      ^ unconstrained type parameter
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates
[INFO] [stdout]    --> src/ext.rs:258:6
[INFO] [stdout]     |
[INFO] [stdout] 258 | impl<T, O, U, I, F> IntrusiveIterator<O> for FlatMap<I, F>
[INFO] [stdout]     |      ^ unconstrained type parameter
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0207]: the type parameter `U` is not constrained by the impl trait, self type, or predicates
[INFO] [stdout]    --> src/ext.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 258 | impl<T, O, U, I, F> IntrusiveIterator<O> for FlatMap<I, F>
[INFO] [stdout]     |            ^ unconstrained type parameter
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time
[INFO] [stdout]   --> src/ext.rs:6:45
[INFO] [stdout]    |
[INFO] [stdout] 6  |     fn map<O, F: FnMut(T) -> O>(self, F) -> Map<Self, F>;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout] note: required by an implicit `Sized` bound in `ext::Map`
[INFO] [stdout]   --> src/ext.rs:72:16
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Map<I, F> {
[INFO] [stdout]    |                ^ required by the implicit `Sized` requirement on this type parameter in `Map`
[INFO] [stdout] help: you could relax the implicit `Sized` bound on `I` if it were used through indirection like `&I` or `Box<I>`
[INFO] [stdout]   --> src/ext.rs:72:16
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Map<I, F> {
[INFO] [stdout]    |                ^ this could be changed to `I: ?Sized`...
[INFO] [stdout] 73 |     iter: I,
[INFO] [stdout]    |           - ...if indirection were used here: `Box<I>`
[INFO] [stdout] help: consider further restricting `Self`
[INFO] [stdout]    |
[INFO] [stdout] 6  |     fn map<O, F: FnMut(T) -> O>(self, F) -> Map<Self, F> where Self: Sized;
[INFO] [stdout]    |                                                          +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stainless` (lib) due to 8 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time
[INFO] [stdout]   --> src/ext.rs:7:52
[INFO] [stdout]    |
[INFO] [stdout] 7  |     fn filter<F: FnMut(&T) -> bool>(self, f: F) -> Filter<Self, F>;
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout] note: required by an implicit `Sized` bound in `ext::Filter`
[INFO] [stdout]   --> src/ext.rs:86:19
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct Filter<I, F> {
[INFO] [stdout]    |                   ^ required by the implicit `Sized` requirement on this type parameter in `Filter`
[INFO] [stdout] help: you could relax the implicit `Sized` bound on `I` if it were used through indirection like `&I` or `Box<I>`
[INFO] [stdout]   --> src/ext.rs:86:19
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct Filter<I, F> {
[INFO] [stdout]    |                   ^ this could be changed to `I: ?Sized`...
[INFO] [stdout] 87 |     iter: I,
[INFO] [stdout]    |           - ...if indirection were used here: `Box<I>`
[INFO] [stdout] help: consider further restricting `Self`
[INFO] [stdout]    |
[INFO] [stdout] 7  |     fn filter<F: FnMut(&T) -> bool>(self, f: F) -> Filter<Self, F> where Self: Sized;
[INFO] [stdout]    |                                                                    +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time
[INFO] [stdout]    --> src/ext.rs:8:60
[INFO] [stdout]     |
[INFO] [stdout] 8   |     fn filter_map<O, F: FnMut(T) -> Option<O>>(self, F) -> FilterMap<Self, F>;
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout] note: required by an implicit `Sized` bound in `ext::FilterMap`
[INFO] [stdout]    --> src/ext.rs:101:22
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct FilterMap<I, F> {
[INFO] [stdout]     |                      ^ required by the implicit `Sized` requirement on this type parameter in `FilterMap`
[INFO] [stdout] help: you could relax the implicit `Sized` bound on `I` if it were used through indirection like `&I` or `Box<I>`
[INFO] [stdout]    --> src/ext.rs:101:22
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct FilterMap<I, F> {
[INFO] [stdout]     |                      ^ this could be changed to `I: ?Sized`...
[INFO] [stdout] 102 |     iter: I,
[INFO] [stdout]     |           - ...if indirection were used here: `Box<I>`
[INFO] [stdout] help: consider further restricting `Self`
[INFO] [stdout]     |
[INFO] [stdout] 8   |     fn filter_map<O, F: FnMut(T) -> Option<O>>(self, F) -> FilterMap<Self, F> where Self: Sized;
[INFO] [stdout]     |                                                                               +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time
[INFO] [stdout]    --> src/ext.rs:9:27
[INFO] [stdout]     |
[INFO] [stdout] 9   |     fn enumerate(self) -> Enumerate<Self>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout] note: required by an implicit `Sized` bound in `ext::Enumerate`
[INFO] [stdout]    --> src/ext.rs:119:22
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct Enumerate<I>(I);
[INFO] [stdout]     |                      ^ required by the implicit `Sized` requirement on this type parameter in `Enumerate`
[INFO] [stdout] help: you could relax the implicit `Sized` bound on `I` if it were used through indirection like `&I` or `Box<I>`
[INFO] [stdout]    --> src/ext.rs:119:22
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct Enumerate<I>(I);
[INFO] [stdout]     |                      ^  - ...if indirection were used here: `Box<I>`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this could be changed to `I: ?Sized`...
[INFO] [stdout] help: consider further restricting `Self`
[INFO] [stdout]     |
[INFO] [stdout] 9   |     fn enumerate(self) -> Enumerate<Self> where Self: Sized;
[INFO] [stdout]     |                                           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time
[INFO] [stdout]    --> src/ext.rs:10:28
[INFO] [stdout]     |
[INFO] [stdout] 10  |     fn skip(self, uint) -> Skip<Self>;
[INFO] [stdout]     |                            ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout] note: required by an implicit `Sized` bound in `ext::Skip`
[INFO] [stdout]    --> src/ext.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct Skip<I> {
[INFO] [stdout]     |                 ^ required by the implicit `Sized` requirement on this type parameter in `Skip`
[INFO] [stdout] help: you could relax the implicit `Sized` bound on `I` if it were used through indirection like `&I` or `Box<I>`
[INFO] [stdout]    --> src/ext.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct Skip<I> {
[INFO] [stdout]     |                 ^ this could be changed to `I: ?Sized`...
[INFO] [stdout] 134 |     iter: I,
[INFO] [stdout]     |           - ...if indirection were used here: `Box<I>`
[INFO] [stdout] help: consider further restricting `Self`
[INFO] [stdout]     |
[INFO] [stdout] 10  |     fn skip(self, uint) -> Skip<Self> where Self: Sized;
[INFO] [stdout]     |                                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time
[INFO] [stdout]    --> src/ext.rs:11:28
[INFO] [stdout]     |
[INFO] [stdout] 11  |     fn take(self, uint) -> Take<Self>;
[INFO] [stdout]     |                            ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout] note: required by an implicit `Sized` bound in `ext::Take`
[INFO] [stdout]    --> src/ext.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct Take<I> {
[INFO] [stdout]     |                 ^ required by the implicit `Sized` requirement on this type parameter in `Take`
[INFO] [stdout] help: you could relax the implicit `Sized` bound on `I` if it were used through indirection like `&I` or `Box<I>`
[INFO] [stdout]    --> src/ext.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct Take<I> {
[INFO] [stdout]     |                 ^ this could be changed to `I: ?Sized`...
[INFO] [stdout] 156 |     iter: I,
[INFO] [stdout]     |           - ...if indirection were used here: `Box<I>`
[INFO] [stdout] help: consider further restricting `Self`
[INFO] [stdout]     |
[INFO] [stdout] 11  |     fn take(self, uint) -> Take<Self> where Self: Sized;
[INFO] [stdout]     |                                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time
[INFO] [stdout]    --> src/ext.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout] 12  |     fn skip_while<F: FnMut(T) -> bool>(self, F) -> SkipWhile<Self, F>;
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout] note: required by an implicit `Sized` bound in `ext::SkipWhile`
[INFO] [stdout]    --> src/ext.rs:177:22
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub struct SkipWhile<I, F> {
[INFO] [stdout]     |                      ^ required by the implicit `Sized` requirement on this type parameter in `SkipWhile`
[INFO] [stdout] help: you could relax the implicit `Sized` bound on `I` if it were used through indirection like `&I` or `Box<I>`
[INFO] [stdout]    --> src/ext.rs:177:22
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub struct SkipWhile<I, F> {
[INFO] [stdout]     |                      ^ this could be changed to `I: ?Sized`...
[INFO] [stdout] 178 |     iter: I,
[INFO] [stdout]     |           - ...if indirection were used here: `Box<I>`
[INFO] [stdout] help: consider further restricting `Self`
[INFO] [stdout]     |
[INFO] [stdout] 12  |     fn skip_while<F: FnMut(T) -> bool>(self, F) -> SkipWhile<Self, F> where Self: Sized;
[INFO] [stdout]     |                                                                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time
[INFO] [stdout]    --> src/ext.rs:13:52
[INFO] [stdout]     |
[INFO] [stdout] 13  |     fn take_while<F: FnMut(T) -> bool>(self, F) -> TakeWhile<Self, F>;
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout] note: required by an implicit `Sized` bound in `ext::TakeWhile`
[INFO] [stdout]    --> src/ext.rs:201:22
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub struct TakeWhile<I, F> {
[INFO] [stdout]     |                      ^ required by the implicit `Sized` requirement on this type parameter in `TakeWhile`
[INFO] [stdout] help: you could relax the implicit `Sized` bound on `I` if it were used through indirection like `&I` or `Box<I>`
[INFO] [stdout]    --> src/ext.rs:201:22
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub struct TakeWhile<I, F> {
[INFO] [stdout]     |                      ^ this could be changed to `I: ?Sized`...
[INFO] [stdout] 202 |     iter: I,
[INFO] [stdout]     |           - ...if indirection were used here: `Box<I>`
[INFO] [stdout] help: consider further restricting `Self`
[INFO] [stdout]     |
[INFO] [stdout] 13  |     fn take_while<F: FnMut(T) -> bool>(self, F) -> TakeWhile<Self, F> where Self: Sized;
[INFO] [stdout]     |                                                                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time
[INFO] [stdout]    --> src/ext.rs:14:42
[INFO] [stdout]     |
[INFO] [stdout] 14  |     fn inspect<F: FnMut(&T)>(self, F) -> Inspect<Self, F>;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout] note: required by an implicit `Sized` bound in `ext::Inspect`
[INFO] [stdout]    --> src/ext.rs:216:20
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub struct Inspect<I, F> {
[INFO] [stdout]     |                    ^ required by the implicit `Sized` requirement on this type parameter in `Inspect`
[INFO] [stdout] help: you could relax the implicit `Sized` bound on `I` if it were used through indirection like `&I` or `Box<I>`
[INFO] [stdout]    --> src/ext.rs:216:20
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub struct Inspect<I, F> {
[INFO] [stdout]     |                    ^ this could be changed to `I: ?Sized`...
[INFO] [stdout] 217 |     iter: I,
[INFO] [stdout]     |           - ...if indirection were used here: `Box<I>`
[INFO] [stdout] help: consider further restricting `Self`
[INFO] [stdout]     |
[INFO] [stdout] 14  |     fn inspect<F: FnMut(&T)>(self, F) -> Inspect<Self, F> where Self: Sized;
[INFO] [stdout]     |                                                           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time
[INFO] [stdout]    --> src/ext.rs:15:66
[INFO] [stdout]     |
[INFO] [stdout] 15  |     fn flat_map<O, U: Iterator<O>, F: FnMut(T) -> U>(self, F) -> FlatMap<Self, F>;
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout] note: required by an implicit `Sized` bound in `ext::FlatMap`
[INFO] [stdout]    --> src/ext.rs:253:20
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub struct FlatMap<I, F> {
[INFO] [stdout]     |                    ^ required by the implicit `Sized` requirement on this type parameter in `FlatMap`
[INFO] [stdout] help: you could relax the implicit `Sized` bound on `I` if it were used through indirection like `&I` or `Box<I>`
[INFO] [stdout]    --> src/ext.rs:253:20
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub struct FlatMap<I, F> {
[INFO] [stdout]     |                    ^ this could be changed to `I: ?Sized`...
[INFO] [stdout] 254 |     iter: I,
[INFO] [stdout]     |           - ...if indirection were used here: `Box<I>`
[INFO] [stdout] help: consider further restricting `Self`
[INFO] [stdout]     |
[INFO] [stdout] 15  |     fn flat_map<O, U: Iterator<O>, F: FnMut(T) -> U>(self, F) -> FlatMap<Self, F> where Self: Sized;
[INFO] [stdout]     |                                                                                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time
[INFO] [stdout]    --> src/ext.rs:16:51
[INFO] [stdout]     |
[INFO] [stdout] 16  |     fn chain<O: IntrusiveIterator<T>>(self, O) -> Chain<Self, O>;
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout] note: required by an implicit `Sized` bound in `ext::Chain`
[INFO] [stdout]    --> src/ext.rs:232:18
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub struct Chain<I, O> {
[INFO] [stdout]     |                  ^ required by the implicit `Sized` requirement on this type parameter in `Chain`
[INFO] [stdout] help: you could relax the implicit `Sized` bound on `I` if it were used through indirection like `&I` or `Box<I>`
[INFO] [stdout]    --> src/ext.rs:232:18
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub struct Chain<I, O> {
[INFO] [stdout]     |                  ^ this could be changed to `I: ?Sized`...
[INFO] [stdout] 233 |     one: I,
[INFO] [stdout]     |          - ...if indirection were used here: `Box<I>`
[INFO] [stdout] help: consider further restricting `Self`
[INFO] [stdout]     |
[INFO] [stdout] 16  |     fn chain<O: IntrusiveIterator<T>>(self, O) -> Chain<Self, O> where Self: Sized;
[INFO] [stdout]     |                                                                  +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time
[INFO] [stdout]   --> src/lib.rs:28:29
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn iterate<F: FnMut(T)>(self, mut f: F) {
[INFO] [stdout]    |                             ^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: consider further restricting `Self`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn iterate<F: FnMut(T)>(self, mut f: F) where Self: Sized {
[INFO] [stdout]    |                                             +++++++++++++++++
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn iterate<F: FnMut(T)>(&self, mut f: F) {
[INFO] [stdout]    |                             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lib.rs:54:18
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl<T, I: Iterator<T>> IntrusiveIterator<T> for Intrusive<I> {
[INFO] [stdout]    |      - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 54 |             if f(elem) { break }
[INFO] [stdout]    |                - ^^^^ expected type parameter `T`, found associated type
[INFO] [stdout]    |                |
[INFO] [stdout]    |                arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `T`
[INFO] [stdout]              found associated type `<I as Iterator>::Item`
[INFO] [stdout] note: callable defined here
[INFO] [stdout]   --> src/lib.rs:52:20
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn traverse<F: FnMut(T) -> bool>(mut self, mut f: F) {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl<T, I: Iterator<T><Item = T>> IntrusiveIterator<T> for Intrusive<I> {
[INFO] [stdout]    |                       ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 34 previous errors; 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0207, E0277, E0308, E0412, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `intrusive` (lib) due to 35 previous errors; 12 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "19a8680194284dba9a3c17b96a3447737b48382ad6c903a5fdef683daa43ac10", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "19a8680194284dba9a3c17b96a3447737b48382ad6c903a5fdef683daa43ac10", kill_on_drop: false }`
[INFO] [stdout] 19a8680194284dba9a3c17b96a3447737b48382ad6c903a5fdef683daa43ac10
