]> git.lizzy.rs Git - rust.git/commitdiff
Avoid rendering empty annotations
authorOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>
Mon, 12 Dec 2022 15:25:04 +0000 (15:25 +0000)
committerOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>
Tue, 13 Dec 2022 10:06:08 +0000 (10:06 +0000)
43 files changed:
compiler/rustc_errors/src/emitter.rs
src/test/ui/closures/closure-expected.stderr
src/test/ui/closures/closure-move-sync.stderr
src/test/ui/closures/coerce-unsafe-to-closure.stderr
src/test/ui/error-codes/E0004-2.stderr
src/test/ui/error-codes/E0005.stderr
src/test/ui/error-codes/E0297.stderr
src/test/ui/expr/malformed_closure/ruby_style_closure.stderr
src/test/ui/feature-gates/feature-gate-exhaustive-patterns.stderr
src/test/ui/inference/issue-71732.stderr
src/test/ui/intrinsics/const-eval-select-bad.stderr
src/test/ui/issues/issue-20162.stderr
src/test/ui/issues/issue-23966.stderr
src/test/ui/issues/issue-31173.stderr
src/test/ui/issues/issue-33941.stderr
src/test/ui/issues/issue-34334.stderr
src/test/ui/issues/issue-66923-show-error-for-correct-call.stderr
src/test/ui/iterators/collect-into-array.stderr
src/test/ui/iterators/collect-into-slice.stderr
src/test/ui/iterators/invalid-iterator-chain.stderr
src/test/ui/lazy-type-alias-impl-trait/branches.stderr
src/test/ui/lazy-type-alias-impl-trait/recursion4.stderr
src/test/ui/mismatched_types/closure-arg-count.stderr
src/test/ui/mismatched_types/closure-arg-type-mismatch.stderr
src/test/ui/mismatched_types/issue-36053-2.stderr
src/test/ui/mismatched_types/issue-47706-trait.stderr
src/test/ui/mismatched_types/issue-47706.stderr
src/test/ui/mismatched_types/method-help-unsatisfied-bound.stderr
src/test/ui/no-send-res-ports.stderr
src/test/ui/on-unimplemented/sum.stderr
src/test/ui/pattern/suggest-adding-appropriate-missing-pattern-excluding-comments.stderr
src/test/ui/pattern/usefulness/doc-hidden-non-exhaustive.stderr
src/test/ui/pattern/usefulness/issue-3601.stderr
src/test/ui/pattern/usefulness/match-arm-statics-2.stderr
src/test/ui/pattern/usefulness/match-privately-empty.stderr
src/test/ui/pattern/usefulness/non-exhaustive-match.stderr
src/test/ui/proc-macro/signature.stderr
src/test/ui/recursion/recursive-types-are-not-uninhabited.stderr
src/test/ui/str/str-mut-idx.stderr
src/test/ui/traits/issue-77982.stderr
src/test/ui/uninhabited/uninhabited-matches-feature-gated.stderr
src/test/ui/unique-object-noncopyable.stderr
src/test/ui/unique-pinned-nocopy.stderr

