Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rustc reports 318 errors in a program with only 26 errors. #46125

Closed
bluss opened this issue Nov 20, 2017 · 2 comments
Closed

Rustc reports 318 errors in a program with only 26 errors. #46125

bluss opened this issue Nov 20, 2017 · 2 comments
Labels
A-diagnostics Area: Messages for errors, warnings, and lints C-enhancement Category: An issue proposing an enhancement or a PR with one. WG-diagnostics Working group: Diagnostics

Comments

@bluss
Copy link
Member

bluss commented Nov 20, 2017

This bug was encountered when updating a dependency; the dependency had removed 2 methods, so there were errors for the 26 places those two methods were used.

That's fine. The other 292 errors are nonsensical knock-on errors, and the compiler should not mention them. Additionally, the nonsense errors are displayed after the real errors, but it's often the last errors that are most apparent to the user.

     Running `rustc --crate-name rustc_version /home/username/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc_version-0.1.7/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=85600d0125459c0c -C extra-filename=-85600d0125459c0c --out-dir /home/username/pt/rust/twoway/target/release/deps -L dependency=/home/username/pt/rust/twoway/target/release/deps --extern semver=/home/username/pt/rust/twoway/target/release/deps/libsemver-89033b8f49cace06.rlib --cap-lints allow`
warning: enum is never used: `Front`
 --> src/api.rs:2:1
  |
2 | pub enum Front { }
  | ^^^^^^^^^^^^^^
  |
  = note: #[warn(dead_code)] on by default

warning: enum is never used: `Back`
 --> src/api.rs:3:1
  |
3 | pub enum Back { }
  | ^^^^^^^^^^^^^

warning: enum is never used: `DoubleEnded`
 --> src/api.rs:4:1
  |
4 | pub enum DoubleEnded { }
  | ^^^^^^^^^^^^^^^^^^^^

warning: struct is never used: `Preprocessed`
 --> src/api.rs:7:1
  |
