[INFO] fetching crate an-rope 0.3.1...
[INFO] checking an-rope-0.3.1 against try#264a7c4a1c917c83d13895a31231f9d93c7b67e1 for pr-132289
[INFO] extracting crate an-rope 0.3.1 into /workspace/builds/worker-1-tc2/source
[INFO] validating manifest of crates.io crate an-rope 0.3.1 on toolchain 264a7c4a1c917c83d13895a31231f9d93c7b67e1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+264a7c4a1c917c83d13895a31231f9d93c7b67e1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate an-rope 0.3.1
[INFO] finished tweaking crates.io crate an-rope 0.3.1
[INFO] tweaked toml for crates.io crate an-rope 0.3.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+264a7c4a1c917c83d13895a31231f9d93c7b67e1" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 52 packages to latest compatible versions
[INFO] [stderr]       Adding clippy v0.0.106 (available: v0.0.302)
[INFO] [stderr]       Adding quickcheck v0.3.2 (available: v1.0.3)
[INFO] [stderr]       Adding tendril v0.2.4 (available: v0.4.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+264a7c4a1c917c83d13895a31231f9d93c7b67e1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+264a7c4a1c917c83d13895a31231f9d93c7b67e1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a674d415058ca9a8171dcb52f71d91e507eb3bfe5d6af39c31da90dbf7c530e9
[INFO] running `Command { std: "docker" "start" "-a" "a674d415058ca9a8171dcb52f71d91e507eb3bfe5d6af39c31da90dbf7c530e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a674d415058ca9a8171dcb52f71d91e507eb3bfe5d6af39c31da90dbf7c530e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a674d415058ca9a8171dcb52f71d91e507eb3bfe5d6af39c31da90dbf7c530e9", kill_on_drop: false }`
[INFO] [stdout] a674d415058ca9a8171dcb52f71d91e507eb3bfe5d6af39c31da90dbf7c530e9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+264a7c4a1c917c83d13895a31231f9d93c7b67e1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ae0f42fad18c2fe5bba5ffe10fd152c0de1d066e5dcdf16becaec28e7b0f5c1a
[INFO] running `Command { std: "docker" "start" "-a" "ae0f42fad18c2fe5bba5ffe10fd152c0de1d066e5dcdf16becaec28e7b0f5c1a", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]     Checking winapi v0.2.8
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]     Checking utf8-ranges v0.1.3
[INFO] [stderr]     Checking regex-syntax v0.3.9
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking memchr v0.1.11
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking aho-corasick v0.5.3
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]     Checking macro-attr v0.2.0
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]     Checking thread-id v2.0.0
[INFO] [stderr]     Checking thread_local v0.2.7
[INFO] [stderr]    Compiling newtype_derive v0.1.6
[INFO] [stderr]     Checking an-rope v0.3.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/lib.rs:817:23
[INFO] [stdout]     |
[INFO] [stdout] 817 |                `self`.\n\
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 818 | |
[INFO] [stdout] 819 | |              [graphemes]: \
[INFO] [stdout]     | |_____________^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/lib.rs:832:72
[INFO] [stdout]     |
[INFO] [stdout] 832 |               (http://www.unicode.org/reports/tr29/#Word_Boundaries).\n\n\
[INFO] [stdout]     |  ________________________________________________________________________^
[INFO] [stdout] 833 | |
[INFO] [stdout] 834 | |             Here, \"words\" are just those substrings which, after splitting on\
[INFO] [stdout]     | |____________^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/internals/mod.rs:551:26
[INFO] [stdout]     |
[INFO] [stdout] 551 |                  subrope \n\
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 552 | |
[INFO] [stdout] 553 | |                \nAs a Rope consists of a sequence of bytes, we can iterate \
[INFO] [stdout]     | |_______________^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/internals/mod.rs:558:26
[INFO] [stdout]     |
[INFO] [stdout] 558 |                  subrope \n\
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 559 | |
[INFO] [stdout] 560 | |                \nAs a `Rope` consists of valid UTF-8, we can iterate through a \
[INFO] [stdout]     | |_______________^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/internals/mod.rs:561:74
[INFO] [stdout]     |
[INFO] [stdout] 561 |                  `Rope` by `char`. This method returns such an iterator. \n\
[INFO] [stdout]     |  __________________________________________________________________________^
[INFO] [stdout] 562 | |
[INFO] [stdout] 563 | |                \nIt's important to remember that `char` represents a Unicode \
[INFO] [stdout]     | |_______________^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/internals/mod.rs:585:23
[INFO] [stdout]     |
[INFO] [stdout] 585 |                `self`.\n\
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 586 | |
[INFO] [stdout] 587 | |              [graphemes]: \
[INFO] [stdout]     | |_____________^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/internals/mod.rs:602:72
[INFO] [stdout]     |
[INFO] [stdout] 602 |               (http://www.unicode.org/reports/tr29/#Word_Boundaries).\n\n\
[INFO] [stdout]     |  ________________________________________________________________________^
[INFO] [stdout] 603 | |
[INFO] [stdout] 604 | |             Here, \"words\" are just those substrings which, after splitting on\
[INFO] [stdout]     | |____________^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused attribute
[INFO] [stdout]    --> src/lib.rs:441:5
[INFO] [stdout]     |
[INFO] [stdout] 441 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^ help: remove this attribute
[INFO] [stdout]     |
[INFO] [stdout] note: attribute also specified here
[INFO] [stdout]    --> src/lib.rs:440:5
[INFO] [stdout]     |
[INFO] [stdout] 440 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/internals/mod.rs:705:18
[INFO] [stdout]     |
[INFO] [stdout] 705 |     strings: Box<Iterator<Item = &'a str> + 'a >
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 705 |     strings: Box<dyn Iterator<Item = &'a str> + 'a >
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/internals/mod.rs:728:18
[INFO] [stdout]     |
[INFO] [stdout] 728 |     strings: Box<Iterator<Item = &'a str> + 'a >
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 728 |     strings: Box<dyn Iterator<Item = &'a str> + 'a >
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 743 | /     unstable_iters! {
[INFO] [stdout] 744 | |         #[doc="Returns an iterator over all the strings in this `Rope`"]
[INFO] [stdout] 745 | |         #[inline]
[INFO] [stdout] 746 | |         pub fn strings<'a>(&'a self) -> impl Iterator<Item=&'a str> + 'a {
[INFO] [stdout] ...   |
[INFO] [stdout] 768 | |         }
[INFO] [stdout] 769 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 791 | /     str_iters! {
[INFO] [stdout] 792 | |         #[doc="Returns an iterator over all the bytes in this `Rope`.\n\
[INFO] [stdout] 793 | |                \nAs a Rope consists of a sequence of bytes, we can iterate \
[INFO] [stdout] 794 | |                through a rope by byte. This method returns such an iterator."]
[INFO] [stdout] ...   |
[INFO] [stdout] 811 | |         // impl lines<&'a str> for Rope {}
[INFO] [stdout] 812 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `str_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 791 | /     str_iters! {
[INFO] [stdout] 792 | |         #[doc="Returns an iterator over all the bytes in this `Rope`.\n\
[INFO] [stdout] 793 | |                \nAs a Rope consists of a sequence of bytes, we can iterate \
[INFO] [stdout] 794 | |                through a rope by byte. This method returns such an iterator."]
[INFO] [stdout] ...   |
[INFO] [stdout] 811 | |         // impl lines<&'a str> for Rope {}
[INFO] [stdout] 812 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `str_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 791 | /     str_iters! {
[INFO] [stdout] 792 | |         #[doc="Returns an iterator over all the bytes in this `Rope`.\n\
[INFO] [stdout] 793 | |                \nAs a Rope consists of a sequence of bytes, we can iterate \
[INFO] [stdout] 794 | |                through a rope by byte. This method returns such an iterator."]
[INFO] [stdout] ...   |
[INFO] [stdout] 811 | |         // impl lines<&'a str> for Rope {}
[INFO] [stdout] 812 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `str_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 791 | /     str_iters! {
[INFO] [stdout] 792 | |         #[doc="Returns an iterator over all the bytes in this `Rope`.\n\
[INFO] [stdout] 793 | |                \nAs a Rope consists of a sequence of bytes, we can iterate \
[INFO] [stdout] 794 | |                through a rope by byte. This method returns such an iterator."]
[INFO] [stdout] ...   |
[INFO] [stdout] 811 | |         // impl lines<&'a str> for Rope {}
[INFO] [stdout] 812 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `str_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 814 | /     unicode_seg_iters! {
[INFO] [stdout] 815 | |         #[doc=
[INFO] [stdout] 816 | |             "Returns an iterator over the [grapheme clusters][graphemes] of \
[INFO] [stdout] 817 | |              `self`.\n\
[INFO] [stdout] ...   |
[INFO] [stdout] 853 | |         // impl split_word_bound_indices<(usize, &'a str)> for Rope {}
[INFO] [stdout] 854 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `unicode_seg_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 814 | /     unicode_seg_iters! {
[INFO] [stdout] 815 | |         #[doc=
[INFO] [stdout] 816 | |             "Returns an iterator over the [grapheme clusters][graphemes] of \
[INFO] [stdout] 817 | |              `self`.\n\
[INFO] [stdout] ...   |
[INFO] [stdout] 853 | |         // impl split_word_bound_indices<(usize, &'a str)> for Rope {}
[INFO] [stdout] 854 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `unicode_seg_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 814 | /     unicode_seg_iters! {
[INFO] [stdout] 815 | |         #[doc=
[INFO] [stdout] 816 | |             "Returns an iterator over the [grapheme clusters][graphemes] of \
[INFO] [stdout] 817 | |              `self`.\n\
[INFO] [stdout] ...   |
[INFO] [stdout] 853 | |         // impl split_word_bound_indices<(usize, &'a str)> for Rope {}
[INFO] [stdout] 854 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `unicode_seg_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/slice.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 410 | /     unstable_iters! {
[INFO] [stdout] 411 | |         #[inline]
[INFO] [stdout] 412 | |         pub fn chars(&'a self) -> impl Iterator<Item=char> + 'a  {
[INFO] [stdout] 413 | |             self.slice_char_iter(self.node.chars())
[INFO] [stdout] ...   |
[INFO] [stdout] 426 | |         }
[INFO] [stdout] 427 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/slice.rs:520:53
[INFO] [stdout]     |
[INFO] [stdout] 520 |     fn slice_char_iter<I, T>(&'a self, i: I) -> Box<Iterator<Item=T> + 'a>
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 520 |     fn slice_char_iter<I, T>(&'a self, i: I) -> Box<dyn Iterator<Item=T> + 'a>
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/slice.rs:529:53
[INFO] [stdout]     |
[INFO] [stdout] 529 |     fn slice_strings_iter<I>(&'a self, i: I) -> Box<Iterator<Item=&'a str> + 'a>
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 529 |     fn slice_strings_iter<I>(&'a self, i: I) -> Box<dyn Iterator<Item=&'a str> + 'a>
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internals/mod.rs:462:5
[INFO] [stdout]     |
[INFO] [stdout] 462 | /     unstable_iters! {
[INFO] [stdout] 463 | |         #[doc=
[INFO] [stdout] 464 | |             "Returns an iterator over all the strings in this `Node`s subrope."]
[INFO] [stdout] 465 | |         #[inline]
[INFO] [stdout] ...   |
[INFO] [stdout] 479 | |         }
[INFO] [stdout] 480 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internals/mod.rs:549:5
[INFO] [stdout]     |
[INFO] [stdout] 549 | /     str_iters! {
[INFO] [stdout] 550 | |         #[doc="Returns an iterator over all the bytes in this `Node`'s \
[INFO] [stdout] 551 | |                subrope \n\
[INFO] [stdout] ...   |
[INFO] [stdout] 571 | |         impl split_whitespace<&'a str> for Node {}
[INFO] [stdout] 572 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `str_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internals/mod.rs:549:5
[INFO] [stdout]     |
[INFO] [stdout] 549 | /     str_iters! {
[INFO] [stdout] 550 | |         #[doc="Returns an iterator over all the bytes in this `Node`'s \
[INFO] [stdout] 551 | |                subrope \n\
[INFO] [stdout] ...   |
[INFO] [stdout] 571 | |         impl split_whitespace<&'a str> for Node {}
[INFO] [stdout] 572 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `str_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internals/mod.rs:549:5
[INFO] [stdout]     |
[INFO] [stdout] 549 | /     str_iters! {
[INFO] [stdout] 550 | |         #[doc="Returns an iterator over all the bytes in this `Node`'s \
[INFO] [stdout] 551 | |                subrope \n\
[INFO] [stdout] ...   |
[INFO] [stdout] 571 | |         impl split_whitespace<&'a str> for Node {}
[INFO] [stdout] 572 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `str_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internals/mod.rs:582:5
[INFO] [stdout]     |
[INFO] [stdout] 582 | /     unicode_seg_iters! {
[INFO] [stdout] 583 | |         #[doc=
[INFO] [stdout] 584 | |             "Returns an iterator over the [grapheme clusters][graphemes] of \
[INFO] [stdout] 585 | |              `self`.\n\
[INFO] [stdout] ...   |
[INFO] [stdout] 596 | |         impl graphemes for Node { extend }
[INFO] [stdout] 597 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `unicode_seg_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internals/mod.rs:598:5
[INFO] [stdout]     |
[INFO] [stdout] 598 | /     unicode_seg_iters! {
[INFO] [stdout] 599 | |         #[doc=
[INFO] [stdout] 600 | |             "Returns an iterator over the words of `self`, separated on \
[INFO] [stdout] 601 | |             [UAX#29 word boundaries]\
[INFO] [stdout] ...   |
[INFO] [stdout] 619 | |         impl split_word_bounds for Node {}
[INFO] [stdout] 620 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `unicode_seg_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internals/mod.rs:598:5
[INFO] [stdout]     |
[INFO] [stdout] 598 | /     unicode_seg_iters! {
[INFO] [stdout] 599 | |         #[doc=
[INFO] [stdout] 600 | |             "Returns an iterator over the words of `self`, separated on \
[INFO] [stdout] 601 | |             [UAX#29 word boundaries]\
[INFO] [stdout] ...   |
[INFO] [stdout] 619 | |         impl split_word_bounds for Node {}
[INFO] [stdout] 620 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `unicode_seg_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking regex v0.1.80
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:762:46
[INFO] [stdout]     |
[INFO] [stdout] 762 | ...                   .scan(0, move |mut l, i|  {
[INFO] [stdout]     |                                      ----^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `char_len`, `grapheme_len`, and `byte_len` are never used
[INFO] [stdout]   --> src/unicode/mod.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Unicode<'a> {
[INFO] [stdout]    |           ------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn char_len(&self) -> usize;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 17 |     fn grapheme_len(&self) -> usize;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 18 |     fn byte_len(&self) -> usize;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `nodes` is never used
[INFO] [stdout]    --> src/internals/mod.rs:446:8
[INFO] [stdout]     |
[INFO] [stdout] 317 | impl Node {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 446 |     fn nodes(&self) -> Nodes {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Nodes` is never constructed
[INFO] [stdout]    --> src/internals/mod.rs:645:8
[INFO] [stdout]     |
[INFO] [stdout] 645 | struct Nodes<'a>(Vec<&'a Node>);
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking env_logger v0.3.5
[INFO] [stderr]     Checking quickcheck v0.3.2
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/lib.rs:817:23
[INFO] [stdout]     |
[INFO] [stdout] 817 |                `self`.\n\
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 818 | |
[INFO] [stdout] 819 | |              [graphemes]: \
[INFO] [stdout]     | |_____________^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/lib.rs:832:72
[INFO] [stdout]     |
[INFO] [stdout] 832 |               (http://www.unicode.org/reports/tr29/#Word_Boundaries).\n\n\
[INFO] [stdout]     |  ________________________________________________________________________^
[INFO] [stdout] 833 | |
[INFO] [stdout] 834 | |             Here, \"words\" are just those substrings which, after splitting on\
[INFO] [stdout]     | |____________^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/internals/mod.rs:551:26
[INFO] [stdout]     |
[INFO] [stdout] 551 |                  subrope \n\
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 552 | |
[INFO] [stdout] 553 | |                \nAs a Rope consists of a sequence of bytes, we can iterate \
[INFO] [stdout]     | |_______________^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/internals/mod.rs:558:26
[INFO] [stdout]     |
[INFO] [stdout] 558 |                  subrope \n\
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 559 | |
[INFO] [stdout] 560 | |                \nAs a `Rope` consists of valid UTF-8, we can iterate through a \
[INFO] [stdout]     | |_______________^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/internals/mod.rs:561:74
[INFO] [stdout]     |
[INFO] [stdout] 561 |                  `Rope` by `char`. This method returns such an iterator. \n\
[INFO] [stdout]     |  __________________________________________________________________________^
[INFO] [stdout] 562 | |
[INFO] [stdout] 563 | |                \nIt's important to remember that `char` represents a Unicode \
[INFO] [stdout]     | |_______________^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/internals/mod.rs:585:23
[INFO] [stdout]     |
[INFO] [stdout] 585 |                `self`.\n\
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 586 | |
[INFO] [stdout] 587 | |              [graphemes]: \
[INFO] [stdout]     | |_____________^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/internals/mod.rs:602:72
[INFO] [stdout]     |
[INFO] [stdout] 602 |               (http://www.unicode.org/reports/tr29/#Word_Boundaries).\n\n\
[INFO] [stdout]     |  ________________________________________________________________________^
[INFO] [stdout] 603 | |
[INFO] [stdout] 604 | |             Here, \"words\" are just those substrings which, after splitting on\
[INFO] [stdout]     | |____________^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `metric::Line`
[INFO] [stdout]  --> src/test/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use metric::Line;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `metric::Measured`
[INFO] [stdout]  --> src/test/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use metric::Measured;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/test/mod.rs:61:18
[INFO] [stdout]    |
[INFO] [stdout] 61 |     r = r.delete((8..12));
[INFO] [stdout]    |                  ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 61 -     r = r.delete((8..12));
[INFO] [stdout] 61 +     r = r.delete(8..12);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/test/mod.rs:68:18
[INFO] [stdout]    |
[INFO] [stdout] 68 |     r = r.delete((0..0));
[INFO] [stdout]    |                  ^    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 68 -     r = r.delete((0..0));
[INFO] [stdout] 68 +     r = r.delete(0..0);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/test/mod.rs:117:14
[INFO] [stdout]     |
[INFO] [stdout] 117 |     r.delete((12..8)); // lol, fuck you
[INFO] [stdout]     |              ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 117 -     r.delete((12..8)); // lol, fuck you
[INFO] [stdout] 117 +     r.delete(12..8); // lol, fuck you
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/slice.rs:710:9
[INFO] [stdout]     |
[INFO] [stdout] 710 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused attribute
[INFO] [stdout]    --> src/lib.rs:441:5
[INFO] [stdout]     |
[INFO] [stdout] 441 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^ help: remove this attribute
[INFO] [stdout]     |
[INFO] [stdout] note: attribute also specified here
[INFO] [stdout]    --> src/lib.rs:440:5
[INFO] [stdout]     |
[INFO] [stdout] 440 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused attribute
[INFO] [stdout]    --> src/test/mod.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | #[should_panic]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ help: remove this attribute
[INFO] [stdout]     |
[INFO] [stdout] note: attribute also specified here
[INFO] [stdout]    --> src/test/mod.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |           , should_panic(expected = "attempt to subtract with overflow"))]
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/internals/mod.rs:705:18
[INFO] [stdout]     |
[INFO] [stdout] 705 |     strings: Box<Iterator<Item = &'a str> + 'a >
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 705 |     strings: Box<dyn Iterator<Item = &'a str> + 'a >
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/internals/mod.rs:728:18
[INFO] [stdout]     |
[INFO] [stdout] 728 |     strings: Box<Iterator<Item = &'a str> + 'a >
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 728 |     strings: Box<dyn Iterator<Item = &'a str> + 'a >
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 743 | /     unstable_iters! {
[INFO] [stdout] 744 | |         #[doc="Returns an iterator over all the strings in this `Rope`"]
[INFO] [stdout] 745 | |         #[inline]
[INFO] [stdout] 746 | |         pub fn strings<'a>(&'a self) -> impl Iterator<Item=&'a str> + 'a {
[INFO] [stdout] ...   |
[INFO] [stdout] 768 | |         }
[INFO] [stdout] 769 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 791 | /     str_iters! {
[INFO] [stdout] 792 | |         #[doc="Returns an iterator over all the bytes in this `Rope`.\n\
[INFO] [stdout] 793 | |                \nAs a Rope consists of a sequence of bytes, we can iterate \
[INFO] [stdout] 794 | |                through a rope by byte. This method returns such an iterator."]
[INFO] [stdout] ...   |
[INFO] [stdout] 811 | |         // impl lines<&'a str> for Rope {}
[INFO] [stdout] 812 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `str_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 791 | /     str_iters! {
[INFO] [stdout] 792 | |         #[doc="Returns an iterator over all the bytes in this `Rope`.\n\
[INFO] [stdout] 793 | |                \nAs a Rope consists of a sequence of bytes, we can iterate \
[INFO] [stdout] 794 | |                through a rope by byte. This method returns such an iterator."]
[INFO] [stdout] ...   |
[INFO] [stdout] 811 | |         // impl lines<&'a str> for Rope {}
[INFO] [stdout] 812 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `str_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 791 | /     str_iters! {
[INFO] [stdout] 792 | |         #[doc="Returns an iterator over all the bytes in this `Rope`.\n\
[INFO] [stdout] 793 | |                \nAs a Rope consists of a sequence of bytes, we can iterate \
[INFO] [stdout] 794 | |                through a rope by byte. This method returns such an iterator."]
[INFO] [stdout] ...   |
[INFO] [stdout] 811 | |         // impl lines<&'a str> for Rope {}
[INFO] [stdout] 812 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `str_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 791 | /     str_iters! {
[INFO] [stdout] 792 | |         #[doc="Returns an iterator over all the bytes in this `Rope`.\n\
[INFO] [stdout] 793 | |                \nAs a Rope consists of a sequence of bytes, we can iterate \
[INFO] [stdout] 794 | |                through a rope by byte. This method returns such an iterator."]
[INFO] [stdout] ...   |
[INFO] [stdout] 811 | |         // impl lines<&'a str> for Rope {}
[INFO] [stdout] 812 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `str_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 814 | /     unicode_seg_iters! {
[INFO] [stdout] 815 | |         #[doc=
[INFO] [stdout] 816 | |             "Returns an iterator over the [grapheme clusters][graphemes] of \
[INFO] [stdout] 817 | |              `self`.\n\
[INFO] [stdout] ...   |
[INFO] [stdout] 853 | |         // impl split_word_bound_indices<(usize, &'a str)> for Rope {}
[INFO] [stdout] 854 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `unicode_seg_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 814 | /     unicode_seg_iters! {
[INFO] [stdout] 815 | |         #[doc=
[INFO] [stdout] 816 | |             "Returns an iterator over the [grapheme clusters][graphemes] of \
[INFO] [stdout] 817 | |              `self`.\n\
[INFO] [stdout] ...   |
[INFO] [stdout] 853 | |         // impl split_word_bound_indices<(usize, &'a str)> for Rope {}
[INFO] [stdout] 854 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `unicode_seg_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 814 | /     unicode_seg_iters! {
[INFO] [stdout] 815 | |         #[doc=
[INFO] [stdout] 816 | |             "Returns an iterator over the [grapheme clusters][graphemes] of \
[INFO] [stdout] 817 | |              `self`.\n\
[INFO] [stdout] ...   |
[INFO] [stdout] 853 | |         // impl split_word_bound_indices<(usize, &'a str)> for Rope {}
[INFO] [stdout] 854 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `unicode_seg_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/slice.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 410 | /     unstable_iters! {
[INFO] [stdout] 411 | |         #[inline]
[INFO] [stdout] 412 | |         pub fn chars(&'a self) -> impl Iterator<Item=char> + 'a  {
[INFO] [stdout] 413 | |             self.slice_char_iter(self.node.chars())
[INFO] [stdout] ...   |
[INFO] [stdout] 426 | |         }
[INFO] [stdout] 427 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/slice.rs:520:53
[INFO] [stdout]     |
[INFO] [stdout] 520 |     fn slice_char_iter<I, T>(&'a self, i: I) -> Box<Iterator<Item=T> + 'a>
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 520 |     fn slice_char_iter<I, T>(&'a self, i: I) -> Box<dyn Iterator<Item=T> + 'a>
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/slice.rs:529:53
[INFO] [stdout]     |
[INFO] [stdout] 529 |     fn slice_strings_iter<I>(&'a self, i: I) -> Box<Iterator<Item=&'a str> + 'a>
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 529 |     fn slice_strings_iter<I>(&'a self, i: I) -> Box<dyn Iterator<Item=&'a str> + 'a>
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internals/mod.rs:462:5
[INFO] [stdout]     |
[INFO] [stdout] 462 | /     unstable_iters! {
[INFO] [stdout] 463 | |         #[doc=
[INFO] [stdout] 464 | |             "Returns an iterator over all the strings in this `Node`s subrope."]
[INFO] [stdout] 465 | |         #[inline]
[INFO] [stdout] ...   |
[INFO] [stdout] 479 | |         }
[INFO] [stdout] 480 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internals/mod.rs:549:5
[INFO] [stdout]     |
[INFO] [stdout] 549 | /     str_iters! {
[INFO] [stdout] 550 | |         #[doc="Returns an iterator over all the bytes in this `Node`'s \
[INFO] [stdout] 551 | |                subrope \n\
[INFO] [stdout] ...   |
[INFO] [stdout] 571 | |         impl split_whitespace<&'a str> for Node {}
[INFO] [stdout] 572 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `str_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internals/mod.rs:549:5
[INFO] [stdout]     |
[INFO] [stdout] 549 | /     str_iters! {
[INFO] [stdout] 550 | |         #[doc="Returns an iterator over all the bytes in this `Node`'s \
[INFO] [stdout] 551 | |                subrope \n\
[INFO] [stdout] ...   |
[INFO] [stdout] 571 | |         impl split_whitespace<&'a str> for Node {}
[INFO] [stdout] 572 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `str_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internals/mod.rs:549:5
[INFO] [stdout]     |
[INFO] [stdout] 549 | /     str_iters! {
[INFO] [stdout] 550 | |         #[doc="Returns an iterator over all the bytes in this `Node`'s \
[INFO] [stdout] 551 | |                subrope \n\
[INFO] [stdout] ...   |
[INFO] [stdout] 571 | |         impl split_whitespace<&'a str> for Node {}
[INFO] [stdout] 572 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `str_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internals/mod.rs:582:5
[INFO] [stdout]     |
[INFO] [stdout] 582 | /     unicode_seg_iters! {
[INFO] [stdout] 583 | |         #[doc=
[INFO] [stdout] 584 | |             "Returns an iterator over the [grapheme clusters][graphemes] of \
[INFO] [stdout] 585 | |              `self`.\n\
[INFO] [stdout] ...   |
[INFO] [stdout] 596 | |         impl graphemes for Node { extend }
[INFO] [stdout] 597 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `unicode_seg_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internals/mod.rs:598:5
[INFO] [stdout]     |
[INFO] [stdout] 598 | /     unicode_seg_iters! {
[INFO] [stdout] 599 | |         #[doc=
[INFO] [stdout] 600 | |             "Returns an iterator over the words of `self`, separated on \
[INFO] [stdout] 601 | |             [UAX#29 word boundaries]\
[INFO] [stdout] ...   |
[INFO] [stdout] 619 | |         impl split_word_bounds for Node {}
[INFO] [stdout] 620 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `unicode_seg_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |            pub fn $name$(<$lf>)*(&'a $sel) -> Box<Iterator<Item=$ty> + 'a> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internals/mod.rs:598:5
[INFO] [stdout]     |
[INFO] [stdout] 598 | /     unicode_seg_iters! {
[INFO] [stdout] 599 | |         #[doc=
[INFO] [stdout] 600 | |             "Returns an iterator over the words of `self`, separated on \
[INFO] [stdout] 601 | |             [UAX#29 word boundaries]\
[INFO] [stdout] ...   |
[INFO] [stdout] 619 | |         impl split_word_bounds for Node {}
[INFO] [stdout] 620 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `unstable_iters` which comes from the expansion of the macro `unicode_seg_iters` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/test/mod.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut rope = Rope::from("this is\n\
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/test/mod.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut rope = Rope::from("this is\n\
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test/mod.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let mut r = Rope::from("this is not fine");
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test/mod.rs:476:17
[INFO] [stdout]     |
[INFO] [stdout] 476 |             let mut rope = Rope::from(a.clone());
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]   --> src/internals/test.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let (left, right) = b.split(Line(1));
[INFO] [stdout]    |          ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/internals/test.rs:49:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let (left, right) = b.split(Line(1));
[INFO] [stdout]    |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:762:46
[INFO] [stdout]     |
[INFO] [stdout] 762 | ...                   .scan(0, move |mut l, i|  {
[INFO] [stdout]     |                                      ----^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_delete_test_1` is never used
[INFO] [stdout]   --> src/test/mod.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn line_delete_test_1() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_delete_test_2` is never used
[INFO] [stdout]   --> src/test/mod.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn line_delete_test_2() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debug_test_1` is never used
[INFO] [stdout]    --> src/test/mod.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn debug_test_1() {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debug_test_2` is never used
[INFO] [stdout]    --> src/test/mod.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn debug_test_2() {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debug_test_3` is never used
[INFO] [stdout]    --> src/test/mod.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn debug_test_3() {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rope_indexing_is_string_indexing` is never used
[INFO] [stdout]    --> src/test/mod.rs:446:8
[INFO] [stdout]     |
[INFO] [stdout] 446 |     fn rope_indexing_is_string_indexing() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rope_insert_char_is_string_insert_char` is never used
[INFO] [stdout]    --> src/test/mod.rs:462:8
[INFO] [stdout]     |
[INFO] [stdout] 462 |     fn rope_insert_char_is_string_insert_char() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `char_len`, `grapheme_len`, and `byte_len` are never used
[INFO] [stdout]   --> src/unicode/mod.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Unicode<'a> {
[INFO] [stdout]    |           ------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn char_len(&self) -> usize;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 17 |     fn grapheme_len(&self) -> usize;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 18 |     fn byte_len(&self) -> usize;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_WORD` is never used
[INFO] [stdout]    --> src/unicode/test/testdata.rs:520:15
[INFO] [stdout]     |
[INFO] [stdout] 520 |     pub const TEST_WORD: &'static [(&'static str, &'static [&'static str])] = &[
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `nodes` is never used
[INFO] [stdout]    --> src/internals/mod.rs:446:8
[INFO] [stdout]     |
[INFO] [stdout] 317 | impl Node {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 446 |     fn nodes(&self) -> Nodes {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Nodes` is never constructed
[INFO] [stdout]    --> src/internals/mod.rs:645:8
[INFO] [stdout]     |
[INFO] [stdout] 645 | struct Nodes<'a>(Vec<&'a Node>);
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `FromIterator` should have a snake case name
[INFO] [stdout]    --> src/test/mod.rs:614:9
[INFO] [stdout]     |
[INFO] [stdout] 614 |     mod FromIterator {
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `from_iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.45s
[INFO] running `Command { std: "docker" "inspect" "ae0f42fad18c2fe5bba5ffe10fd152c0de1d066e5dcdf16becaec28e7b0f5c1a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae0f42fad18c2fe5bba5ffe10fd152c0de1d066e5dcdf16becaec28e7b0f5c1a", kill_on_drop: false }`
[INFO] [stdout] ae0f42fad18c2fe5bba5ffe10fd152c0de1d066e5dcdf16becaec28e7b0f5c1a