index 268f17f86fe4d3d104ac04c93dc5d45e3f2d45dc..c62e358e804cade724910bb8f95020b3853dfc84 100644 (file)
@@ -1408,51 +1408,58 @@ fn emit_message_default(
             if !sm.ensure_source_file_source_present(annotated_file.file.clone()) {
                 if !self.short_message {
                     // We'll just print an unannotated message.
-                    for (annotation_id, line) in annotated_file.lines.into_iter().enumerate() {
+                    for (annotation_id, line) in annotated_file.lines.iter().enumerate() {
                         let mut annotations = line.annotations.clone();
                         annotations.sort_by_key(|a| Reverse(a.start_col));
                         let mut line_idx = buffer.num_lines();
-                        buffer.append(
-                            line_idx,
-                            &format!(
-                                "{}:{}:{}",
-                                sm.filename_for_diagnostics(&annotated_file.file.name),
-                                sm.doctest_offset_line(&annotated_file.file.name, line.line_index),
-                                annotations[0].start_col + 1,
-                            ),
-                            Style::LineAndColumn,
-                        );
-                        if annotation_id == 0 {
-                            buffer.prepend(line_idx, "--> ", Style::LineNumber);
+
+                        let labels: Vec<_> = annotations
+                            .iter()
+                            .filter_map(|a| Some((a.label.as_ref()?, a.is_primary)))
+                            .filter(|(l, _)| !l.is_empty())
+                            .collect();
+
+                        if annotation_id == 0 || !labels.is_empty() {
+                            buffer.append(
+                                line_idx,
+                                &format!(
+                                    "{}:{}:{}",
+                                    sm.filename_for_diagnostics(&annotated_file.file.name),
+                                    sm.doctest_offset_line(
+                                        &annotated_file.file.name,
+                                        line.line_index
+                                    ),
+                                    annotations[0].start_col + 1,
+                                ),
+                                Style::LineAndColumn,
+                            );
+                            if annotation_id == 0 {
+                                buffer.prepend(line_idx, "--> ", Style::LineNumber);
+                            } else {
+                                buffer.prepend(line_idx, "::: ", Style::LineNumber);
+                            }
                             for _ in 0..max_line_num_len {
                                 buffer.prepend(line_idx, " ", Style::NoStyle);
                             }
                             line_idx += 1;
-                        };
-                        for (i, annotation) in annotations.into_iter().enumerate() {
-                            if let Some(label) = &annotation.label {
-                                if !label.is_empty() {
-                                    let style = if annotation.is_primary {
-                                        Style::LabelPrimary
-                                    } else {
-                                        Style::LabelSecondary
-                                    };
-                                    if annotation_id == 0 {
-                                        buffer.prepend(line_idx, " |", Style::LineNumber);
-                                        for _ in 0..max_line_num_len {
-                                            buffer.prepend(line_idx, " ", Style::NoStyle);
-                                        }
-                                        line_idx += 1;
-                                        buffer.append(line_idx + i, " = note: ", style);
-                                        for _ in 0..max_line_num_len {
-                                            buffer.prepend(line_idx, " ", Style::NoStyle);
-                                        }
-                                    } else {
-                                        buffer.append(line_idx + i, ": ", style);
-                                    }
-                                    buffer.append(line_idx + i, label, style);
-                                }
+                        }
+                        for (label, is_primary) in labels.into_iter() {
+                            let style = if is_primary {
+                                Style::LabelPrimary
+                            } else {
+                                Style::LabelSecondary
+                            };
+                            buffer.prepend(line_idx, " |", Style::LineNumber);
+                            for _ in 0..max_line_num_len {
+                                buffer.prepend(line_idx, " ", Style::NoStyle);
+                            }
+                            line_idx += 1;
+                            buffer.append(line_idx, " = note: ", style);
+                            for _ in 0..max_line_num_len {
+                                buffer.prepend(line_idx, " ", Style::NoStyle);
                             }
+                            buffer.append(line_idx, label, style);
+                            line_idx += 1;
                         }
                     }
                 }
index 8671f4048cea5782ee7dfb24f40e1ab8a5bf0bb9..87a5d67a420c498c2a7926dfbaf6f4300eb83d5f 100644 (file)
@@ -10,9 +10,6 @@ LL |     let y = x.or_else(4);
    = note: wrap the `{integer}` in a closure with no arguments: `|| { /* code */ }`
 note: required by a bound in `Option::<T>::or_else`
   --> $SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL
 
 error: aborting due to previous error
 
index 3dc761a6303931a4187d09a4708b31ce01357070..64e3b51ea713bf25e60f05b4ab0a9befcba53042 100644 (file)
@@ -19,10 +19,6 @@ LL |     let t = thread::spawn(|| {
    |                           ^^
 note: required by a bound in `spawn`
   --> $SRC_DIR/std/src/thread/mod.rs:LL:COL
-$SRC_DIR/std/src/thread/mod.rs:LL:COL
-$SRC_DIR/std/src/thread/mod.rs:LL:COL
-$SRC_DIR/std/src/thread/mod.rs:LL:COL
-$SRC_DIR/std/src/thread/mod.rs:LL:COL
 
 error[E0277]: `Sender<()>` cannot be shared between threads safely
   --> $DIR/closure-move-sync.rs:18:19
@@ -41,10 +37,6 @@ LL |     thread::spawn(|| tx.send(()).unwrap());
    |                   ^^
 note: required by a bound in `spawn`
   --> $SRC_DIR/std/src/thread/mod.rs:LL:COL
-$SRC_DIR/std/src/thread/mod.rs:LL:COL
-$SRC_DIR/std/src/thread/mod.rs:LL:COL
-$SRC_DIR/std/src/thread/mod.rs:LL:COL
-$SRC_DIR/std/src/thread/mod.rs:LL:COL
 
 error: aborting due to 2 previous errors
 
index 7144a18aea21bb6877ddf26e859886c609772991..449cd0b317757bfef4d48f71d1fd4e9d1a84fa6c 100644 (file)
@@ -10,9 +10,6 @@ LL |     let x: Option<&[u8]> = Some("foo").map(std::mem::transmute);
    = note: unsafe function cannot be called generically without an unsafe block
 note: required by a bound in `Option::<T>::map`
   --> $SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL
 
 error: aborting due to previous error
 
index 7dd1396529bbe8805d2c7589aa7c70a02725672e..e829bac196f7962b27bb1ef0554b7717356d0879 100644 (file)
@@ -6,8 +6,12 @@ LL |     match x { }
    |
 note: `Option<i32>` defined here
   --> $SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL: not covered
-$SRC_DIR/core/src/option.rs:LL:COL: not covered
+  ::: $SRC_DIR/core/src/option.rs:LL:COL
+   |
+   = note: not covered
+  ::: $SRC_DIR/core/src/option.rs:LL:COL
+   |
+   = note: not covered
    = note: the matched value is of type `Option<i32>`
 help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern, a match arm with multiple or-patterns as shown, or multiple match arms
    |
index ef1bb60d149253b92b9e07f7280ddcde2bd390ca..0f179259356d50430ed09f38bf96f01e2762ed25 100644 (file)
@@ -8,7 +8,9 @@ LL |     let Some(y) = x;
    = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html
 note: `Option<i32>` defined here
   --> $SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL: not covered
+  ::: $SRC_DIR/core/src/option.rs:LL:COL
+   |
+   = note: not covered
    = note: the matched value is of type `Option<i32>`
 help: you might want to use `if let` to ignore the variant that isn't matched
    |
index 5afa25dcb72a1c0051af09e8498a43b3e2ea53fc..903422f3b9b8a59ba9b02f526ce33cd634bde089 100644 (file)
@@ -6,7 +6,9 @@ LL |     for Some(x) in xs {}
    |
 note: `Option<i32>` defined here
   --> $SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL: not covered
+  ::: $SRC_DIR/core/src/option.rs:LL:COL
+   |
+   = note: not covered
    = note: the matched value is of type `Option<i32>`
 
 error: aborting due to previous error
index 88909cc5c639f86448961394885babbdb66cdb16..2f9d10d70a2fea087ef955ca6a2ad9e22dcb4108 100644 (file)
@@ -22,9 +22,6 @@ LL | |     });
    = help: the trait `FnOnce<({integer},)>` is not implemented for `Option<_>`
 note: required by a bound in `Option::<T>::and_then`
   --> $SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL
 
 error: aborting due to 2 previous errors
 
index b26383af72fcafe9e629d23b6c1af75904e4e6e5..e253e4791e8bd095b8941ffc4ce6f5a3f47e20fa 100644 (file)
@@ -8,7 +8,9 @@ LL |     let Ok(_x) = foo();
    = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html
 note: `Result<u32, !>` defined here
   --> $SRC_DIR/core/src/result.rs:LL:COL
-$SRC_DIR/core/src/result.rs:LL:COL: not covered
+  ::: $SRC_DIR/core/src/result.rs:LL:COL
+   |
+   = note: not covered
    = note: the matched value is of type `Result<u32, !>`
 help: you might want to use `if let` to ignore the variant that isn't matched
    |
index 22bbfa479f6d83a6af76eb8b3338ddbe45d25e42..01b37f2acaa14444d7b043e2d1ab7c31572b7772 100644 (file)
@@ -12,9 +12,6 @@ LL |         .get(&"key".into())
              where T: ?Sized;
 note: required by a bound in `HashMap::<K, V, S>::get`
   --> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL
-$SRC_DIR/std/src/collections/hash/map.rs:LL:COL
-$SRC_DIR/std/src/collections/hash/map.rs:LL:COL
-$SRC_DIR/std/src/collections/hash/map.rs:LL:COL
 help: consider specifying the generic argument
    |
 LL |         .get::<Q>(&"key".into())
index 565e740ec37705a3915a1a2f44fced6dd07705d5..fd7d061b6b2e5627459e5ea11968c9539c345ff8 100644 (file)
@@ -37,10 +37,6 @@ LL |     const_eval_select((), 42, 0xDEADBEEF);
    = note: wrap the `{integer}` in a closure with no arguments: `|| { /* code */ }`
 note: required by a bound in `const_eval_select`
   --> $SRC_DIR/core/src/intrinsics.rs:LL:COL
-$SRC_DIR/core/src/intrinsics.rs:LL:COL
-$SRC_DIR/core/src/intrinsics.rs:LL:COL
-$SRC_DIR/core/src/intrinsics.rs:LL:COL
-$SRC_DIR/core/src/intrinsics.rs:LL:COL
 
 error: this argument must be a function item
   --> $DIR/const-eval-select-bad.rs:10:31
@@ -63,10 +59,6 @@ LL |     const_eval_select((), 42, 0xDEADBEEF);
    = note: wrap the `{integer}` in a closure with no arguments: `|| { /* code */ }`
 note: required by a bound in `const_eval_select`
   --> $SRC_DIR/core/src/intrinsics.rs:LL:COL
-$SRC_DIR/core/src/intrinsics.rs:LL:COL
-$SRC_DIR/core/src/intrinsics.rs:LL:COL
-$SRC_DIR/core/src/intrinsics.rs:LL:COL
-$SRC_DIR/core/src/intrinsics.rs:LL:COL
 
 error[E0271]: expected `fn(i32) -> bool {bar}` to be a fn item that returns `i32`, but it returns `bool`
   --> $DIR/const-eval-select-bad.rs:32:34
@@ -78,10 +70,6 @@ LL |     const_eval_select((1,), foo, bar);
    |
 note: required by a bound in `const_eval_select`
   --> $SRC_DIR/core/src/intrinsics.rs:LL:COL
-$SRC_DIR/core/src/intrinsics.rs:LL:COL
-$SRC_DIR/core/src/intrinsics.rs:LL:COL
-$SRC_DIR/core/src/intrinsics.rs:LL:COL
-$SRC_DIR/core/src/intrinsics.rs:LL:COL
 
 error[E0631]: type mismatch in function arguments
   --> $DIR/const-eval-select-bad.rs:37:32
@@ -98,10 +86,6 @@ LL |     const_eval_select((true,), foo, baz);
               found function signature `fn(i32) -> _`
 note: required by a bound in `const_eval_select`
   --> $SRC_DIR/core/src/intrinsics.rs:LL:COL
-$SRC_DIR/core/src/intrinsics.rs:LL:COL
-$SRC_DIR/core/src/intrinsics.rs:LL:COL
-$SRC_DIR/core/src/intrinsics.rs:LL:COL
-$SRC_DIR/core/src/intrinsics.rs:LL:COL
 
 error: this argument must be a `const fn`
   --> $DIR/const-eval-select-bad.rs:42:29
index 6f2709a482af6d7a1b3282719873b7fb1b11d74b..1c5b76fbfc10b1e730ce7c738f264d4d5a05c998 100644 (file)
@@ -6,8 +6,6 @@ LL |     b.sort();
    |
 note: required by a bound in `slice::<impl [T]>::sort`
   --> $SRC_DIR/alloc/src/slice.rs:LL:COL
-$SRC_DIR/alloc/src/slice.rs:LL:COL
-$SRC_DIR/alloc/src/slice.rs:LL:COL
 help: consider annotating `X` with `#[derive(Ord)]`
    |
 LL | #[derive(Ord)]
index c48d21eb3c4e389db069c5d73acfc88119ab7e34..8f934481d85db6be1d86ae91290db0ab1fc87930 100644 (file)
@@ -9,9 +9,6 @@ LL |     "".chars().fold(|_, _| (), ());
    = help: the trait `FnMut<(_, char)>` is not implemented for `()`
 note: required by a bound in `fold`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error: aborting due to previous error
 
index b0dea3696b9a5e969eb5ad76ad7e7165daa6e676..b667ae0a789375cf62cf29eb460968793be24459 100644 (file)
@@ -8,9 +8,6 @@ LL |         .cloned()
                    found type `u8`
 note: required by a bound in `cloned`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0599]: the method `collect` exists for struct `Cloned<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:7:21: 7:25]>>`, but its trait bounds were not satisfied
   --> $DIR/issue-31173.rs:12:10
index 13d4a43fa85780d4c0154a8d1dcbd550108ffb00..49702c47658638bd28315df55d7b44ff327b5667 100644 (file)
@@ -8,9 +8,6 @@ LL |     for _ in HashMap::new().iter().cloned() {}
                   found tuple `(&_, &_)`
 note: required by a bound in `cloned`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0271]: expected `std::collections::hash_map::Iter<'_, _, _>` to be an iterator that yields `&_`, but it yields `(&_, &_)`
   --> $DIR/issue-33941.rs:6:14
index 2635b16f83c71636cfe7bc5d13bd8b68e851695d..9d2c315e4dbca92721686334dc03c64e4135aa47 100644 (file)
@@ -32,8 +32,6 @@ LL |     let sr2: Vec<(u32, _, _)> = sr.iter().map(|(faction, th_sender, th_rece
    |                                    `Iterator::Item` is `&(_, _, _)` here
 note: required by a bound in `collect`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error: aborting due to 2 previous errors
 
index f9a73239f59399a2859434831e870e2c599ab9ee..cec482a53baa91b3e962056d017c836247f8742a 100644 (file)
@@ -15,8 +15,6 @@ LL |     let x2: Vec<f64> = x1.into_iter().collect();
    |                           ^^^^^^^^^^^ `Iterator::Item` is `&f64` here
 note: required by a bound in `collect`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0277]: a value of type `Vec<f64>` cannot be built from an iterator over elements of type `&f64`
   --> $DIR/issue-66923-show-error-for-correct-call.rs:12:29
@@ -36,8 +34,6 @@ LL |     let x3 = x1.into_iter().collect::<Vec<f64>>();
    |                 ^^^^^^^^^^^ `Iterator::Item` is `&f64` here
 note: required by a bound in `collect`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error: aborting due to 2 previous errors
 
index 0b2f8f6a14954fed8c1687281ee44d766a3ee959..e38745cc10e1f3840e1081acc2e500700d827d15 100644 (file)
@@ -7,8 +7,6 @@ LL |     let whatever: [u32; 10] = (0..10).collect();
    = help: the trait `FromIterator<{integer}>` is not implemented for `[u32; 10]`
 note: required by a bound in `collect`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error: aborting due to previous error
 
index b59a5e57775ef03088cbb198ff507767b07d6069..29fff8c51c63be7ca4ee0b096c52f1ee5d522bb5 100644 (file)
@@ -17,8 +17,6 @@ LL |     let some_generated_vec = (0..10).collect();
    = help: the trait `Sized` is not implemented for `[i32]`
 note: required by a bound in `collect`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0277]: a slice of type `[i32]` cannot be built since `[i32]` has no definite size
   --> $DIR/collect-into-slice.rs:6:38
@@ -29,8 +27,6 @@ LL |     let some_generated_vec = (0..10).collect();
    = help: the trait `FromIterator<{integer}>` is not implemented for `[i32]`
 note: required by a bound in `collect`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error: aborting due to 3 previous errors
 
index 27ce4a19b0701f13a08f457675ef7b8cd4a1f5a8..84bac7833f67b029b56e09e1b5c54ac2d4eaf946 100644 (file)
@@ -22,9 +22,6 @@ LL | |         });
    | |__________^ `Iterator::Item` changed to `()` here
 note: required by a bound in `std::iter::Iterator::sum`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0277]: a value of type `i32` cannot be made by summing an iterator over elements of type `()`
   --> $DIR/invalid-iterator-chain.rs:18:14