7 | pub struct Preprocessed<'a, T: 'a> {
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: struct is never used: `Search`
  --> src/api.rs:20:1
   |
20 | pub struct Search<'pattern, 'text, T: 'pattern + 'text> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method is never used: `search`
  --> src/api.rs:29:5
   |
29 |     pub fn search<'text>(self, text: &'text [T]) -> Search<'pattern, 'text, T> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

   Compiling newtype_derive v0.1.6
     Running `rustc --crate-name build_script_build /home/username/.cargo/registry/src/github.com-1ecc6299db9ec823/newtype_derive-0.1.6/build.rs --crate-type bin --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=58281e9d594fa127 -C extra-filename=-58281e9d594fa127 --out-dir /home/username/pt/rust/twoway/target/release/build/newtype_derive-58281e9d594fa127 -L dependency=/home/username/pt/rust/twoway/target/release/deps --extern rustc_version=/home/username/pt/rust/twoway/target/release/deps/librustc_version-85600d0125459c0c.rlib --cap-lints allow`
     Running `/home/username/pt/rust/twoway/target/release/build/newtype_derive-58281e9d594fa127/build-script-build`
     Running `rustc --crate-name newtype_derive /home/username/.cargo/registry/src/github.com-1ecc6299db9ec823/newtype_derive-0.1.6/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=88781a8d4991aa57 -C extra-filename=-88781a8d4991aa57 --out-dir /home/username/pt/rust/twoway/target/release/deps -L dependency=/home/username/pt/rust/twoway/target/release/deps --cap-lints allow --cfg op_assign`
   Compiling quickcheck v0.4.1
     Running `rustc --crate-name quickcheck /home/username/.cargo/registry/src/github.com-1ecc6299db9ec823/quickcheck-0.4.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=3ce8801e6ded6ca1 -C extra-filename=-3ce8801e6ded6ca1 --out-dir /home/username/pt/rust/twoway/target/release/deps -L dependency=/home/username/pt/rust/twoway/target/release/deps --extern rand=/home/username/pt/rust/twoway/target/release/deps/librand-466603aa809a8eb5.rlib --cap-lints allow`
     Running `rustc --crate-name pathology benches/pathology.rs --emit=dep-info,link -C opt-level=3 --test --cfg 'feature="benchmarks"' --cfg 'feature="default"' --cfg 'feature="galil-seiferas"' --cfg 'feature="memchr"' --cfg 'feature="pattern"' --cfg 'feature="use_std"' -C metadata=85e5e6765f60c5e8 -C extra-filename=-85e5e6765f60c5e8 --out-dir /home/username/pt/rust/twoway/target/release/deps -L dependency=/home/username/pt/rust/twoway/target/release/deps --extern galil_seiferas=/home/username/pt/rust/twoway/target/release/deps/libgalil_seiferas-fb024474bcb97d73.rlib --extern rand=/home/username/pt/rust/twoway/target/release/deps/librand-466603aa809a8eb5.rlib --extern itertools=/home/username/pt/rust/twoway/target/release/deps/libitertools-31aaf13b7ff39ba5.rlib --extern memchr=/home/username/pt/rust/twoway/target/release/deps/libmemchr-149ed2b59d88d797.rlib --extern odds=/home/username/pt/rust/twoway/target/release/deps/libodds-e9b895a44ed4b70e.rlib --extern macro_attr=/home/username/pt/rust/twoway/target/release/deps/libmacro_attr-c4b20e1c47109b64.rlib --extern newtype_derive=/home/username/pt/rust/twoway/target/release/deps/libnewtype_derive-88781a8d4991aa57.rlib --extern quickcheck=/home/username/pt/rust/twoway/target/release/deps/libquickcheck-3ce8801e6ded6ca1.rlib --extern twoway=/home/username/pt/rust/twoway/target/release/deps/libtwoway-d85f0f35c96b5139.rlib`
     Running `rustc --crate-name twoway src/lib.rs --emit=dep-info,link -C opt-level=3 --test --cfg 'feature="benchmarks"' --cfg 'feature="default"' --cfg 'feature="galil-seiferas"' --cfg 'feature="memchr"' --cfg 'feature="pattern"' --cfg 'feature="use_std"' -C metadata=ec60a5816c79e83b -C extra-filename=-ec60a5816c79e83b --out-dir /home/username/pt/rust/twoway/target/release/deps -L dependency=/home/username/pt/rust/twoway/target/release/deps --extern galil_seiferas=/home/username/pt/rust/twoway/target/release/deps/libgalil_seiferas-fb024474bcb97d73.rlib --extern rand=/home/username/pt/rust/twoway/target/release/deps/librand-466603aa809a8eb5.rlib --extern itertools=/home/username/pt/rust/twoway/target/release/deps/libitertools-31aaf13b7ff39ba5.rlib --extern memchr=/home/username/pt/rust/twoway/target/release/deps/libmemchr-149ed2b59d88d797.rlib --extern odds=/home/username/pt/rust/twoway/target/release/deps/libodds-e9b895a44ed4b70e.rlib --extern macro_attr=/home/username/pt/rust/twoway/target/release/deps/libmacro_attr-c4b20e1c47109b64.rlib --extern newtype_derive=/home/username/pt/rust/twoway/target/release/deps/libnewtype_derive-88781a8d4991aa57.rlib --extern quickcheck=/home/username/pt/rust/twoway/target/release/deps/libquickcheck-3ce8801e6ded6ca1.rlib`
error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:410:9
    |
410 |     "a".rep(250),
    |         ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:414:9
    |
414 |     "a".rep(250),
    |         ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:418:9
    |
418 |     "a".rep(100_000),
    |         ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:419:9
    |
419 |     "a".rep(24).append("b"));
    |         ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:422:9
    |
422 |     "a".rep(100_000),
    |         ^^^

