[INFO] cloning repository https://github.com/suddenabnormalsecrets/note-maps
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/suddenabnormalsecrets/note-maps" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsuddenabnormalsecrets%2Fnote-maps", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsuddenabnormalsecrets%2Fnote-maps'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a4ce52e0c63c1d2588efd19023704426a34b77bd
[INFO] checking suddenabnormalsecrets/note-maps against master#e1613686e0efc80a1a18b1263625450a8de3fb04 for pr-154492-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsuddenabnormalsecrets%2Fnote-maps" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/suddenabnormalsecrets/note-maps
[INFO] finished tweaking git repo https://github.com/suddenabnormalsecrets/note-maps
[INFO] tweaked toml for git repo https://github.com/suddenabnormalsecrets/note-maps written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/suddenabnormalsecrets/note-maps on toolchain e1613686e0efc80a1a18b1263625450a8de3fb04
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/suddenabnormalsecrets/note-maps already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Updating git repository `https://github.com/automerge/automerge-rs`
[INFO] [stderr]     Updating git repository `https://github.com/jeffa5/automerge-persistent`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unicode-xid v0.2.2
[INFO] [stderr]   Downloaded uuid v0.8.2
[INFO] [stderr]   Downloaded sha1_smol v1.0.0
[INFO] [stderr]   Downloaded sha1 v0.6.1
[INFO] [stderr]   Downloaded log v0.4.14
[INFO] [stderr]   Downloaded smol_str v0.1.21
[INFO] [stderr]   Downloaded fixedbitset v0.4.1
[INFO] [stderr]   Downloaded rand_hc v0.3.1
[INFO] [stderr]   Downloaded strum v0.21.0
[INFO] [stderr]   Downloaded tinyvec_macros v0.1.0
[INFO] [stderr]   Downloaded cpufeatures v0.2.1
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.78
[INFO] [stderr]   Downloaded itoa v1.0.1
[INFO] [stderr]   Downloaded thiserror-impl v1.0.30
[INFO] [stderr]   Downloaded nonzero_ext v0.2.0
[INFO] [stderr]   Downloaded autocfg v1.0.1
[INFO] [stderr]   Downloaded fs2 v0.4.3
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.78
[INFO] [stderr]   Downloaded dirs-sys v0.3.6
[INFO] [stderr]   Downloaded serde_derive v1.0.133
[INFO] [stderr]   Downloaded opaque-debug v0.3.0
[INFO] [stderr]   Downloaded either v1.6.1
[INFO] [stderr]   Downloaded strum_macros v0.21.1
[INFO] [stderr]   Downloaded smallvec v1.8.0
[INFO] [stderr]   Downloaded generic-array v0.14.5
[INFO] [stderr]   Downloaded rand_xoshiro v0.6.0
[INFO] [stderr]   Downloaded quote v1.0.14
[INFO] [stderr]   Downloaded pin-project-lite v0.2.8
[INFO] [stderr]   Downloaded redox_syscall v0.2.10
[INFO] [stderr]   Downloaded parking_lot_core v0.8.5
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.78
[INFO] [stderr]   Downloaded tracing-attributes v0.1.18
[INFO] [stderr]   Downloaded rand_core v0.6.3
[INFO] [stderr]   Downloaded ryu v1.0.9
[INFO] [stderr]   Downloaded sized-chunks v0.6.5
[INFO] [stderr]   Downloaded termcolor v1.1.2
[INFO] [stderr]   Downloaded typenum v1.15.0
[INFO] [stderr]   Downloaded ppv-lite86 v0.2.16
[INFO] [stderr]   Downloaded proc-macro2 v1.0.36
[INFO] [stderr]   Downloaded getrandom v0.2.4
[INFO] [stderr]   Downloaded miniz_oxide v0.4.4
[INFO] [stderr]   Downloaded tracing-core v0.1.21
[INFO] [stderr]   Downloaded indexmap v1.8.0
[INFO] [stderr]   Downloaded js-sys v0.3.55
[INFO] [stderr]   Downloaded tracing v0.1.29
[INFO] [stderr]   Downloaded flate2 v1.0.22
[INFO] [stderr]   Downloaded itertools v0.9.0
[INFO] [stderr]   Downloaded serde_json v1.0.75
[INFO] [stderr]   Downloaded im v15.1.0
[INFO] [stderr]   Downloaded rand v0.8.4
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.78
[INFO] [stderr]   Downloaded petgraph v0.6.0
[INFO] [stderr]   Downloaded crc32fast v1.3.0
[INFO] [stderr]   Downloaded syn v1.0.85
[INFO] [stderr]   Downloaded parking_lot v0.11.2
[INFO] [stderr]   Downloaded unicode-segmentation v1.8.0
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.6
[INFO] [stderr]   Downloaded tinyvec v1.5.1
[INFO] [stderr]   Downloaded env_logger v0.9.0
[INFO] [stderr]   Downloaded byteorder v1.4.3
[INFO] [stderr]   Downloaded serde v1.0.133
[INFO] [stderr]   Downloaded bitmaps v2.1.0
[INFO] [stderr]   Downloaded thiserror v1.0.30
[INFO] [stderr]   Downloaded wasi v0.10.2+wasi-snapshot-preview1
[INFO] [stderr]   Downloaded redox_users v0.4.0
[INFO] [stderr]   Downloaded lock_api v0.4.5
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.78
[INFO] [stderr]   Downloaded sled v0.34.7
[INFO] [stderr]   Downloaded libc v0.2.112
[INFO] [stderr]   Downloaded web-sys v0.3.55
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e4330e28fdb1b8c7af6c4f5be58ef8dfe31e8d06815e03044b0e95362c63165e
[INFO] running `Command { std: "docker" "start" "-a" "e4330e28fdb1b8c7af6c4f5be58ef8dfe31e8d06815e03044b0e95362c63165e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e4330e28fdb1b8c7af6c4f5be58ef8dfe31e8d06815e03044b0e95362c63165e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4330e28fdb1b8c7af6c4f5be58ef8dfe31e8d06815e03044b0e95362c63165e", kill_on_drop: false }`
[INFO] [stdout] e4330e28fdb1b8c7af6c4f5be58ef8dfe31e8d06815e03044b0e95362c63165e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 95c87cc4508e3d5fbb50cbf1c5a611893d337a4ffbb840e0f7e05d7bdd0c7ca6
[INFO] running `Command { std: "docker" "start" "-a" "95c87cc4508e3d5fbb50cbf1c5a611893d337a4ffbb840e0f7e05d7bdd0c7ca6", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling libc v0.2.112
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.85
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling typenum v1.15.0
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.78
[INFO] [stderr]    Compiling serde_derive v1.0.133
[INFO] [stderr]    Compiling serde v1.0.133
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling bumpalo v3.17.0
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling unicode-segmentation v1.8.0
[INFO] [stderr]    Compiling generic-array v0.14.5
[INFO] [stderr]    Compiling crc32fast v1.3.0
[INFO] [stderr]     Checking sha1_smol v1.0.0
[INFO] [stderr]    Compiling wasm-bindgen v0.2.78
[INFO] [stderr]     Checking getrandom v0.2.4
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking sha1 v0.6.1
[INFO] [stderr]    Compiling quote v1.0.14
[INFO] [stderr]    Compiling serde_json v1.0.75
[INFO] [stderr]     Checking tinyvec_macros v0.1.0
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking tinyvec v1.5.1
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking ppv-lite86 v0.2.16
[INFO] [stderr]     Checking itoa v1.0.1
[INFO] [stderr]     Checking ryu v1.0.9
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking tracing-core v0.1.21
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking opaque-debug v0.3.0
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]     Checking pin-project-lite v0.2.8
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking maplit v1.0.2
[INFO] [stderr]     Checking cpufeatures v0.2.1
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking flate2 v1.0.22
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking smallvec v1.8.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.6
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking leb128 v0.2.5
[INFO] [stderr]     Checking nonzero_ext v0.2.0
[INFO] [stderr]     Checking lock_api v0.4.5
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling indexmap v1.8.0
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking bitmaps v2.1.0
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]    Compiling im v15.1.0
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]     Checking rand_xoshiro v0.6.0
[INFO] [stderr]     Checking dirs-sys v0.3.6
[INFO] [stderr]     Checking fixedbitset v0.4.1
[INFO] [stderr]     Checking sled v0.34.7
[INFO] [stderr]     Checking notemaps_text v0.2.0 (/opt/rustwide/workdir/rust/notemaps_text)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]   --> rust/notemaps_text/src/lib.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | #![feature(in_band_lifetimes)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]    |
[INFO] [stdout]    = note: removed in 1.61.0; see <https://github.com/rust-lang/rust/pull/93845> for more information
[INFO] [stdout]    = note: removed due to unsolved ergonomic questions and added lifetime resolution complexity
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking directories v4.0.1
[INFO] [stdout] warning: the feature `associated_type_bounds` has been stable since 1.79.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> rust/notemaps_text/src/lib.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | #![feature(associated_type_bounds)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `generic_associated_types` has been stable since 1.65.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> rust/notemaps_text/src/lib.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![feature(generic_associated_types)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `toowned_clone_into` has been stable since 1.63.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> rust/notemaps_text/src/lib.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![feature(toowned_clone_into)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]   --> rust/notemaps_text/src/lib.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | #![feature(in_band_lifetimes)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]    |
[INFO] [stdout]    = note: removed in 1.61.0; see <https://github.com/rust-lang/rust/pull/93845> for more information
[INFO] [stdout]    = note: removed due to unsolved ergonomic questions and added lifetime resolution complexity
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `advance_by` has an incompatible type for trait
[INFO] [stdout]    --> rust/notemaps_text/src/table.rs:353:43
[INFO] [stdout]     |
[INFO] [stdout] 353 |     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^ expected `NonZero<usize>`, found `usize`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&mut Pieces<'_, _>, _) -> Result<_, NonZero<usize>>`
[INFO] [stdout]                found signature `fn(&mut Pieces<'_, _>, _) -> Result<_, usize>`
[INFO] [stdout] help: change the output type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 353 -     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout] 353 +     fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `advance_by` has an incompatible type for trait
[INFO] [stdout]    --> rust/notemaps_text/src/table.rs:382:43
[INFO] [stdout]     |
[INFO] [stdout] 382 |     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^ expected `NonZero<usize>`, found `usize`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&mut PiecesMut<'_, _>, _) -> Result<_, NonZero<usize>>`
[INFO] [stdout]                found signature `fn(&mut PiecesMut<'_, _>, _) -> Result<_, usize>`
[INFO] [stdout] help: change the output type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 382 -     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout] 382 +     fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `advance_by` has an incompatible type for trait
[INFO] [stdout]    --> rust/notemaps_text/src/table.rs:419:43
[INFO] [stdout]     |
[INFO] [stdout] 419 |     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^ expected `NonZero<usize>`, found `usize`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&mut PieceIndices<'_, _, _>, _) -> Result<_, NonZero<usize>>`
[INFO] [stdout]                found signature `fn(&mut PieceIndices<'_, _, _>, _) -> Result<_, usize>`
[INFO] [stdout] help: change the output type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 419 -     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout] 419 +     fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `steps_between` has an incompatible type for trait
[INFO] [stdout]    --> rust/notemaps_text/src/offsets.rs:153:59
[INFO] [stdout]     |
[INFO] [stdout] 153 |               fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^ expected `(usize, Option<usize>)`, found `Option<usize>`
[INFO] [stdout] ...
[INFO] [stdout] 274 | / natural_unit! {
[INFO] [stdout] 275 | |     /// Represents a number of [u8] bytes or octets, typically in the context of some UTF-8
[INFO] [stdout] 276 | |     /// encoded text.
[INFO] [stdout] 277 | |     ///
[INFO] [stdout] ...   |
[INFO] [stdout] 289 | |     pub struct Byte(usize) " bytes" singular " byte" test a_byte;
[INFO] [stdout] 290 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&offsets::Byte, &offsets::Byte) -> (usize, Option<usize>)`
[INFO] [stdout]                found signature `fn(&offsets::Byte, &offsets::Byte) -> Option<usize>`
[INFO] [stdout]     = note: this error originates in the macro `natural_unit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: change the output type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 153 -             fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout] 153 +             fn steps_between(start: &Self, end: &Self) -> (usize, Option<usize>) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `steps_between` has an incompatible type for trait
[INFO] [stdout]    --> rust/notemaps_text/src/offsets.rs:153:59
[INFO] [stdout]     |
[INFO] [stdout] 153 |               fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^ expected `(usize, Option<usize>)`, found `Option<usize>`
[INFO] [stdout] ...
[INFO] [stdout] 292 | / natural_unit! {
[INFO] [stdout] 293 | |     /// Represents a number of [char] characters, or Unicode code points.
[INFO] [stdout] 294 | |     ///
[INFO] [stdout] 295 | |     /// Intended to help avoid bugs caused by unintentionally mixing measurements of different
[INFO] [stdout] ...   |
[INFO] [stdout] 306 | |     pub struct Char(usize)  " chars" singular " char" test a_char;
[INFO] [stdout] 307 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&offsets::Char, &offsets::Char) -> (usize, Option<usize>)`
[INFO] [stdout]                found signature `fn(&offsets::Char, &offsets::Char) -> Option<usize>`
[INFO] [stdout]     = note: this error originates in the macro `natural_unit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: change the output type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 153 -             fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout] 153 +             fn steps_between(start: &Self, end: &Self) -> (usize, Option<usize>) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `steps_between` has an incompatible type for trait
[INFO] [stdout]    --> rust/notemaps_text/src/offsets.rs:153:59
[INFO] [stdout]     |
[INFO] [stdout] 153 |               fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^ expected `(usize, Option<usize>)`, found `Option<usize>`
[INFO] [stdout] ...
[INFO] [stdout] 309 | / natural_unit! {
[INFO] [stdout] 310 | |     /// Represents a number of graphemes, or user-perceived characters.
[INFO] [stdout] 311 | |     ///
[INFO] [stdout] 312 | |     /// Intended to help avoid bugs caused by unintentionally mixing measurements of different
[INFO] [stdout] ...   |
[INFO] [stdout] 323 | |     pub struct Grapheme(usize) " graphemes" singular " grapheme" test a_grapheme;
[INFO] [stdout] 324 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&offsets::Grapheme, &offsets::Grapheme) -> (usize, Option<usize>)`
[INFO] [stdout]                found signature `fn(&offsets::Grapheme, &offsets::Grapheme) -> Option<usize>`
[INFO] [stdout]     = note: this error originates in the macro `natural_unit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: change the output type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 153 -             fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout] 153 +             fn steps_between(start: &Self, end: &Self) -> (usize, Option<usize>) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `steps_between` has an incompatible type for trait
[INFO] [stdout]    --> rust/notemaps_text/src/offsets.rs:153:59
[INFO] [stdout]     |
[INFO] [stdout] 153 |               fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^ expected `(usize, Option<usize>)`, found `Option<usize>`
[INFO] [stdout] ...
[INFO] [stdout] 326 | / natural_unit! {
[INFO] [stdout] 327 | |     /// Represents an index into a piece table, like [crate::Table].
[INFO] [stdout] 328 | |     ///
[INFO] [stdout] 329 | |     /// Intended to help avoid bugs caused by unintentionally mixing `usize` values that have very
[INFO] [stdout] ...   |
[INFO] [stdout] 340 | |     pub struct Piece(usize) " pieces" singular " piece" test a_piece;
[INFO] [stdout] 341 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&offsets::Piece, &offsets::Piece) -> (usize, Option<usize>)`
[INFO] [stdout]                found signature `fn(&offsets::Piece, &offsets::Piece) -> Option<usize>`
[INFO] [stdout]     = note: this error originates in the macro `natural_unit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: change the output type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 153 -             fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout] 153 +             fn steps_between(start: &Self, end: &Self) -> (usize, Option<usize>) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/notemaps_text/src/table.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 353 |     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout]     |                                           ----------------- expected `Result<(), usize>` because of return type
[INFO] [stdout] 354 |         self.0.advance_by(n)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ expected `Result<(), usize>`, found `Result<(), NonZero<usize>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Result<_, usize>`
[INFO] [stdout]                found enum `Result<_, NonZero<usize>>`
[INFO] [stdout] help: use `?` to coerce and return an appropriate `Err`, and wrap the resulting value in `Ok` so the expression remains of type `Result`
[INFO] [stdout]     |
[INFO] [stdout] 354 |         Ok(self.0.advance_by(n)?)
[INFO] [stdout]     |         +++                    ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/notemaps_text/src/table.rs:383:9
[INFO] [stdout]     |
[INFO] [stdout] 382 |     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout]     |                                           ----------------- expected `Result<(), usize>` because of return type
[INFO] [stdout] 383 |         self.0.advance_by(n)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ expected `Result<(), usize>`, found `Result<(), NonZero<usize>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Result<_, usize>`
[INFO] [stdout]                found enum `Result<_, NonZero<usize>>`
[INFO] [stdout] help: use `?` to coerce and return an appropriate `Err`, and wrap the resulting value in `Ok` so the expression remains of type `Result`
[INFO] [stdout]     |
[INFO] [stdout] 383 |         Ok(self.0.advance_by(n)?)
[INFO] [stdout]     |         +++                    ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/notemaps_text/src/table.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 419 |     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout]     |                                           ----------------- expected `Result<(), usize>` because of return type
[INFO] [stdout] 420 |         self.1.advance_by(n)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ expected `Result<(), usize>`, found `Result<(), NonZero<usize>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Result<_, usize>`
[INFO] [stdout]                found enum `Result<_, NonZero<usize>>`
[INFO] [stdout] help: use `?` to coerce and return an appropriate `Err`, and wrap the resulting value in `Ok` so the expression remains of type `Result`
[INFO] [stdout]     |
[INFO] [stdout] 420 |         Ok(self.1.advance_by(n)?)
[INFO] [stdout]     |         +++                    ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/notemaps_text/src/offsets.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |               fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout]     |                                                             ------------- expected `Option<usize>` because of return type
[INFO] [stdout] 154 |                   std::iter::Step::steps_between(&start.0, &end.0)
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<usize>`, found `(usize, Option<usize>)`
[INFO] [stdout] ...
[INFO] [stdout] 274 | / natural_unit! {
[INFO] [stdout] 275 | |     /// Represents a number of [u8] bytes or octets, typically in the context of some UTF-8
[INFO] [stdout] 276 | |     /// encoded text.
[INFO] [stdout] 277 | |     ///
[INFO] [stdout] ...   |
[INFO] [stdout] 289 | |     pub struct Byte(usize) " bytes" singular " byte" test a_byte;
[INFO] [stdout] 290 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<usize>`
[INFO] [stdout]               found tuple `(usize, Option<usize>)`
[INFO] [stdout]     = note: this error originates in the macro `natural_unit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/notemaps_text/src/offsets.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |               fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout]     |                                                             ------------- expected `Option<usize>` because of return type
[INFO] [stdout] 154 |                   std::iter::Step::steps_between(&start.0, &end.0)
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<usize>`, found `(usize, Option<usize>)`
[INFO] [stdout] ...
[INFO] [stdout] 292 | / natural_unit! {
[INFO] [stdout] 293 | |     /// Represents a number of [char] characters, or Unicode code points.
[INFO] [stdout] 294 | |     ///
[INFO] [stdout] 295 | |     /// Intended to help avoid bugs caused by unintentionally mixing measurements of different
[INFO] [stdout] ...   |
[INFO] [stdout] 306 | |     pub struct Char(usize)  " chars" singular " char" test a_char;
[INFO] [stdout] 307 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<usize>`
[INFO] [stdout]               found tuple `(usize, Option<usize>)`
[INFO] [stdout]     = note: this error originates in the macro `natural_unit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/notemaps_text/src/offsets.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |               fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout]     |                                                             ------------- expected `Option<usize>` because of return type
[INFO] [stdout] 154 |                   std::iter::Step::steps_between(&start.0, &end.0)
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<usize>`, found `(usize, Option<usize>)`
[INFO] [stdout] ...
[INFO] [stdout] 309 | / natural_unit! {
[INFO] [stdout] 310 | |     /// Represents a number of graphemes, or user-perceived characters.
[INFO] [stdout] 311 | |     ///
[INFO] [stdout] 312 | |     /// Intended to help avoid bugs caused by unintentionally mixing measurements of different
[INFO] [stdout] ...   |
[INFO] [stdout] 323 | |     pub struct Grapheme(usize) " graphemes" singular " grapheme" test a_grapheme;
[INFO] [stdout] 324 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<usize>`
[INFO] [stdout]               found tuple `(usize, Option<usize>)`
[INFO] [stdout]     = note: this error originates in the macro `natural_unit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/notemaps_text/src/offsets.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |               fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout]     |                                                             ------------- expected `Option<usize>` because of return type
[INFO] [stdout] 154 |                   std::iter::Step::steps_between(&start.0, &end.0)
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<usize>`, found `(usize, Option<usize>)`
[INFO] [stdout] ...
[INFO] [stdout] 326 | / natural_unit! {
[INFO] [stdout] 327 | |     /// Represents an index into a piece table, like [crate::Table].
[INFO] [stdout] 328 | |     ///
[INFO] [stdout] 329 | |     /// Intended to help avoid bugs caused by unintentionally mixing `usize` values that have very
[INFO] [stdout] ...   |
[INFO] [stdout] 340 | |     pub struct Piece(usize) " pieces" singular " piece" test a_piece;
[INFO] [stdout] 341 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<usize>`
[INFO] [stdout]               found tuple `(usize, Option<usize>)`
[INFO] [stdout]     = note: this error originates in the macro `natural_unit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `notemaps_text` (lib) due to 15 previous errors; 3 warnings emitted
[INFO] [stdout] Some errors have detailed explanations: E0053, E0308, E0557.
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about an error, try `rustc --explain E0053`.
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `associated_type_bounds` has been stable since 1.79.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> rust/notemaps_text/src/lib.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | #![feature(associated_type_bounds)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `generic_associated_types` has been stable since 1.65.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> rust/notemaps_text/src/lib.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![feature(generic_associated_types)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `toowned_clone_into` has been stable since 1.63.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> rust/notemaps_text/src/lib.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![feature(toowned_clone_into)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `advance_by` has an incompatible type for trait
[INFO] [stdout]    --> rust/notemaps_text/src/table.rs:353:43
[INFO] [stdout]     |
[INFO] [stdout] 353 |     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^ expected `NonZero<usize>`, found `usize`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&mut Pieces<'_, _>, _) -> Result<_, NonZero<usize>>`
[INFO] [stdout]                found signature `fn(&mut Pieces<'_, _>, _) -> Result<_, usize>`
[INFO] [stdout] help: change the output type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 353 -     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout] 353 +     fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `advance_by` has an incompatible type for trait
[INFO] [stdout]    --> rust/notemaps_text/src/table.rs:382:43
[INFO] [stdout]     |
[INFO] [stdout] 382 |     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^ expected `NonZero<usize>`, found `usize`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&mut PiecesMut<'_, _>, _) -> Result<_, NonZero<usize>>`
[INFO] [stdout]                found signature `fn(&mut PiecesMut<'_, _>, _) -> Result<_, usize>`
[INFO] [stdout] help: change the output type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 382 -     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout] 382 +     fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `advance_by` has an incompatible type for trait
[INFO] [stdout]    --> rust/notemaps_text/src/table.rs:419:43
[INFO] [stdout]     |
[INFO] [stdout] 419 |     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^ expected `NonZero<usize>`, found `usize`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&mut PieceIndices<'_, _, _>, _) -> Result<_, NonZero<usize>>`
[INFO] [stdout]                found signature `fn(&mut PieceIndices<'_, _, _>, _) -> Result<_, usize>`
[INFO] [stdout] help: change the output type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 419 -     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout] 419 +     fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `steps_between` has an incompatible type for trait
[INFO] [stdout]    --> rust/notemaps_text/src/offsets.rs:153:59
[INFO] [stdout]     |
[INFO] [stdout] 153 |               fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^ expected `(usize, Option<usize>)`, found `Option<usize>`
[INFO] [stdout] ...
[INFO] [stdout] 274 | / natural_unit! {
[INFO] [stdout] 275 | |     /// Represents a number of [u8] bytes or octets, typically in the context of some UTF-8
[INFO] [stdout] 276 | |     /// encoded text.
[INFO] [stdout] 277 | |     ///
[INFO] [stdout] ...   |
[INFO] [stdout] 289 | |     pub struct Byte(usize) " bytes" singular " byte" test a_byte;
[INFO] [stdout] 290 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&offsets::Byte, &offsets::Byte) -> (usize, Option<usize>)`
[INFO] [stdout]                found signature `fn(&offsets::Byte, &offsets::Byte) -> Option<usize>`
[INFO] [stdout]     = note: this error originates in the macro `natural_unit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: change the output type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 153 -             fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout] 153 +             fn steps_between(start: &Self, end: &Self) -> (usize, Option<usize>) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `steps_between` has an incompatible type for trait
[INFO] [stdout]    --> rust/notemaps_text/src/offsets.rs:153:59
[INFO] [stdout]     |
[INFO] [stdout] 153 |               fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^ expected `(usize, Option<usize>)`, found `Option<usize>`
[INFO] [stdout] ...
[INFO] [stdout] 292 | / natural_unit! {
[INFO] [stdout] 293 | |     /// Represents a number of [char] characters, or Unicode code points.
[INFO] [stdout] 294 | |     ///
[INFO] [stdout] 295 | |     /// Intended to help avoid bugs caused by unintentionally mixing measurements of different
[INFO] [stdout] ...   |
[INFO] [stdout] 306 | |     pub struct Char(usize)  " chars" singular " char" test a_char;
[INFO] [stdout] 307 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&offsets::Char, &offsets::Char) -> (usize, Option<usize>)`
[INFO] [stdout]                found signature `fn(&offsets::Char, &offsets::Char) -> Option<usize>`
[INFO] [stdout]     = note: this error originates in the macro `natural_unit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: change the output type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 153 -             fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout] 153 +             fn steps_between(start: &Self, end: &Self) -> (usize, Option<usize>) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `steps_between` has an incompatible type for trait
[INFO] [stdout]    --> rust/notemaps_text/src/offsets.rs:153:59
[INFO] [stdout]     |
[INFO] [stdout] 153 |               fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^ expected `(usize, Option<usize>)`, found `Option<usize>`
[INFO] [stdout] ...
[INFO] [stdout] 309 | / natural_unit! {
[INFO] [stdout] 310 | |     /// Represents a number of graphemes, or user-perceived characters.
[INFO] [stdout] 311 | |     ///
[INFO] [stdout] 312 | |     /// Intended to help avoid bugs caused by unintentionally mixing measurements of different
[INFO] [stdout] ...   |
[INFO] [stdout] 323 | |     pub struct Grapheme(usize) " graphemes" singular " grapheme" test a_grapheme;
[INFO] [stdout] 324 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&offsets::Grapheme, &offsets::Grapheme) -> (usize, Option<usize>)`
[INFO] [stdout]                found signature `fn(&offsets::Grapheme, &offsets::Grapheme) -> Option<usize>`
[INFO] [stdout]     = note: this error originates in the macro `natural_unit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: change the output type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 153 -             fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout] 153 +             fn steps_between(start: &Self, end: &Self) -> (usize, Option<usize>) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `steps_between` has an incompatible type for trait
[INFO] [stdout]    --> rust/notemaps_text/src/offsets.rs:153:59
[INFO] [stdout]     |
[INFO] [stdout] 153 |               fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^ expected `(usize, Option<usize>)`, found `Option<usize>`
[INFO] [stdout] ...
[INFO] [stdout] 326 | / natural_unit! {
[INFO] [stdout] 327 | |     /// Represents an index into a piece table, like [crate::Table].
[INFO] [stdout] 328 | |     ///
[INFO] [stdout] 329 | |     /// Intended to help avoid bugs caused by unintentionally mixing `usize` values that have very
[INFO] [stdout] ...   |
[INFO] [stdout] 340 | |     pub struct Piece(usize) " pieces" singular " piece" test a_piece;
[INFO] [stdout] 341 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&offsets::Piece, &offsets::Piece) -> (usize, Option<usize>)`
[INFO] [stdout]                found signature `fn(&offsets::Piece, &offsets::Piece) -> Option<usize>`
[INFO] [stdout]     = note: this error originates in the macro `natural_unit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: change the output type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 153 -             fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout] 153 +             fn steps_between(start: &Self, end: &Self) -> (usize, Option<usize>) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/notemaps_text/src/table.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 353 |     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout]     |                                           ----------------- expected `Result<(), usize>` because of return type
[INFO] [stdout] 354 |         self.0.advance_by(n)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ expected `Result<(), usize>`, found `Result<(), NonZero<usize>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Result<_, usize>`
[INFO] [stdout]                found enum `Result<_, NonZero<usize>>`
[INFO] [stdout] help: use `?` to coerce and return an appropriate `Err`, and wrap the resulting value in `Ok` so the expression remains of type `Result`
[INFO] [stdout]     |
[INFO] [stdout] 354 |         Ok(self.0.advance_by(n)?)
[INFO] [stdout]     |         +++                    ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/notemaps_text/src/table.rs:383:9
[INFO] [stdout]     |
[INFO] [stdout] 382 |     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout]     |                                           ----------------- expected `Result<(), usize>` because of return type
[INFO] [stdout] 383 |         self.0.advance_by(n)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ expected `Result<(), usize>`, found `Result<(), NonZero<usize>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Result<_, usize>`
[INFO] [stdout]                found enum `Result<_, NonZero<usize>>`
[INFO] [stdout] help: use `?` to coerce and return an appropriate `Err`, and wrap the resulting value in `Ok` so the expression remains of type `Result`
[INFO] [stdout]     |
[INFO] [stdout] 383 |         Ok(self.0.advance_by(n)?)
[INFO] [stdout]     |         +++                    ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/notemaps_text/src/table.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 419 |     fn advance_by(&mut self, n: usize) -> Result<(), usize> {
[INFO] [stdout]     |                                           ----------------- expected `Result<(), usize>` because of return type
[INFO] [stdout] 420 |         self.1.advance_by(n)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ expected `Result<(), usize>`, found `Result<(), NonZero<usize>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Result<_, usize>`
[INFO] [stdout]                found enum `Result<_, NonZero<usize>>`
[INFO] [stdout] help: use `?` to coerce and return an appropriate `Err`, and wrap the resulting value in `Ok` so the expression remains of type `Result`
[INFO] [stdout]     |
[INFO] [stdout] 420 |         Ok(self.1.advance_by(n)?)
[INFO] [stdout]     |         +++                    ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/notemaps_text/src/offsets.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |               fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout]     |                                                             ------------- expected `Option<usize>` because of return type
[INFO] [stdout] 154 |                   std::iter::Step::steps_between(&start.0, &end.0)
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<usize>`, found `(usize, Option<usize>)`
[INFO] [stdout] ...
[INFO] [stdout] 274 | / natural_unit! {
[INFO] [stdout] 275 | |     /// Represents a number of [u8] bytes or octets, typically in the context of some UTF-8
[INFO] [stdout] 276 | |     /// encoded text.
[INFO] [stdout] 277 | |     ///
[INFO] [stdout] ...   |
[INFO] [stdout] 289 | |     pub struct Byte(usize) " bytes" singular " byte" test a_byte;
[INFO] [stdout] 290 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<usize>`
[INFO] [stdout]               found tuple `(usize, Option<usize>)`
[INFO] [stdout]     = note: this error originates in the macro `natural_unit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/notemaps_text/src/offsets.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |               fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout]     |                                                             ------------- expected `Option<usize>` because of return type
[INFO] [stdout] 154 |                   std::iter::Step::steps_between(&start.0, &end.0)
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<usize>`, found `(usize, Option<usize>)`
[INFO] [stdout] ...
[INFO] [stdout] 292 | / natural_unit! {
[INFO] [stdout] 293 | |     /// Represents a number of [char] characters, or Unicode code points.
[INFO] [stdout] 294 | |     ///
[INFO] [stdout] 295 | |     /// Intended to help avoid bugs caused by unintentionally mixing measurements of different
[INFO] [stdout] ...   |
[INFO] [stdout] 306 | |     pub struct Char(usize)  " chars" singular " char" test a_char;
[INFO] [stdout] 307 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<usize>`
[INFO] [stdout]               found tuple `(usize, Option<usize>)`
[INFO] [stdout]     = note: this error originates in the macro `natural_unit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/notemaps_text/src/offsets.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |               fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout]     |                                                             ------------- expected `Option<usize>` because of return type
[INFO] [stdout] 154 |                   std::iter::Step::steps_between(&start.0, &end.0)
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<usize>`, found `(usize, Option<usize>)`
[INFO] [stdout] ...
[INFO] [stdout] 309 | / natural_unit! {
[INFO] [stdout] 310 | |     /// Represents a number of graphemes, or user-perceived characters.
[INFO] [stdout] 311 | |     ///
[INFO] [stdout] 312 | |     /// Intended to help avoid bugs caused by unintentionally mixing measurements of different
[INFO] [stdout] ...   |
[INFO] [stdout] 323 | |     pub struct Grapheme(usize) " graphemes" singular " grapheme" test a_grapheme;
[INFO] [stdout] 324 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<usize>`
[INFO] [stdout]               found tuple `(usize, Option<usize>)`
[INFO] [stdout]     = note: this error originates in the macro `natural_unit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/notemaps_text/src/offsets.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |               fn steps_between(start: &Self, end: &Self) -> Option<usize> {
[INFO] [stdout]     |                                                             ------------- expected `Option<usize>` because of return type
[INFO] [stdout] 154 |                   std::iter::Step::steps_between(&start.0, &end.0)
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<usize>`, found `(usize, Option<usize>)`
[INFO] [stdout] ...
[INFO] [stdout] 326 | / natural_unit! {
[INFO] [stdout] 327 | |     /// Represents an index into a piece table, like [crate::Table].
[INFO] [stdout] 328 | |     ///
[INFO] [stdout] 329 | |     /// Intended to help avoid bugs caused by unintentionally mixing `usize` values that have very
[INFO] [stdout] ...   |
[INFO] [stdout] 340 | |     pub struct Piece(usize) " pieces" singular " piece" test a_piece;
[INFO] [stdout] 341 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<usize>`
[INFO] [stdout]               found tuple `(usize, Option<usize>)`
[INFO] [stdout]     = note: this error originates in the macro `natural_unit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0053, E0308, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0053`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `notemaps_text` (lib test) due to 15 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "95c87cc4508e3d5fbb50cbf1c5a611893d337a4ffbb840e0f7e05d7bdd0c7ca6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "95c87cc4508e3d5fbb50cbf1c5a611893d337a4ffbb840e0f7e05d7bdd0c7ca6", kill_on_drop: false }`
[INFO] [stdout] 95c87cc4508e3d5fbb50cbf1c5a611893d337a4ffbb840e0f7e05d7bdd0c7ca6