@@ -57,9 +54,6 @@ LL |             .map(|x| { x; })
    |              ^^^^^^^^^^^^^^^ `Iterator::Item` changed to `()` here
 note: required by a bound in `std::iter::Iterator::sum`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0277]: a value of type `i32` cannot be made by summing an iterator over elements of type `f64`
   --> $DIR/invalid-iterator-chain.rs:28:14
@@ -88,9 +82,6 @@ LL |             .map(|x| { x + 1.0 })
    |              -------------------- `Iterator::Item` remains `f64` here
 note: required by a bound in `std::iter::Iterator::sum`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0277]: a value of type `i32` cannot be made by summing an iterator over elements of type `()`
   --> $DIR/invalid-iterator-chain.rs:30:54
@@ -112,9 +103,6 @@ LL |     println!("{}", vec![0, 1].iter().map(|x| { x; }).sum::<i32>());
    |                    this expression has type `Vec<{integer}>`
 note: required by a bound in `std::iter::Iterator::sum`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0277]: a value of type `i32` cannot be made by summing an iterator over elements of type `&()`
   --> $DIR/invalid-iterator-chain.rs:31:40
@@ -135,9 +123,6 @@ LL |     println!("{}", vec![(), ()].iter().sum::<i32>());
    |                    this expression has type `Vec<()>`
 note: required by a bound in `std::iter::Iterator::sum`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0277]: a value of type `Vec<i32>` cannot be built from an iterator over elements of type `()`
   --> $DIR/invalid-iterator-chain.rs:40:25