error[E0599]: no method named `append` found for type `&'static str` in the current scope
   --> benches/pathology.rs:423:9
    |
423 |     "b".append(&"a".rep(24)));
    |         ^^^^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:423:21
    |
423 |     "b".append(&"a".rep(24)));
    |                     ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:426:9
    |
426 |     "a".rep(100_000),
    |         ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:427:9
    |
427 |     "b".rep(100));
    |         ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:430:11
    |
430 |     "aab".rep(100_000),
    |           ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:431:12
    |
431 |     "aaab".rep(100));
    |            ^^^

error[E0599]: no method named `append` found for type `&'static str` in the current scope
   --> benches/pathology.rs:434:10
    |
434 |     "bb".append(&"ab".rep(99)).rep(100),
    |          ^^^^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:434:23
    |
434 |     "bb".append(&"ab".rep(99)).rep(100),
    |                       ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:435:10
    |
435 |     "ab".rep(100));
    |          ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:438:13
    |
438 |     "bacba".rep(39).append("bbbbb").rep(40),
    |             ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:439:13
    |
439 |     "bacba".rep(40));
    |             ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:443:11
    |
443 |     "dac".rep(20_000),
    |           ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:448:11
    |
448 |     "cad".rep(20_000),
    |           ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:452:11
    |
452 |     "aab".rep(100_000),
    |           ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:453:9
    |
453 |     "b".rep(100) + &"a".rep(100));
    |         ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:453:25
    |
453 |     "b".rep(100) + &"a".rep(100));
    |                         ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:456:11
    |
456 |     "aab".rep(100_000),
    |           ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:457:9
    |
457 |     "a".rep(100) + &"b".rep(100));
    |         ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:457:25
    |
457 |     "a".rep(100) + &"b".rep(100));
    |                         ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:460:26
    |
460 |     "allrightagtogether".rep(10_000),
    |                          ^^^

error[E0599]: no method named `rep` found for type `&'static str` in the current scope
   --> benches/pathology.rs:464:26
    |
464 |     "gllrightaltogether".rep(10_000),
    |                          ^^^

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:21
    |
166 |                   let haystack = black_box($hay);
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
409 | / bench_contains_vs_tw!(naive,
410 | |     "a".rep(250),
411 | |     "aaaaaaaab");
    | |_________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:32
    |
166 |                   let haystack = black_box($hay);
    |                                  ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
409 | / bench_contains_vs_tw!(naive,
410 | |     "a".rep(250),
411 | |     "aaaaaaaab");
    | |_________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:21
    |
166 |                   let haystack = black_box($hay);
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
413 | / bench_contains_vs_tw!(naive_rev,
414 | |     "a".rep(250),
415 | |     "baaaaaaaa");
    | |_________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:32
    |
166 |                   let haystack = black_box($hay);
    |                                  ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
413 | / bench_contains_vs_tw!(naive_rev,
414 | |     "a".rep(250),
415 | |     "baaaaaaaa");
    | |_________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:21
    |
166 |                   let haystack = black_box($hay);
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
417 | / bench_contains_vs_tw!(naive_longpat,
418 | |     "a".rep(100_000),
419 | |     "a".rep(24).append("b"));
    | |_____________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:32
    |
166 |                   let haystack = black_box($hay);
    |                                  ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
417 | / bench_contains_vs_tw!(naive_longpat,
418 | |     "a".rep(100_000),
419 | |     "a".rep(24).append("b"));
    | |_____________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:167:21
    |
167 |                   let needle = black_box($n);
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
417 | / bench_contains_vs_tw!(naive_longpat,
418 | |     "a".rep(100_000),
419 | |     "a".rep(24).append("b"));
    | |_____________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:167:30
    |
167 |                   let needle = black_box($n);
    |                                ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
417 | / bench_contains_vs_tw!(naive_longpat,
418 | |     "a".rep(100_000),
419 | |     "a".rep(24).append("b"));
    | |_____________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:21
    |
