[INFO] updating cached repository https://github.com/portstrom/editor
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 486584b71bcb943b25f22f57105fb62eb4851bc2
[INFO] checking portstrom/editor against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fportstrom%2Feditor" "/workspace/builds/worker-3/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/portstrom/editor on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/portstrom/editor
[INFO] finished tweaking git repo https://github.com/portstrom/editor
[INFO] tweaked toml for git repo https://github.com/portstrom/editor written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] crate git repo https://github.com/portstrom/editor already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 1f6f467d32879b5fde501e5d2ee0d0af8c7afccb796fd5db6cbc580a0867bbc8
[INFO] running `"docker" "start" "-a" "1f6f467d32879b5fde501e5d2ee0d0af8c7afccb796fd5db6cbc580a0867bbc8"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Checking bytecount v0.5.1
[INFO] [stderr]     Checking unicode-segmentation v1.2.1
[INFO] [stderr]     Checking editor v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/rope/tree.rs:631:52
[INFO] [stderr]     |
[INFO] [stderr] 631 |     pub fn prev<M: Metric<N>>(&mut self) -> Option<(usize)> {
[INFO] [stderr]     |                                                    ^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/rope/tree.rs:668:52
[INFO] [stderr]     |
[INFO] [stderr] 668 |     pub fn next<M: Metric<N>>(&mut self) -> Option<(usize)> {
[INFO] [stderr]     |                                                    ^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `crate::interval`
[INFO] [stderr]    --> src/rope/interval.rs:232:16
[INFO] [stderr]     |
[INFO] [stderr] 232 |     use crate::interval::Interval;
[INFO] [stderr]     |                ^^^^^^^^
[INFO] [stderr]     |                |
[INFO] [stderr]     |                unresolved import
[INFO] [stderr]     |                help: a similar path exists: `crate::rope::interval`
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `serde_test`
[INFO] [stderr]    --> src/rope/rope.rs:950:9
[INFO] [stderr]     |
[INFO] [stderr] 950 |     use serde_test::{assert_tokens, Token};
[INFO] [stderr]     |         ^^^^^^^^^^ use of undeclared type or module `serde_test`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `serde_json`
[INFO] [stderr]     --> src/rope/rope.rs:1335:20
[INFO] [stderr]      |
[INFO] [stderr] 1335 |         let json = serde_json::to_string(&rope).expect("error serializing");
[INFO] [stderr]      |                    ^^^^^^^^^^ use of undeclared type or module `serde_json`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `serde_json`
[INFO] [stderr]     --> src/rope/rope.rs:1337:13
[INFO] [stderr]      |
[INFO] [stderr] 1337 |             serde_json::from_str::<Rope>(json.as_str()).expect("error deserializing");
[INFO] [stderr]      |             ^^^^^^^^^^ use of undeclared type or module `serde_json`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Rope`
[INFO] [stderr]     --> src/rope/tree.rs:1002:20
[INFO] [stderr]      |
[INFO] [stderr] 1002 |         let text = Rope::from(build_triangle(n));
[INFO] [stderr]      |                    ^^^^ use of undeclared type or module `Rope`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Rope`
[INFO] [stderr]     --> src/rope/tree.rs:1018:20
[INFO] [stderr]      |
[INFO] [stderr] 1018 |         let text = Rope::from(String::new());
[INFO] [stderr]      |                    ^^^^ use of undeclared type or module `Rope`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Rope`
[INFO] [stderr]     --> src/rope/tree.rs:1024:20
[INFO] [stderr]      |
[INFO] [stderr] 1024 |         let text = Rope::from(String::new());
[INFO] [stderr]      |                    ^^^^ use of undeclared type or module `Rope`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Rope`
[INFO] [stderr]     --> src/rope/tree.rs:1055:17
[INFO] [stderr]      |
[INFO] [stderr] 1055 |         let r = Rope::from(s.to_owned());
[INFO] [stderr]      |                 ^^^^ use of undeclared type or module `Rope`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Rope`
[INFO] [stderr]     --> src/rope/tree.rs:1089:17
[INFO] [stderr]      |
[INFO] [stderr] 1089 |         let r = Rope::from(s.to_owned());
[INFO] [stderr]      |                 ^^^^ use of undeclared type or module `Rope`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Rope`
[INFO] [stderr]     --> src/rope/tree.rs:1128:24
[INFO] [stderr]      |
[INFO] [stderr] 1128 |         let mut text = Rope::from("a");
[INFO] [stderr]      |                        ^^^^ use of undeclared type or module `Rope`
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `LinesMetric` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1008:25
[INFO] [stderr]      |
[INFO] [stderr] 1008 |                 .next::<LinesMetric>()
[INFO] [stderr]      |                         ^^^^^^^^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::LinesMetric;
[INFO] [stderr]      |
[INFO] [stderr] help: you might be missing a type parameter
[INFO] [stderr]      |
[INFO] [stderr] 1000 |     fn cursor_next_triangle<LinesMetric>() {
[INFO] [stderr]      |                            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `LinesMetric` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1013:34
[INFO] [stderr]      |
[INFO] [stderr] 1013 |         assert_eq!(cursor.next::<LinesMetric>(), None);
[INFO] [stderr]      |                                  ^^^^^^^^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::LinesMetric;
[INFO] [stderr]      |
[INFO] [stderr] help: you might be missing a type parameter
[INFO] [stderr]      |
[INFO] [stderr] 1000 |     fn cursor_next_triangle<LinesMetric>() {
[INFO] [stderr]      |                            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `LinesMetric` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1026:34
[INFO] [stderr]      |
[INFO] [stderr] 1026 |         assert_eq!(cursor.next::<LinesMetric>(), None);
[INFO] [stderr]      |                                  ^^^^^^^^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::LinesMetric;
[INFO] [stderr]      |
[INFO] [stderr] help: you might be missing a type parameter
[INFO] [stderr]      |
[INFO] [stderr] 1023 |     fn cursor_next_empty<LinesMetric>() {
[INFO] [stderr]      |                         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Rope` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1032:19
[INFO] [stderr]      |
[INFO] [stderr] 1032 |         let text: Rope = build_triangle(50).into();
[INFO] [stderr]      |                   ^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::Rope;
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `LinesMetric` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1035:45
[INFO] [stderr]      |
[INFO] [stderr] 1035 |         while let Some(nxt) = cursor.next::<LinesMetric>() {
[INFO] [stderr]      |                                             ^^^^^^^^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::LinesMetric;
[INFO] [stderr]      |
[INFO] [stderr] help: you might be missing a type parameter
[INFO] [stderr]      |
[INFO] [stderr] 1031 |     fn cursor_iter<LinesMetric>() {
[INFO] [stderr]      |                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `LinesMetric` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1040:34
[INFO] [stderr]      |
[INFO] [stderr] 1040 |         let auto = cursor.iter::<LinesMetric>().collect::<Vec<_>>();
[INFO] [stderr]      |                                  ^^^^^^^^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::LinesMetric;
[INFO] [stderr]      |
[INFO] [stderr] help: you might be missing a type parameter
[INFO] [stderr]      |
[INFO] [stderr] 1031 |     fn cursor_iter<LinesMetric>() {
[INFO] [stderr]      |                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `LinesMetric` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1058:31
[INFO] [stderr]      |
[INFO] [stderr] 1058 |             let it = c.next::<LinesMetric>();
[INFO] [stderr]      |                               ^^^^^^^^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::LinesMetric;
[INFO] [stderr]      |
[INFO] [stderr] help: you might be missing a type parameter
[INFO] [stderr]      |
[INFO] [stderr] 1054 |     fn cursor_next_for<LinesMetric>(s: &str) {
[INFO] [stderr]      |                       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `LinesMetric` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1092:31
[INFO] [stderr]      |
[INFO] [stderr] 1092 |             let it = c.prev::<LinesMetric>();
[INFO] [stderr]      |                               ^^^^^^^^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::LinesMetric;
[INFO] [stderr]      |
[INFO] [stderr] help: you might be missing a type parameter
[INFO] [stderr]      |
[INFO] [stderr] 1088 |     fn cursor_prev_for<LinesMetric>(s: &str) {
[INFO] [stderr]      |                       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Rope` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1112:19
[INFO] [stderr]      |
[INFO] [stderr] 1112 |         let text: Rope = "this\nis\nalil\nstring".into();
[INFO] [stderr]      |                   ^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::Rope;
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `LinesMetric` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1114:40
[INFO] [stderr]      |
[INFO] [stderr] 1114 |         assert_eq!(cursor.at_or_next::<LinesMetric>(), Some(5));
[INFO] [stderr]      |                                        ^^^^^^^^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::LinesMetric;
[INFO] [stderr]      |
[INFO] [stderr] help: you might be missing a type parameter
[INFO] [stderr]      |
[INFO] [stderr] 1111 |     fn at_or_next<LinesMetric>() {
[INFO] [stderr]      |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `LinesMetric` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1115:40
[INFO] [stderr]      |
[INFO] [stderr] 1115 |         assert_eq!(cursor.at_or_next::<LinesMetric>(), Some(5));
[INFO] [stderr]      |                                        ^^^^^^^^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::LinesMetric;
[INFO] [stderr]      |
[INFO] [stderr] help: you might be missing a type parameter
[INFO] [stderr]      |
[INFO] [stderr] 1111 |     fn at_or_next<LinesMetric>() {
[INFO] [stderr]      |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `LinesMetric` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1117:40
[INFO] [stderr]      |
[INFO] [stderr] 1117 |         assert_eq!(cursor.at_or_next::<LinesMetric>(), Some(5));
[INFO] [stderr]      |                                        ^^^^^^^^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::LinesMetric;
[INFO] [stderr]      |
[INFO] [stderr] help: you might be missing a type parameter
[INFO] [stderr]      |
[INFO] [stderr] 1111 |     fn at_or_next<LinesMetric>() {
[INFO] [stderr]      |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `LinesMetric` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1118:40
[INFO] [stderr]      |
[INFO] [stderr] 1118 |         assert_eq!(cursor.at_or_prev::<LinesMetric>(), Some(5));
[INFO] [stderr]      |                                        ^^^^^^^^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::LinesMetric;
[INFO] [stderr]      |
[INFO] [stderr] help: you might be missing a type parameter
[INFO] [stderr]      |
[INFO] [stderr] 1111 |     fn at_or_next<LinesMetric>() {
[INFO] [stderr]      |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `LinesMetric` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1120:40
[INFO] [stderr]      |
[INFO] [stderr] 1120 |         assert_eq!(cursor.at_or_prev::<LinesMetric>(), Some(5));
[INFO] [stderr]      |                                        ^^^^^^^^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::LinesMetric;
[INFO] [stderr]      |
[INFO] [stderr] help: you might be missing a type parameter
[INFO] [stderr]      |
[INFO] [stderr] 1111 |     fn at_or_next<LinesMetric>() {
[INFO] [stderr]      |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `LinesMetric` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1122:40
[INFO] [stderr]      |
[INFO] [stderr] 1122 |         assert_eq!(cursor.at_or_next::<LinesMetric>(), Some(8));
[INFO] [stderr]      |                                        ^^^^^^^^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::LinesMetric;
[INFO] [stderr]      |
[INFO] [stderr] help: you might be missing a type parameter
[INFO] [stderr]      |
[INFO] [stderr] 1111 |     fn at_or_next<LinesMetric>() {
[INFO] [stderr]      |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `LinesMetric` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1123:40
[INFO] [stderr]      |
[INFO] [stderr] 1123 |         assert_eq!(cursor.at_or_next::<LinesMetric>(), Some(8));
[INFO] [stderr]      |                                        ^^^^^^^^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::LinesMetric;
[INFO] [stderr]      |
[INFO] [stderr] help: you might be missing a type parameter
[INFO] [stderr]      |
[INFO] [stderr] 1111 |     fn at_or_next<LinesMetric>() {
[INFO] [stderr]      |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `LinesMetric` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1132:38
[INFO] [stderr]      |
[INFO] [stderr] 1132 |             assert_eq!(cursor.next::<LinesMetric>(), None);
[INFO] [stderr]      |                                      ^^^^^^^^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::LinesMetric;
[INFO] [stderr]      |
[INFO] [stderr] help: you might be missing a type parameter
[INFO] [stderr]      |
[INFO] [stderr] 1127 |     fn next_zero_measure_large<LinesMetric>() {
[INFO] [stderr]      |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `LinesMetric` in this scope
[INFO] [stderr]     --> src/rope/tree.rs:1138:38
[INFO] [stderr]      |
[INFO] [stderr] 1138 |             assert_eq!(cursor.prev::<LinesMetric>(), None);
[INFO] [stderr]      |                                      ^^^^^^^^^^^ not found in this scope
[INFO] [stderr]      |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]      |
[INFO] [stderr] 972  |     use crate::rope::rope::LinesMetric;
[INFO] [stderr]      |
[INFO] [stderr] help: you might be missing a type parameter
[INFO] [stderr]      |
[INFO] [stderr] 1127 |     fn next_zero_measure_large<LinesMetric>() {
[INFO] [stderr]      |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/rope/tree.rs:631:52
[INFO] [stderr]     |
[INFO] [stderr] 631 |     pub fn prev<M: Metric<N>>(&mut self) -> Option<(usize)> {
[INFO] [stderr]     |                                                    ^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/rope/tree.rs:668:52
[INFO] [stderr]     |
[INFO] [stderr] 668 |     pub fn next<M: Metric<N>>(&mut self) -> Option<(usize)> {
[INFO] [stderr]     |                                                    ^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::rope::*`
[INFO] [stderr]    --> src/rope/tree.rs:973:9
[INFO] [stderr]     |
[INFO] [stderr] 973 |     use crate::rope::*;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `len`
[INFO] [stderr]    --> src/rope/spans.rs:125:24
[INFO] [stderr]     |
[INFO] [stderr] 125 |     fn interval(&self, len: usize) -> Interval {
[INFO] [stderr]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/rich_text_document/blocks.rs:116:17
[INFO] [stderr]     |
[INFO] [stderr] 116 |             let mut items = self.items.split_off(split_index);
[INFO] [stderr]     |                 ----^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Code`
[INFO] [stderr]  --> src/rich_text_document/blocks.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     Code,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Heading2`
[INFO] [stderr]   --> src/rich_text_document/blocks.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     Heading2,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Heading3`
[INFO] [stderr]   --> src/rich_text_document/blocks.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     Heading3,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Heading4`
[INFO] [stderr]   --> src/rich_text_document/blocks.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     Heading4,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Heading5`
[INFO] [stderr]   --> src/rich_text_document/blocks.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     Heading5,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Heading6`
[INFO] [stderr]   --> src/rich_text_document/blocks.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     Heading6,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Quote`
[INFO] [stderr]   --> src/rich_text_document/blocks.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     Quote,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `UnorderedList`
[INFO] [stderr]   --> src/rich_text_document/blocks.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     UnorderedList,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Code`
[INFO] [stderr]   --> src/rich_text_document/document.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 |     Code,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Italic`
[INFO] [stderr]   --> src/rich_text_document/document.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 |     Italic,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Link`
[INFO] [stderr]   --> src/rich_text_document/document.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     Link { target: std::rc::Rc<String> },
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Strike`
[INFO] [stderr]   --> src/rich_text_document/document.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 |     Strike,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Subscript`
[INFO] [stderr]   --> src/rich_text_document/document.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     Subscript,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Superscript`
[INFO] [stderr]   --> src/rich_text_document/document.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 |     Superscript,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `push_str_stacked`
[INFO] [stderr]    --> src/rope/rope.rs:715:5
[INFO] [stderr]     |
[INFO] [stderr] 715 |     pub fn push_str_stacked(&mut self, s: &str) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `split_as_leaves`
[INFO] [stderr]    --> src/rope/rope.rs:721:4
[INFO] [stderr]     |
[INFO] [stderr] 721 | fn split_as_leaves(mut s: &str) -> Vec<String> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `prev_codepoint`
[INFO] [stderr]    --> src/rope/rope.rs:787:5
[INFO] [stderr]     |
[INFO] [stderr] 787 |     pub fn prev_codepoint(&mut self) -> Option<char> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `next_codepoint`
[INFO] [stderr]    --> src/rope/rope.rs:797:5
[INFO] [stderr]     |
[INFO] [stderr] 797 |     pub fn next_codepoint(&mut self) -> Option<char> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `push_leaves`
[INFO] [stderr]    --> src/rope/tree.rs:472:5
[INFO] [stderr]     |
[INFO] [stderr] 472 |     pub fn push_leaves(&mut self, leaves: Vec<N::L>) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `root`
[INFO] [stderr]    --> src/rope/tree.rs:567:5
[INFO] [stderr]     |
[INFO] [stderr] 567 |     pub fn root(&self) -> &'a Node<N> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `at_or_next`
[INFO] [stderr]    --> src/rope/tree.rs:700:5
[INFO] [stderr]     |
[INFO] [stderr] 700 |     pub fn at_or_next<M: Metric<N>>(&mut self) -> Option<usize> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `at_or_prev`
[INFO] [stderr]    --> src/rope/tree.rs:712:5
[INFO] [stderr]     |
[INFO] [stderr] 712 |     pub fn at_or_prev<M: Metric<N>>(&mut self) -> Option<usize> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `iter`
[INFO] [stderr]    --> src/rope/tree.rs:734:5
[INFO] [stderr]     |
[INFO] [stderr] 734 |     pub fn iter<'c, M: Metric<N>>(&'c mut self) -> CursorIter<'c, 'a, N, M> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `pos`
[INFO] [stderr]    --> src/rope/tree.rs:953:5
[INFO] [stderr]     |
[INFO] [stderr] 953 |     pub fn pos(&self) -> usize {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0369]: binary operation `==` cannot be applied to type `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr]     --> src/rope/rope.rs:1185:19
[INFO] [stderr]      |
[INFO] [stderr] 1185 |         assert!(a == a2);
[INFO] [stderr]      |                 - ^^ -- rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |
[INFO] [stderr]      = note: an implementation of `std::cmp::PartialEq` might be missing for `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr] 
[INFO] [stderr] error[E0369]: binary operation `!=` cannot be applied to type `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr]     --> src/rope/rope.rs:1186:19
[INFO] [stderr]      |
[INFO] [stderr] 1186 |         assert!(a != b);
[INFO] [stderr]      |                 - ^^ - rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |
[INFO] [stderr]      = note: an implementation of `std::cmp::PartialEq` might be missing for `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr] 
[INFO] [stderr] error[E0369]: binary operation `!=` cannot be applied to type `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr]     --> src/rope/rope.rs:1187:19
[INFO] [stderr]      |
[INFO] [stderr] 1187 |         assert!(a != empty);
[INFO] [stderr]      |                 - ^^ ----- rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |
[INFO] [stderr]      = note: an implementation of `std::cmp::PartialEq` might be missing for `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr] 
[INFO] [stderr] error[E0369]: binary operation `==` cannot be applied to type `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr]     --> src/rope/rope.rs:1188:23
[INFO] [stderr]      |
[INFO] [stderr] 1188 |         assert!(empty == empty);
[INFO] [stderr]      |                 ----- ^^ ----- rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |
[INFO] [stderr]      = note: an implementation of `std::cmp::PartialEq` might be missing for `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr] 
[INFO] [stderr] error[E0369]: binary operation `==` cannot be applied to type `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr]     --> src/rope/rope.rs:1189:31
[INFO] [stderr]      |
[INFO] [stderr] 1189 |         assert!(a.slice(0..0) == empty);
[INFO] [stderr]      |                 ------------- ^^ ----- rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |
[INFO] [stderr]      = note: an implementation of `std::cmp::PartialEq` might be missing for `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr] 
[INFO] [stderr] error[E0369]: binary operation `!=` cannot be applied to type `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr]     --> src/rope/rope.rs:1209:19
[INFO] [stderr]      |
[INFO] [stderr] 1209 |         assert!(r != a_rope);
[INFO] [stderr]      |                 - ^^ ------ rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |
[INFO] [stderr]      = note: an implementation of `std::cmp::PartialEq` might be missing for `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr] 
[INFO] [stderr] error[E0369]: binary operation `==` cannot be applied to type `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr]     --> src/rope/rope.rs:1210:44
[INFO] [stderr]      |
[INFO] [stderr] 1210 |         assert!(r.clone().slice(..a.len()) == a_rope);
[INFO] [stderr]      |                 -------------------------- ^^ ------ rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |
[INFO] [stderr]      = note: an implementation of `std::cmp::PartialEq` might be missing for `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr] 
[INFO] [stderr] error[E0369]: binary operation `==` cannot be applied to type `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr]     --> src/rope/rope.rs:1211:44
[INFO] [stderr]      |
[INFO] [stderr] 1211 |         assert!(r.clone().slice(a.len()..) == b_rope);
[INFO] [stderr]      |                 -------------------------- ^^ ------ rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |
[INFO] [stderr]      = note: an implementation of `std::cmp::PartialEq` might be missing for `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr] 
[INFO] [stderr] error[E0369]: binary operation `==` cannot be applied to type `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr]     --> src/rope/rope.rs:1212:19
[INFO] [stderr]      |
[INFO] [stderr] 1212 |         assert!(r == a_rope.clone() + b_rope.clone());
[INFO] [stderr]      |                 - ^^ ------------------------------- rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |
[INFO] [stderr]      = note: an implementation of `std::cmp::PartialEq` might be missing for `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr] 
[INFO] [stderr] error[E0369]: binary operation `!=` cannot be applied to type `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr]     --> src/rope/rope.rs:1213:19
[INFO] [stderr]      |
[INFO] [stderr] 1213 |         assert!(r != b_rope + a_rope);
[INFO] [stderr]      |                 - ^^ --------------- rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |
[INFO] [stderr]      = note: an implementation of `std::cmp::PartialEq` might be missing for `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr] 
[INFO] [stderr] error[E0369]: binary operation `==` cannot be applied to type `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr]     --> src/rope/rope.rs:1338:9
[INFO] [stderr]      |
[INFO] [stderr] 1338 |         assert_eq!(rope, deserialized_rope);
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]      |         _
[INFO] [stderr]      |
[INFO] [stderr]      = note: an implementation of `std::cmp::PartialEq` might be missing for `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr]      = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0369]: binary operation `==` cannot be applied to type `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr]    --> src/rope/tree.rs:996:9
[INFO] [stderr]     |
[INFO] [stderr] 996 |         assert_eq!(tree_default, tree_stacked);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]     |         rope::tree::Node<rope::rope::RopeInfo>
[INFO] [stderr]     |
[INFO] [stderr]     = note: an implementation of `std::cmp::PartialEq` might be missing for `rope::tree::Node<rope::rope::RopeInfo>`
[INFO] [stderr]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 40 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0369, E0412, E0432, E0433.
[INFO] [stderr] For more information about an error, try `rustc --explain E0369`.
[INFO] [stderr] error: could not compile `editor`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "1f6f467d32879b5fde501e5d2ee0d0af8c7afccb796fd5db6cbc580a0867bbc8"`
[INFO] running `"docker" "rm" "-f" "1f6f467d32879b5fde501e5d2ee0d0af8c7afccb796fd5db6cbc580a0867bbc8"`
[INFO] [stdout] 1f6f467d32879b5fde501e5d2ee0d0af8c7afccb796fd5db6cbc580a0867bbc8