@@ -167,8 +152,6 @@ LL |       let f = e.filter(|_| false);
    |                 ----------------- `Iterator::Item` remains `()` here
 note: required by a bound in `collect`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error: aborting due to 6 previous errors
 
index 2b7213450ed26cec6a28bef3e9a464e321baa894..0b206f31e7b6ebdd1f3c083c63eaa4bb9a947ce9 100644 (file)
@@ -7,8 +7,6 @@ LL |         std::iter::empty().collect()
    = help: the trait `FromIterator<_>` is not implemented for `Bar`
 note: required by a bound in `collect`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error: aborting due to previous error
 
index 5c84a2570d8dbcc9efcedfb6935b567ac9ca5213..d8ac39a4f27a37869e5b72fab32d9d38730e42a3 100644 (file)
@@ -7,8 +7,6 @@ LL |     x = std::iter::empty().collect();
    = help: the trait `FromIterator<_>` is not implemented for `Foo`
 note: required by a bound in `collect`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0277]: a value of type `impl Debug` cannot be built from an iterator over elements of type `_`
   --> $DIR/recursion4.rs:19:28
@@ -19,8 +17,6 @@ LL |     x = std::iter::empty().collect();
    = help: the trait `FromIterator<_>` is not implemented for `impl Debug`
 note: required by a bound in `collect`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error: aborting due to 2 previous errors
 