166 |                   let haystack = black_box($hay);
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
421 | / bench_contains_vs_tw!(naive_longpat_reversed,
422 | |     "a".rep(100_000),
423 | |     "b".append(&"a".rep(24)));
    | |______________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:32
    |
166 |                   let haystack = black_box($hay);
    |                                  ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
421 | / bench_contains_vs_tw!(naive_longpat_reversed,
422 | |     "a".rep(100_000),
423 | |     "b".append(&"a".rep(24)));
    | |______________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:167:21
    |
167 |                   let needle = black_box($n);
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
421 | / bench_contains_vs_tw!(naive_longpat_reversed,
422 | |     "a".rep(100_000),
423 | |     "b".append(&"a".rep(24)));
    | |______________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:167:30
    |
167 |                   let needle = black_box($n);
    |                                ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
421 | / bench_contains_vs_tw!(naive_longpat_reversed,
422 | |     "a".rep(100_000),
423 | |     "b".append(&"a".rep(24)));
    | |______________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:21
    |
166 |                   let haystack = black_box($hay);
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
425 | / bench_contains_vs_tw!(bb_in_aa,
426 | |     "a".rep(100_000),
427 | |     "b".rep(100));
    | |__________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:32
    |
166 |                   let haystack = black_box($hay);
    |                                  ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
425 | / bench_contains_vs_tw!(bb_in_aa,
426 | |     "a".rep(100_000),
427 | |     "b".rep(100));
    | |__________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:167:21
    |
167 |                   let needle = black_box($n);
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
425 | / bench_contains_vs_tw!(bb_in_aa,
426 | |     "a".rep(100_000),
427 | |     "b".rep(100));
    | |__________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:167:30
    |
167 |                   let needle = black_box($n);
    |                                ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
425 | / bench_contains_vs_tw!(bb_in_aa,
426 | |     "a".rep(100_000),
427 | |     "b".rep(100));
    | |__________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:21
    |
166 |                   let haystack = black_box($hay);
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
429 | / bench_contains_vs_tw!(aaab_in_aab,
430 | |     "aab".rep(100_000),
431 | |     "aaab".rep(100));
    | |_____________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:32
    |
166 |                   let haystack = black_box($hay);
    |                                  ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
429 | / bench_contains_vs_tw!(aaab_in_aab,
430 | |     "aab".rep(100_000),
431 | |     "aaab".rep(100));
    | |_____________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:167:21
    |
167 |                   let needle = black_box($n);
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
429 | / bench_contains_vs_tw!(aaab_in_aab,
430 | |     "aab".rep(100_000),
431 | |     "aaab".rep(100));
    | |_____________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:167:30
    |
167 |                   let needle = black_box($n);
    |                                ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
429 | / bench_contains_vs_tw!(aaab_in_aab,
430 | |     "aab".rep(100_000),
431 | |     "aaab".rep(100));
    | |_____________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:21
    |
166 |                   let haystack = black_box($hay);
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
433 | / bench_contains_vs_tw!(periodic2,
434 | |     "bb".append(&"ab".rep(99)).rep(100),
435 | |     "ab".rep(100));
    | |___________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:32
    |
166 |                   let haystack = black_box($hay);
    |                                  ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
433 | / bench_contains_vs_tw!(periodic2,
434 | |     "bb".append(&"ab".rep(99)).rep(100),
435 | |     "ab".rep(100));
    | |___________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:167:21
    |
167 |                   let needle = black_box($n);
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
433 | / bench_contains_vs_tw!(periodic2,
434 | |     "bb".append(&"ab".rep(99)).rep(100),
435 | |     "ab".rep(100));
    | |___________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:167:30
    |
167 |                   let needle = black_box($n);
    |                                ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
433 | / bench_contains_vs_tw!(periodic2,
434 | |     "bb".append(&"ab".rep(99)).rep(100),
435 | |     "ab".rep(100));
    | |___________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:21
    |