index b7d29151d6c05d050fec43191b9ef60073c3a124..2ecab9f024a123a2de0b9d45eac0b9846ddfb9e8 100644 (file)
@@ -128,9 +128,6 @@ LL | fn foo() {}
    |
 note: required by a bound in `map`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0593]: closure is expected to take a single 2-tuple as argument, but it takes 3 distinct arguments
   --> $DIR/closure-arg-count.rs:27:57
@@ -144,9 +141,6 @@ LL |     let _it = vec![1, 2, 3].into_iter().enumerate().map(bar);
    |
 note: required by a bound in `map`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0593]: function is expected to take a single 2-tuple as argument, but it takes 2 distinct arguments
   --> $DIR/closure-arg-count.rs:29:57
@@ -161,9 +155,6 @@ LL | fn qux(x: usize, y: usize) {}
    |
 note: required by a bound in `map`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0593]: function is expected to take 1 argument, but it takes 2 arguments
   --> $DIR/closure-arg-count.rs:32:45
@@ -175,9 +166,6 @@ LL |     let _it = vec![1, 2, 3].into_iter().map(usize::checked_add);
    |
 note: required by a bound in `map`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0593]: function is expected to take 0 arguments, but it takes 1 argument
   --> $DIR/closure-arg-count.rs:35:10