166 |                   let haystack = black_box($hay);
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
437 | / bench_contains_vs_tw!(periodic5,
438 | |     "bacba".rep(39).append("bbbbb").rep(40),
439 | |     "bacba".rep(40));
    | |_____________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:32
    |
166 |                   let haystack = black_box($hay);
    |                                  ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
437 | / bench_contains_vs_tw!(periodic5,
438 | |     "bacba".rep(39).append("bbbbb").rep(40),
439 | |     "bacba".rep(40));
    | |_____________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:167:21
    |
167 |                   let needle = black_box($n);
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
437 | / bench_contains_vs_tw!(periodic5,
438 | |     "bacba".rep(39).append("bbbbb").rep(40),
439 | |     "bacba".rep(40));
    | |_____________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:167:30
    |
167 |                   let needle = black_box($n);
    |                                ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
437 | / bench_contains_vs_tw!(periodic5,
438 | |     "bacba".rep(39).append("bbbbb").rep(40),
439 | |     "bacba".rep(40));
    | |_____________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:21
    |
166 |                   let haystack = black_box($hay);
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
442 | / bench_contains_vs_tw!(pathological_two_way,
443 | |     "dac".rep(20_000),
444 | |     "bac");
    | |___________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:32
    |
166 |                   let haystack = black_box($hay);
    |                                  ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
442 | / bench_contains_vs_tw!(pathological_two_way,
443 | |     "dac".rep(20_000),
444 | |     "bac");
    | |___________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:21
    |
166 |                   let haystack = black_box($hay);
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
447 | / bench_contains_vs_tw!(pathological_two_way_rev,
448 | |     "cad".rep(20_000),
449 | |     "cab");
    | |___________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:32
    |
166 |                   let haystack = black_box($hay);
    |                                  ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
447 | / bench_contains_vs_tw!(pathological_two_way_rev,
448 | |     "cad".rep(20_000),
449 | |     "cab");
    | |___________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:21
    |
166 |                   let haystack = black_box($hay);
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
451 | / bench_contains_vs_tw!(bbbaaa,
452 | |     "aab".rep(100_000),
453 | |     "b".rep(100) + &"a".rep(100));
    | |__________________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:32
    |
166 |                   let haystack = black_box($hay);
    |                                  ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
451 | / bench_contains_vs_tw!(bbbaaa,
452 | |     "aab".rep(100_000),
453 | |     "b".rep(100) + &"a".rep(100));
    | |__________________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:167:21
    |
167 |                   let needle = black_box($n);
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
451 | / bench_contains_vs_tw!(bbbaaa,
452 | |     "aab".rep(100_000),
453 | |     "b".rep(100) + &"a".rep(100));
    | |__________________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:167:30
    |
167 |                   let needle = black_box($n);
    |                                ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
451 | / bench_contains_vs_tw!(bbbaaa,
452 | |     "aab".rep(100_000),
453 | |     "b".rep(100) + &"a".rep(100));
    | |__________________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:21
    |
166 |                   let haystack = black_box($hay);
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
455 | / bench_contains_vs_tw!(aaabbb,
456 | |     "aab".rep(100_000),
457 | |     "a".rep(100) + &"b".rep(100));
    | |__________________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:32
    |
166 |                   let haystack = black_box($hay);
    |                                  ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
455 | / bench_contains_vs_tw!(aaabbb,
456 | |     "aab".rep(100_000),
457 | |     "a".rep(100) + &"b".rep(100));
    | |__________________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:167:21
    |
167 |                   let needle = black_box($n);
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
455 | / bench_contains_vs_tw!(aaabbb,
456 | |     "aab".rep(100_000),
457 | |     "a".rep(100) + &"b".rep(100));
    | |__________________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:167:30
    |
167 |                   let needle = black_box($n);
    |                                ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
455 | / bench_contains_vs_tw!(aaabbb,
456 | |     "aab".rep(100_000),
457 | |     "a".rep(100) + &"b".rep(100));
    | |__________________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:21
    |