index 596b1fe046dc84a76330653f17f6aa750ccd4e83..ebff0c19e2bd2cf69e5712a020ad4aae0eeb0159 100644 (file)
@@ -10,9 +10,6 @@ LL |     a.iter().map(|_: (u32, u32)| 45);
               found closure signature `fn((u32, u32)) -> _`
 note: required by a bound in `map`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0631]: type mismatch in closure arguments
   --> $DIR/closure-arg-type-mismatch.rs:4:14
@@ -26,9 +23,6 @@ LL |     a.iter().map(|_: &(u16, u16)| 45);
               found closure signature `for<'a> fn(&'a (u16, u16)) -> _`
 note: required by a bound in `map`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0631]: type mismatch in closure arguments
   --> $DIR/closure-arg-type-mismatch.rs:5:14
@@ -42,9 +36,6 @@ LL |     a.iter().map(|_: (u16, u16)| 45);
               found closure signature `fn((u16, u16)) -> _`
 note: required by a bound in `map`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error: aborting due to 3 previous errors
 
index c944b13224ff1da5d287c9af05d3d3813727f4e1..4afe0e6a664d472eaaaa28b25c414cb31f3e4def 100644 (file)
@@ -10,9 +10,6 @@ LL |     once::<&str>("str").fuse().filter(|a: &str| true).count();
               found closure signature `for<'a> fn(&'a str) -> _`
 note: required by a bound in `filter`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0599]: the method `count` exists for struct `Filter<Fuse<std::iter::Once<&str>>, [closure@$DIR/issue-36053-2.rs:7:39: 7:48]>`, but its trait bounds were not satisfied
   --> $DIR/issue-36053-2.rs:7:55
index 9e8d4c6dec7fda9bfbf976b8b18c0ef014efc898..a5f38dd53666151a272d2893d6c2447b0895f5e8 100644 (file)
@@ -10,9 +10,6 @@ LL |         None::<()>.map(Self::f);
    |
 note: required by a bound in `Option::<T>::map`
   --> $SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL
 
 error: aborting due to previous error
 
index c4185d732fe9b946eede3468355ba84b5e787df8..d9d408844d0a49140737ca05f8007dfa68541174 100644 (file)
@@ -11,9 +11,6 @@ LL |         self.foo.map(Foo::new)
    |
 note: required by a bound in `Option::<T>::map`
   --> $SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL
 
 error[E0593]: function is expected to take 0 arguments, but it takes 1 argument
   --> $DIR/issue-47706.rs:27:9
index 9e11ca2e3ed4d25b589fb974014fb2fc03dd1968..d3b7525072ff4748addf112f24b185d8ac0e0238 100644 (file)
@@ -8,8 +8,6 @@ LL |     a.unwrap();
    = note: add `#[derive(Debug)]` to `Foo` or manually `impl Debug for Foo`
 note: required by a bound in `Result::<T, E>::unwrap`
   --> $SRC_DIR/core/src/result.rs:LL:COL
-$SRC_DIR/core/src/result.rs:LL:COL
-$SRC_DIR/core/src/result.rs:LL:COL
 help: consider annotating `Foo` with `#[derive(Debug)]`
    |
 LL | #[derive(Debug)]
index 13cb5a6e1f7b5d8fa8489f26007d31716960dd95..75561f4119aa543d432b53da3df5bdf2957a5074 100644 (file)
@@ -31,10 +31,6 @@ LL |     thread::spawn(move|| {
    |                   ^^^^^^
 note: required by a bound in `spawn`
   --> $SRC_DIR/std/src/thread/mod.rs:LL:COL
-$SRC_DIR/std/src/thread/mod.rs:LL:COL
-$SRC_DIR/std/src/thread/mod.rs:LL:COL
-$SRC_DIR/std/src/thread/mod.rs:LL:COL
-$SRC_DIR/std/src/thread/mod.rs:LL:COL
 
 error: aborting due to previous error
 
index d8f10603de234ce5911f133b64ff763091ad4830..2a316dba778fe8f0163c50c5178e3ae22e287f7f 100644 (file)
@@ -17,9 +17,6 @@ LL |     vec![(), ()].iter().sum::<i32>();
    |     this expression has type `Vec<()>`
 note: required by a bound in `std::iter::Iterator::sum`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error[E0277]: a value of type `i32` cannot be made by multiplying all elements of type `&()` from an iterator
   --> $DIR/sum.rs:7:25
@@ -40,9 +37,6 @@ LL |     vec![(), ()].iter().product::<i32>();
    |     this expression has type `Vec<()>`
 note: required by a bound in `std::iter::Iterator::product`
   --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
-$SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
 
 error: aborting due to 2 previous errors
 
index e0c88f81eac2b78a7d8f1a0407ebcf1a3ebf4a27..2a016048f2f7a03c38464de94af8c4ba0d0021a0 100644 (file)
@@ -6,7 +6,9 @@ LL |     match Some(1) {
    |
 note: `Option<i32>` defined here
   --> $SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL: not covered
+  ::: $SRC_DIR/core/src/option.rs:LL:COL
+   |
+   = note: not covered
    = note: the matched value is of type `Option<i32>`
 help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
    |
index 35e0661189fa1e54e083786fea6d87d9a9ee8cff..17e1a2304a13c0c8011481553170e1886fc11e5e 100644 (file)
@@ -66,7 +66,9 @@ LL |     match None {
    |
 note: `Option<HiddenEnum>` defined here
   --> $SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL: not covered
+  ::: $SRC_DIR/core/src/option.rs:LL:COL
+   |
+   = note: not covered
    = note: the matched value is of type `Option<HiddenEnum>`
 help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern, a match arm with multiple or-patterns as shown, or multiple match arms
    |
index e8cfb3e70168860aa1fd7cf2885566442eb60cc6..59d7bcd4b5e799d443b90374b7b18d6b2eef5d10 100644 (file)
@@ -6,9 +6,6 @@ LL |         box NodeKind::Element(ed) => match ed.kind {
    |
 note: `Box<ElementKind>` defined here
   --> $SRC_DIR/alloc/src/boxed.rs:LL:COL
-$SRC_DIR/alloc/src/boxed.rs:LL:COL
-$SRC_DIR/alloc/src/boxed.rs:LL:COL
-$SRC_DIR/alloc/src/boxed.rs:LL:COL
    = note: the matched value is of type `Box<ElementKind>`
 help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
    |
index 36fc889910092dc79837842e61d2f3d1e2e03585..e4dd35a59958ef37f2dc2ed58508168472bec0af 100644 (file)
@@ -19,8 +19,11 @@ LL |     match Some(Some(North)) {
    |
 note: `Option<Option<Direction>>` defined here
   --> $SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL: not covered
-: not covered
+  ::: $SRC_DIR/core/src/option.rs:LL:COL
+   |
+   = note: not covered
+   |
+   = note: not covered
    = note: the matched value is of type `Option<Option<Direction>>`
 help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
    |
index 9bb15ba8a428612938a180690883a5e9e491ade2..86f75d15cfde7736c2294be1373bd6c9b605993b 100644 (file)
@@ -6,7 +6,9 @@ LL |     match private::DATA {
    |
 note: `Option<Private>` defined here
   --> $SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL: not covered
+  ::: $SRC_DIR/core/src/option.rs:LL:COL
+   |
+   = note: not covered
    = note: the matched value is of type `Option<Private>`
 help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
    |
index 1256867a652e03b4287624f141c904c75ef47504..e2260f50bfef2b462fa795ace1352d6a714f7916 100644 (file)
@@ -36,7 +36,9 @@ LL |     match Some(10) {
    |
 note: `Option<i32>` defined here
   --> $SRC_DIR/core/src/option.rs:LL:COL
-$SRC_DIR/core/src/option.rs:LL:COL: not covered
+  ::: $SRC_DIR/core/src/option.rs:LL:COL
+   |
+   = note: not covered
    = note: the matched value is of type `Option<i32>`
 help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
    |
index bb59cb74a4ed4d8f359a914aa9c4b25997941ab6..79f2001da005510f915eb3f696d550df0364f3c8 100644 (file)
@@ -14,10 +14,6 @@ LL | | }
    = note: unsafe function cannot be called generically without an unsafe block
 note: required by a bound in `ProcMacro::custom_derive`
   --> $SRC_DIR/proc_macro/src/bridge/client.rs:LL:COL
-$SRC_DIR/proc_macro/src/bridge/client.rs:LL:COL
-$SRC_DIR/proc_macro/src/bridge/client.rs:LL:COL
-$SRC_DIR/proc_macro/src/bridge/client.rs:LL:COL
-$SRC_DIR/proc_macro/src/bridge/client.rs:LL:COL
 
 error: aborting due to previous error
 
index 429f0460e89e1664fdb010ed225683eef81645d3..86ad6aa847c9fe5adfeb0947cd19d921ffe62b3d 100644 (file)
@@ -8,7 +8,9 @@ LL |     let Ok(x) = res;
    = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html
 note: `Result<u32, &R<'_>>` defined here
   --> $SRC_DIR/core/src/result.rs:LL:COL
-$SRC_DIR/core/src/result.rs:LL:COL: not covered
+  ::: $SRC_DIR/core/src/result.rs:LL:COL
+   |
+   = note: not covered
    = note: the matched value is of type `Result<u32, &R<'_>>`
 help: you might want to use `if let` to ignore the variant that isn't matched
    |
index 1994847b965a355c52991ce813d1fe8286fd0fb1..ca4b86ba3065b79af5c536f86b0f061e3743cd8e 100644 (file)
@@ -63,9 +63,6 @@ LL |     s.get_unchecked_mut(1);
    = help: the trait `SliceIndex<[T]>` is implemented for `usize`
 note: required by a bound in `core::str::<impl str>::get_unchecked_mut`
   --> $SRC_DIR/core/src/str/mod.rs:LL:COL
-$SRC_DIR/core/src/str/mod.rs:LL:COL
-$SRC_DIR/core/src/str/mod.rs:LL:COL
-$SRC_DIR/core/src/str/mod.rs:LL:COL
 
 error[E0277]: the type `str` cannot be indexed by `char`
   --> $DIR/str-mut-idx.rs:13:7
index 18d0617a34609e519cb765c29d743dff34e7fcf7..8ab6414d4d8e3a73ae973ff0bb569edd6d63efdb 100644 (file)
@@ -12,9 +12,6 @@ LL |     opts.get(opt.as_ref());
              where T: ?Sized;
 note: required by a bound in `HashMap::<K, V, S>::get`
   --> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL
-$SRC_DIR/std/src/collections/hash/map.rs:LL:COL
-$SRC_DIR/std/src/collections/hash/map.rs:LL:COL
-$SRC_DIR/std/src/collections/hash/map.rs:LL:COL
 help: consider specifying the generic argument
    |
 LL |     opts.get::<Q>(opt.as_ref());
index c375fd62877f925900112f0fa290f18971b4fbd0..d33a61ca8485cbf36db95e3b18ee082188679d02 100644 (file)
@@ -6,7 +6,9 @@ LL |     let _ = match x {
    |
 note: `Result<u32, &Void>` defined here
   --> $SRC_DIR/core/src/result.rs:LL:COL
-$SRC_DIR/core/src/result.rs:LL:COL: not covered
+  ::: $SRC_DIR/core/src/result.rs:LL:COL
+   |
+   = note: not covered
    = note: the matched value is of type `Result<u32, &Void>`
 help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
    |
@@ -83,7 +85,9 @@ LL |     let _ = match x {
    |
 note: `Result<u32, Void>` defined here
   --> $SRC_DIR/core/src/result.rs:LL:COL
-$SRC_DIR/core/src/result.rs:LL:COL: not covered
+  ::: $SRC_DIR/core/src/result.rs:LL:COL
+   |
+   = note: not covered
    = note: the matched value is of type `Result<u32, Void>`
 help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
    |
@@ -101,7 +105,9 @@ LL |     let Ok(x) = x;
    = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html
 note: `Result<u32, Void>` defined here
   --> $SRC_DIR/core/src/result.rs:LL:COL
-$SRC_DIR/core/src/result.rs:LL:COL: not covered
+  ::: $SRC_DIR/core/src/result.rs:LL:COL
+   |
+   = note: not covered
    = note: the matched value is of type `Result<u32, Void>`
 help: you might want to use `if let` to ignore the variant that isn't matched
    |
index 59e4c3ea5a18b8a50fd25e06f3ee02c1d8aa1ae3..db42ed9baf1ed4e3fe6d1655866f02847c37b4d1 100644 (file)
@@ -10,9 +10,9 @@ LL |   trait Foo {
 LL |       let _z = y.clone();
    |                  ^^^^^ method cannot be called on `Box<dyn Foo>` due to unsatisfied trait bounds
   --> $SRC_DIR/alloc/src/boxed.rs:LL:COL
-$SRC_DIR/alloc/src/boxed.rs:LL:COL
-$SRC_DIR/alloc/src/boxed.rs:LL:COL
-$SRC_DIR/alloc/src/boxed.rs:LL:COL: doesn't satisfy `Box<dyn Foo>: Clone`
+  ::: $SRC_DIR/alloc/src/boxed.rs:LL:COL
+   |
+   = note: doesn't satisfy `Box<dyn Foo>: Clone`
    |
    = note: the following trait bounds were not satisfied:
            `dyn Foo: Sized`
index eb7ce73454c6a6760ede0108afefb69d798a73ad..de6611324cac137c006a4ff24f9ad56470c9c13b 100644 (file)
@@ -7,9 +7,9 @@ LL |   struct R {
 LL |       let _j = i.clone();
    |                  ^^^^^ method cannot be called on `Box<R>` due to unsatisfied trait bounds
   --> $SRC_DIR/alloc/src/boxed.rs:LL:COL
-$SRC_DIR/alloc/src/boxed.rs:LL:COL
-$SRC_DIR/alloc/src/boxed.rs:LL:COL
-$SRC_DIR/alloc/src/boxed.rs:LL:COL: doesn't satisfy `Box<R>: Clone`
+  ::: $SRC_DIR/alloc/src/boxed.rs:LL:COL
+   |
+   = note: doesn't satisfy `Box<R>: Clone`
    |
    = note: the following trait bounds were not satisfied:
            `R: Clone`