166 |                   let haystack = black_box($hay);
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
459 | / bench_contains_vs_tw!(allright,
460 | |     "allrightagtogether".rep(10_000),
461 | |      "allrightaltogether");
    | |___________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:32
    |
166 |                   let haystack = black_box($hay);
    |                                  ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
459 | / bench_contains_vs_tw!(allright,
460 | |     "allrightagtogether".rep(10_000),
461 | |      "allrightaltogether");
    | |___________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:21
    |
166 |                   let haystack = black_box($hay);
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
463 | / bench_contains_vs_tw!(gllright,
464 | |     "gllrightaltogether".rep(10_000),
465 | |      "allrightaltogether");
    | |___________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:166:32
    |
166 |                   let haystack = black_box($hay);
    |                                  ^^^^^^^^^ `str` does not have a constant size known at compile-time
...
463 | / bench_contains_vs_tw!(gllright,
464 | |     "gllrightaltogether".rep(10_000),
465 | |      "allrightaltogether");
    | |___________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: required by `test::black_box`

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:176:21
    |
176 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
409 | / bench_contains_vs_tw!(naive,
410 | |     "a".rep(250),
411 | |     "aaaaaaaab");
    | |_________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:176:21
    |
176 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
413 | / bench_contains_vs_tw!(naive_rev,
414 | |     "a".rep(250),
415 | |     "baaaaaaaa");
    | |_________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:176:21
    |
176 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
417 | / bench_contains_vs_tw!(naive_longpat,
418 | |     "a".rep(100_000),
419 | |     "a".rep(24).append("b"));
    | |_____________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:177:21
    |
177 |                   let needle = $n;
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
417 | / bench_contains_vs_tw!(naive_longpat,
418 | |     "a".rep(100_000),
419 | |     "a".rep(24).append("b"));
    | |_____________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:176:21
    |
176 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
421 | / bench_contains_vs_tw!(naive_longpat_reversed,
422 | |     "a".rep(100_000),
423 | |     "b".append(&"a".rep(24)));
    | |______________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:177:21
    |
177 |                   let needle = $n;
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
421 | / bench_contains_vs_tw!(naive_longpat_reversed,
422 | |     "a".rep(100_000),
423 | |     "b".append(&"a".rep(24)));
    | |______________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:176:21
    |
176 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
425 | / bench_contains_vs_tw!(bb_in_aa,
426 | |     "a".rep(100_000),
427 | |     "b".rep(100));
    | |__________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:177:21
    |
177 |                   let needle = $n;
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
425 | / bench_contains_vs_tw!(bb_in_aa,
426 | |     "a".rep(100_000),
427 | |     "b".rep(100));
    | |__________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:176:21
    |
176 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
429 | / bench_contains_vs_tw!(aaab_in_aab,
430 | |     "aab".rep(100_000),
431 | |     "aaab".rep(100));
    | |_____________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:177:21
    |
177 |                   let needle = $n;
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
429 | / bench_contains_vs_tw!(aaab_in_aab,
430 | |     "aab".rep(100_000),
431 | |     "aaab".rep(100));
    | |_____________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:176:21
    |
176 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
433 | / bench_contains_vs_tw!(periodic2,
434 | |     "bb".append(&"ab".rep(99)).rep(100),
435 | |     "ab".rep(100));
    | |___________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:177:21
    |
177 |                   let needle = $n;
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
433 | / bench_contains_vs_tw!(periodic2,
434 | |     "bb".append(&"ab".rep(99)).rep(100),
435 | |     "ab".rep(100));
    | |___________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:176:21
    |
176 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
437 | / bench_contains_vs_tw!(periodic5,
438 | |     "bacba".rep(39).append("bbbbb").rep(40),
439 | |     "bacba".rep(40));
    | |_____________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:177:21
    |
177 |                   let needle = $n;
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
437 | / bench_contains_vs_tw!(periodic5,
438 | |     "bacba".rep(39).append("bbbbb").rep(40),
439 | |     "bacba".rep(40));
    | |_____________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:176:21
    |
176 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
442 | / bench_contains_vs_tw!(pathological_two_way,
443 | |     "dac".rep(20_000),
444 | |     "bac");
    | |___________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:176:21
    |
176 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
447 | / bench_contains_vs_tw!(pathological_two_way_rev,
448 | |     "cad".rep(20_000),
449 | |     "cab");
    | |___________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:176:21
    |
176 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
451 | / bench_contains_vs_tw!(bbbaaa,
452 | |     "aab".rep(100_000),
453 | |     "b".rep(100) + &"a".rep(100));
    | |__________________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:177:21
    |
177 |                   let needle = $n;
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
451 | / bench_contains_vs_tw!(bbbaaa,
452 | |     "aab".rep(100_000),
453 | |     "b".rep(100) + &"a".rep(100));
    | |__________________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:176:21
    |
176 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
455 | / bench_contains_vs_tw!(aaabbb,
456 | |     "aab".rep(100_000),
457 | |     "a".rep(100) + &"b".rep(100));
    | |__________________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:177:21
    |
177 |                   let needle = $n;
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
455 | / bench_contains_vs_tw!(aaabbb,
456 | |     "aab".rep(100_000),
457 | |     "a".rep(100) + &"b".rep(100));
    | |__________________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:176:21
    |
176 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
459 | / bench_contains_vs_tw!(allright,
460 | |     "allrightagtogether".rep(10_000),
461 | |      "allrightaltogether");
    | |___________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:176:21
    |
176 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
463 | / bench_contains_vs_tw!(gllright,
464 | |     "gllrightaltogether".rep(10_000),
465 | |      "allrightaltogether");
    | |___________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:214:21
    |
214 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
409 | / bench_contains_vs_tw!(naive,
410 | |     "a".rep(250),
411 | |     "aaaaaaaab");
    | |_________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:214:21
    |
214 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
413 | / bench_contains_vs_tw!(naive_rev,
414 | |     "a".rep(250),
415 | |     "baaaaaaaa");
    | |_________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:214:21
    |
214 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
417 | / bench_contains_vs_tw!(naive_longpat,
418 | |     "a".rep(100_000),
419 | |     "a".rep(24).append("b"));
    | |_____________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:215:21
    |
215 |                   let needle = $n;
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
417 | / bench_contains_vs_tw!(naive_longpat,
418 | |     "a".rep(100_000),
419 | |     "a".rep(24).append("b"));
    | |_____________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:214:21
    |
214 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
421 | / bench_contains_vs_tw!(naive_longpat_reversed,
422 | |     "a".rep(100_000),
423 | |     "b".append(&"a".rep(24)));
    | |______________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:215:21
    |
215 |                   let needle = $n;
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
421 | / bench_contains_vs_tw!(naive_longpat_reversed,
422 | |     "a".rep(100_000),
423 | |     "b".append(&"a".rep(24)));
    | |______________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:214:21
    |
214 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
425 | / bench_contains_vs_tw!(bb_in_aa,
426 | |     "a".rep(100_000),
427 | |     "b".rep(100));
    | |__________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:215:21
    |
215 |                   let needle = $n;
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
425 | / bench_contains_vs_tw!(bb_in_aa,
426 | |     "a".rep(100_000),
427 | |     "b".rep(100));
    | |__________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:214:21
    |
214 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
429 | / bench_contains_vs_tw!(aaab_in_aab,
430 | |     "aab".rep(100_000),
431 | |     "aaab".rep(100));
    | |_____________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:215:21
    |
215 |                   let needle = $n;
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
429 | / bench_contains_vs_tw!(aaab_in_aab,
430 | |     "aab".rep(100_000),
431 | |     "aaab".rep(100));
    | |_____________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:214:21
    |
214 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
433 | / bench_contains_vs_tw!(periodic2,
434 | |     "bb".append(&"ab".rep(99)).rep(100),
435 | |     "ab".rep(100));
    | |___________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:215:21
    |
215 |                   let needle = $n;
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
433 | / bench_contains_vs_tw!(periodic2,
434 | |     "bb".append(&"ab".rep(99)).rep(100),
435 | |     "ab".rep(100));
    | |___________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:214:21
    |
214 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
437 | / bench_contains_vs_tw!(periodic5,
438 | |     "bacba".rep(39).append("bbbbb").rep(40),
439 | |     "bacba".rep(40));
    | |_____________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:215:21
    |
215 |                   let needle = $n;
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
437 | / bench_contains_vs_tw!(periodic5,
438 | |     "bacba".rep(39).append("bbbbb").rep(40),
439 | |     "bacba".rep(40));
    | |_____________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:214:21
    |
214 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
442 | / bench_contains_vs_tw!(pathological_two_way,
443 | |     "dac".rep(20_000),
444 | |     "bac");
    | |___________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:214:21
    |
214 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
447 | / bench_contains_vs_tw!(pathological_two_way_rev,
448 | |     "cad".rep(20_000),
449 | |     "cab");
    | |___________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:214:21
    |
214 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
451 | / bench_contains_vs_tw!(bbbaaa,
452 | |     "aab".rep(100_000),
453 | |     "b".rep(100) + &"a".rep(100));
    | |__________________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:215:21
    |
215 |                   let needle = $n;
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
451 | / bench_contains_vs_tw!(bbbaaa,
452 | |     "aab".rep(100_000),
453 | |     "b".rep(100) + &"a".rep(100));
    | |__________________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:214:21
    |
214 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
455 | / bench_contains_vs_tw!(aaabbb,
456 | |     "aab".rep(100_000),
457 | |     "a".rep(100) + &"b".rep(100));
    | |__________________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:215:21
    |
215 |                   let needle = $n;
    |                       ^^^^^^ `str` does not have a constant size known at compile-time
...
455 | / bench_contains_vs_tw!(aaabbb,
456 | |     "aab".rep(100_000),
457 | |     "a".rep(100) + &"b".rep(100));
    | |__________________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:214:21
    |
214 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
459 | / bench_contains_vs_tw!(allright,
460 | |     "allrightagtogether".rep(10_000),
461 | |      "allrightaltogether");
    | |___________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
   --> benches/pathology.rs:214:21
    |
214 |                   let haystack = $hay;
    |                       ^^^^^^^^ `str` does not have a constant size known at compile-time
...
463 | / bench_contains_vs_tw!(gllright,
464 | |     "gllrightaltogether".rep(10_000),
465 | |      "allrightaltogether");
    | |___________________________- in this macro invocation
    |
    = help: the trait `std::marker::Sized` is not implemented for `str`
    = note: all local variables must have a statically known size

error: aborting due to 318 previous errors

error: Could not compile `twoway`.
@TimNN TimNN added A-diagnostics Area: Messages for errors, warnings, and lints C-enhancement Category: An issue proposing an enhancement or a PR with one. labels Nov 21, 2017
@estebank
Copy link
Contributor

estebank commented Dec 7, 2017

[tangential]

I'm wondering if it would make sense and how to go about it to collect and group multiple instances of the same "missing method" error for the same type so if you have 26 uses of the same removed method you only have one that points to at most n locations to reduce noise...

@estebank estebank added the WG-diagnostics Working group: Diagnostics label Dec 7, 2017
@Mark-Simulacrum
Copy link
Member

This appears to essentially be a duplicate of #64088.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-diagnostics Area: Messages for errors, warnings, and lints C-enhancement Category: An issue proposing an enhancement or a PR with one. WG-diagnostics Working group: Diagnostics
Projects
None yet
Development

No branches or pull requests

4 participants