about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2024-07-09 22:30:26 +0000
committerEsteban Küber <esteban@kuber.com.ar>2025-02-10 20:21:39 +0000
commitf0845adb0c1b7a7fa1bef73e749b2d7e1d7f374d (patch)
treee97d87013709bda13934fdc452a2a459a069876a
parent8c04e395952022a451138dc4dbead6dd6ae65203 (diff)
downloadrust-f0845adb0c1b7a7fa1bef73e749b2d7e1d7f374d.tar.gz
rust-f0845adb0c1b7a7fa1bef73e749b2d7e1d7f374d.zip
Show diff suggestion format on verbose replacement
```
error[E0610]: `{integer}` is a primitive type and therefore doesn't have fields
  --> $DIR/attempted-access-non-fatal.rs:7:15
   |
LL |     let _ = 2.l;
   |               ^
   |
help: if intended to be a floating point literal, consider adding a `0` after the period and a `f64` suffix
   |
LL -     let _ = 2.l;
LL +     let _ = 2.0f64;
   |
```
-rw-r--r--compiler/rustc_errors/src/emitter.rs2
-rw-r--r--src/tools/clippy/tests/ui-toml/dbg_macro/dbg_macro.stderr31
-rw-r--r--src/tools/clippy/tests/ui-toml/doc_valid_idents_append/doc_markdown.stderr5
-rw-r--r--src/tools/clippy/tests/ui-toml/doc_valid_idents_replace/doc_markdown.stderr15
-rw-r--r--src/tools/clippy/tests/ui-toml/enum_variant_size/enum_variant_size.stderr5
-rw-r--r--src/tools/clippy/tests/ui-toml/renamed_function_params/renamed_function_params.default.stderr5
-rw-r--r--src/tools/clippy/tests/ui-toml/renamed_function_params/renamed_function_params.extend.stderr5
-rw-r--r--src/tools/clippy/tests/ui-toml/unwrap_used/unwrap_used.stderr75
-rw-r--r--src/tools/clippy/tests/ui/assign_ops2.stderr90
-rw-r--r--src/tools/clippy/tests/ui/bind_instead_of_map_multipart.stderr20
-rw-r--r--src/tools/clippy/tests/ui/borrow_deref_ref_unfixable.stderr10
-rw-r--r--src/tools/clippy/tests/ui/cast.stderr103
-rw-r--r--src/tools/clippy/tests/ui/cast_lossless_bool.stderr75
-rw-r--r--src/tools/clippy/tests/ui/cast_lossless_float.stderr65
-rw-r--r--src/tools/clippy/tests/ui/cast_lossless_integer.stderr198
-rw-r--r--src/tools/clippy/tests/ui/cast_size.64bit.stderr45
-rw-r--r--src/tools/clippy/tests/ui/create_dir.stderr10
-rw-r--r--src/tools/clippy/tests/ui/dbg_macro/dbg_macro.stderr81
-rw-r--r--src/tools/clippy/tests/ui/dbg_macro/dbg_macro_unfixable.stderr25
-rw-r--r--src/tools/clippy/tests/ui/doc/doc-fixable.stderr161
-rw-r--r--src/tools/clippy/tests/ui/doc/doc_markdown-issue_13097.stderr5
-rw-r--r--src/tools/clippy/tests/ui/doc/issue_10262.stderr5
-rw-r--r--src/tools/clippy/tests/ui/doc/issue_12795.stderr20
-rw-r--r--src/tools/clippy/tests/ui/doc/issue_9473.stderr5
-rw-r--r--src/tools/clippy/tests/ui/doc/unbalanced_ticks.stderr15
-rw-r--r--src/tools/clippy/tests/ui/eager_transmute.stderr85
-rw-r--r--src/tools/clippy/tests/ui/empty_line_after/doc_comments.stderr5
-rw-r--r--src/tools/clippy/tests/ui/excessive_precision.stderr80
-rw-r--r--src/tools/clippy/tests/ui/fn_to_numeric_cast_any.stderr81
-rw-r--r--src/tools/clippy/tests/ui/for_kv_map.stderr30
-rw-r--r--src/tools/clippy/tests/ui/four_forward_slashes.stderr8
-rw-r--r--src/tools/clippy/tests/ui/four_forward_slashes_first_line.stderr2
-rw-r--r--src/tools/clippy/tests/ui/get_unwrap.stderr85
-rw-r--r--src/tools/clippy/tests/ui/implicit_hasher.stderr15
-rw-r--r--src/tools/clippy/tests/ui/implicit_return.stderr67
-rw-r--r--src/tools/clippy/tests/ui/iter_nth.stderr40
-rw-r--r--src/tools/clippy/tests/ui/join_absolute_paths.stderr40
-rw-r--r--src/tools/clippy/tests/ui/large_enum_variant.64bit.stderr65
-rw-r--r--src/tools/clippy/tests/ui/legacy_numeric_constants.stderr80
-rw-r--r--src/tools/clippy/tests/ui/literals.stderr35
-rw-r--r--src/tools/clippy/tests/ui/lossy_float_literal.stderr55
-rw-r--r--src/tools/clippy/tests/ui/manual_assert.edition2018.stderr10
-rw-r--r--src/tools/clippy/tests/ui/manual_assert.edition2021.stderr10
-rw-r--r--src/tools/clippy/tests/ui/manual_async_fn.stderr60
-rw-r--r--src/tools/clippy/tests/ui/manual_float_methods.stderr45
-rw-r--r--src/tools/clippy/tests/ui/manual_ignore_case_cmp.stderr245
-rw-r--r--src/tools/clippy/tests/ui/manual_is_ascii_check.stderr20
-rw-r--r--src/tools/clippy/tests/ui/map_all_any_identity.stderr10
-rw-r--r--src/tools/clippy/tests/ui/map_with_unused_argument_over_ranges.stderr10
-rw-r--r--src/tools/clippy/tests/ui/map_with_unused_argument_over_ranges_nostd.stderr5
-rw-r--r--src/tools/clippy/tests/ui/match_result_ok.stderr15
-rw-r--r--src/tools/clippy/tests/ui/match_str_case_mismatch.stderr35
-rw-r--r--src/tools/clippy/tests/ui/needless_borrow_pat.stderr10
-rw-r--r--src/tools/clippy/tests/ui/needless_for_each_unfixable.stderr5
-rw-r--r--src/tools/clippy/tests/ui/needless_pass_by_value.stderr20
-rw-r--r--src/tools/clippy/tests/ui/needless_range_loop.stderr70
-rw-r--r--src/tools/clippy/tests/ui/needless_range_loop2.stderr40
-rw-r--r--src/tools/clippy/tests/ui/needless_return.stderr50
-rw-r--r--src/tools/clippy/tests/ui/never_loop.stderr10
-rw-r--r--src/tools/clippy/tests/ui/non_canonical_partial_ord_impl.stderr5
-rw-r--r--src/tools/clippy/tests/ui/non_std_lazy_static/non_std_lazy_static_fixable.stderr15
-rw-r--r--src/tools/clippy/tests/ui/non_std_lazy_static/non_std_lazy_static_unfixable.stderr15
-rw-r--r--src/tools/clippy/tests/ui/nonminimal_bool.stderr50
-rw-r--r--src/tools/clippy/tests/ui/octal_escapes.stderr110
-rw-r--r--src/tools/clippy/tests/ui/op_ref.stderr5
-rw-r--r--src/tools/clippy/tests/ui/option_as_ref_cloned.stderr15
-rw-r--r--src/tools/clippy/tests/ui/redundant_guards.stderr5
-rw-r--r--src/tools/clippy/tests/ui/ref_binding_to_reference.stderr10
-rw-r--r--src/tools/clippy/tests/ui/ref_option/ref_option.all.stderr10
-rw-r--r--src/tools/clippy/tests/ui/ref_option/ref_option.private.stderr5
-rw-r--r--src/tools/clippy/tests/ui/repeat_vec_with_capacity.stderr15
-rw-r--r--src/tools/clippy/tests/ui/repeat_vec_with_capacity_nostd.stderr5
-rw-r--r--src/tools/clippy/tests/ui/reversed_empty_ranges_fixable.stderr20
-rw-r--r--src/tools/clippy/tests/ui/reversed_empty_ranges_loops_fixable.stderr30
-rw-r--r--src/tools/clippy/tests/ui/single_range_in_vec_init.stderr90
-rw-r--r--src/tools/clippy/tests/ui/string_lit_chars_any.stderr25
-rw-r--r--src/tools/clippy/tests/ui/suspicious_command_arg_space.stderr10
-rw-r--r--src/tools/clippy/tests/ui/suspicious_doc_comments.stderr15
-rw-r--r--src/tools/clippy/tests/ui/suspicious_to_owned.stderr40
-rw-r--r--src/tools/clippy/tests/ui/suspicious_xor_used_as_pow.stderr35
-rw-r--r--src/tools/clippy/tests/ui/transmute_ptr_to_ptr.stderr55
-rw-r--r--src/tools/clippy/tests/ui/transmutes_expressible_as_ptr_casts.stderr10
-rw-r--r--src/tools/clippy/tests/ui/unit_arg.stderr18
-rw-r--r--src/tools/clippy/tests/ui/unknown_clippy_lints.stderr10
-rw-r--r--src/tools/clippy/tests/ui/unnecessary_lazy_eval.stderr315
-rw-r--r--src/tools/clippy/tests/ui/unnecessary_lazy_eval_unfixable.stderr20
-rw-r--r--src/tools/clippy/tests/ui/unnecessary_literal_unwrap.stderr50
-rw-r--r--src/tools/clippy/tests/ui/unnecessary_map_or.stderr48
-rw-r--r--src/tools/clippy/tests/ui/unnecessary_wraps.stderr44
-rw-r--r--src/tools/clippy/tests/ui/unnested_or_patterns.stderr85
-rw-r--r--src/tools/clippy/tests/ui/unnested_or_patterns2.stderr40
-rw-r--r--src/tools/clippy/tests/ui/unused_enumerate_index.stderr10
-rw-r--r--src/tools/clippy/tests/ui/unused_format_specs.stderr20
-rw-r--r--src/tools/clippy/tests/ui/unused_result_ok.stderr20
-rw-r--r--tests/rustdoc-ui/intra-doc/disambiguator-mismatch.stderr55
-rw-r--r--tests/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.stderr5
-rw-r--r--tests/rustdoc-ui/intra-doc/prim-conflict.stderr20
-rw-r--r--tests/rustdoc-ui/intra-doc/value-ctor.stderr25
-rw-r--r--tests/rustdoc-ui/intra-doc/weird-syntax.stderr35
-rw-r--r--tests/rustdoc-ui/issues/ice-generic-type-alias-105742.stderr5
-rw-r--r--tests/rustdoc-ui/issues/ice-typeof-102986.stderr5
-rw-r--r--tests/rustdoc-ui/issues/issue-120444-1.stderr5
-rw-r--r--tests/rustdoc-ui/issues/issue-120444-2.stderr5
-rw-r--r--tests/rustdoc-ui/lints/redundant_explicit_links.stderr300
-rw-r--r--tests/ui/anon-params/anon-params-denied-2018.stderr5
-rw-r--r--tests/ui/argument-suggestions/basic.stderr20
-rw-r--r--tests/ui/argument-suggestions/complex.stderr5
-rw-r--r--tests/ui/argument-suggestions/display-is-suggestable.stderr5
-rw-r--r--tests/ui/argument-suggestions/extern-fn-arg-names.stderr5
-rw-r--r--tests/ui/argument-suggestions/issue-100478.stderr24
-rw-r--r--tests/ui/argument-suggestions/issue-101097.stderr25
-rw-r--r--tests/ui/argument-suggestions/issue-109831.stderr5
-rw-r--r--tests/ui/argument-suggestions/issue-96638.stderr5
-rw-r--r--tests/ui/argument-suggestions/issue-97197.stderr5
-rw-r--r--tests/ui/argument-suggestions/issue-98894.stderr5
-rw-r--r--tests/ui/argument-suggestions/issue-98897.stderr5
-rw-r--r--tests/ui/argument-suggestions/issue-99482.stderr5
-rw-r--r--tests/ui/argument-suggestions/missing_arguments.stderr95
-rw-r--r--tests/ui/argument-suggestions/mixed_cases.stderr25
-rw-r--r--tests/ui/argument-suggestions/permuted_arguments.stderr10
-rw-r--r--tests/ui/argument-suggestions/swapped_arguments.stderr25
-rw-r--r--tests/ui/array-slice-vec/suggest-array-length.stderr20
-rw-r--r--tests/ui/asm/aarch64/parse-error.stderr40
-rw-r--r--tests/ui/asm/invalid-const-operand.stderr15
-rw-r--r--tests/ui/asm/parse-error.stderr25
-rw-r--r--tests/ui/asm/x86_64/x86_64_parse_error.stderr15
-rw-r--r--tests/ui/associated-consts/associated-const-ambiguity-report.stderr10
-rw-r--r--tests/ui/associated-inherent-types/dont-select-if-disabled.stderr5
-rw-r--r--tests/ui/associated-inherent-types/issue-109071.no_gate.stderr10
-rw-r--r--tests/ui/associated-inherent-types/issue-109768.stderr5
-rw-r--r--tests/ui/associated-item/associated-item-enum.stderr15
-rw-r--r--tests/ui/associated-type-bounds/assoc-type-eq-with-dyn-atb-fail.stderr5
-rw-r--r--tests/ui/associated-type-bounds/elision.stderr10
-rw-r--r--tests/ui/associated-type-bounds/return-type-notation/path-ambiguous.stderr20
-rw-r--r--tests/ui/associated-type-bounds/return-type-notation/path-higher-ranked.stderr10
-rw-r--r--tests/ui/associated-type-bounds/return-type-notation/path-no-qself.stderr5
-rw-r--r--tests/ui/associated-type-bounds/suggest-assoc-ty-bound-on-eq-bound.stderr15
-rw-r--r--tests/ui/associated-types/associated-type-projection-ambig-between-bound-and-where-clause.stderr60
-rw-r--r--tests/ui/associated-types/associated-type-projection-from-multiple-supertraits.stderr20
-rw-r--r--tests/ui/associated-types/associated-types-eq-1.stderr5
-rw-r--r--tests/ui/associated-types/associated-types-eq-2.stderr23
-rw-r--r--tests/ui/associated-types/associated-types-in-ambiguous-context.stderr30
-rw-r--r--tests/ui/associated-types/associated-types-path-1.stderr10
-rw-r--r--tests/ui/associated-types/associated-types-path-2.stderr5
-rw-r--r--tests/ui/associated-types/associated-types-project-from-hrtb-in-fn.stderr5
-rw-r--r--tests/ui/associated-types/associated-types-project-from-hrtb-in-trait-method.stderr10
-rw-r--r--tests/ui/associated-types/defaults-specialization.stderr10
-rw-r--r--tests/ui/associated-types/defaults-suitability.current.stderr5
-rw-r--r--tests/ui/associated-types/defaults-suitability.next.stderr5
-rw-r--r--tests/ui/associated-types/impl-wf-cycle-3.stderr5
-rw-r--r--tests/ui/associated-types/invalid-ctor.stderr5
-rw-r--r--tests/ui/associated-types/issue-38821.stderr10
-rw-r--r--tests/ui/associated-types/issue-54108.current.stderr5
-rw-r--r--tests/ui/associated-types/issue-54108.next.stderr5
-rw-r--r--tests/ui/associated-types/issue-59324.stderr5
-rw-r--r--tests/ui/async-await/async-closures/arg-mismatch.stderr5
-rw-r--r--tests/ui/async-await/in-trait/async-example-desugared-boxed.stderr5
-rw-r--r--tests/ui/async-await/in-trait/async-example-desugared-manual.stderr5
-rw-r--r--tests/ui/async-await/incorrect-move-async-order-issue-79694.stderr5
-rw-r--r--tests/ui/async-await/issue-65634-raw-ident-suggestion.edition2015.stderr10
-rw-r--r--tests/ui/async-await/issue-65634-raw-ident-suggestion.edition2018.stderr10
-rw-r--r--tests/ui/async-await/pin-ergonomics/sugar-no-const.stderr5
-rw-r--r--tests/ui/async-await/suggest-switching-edition-on-await-cargo.stderr5
-rw-r--r--tests/ui/async-await/suggest-switching-edition-on-await.stderr5
-rw-r--r--tests/ui/attributes/key-value-non-ascii.stderr5
-rw-r--r--tests/ui/attributes/rustc_confusables.stderr15
-rw-r--r--tests/ui/attributes/rustc_confusables_std_cases.stderr45
-rw-r--r--tests/ui/binop/placement-syntax.stderr5
-rw-r--r--tests/ui/block-result/issue-3563.stderr5
-rw-r--r--tests/ui/borrowck/already-borrowed-as-mutable-if-let-133941.stderr10
-rw-r--r--tests/ui/borrowck/borrowck-struct-update-with-dtor.stderr20
-rw-r--r--tests/ui/borrowck/borrowck-unsafe-static-mutable-borrows.stderr5
-rw-r--r--tests/ui/borrowck/index-mut-help.stderr20
-rw-r--r--tests/ui/borrowck/issue-115259-suggest-iter-mut.stderr5
-rw-r--r--tests/ui/borrowck/issue-62387-suggest-iter-mut-2.stderr5
-rw-r--r--tests/ui/borrowck/issue-62387-suggest-iter-mut.stderr10
-rw-r--r--tests/ui/borrowck/issue-85765-closure.stderr15
-rw-r--r--tests/ui/borrowck/issue-85765.stderr15
-rw-r--r--tests/ui/borrowck/no-invalid-mut-suggestion-for-raw-pointer-issue-127562.stderr5
-rw-r--r--tests/ui/borrowck/suggest-lt-on-ty-alias-w-generics.stderr5
-rw-r--r--tests/ui/borrowck/unmatched-arg-and-hir-arg-issue-126385.stderr5
-rw-r--r--tests/ui/btreemap/btreemap-index-mut-2.stderr15
-rw-r--r--tests/ui/btreemap/btreemap-index-mut.stderr15
-rw-r--r--tests/ui/c-variadic/issue-86053-1.stderr5
-rw-r--r--tests/ui/c-variadic/variadic-ffi-1.stderr10
-rw-r--r--tests/ui/cast/cast-as-bool.stderr25
-rw-r--r--tests/ui/cast/cast-rfc0401-2.stderr5
-rw-r--r--tests/ui/cast/ice-cast-type-with-error-124848.stderr5
-rw-r--r--tests/ui/cast/issue-106883-is-empty.stderr20
-rw-r--r--tests/ui/cfg/cfg-method-receiver.stderr5
-rw-r--r--tests/ui/check-cfg/cfg-value-for-cfg-name-multiple.stderr10
-rw-r--r--tests/ui/check-cfg/diagnotics.cargo.stderr15
-rw-r--r--tests/ui/check-cfg/diagnotics.rustc.stderr15
-rw-r--r--tests/ui/check-cfg/well-known-names.stderr5
-rw-r--r--tests/ui/closures/2229_closure_analysis/bad-pattern.stderr5
-rw-r--r--tests/ui/closures/2229_closure_analysis/issue-118144.stderr5
-rw-r--r--tests/ui/closures/issue-78720.stderr5
-rw-r--r--tests/ui/closures/multiple-fn-bounds.stderr5
-rw-r--r--tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.stderr5
-rw-r--r--tests/ui/codemap_tests/two_files.stderr3
-rw-r--r--tests/ui/compare-method/bad-self-type.stderr10
-rw-r--r--tests/ui/compare-method/issue-90444.stderr10
-rw-r--r--tests/ui/compare-method/region-extra-2.stderr5
-rw-r--r--tests/ui/compare-method/reordered-type-param.stderr5
-rw-r--r--tests/ui/conditional-compilation/cfg-attr-parse.stderr15
-rw-r--r--tests/ui/confuse-field-and-method/issue-33784.stderr5
-rw-r--r--tests/ui/const-generics/adt_const_params/const_param_ty_dyn_compatibility.stderr10
-rw-r--r--tests/ui/const-generics/early/invalid-const-arguments.stderr10
-rw-r--r--tests/ui/const-generics/ensure_is_evaluatable.stderr5
-rw-r--r--tests/ui/const-generics/fn_with_two_const_inputs.stderr5
-rw-r--r--tests/ui/const-generics/forbid-non-structural_match-types.stderr2
-rw-r--r--tests/ui/const-generics/generic_arg_infer/in-signature.stderr30
-rw-r--r--tests/ui/const-generics/generic_const_exprs/abstract-const-as-cast-3.stderr20
-rw-r--r--tests/ui/const-generics/generic_const_exprs/assoc_const_unification/doesnt_unify_evaluatable.stderr5
-rw-r--r--tests/ui/const-generics/generic_const_exprs/const_kind_expr/issue_114151.stderr5
-rw-r--r--tests/ui/const-generics/generic_const_exprs/const_kind_expr/wf_obligation.stderr5
-rw-r--r--tests/ui/const-generics/generic_const_exprs/expected-type-of-closure-body-to-be-a-closure-or-coroutine-ice-113776.stderr15
-rw-r--r--tests/ui/const-generics/invalid-const-arg-for-type-param.stderr5
-rw-r--r--tests/ui/const-generics/issue-80471.stderr2
-rw-r--r--tests/ui/const-generics/issues/issue-87493.stderr5
-rw-r--r--tests/ui/const-generics/issues/issue-97278.stderr2
-rw-r--r--tests/ui/const-generics/legacy-const-generics-bad.stderr5
-rw-r--r--tests/ui/const-generics/parser-error-recovery/issue-89013-no-kw.stderr5
-rw-r--r--tests/ui/const-generics/parser-error-recovery/issue-89013.stderr5
-rw-r--r--tests/ui/const-generics/type-dependent/type-mismatch.full.stderr5
-rw-r--r--tests/ui/const-generics/type-dependent/type-mismatch.min.stderr5
-rw-r--r--tests/ui/consts/assoc-const-elided-lifetime.stderr5
-rw-r--r--tests/ui/consts/const-blocks/fn-call-in-non-const.stderr5
-rw-r--r--tests/ui/consts/const-pattern-irrefutable.stderr20
-rw-r--r--tests/ui/consts/const_let_assign2.stderr5
-rw-r--r--tests/ui/consts/ice-bad-input-type-for-cast-83056.stderr5
-rw-r--r--tests/ui/consts/issue-104768.stderr5
-rw-r--r--tests/ui/consts/issue-3521.stderr5
-rw-r--r--tests/ui/consts/issue-91560.stderr10
-rw-r--r--tests/ui/consts/non-const-value-in-const.stderr10
-rw-r--r--tests/ui/consts/refs_check_const_eq-issue-88384.stderr4
-rw-r--r--tests/ui/coroutine/issue-102645.stderr5
-rw-r--r--tests/ui/coroutine/resume-arg-outlives.stderr10
-rw-r--r--tests/ui/coverage-attr/bad-attr-ice.feat.stderr6
-rw-r--r--tests/ui/coverage-attr/bad-attr-ice.nofeat.stderr6
-rw-r--r--tests/ui/coverage-attr/bad-syntax.stderr80
-rw-r--r--tests/ui/coverage-attr/name-value.stderr72
-rw-r--r--tests/ui/coverage-attr/subword.stderr40
-rw-r--r--tests/ui/coverage-attr/word-only.stderr72
-rw-r--r--tests/ui/deprecation/atomic_initializers.stderr5
-rw-r--r--tests/ui/deprecation/invalid-literal.stderr15
-rw-r--r--tests/ui/deprecation/issue-84637-deprecated-associated-function.stderr15
-rw-r--r--tests/ui/deprecation/suggestion.stderr10
-rw-r--r--tests/ui/deref-patterns/issue-71676-1.stderr5
-rw-r--r--tests/ui/derived-errors/issue-30580.stderr5
-rw-r--r--tests/ui/destructuring-assignment/struct_destructure_fail.stderr15
-rw-r--r--tests/ui/destructuring-assignment/tuple_struct_destructure_fail.stderr10
-rw-r--r--tests/ui/diagnostic_namespace/suggest_typos.stderr15
-rw-r--r--tests/ui/did_you_mean/bad-assoc-ty.stderr90
-rw-r--r--tests/ui/did_you_mean/brackets-to-braces-single-element.stderr15
-rw-r--r--tests/ui/did_you_mean/compatible-variants-in-pat.stderr10
-rw-r--r--tests/ui/did_you_mean/dont-suggest-hygienic-fields.stderr5
-rw-r--r--tests/ui/did_you_mean/issue-36798.stderr5
-rw-r--r--tests/ui/did_you_mean/issue-41679-tilde-bitwise-negation-attempt.stderr25
-rw-r--r--tests/ui/did_you_mean/issue-42599_available_fields_note.stderr10
-rw-r--r--tests/ui/did_you_mean/issue-46718-struct-pattern-dotdotdot.stderr5
-rw-r--r--tests/ui/did_you_mean/issue-46836-identifier-not-instead-of-negation.stderr25
-rw-r--r--tests/ui/did_you_mean/issue-48492-tuple-destructure-missing-parens.stderr5
-rw-r--r--tests/ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.stderr5
-rw-r--r--tests/ui/did_you_mean/issue-54109-and_instead_of_ampersands.stderr40
-rw-r--r--tests/ui/did_you_mean/issue-54109-without-witness.stderr40
-rw-r--r--tests/ui/did_you_mean/issue-56028-there-is-an-enum-variant.stderr20
-rw-r--r--tests/ui/did_you_mean/issue-87830-try-brackets-for-arrays.stderr10
-rw-r--r--tests/ui/did_you_mean/pub-macro-rules.stderr5
-rw-r--r--tests/ui/did_you_mean/replace-impl-infer-ty-from-trait.stderr5
-rw-r--r--tests/ui/did_you_mean/use_instead_of_import.stderr20
-rw-r--r--tests/ui/drop/if-let-rescope-borrowck-suggestions.stderr5
-rw-r--r--tests/ui/drop/lint-if-let-rescope.stderr20
-rw-r--r--tests/ui/dropck/explicit-drop-bounds.bad1.stderr10
-rw-r--r--tests/ui/dst/issue-90528-unsizing-suggestion-3.stderr5
-rw-r--r--tests/ui/dyn-compatibility/avoid-ice-on-warning-2.new.stderr5
-rw-r--r--tests/ui/dyn-compatibility/avoid-ice-on-warning-3.new.stderr10
-rw-r--r--tests/ui/dyn-compatibility/avoid-ice-on-warning.new.stderr5
-rw-r--r--tests/ui/dyn-compatibility/avoid-ice-on-warning.old.stderr5
-rw-r--r--tests/ui/dyn-compatibility/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.stderr135
-rw-r--r--tests/ui/dyn-compatibility/supertrait-mentions-GAT.stderr5
-rw-r--r--tests/ui/dyn-compatibility/supertrait-mentions-Self.stderr5
-rw-r--r--tests/ui/dyn-keyword/dyn-2021-edition-error.stderr5
-rw-r--r--tests/ui/dyn-keyword/misspelled-associated-item.stderr5
-rw-r--r--tests/ui/empty/empty-struct-braces-expr.stderr60
-rw-r--r--tests/ui/empty/empty-struct-braces-pat-2.stderr40
-rw-r--r--tests/ui/empty/empty-struct-braces-pat-3.stderr20
-rw-r--r--tests/ui/empty/empty-struct-tuple-pat.stderr10
-rw-r--r--tests/ui/empty/empty-struct-unit-pat.stderr60
-rw-r--r--tests/ui/enum-discriminant/discriminant-ill-typed.stderr40
-rw-r--r--tests/ui/enum/assoc-fn-call-on-variant.stderr5
-rw-r--r--tests/ui/env-macro/error-recovery-issue-55897.stderr5
-rw-r--r--tests/ui/error-codes/E0027.stderr60
-rw-r--r--tests/ui/error-codes/E0034.stderr10
-rw-r--r--tests/ui/error-codes/E0040.stderr5
-rw-r--r--tests/ui/error-codes/E0054.stderr5
-rw-r--r--tests/ui/error-codes/E0057.stderr5
-rw-r--r--tests/ui/error-codes/E0060.stderr5
-rw-r--r--tests/ui/error-codes/E0061.stderr10
-rw-r--r--tests/ui/error-codes/E0121.stderr5
-rw-r--r--tests/ui/error-codes/E0214.stderr5
-rw-r--r--tests/ui/error-codes/E0221.stderr15
-rw-r--r--tests/ui/error-codes/E0259.stderr3
-rw-r--r--tests/ui/error-codes/E0260.stderr3
-rw-r--r--tests/ui/error-codes/E0283.stderr5
-rw-r--r--tests/ui/error-codes/E0423.stderr10
-rw-r--r--tests/ui/error-codes/E0435.stderr5
-rw-r--r--tests/ui/error-codes/E0516.stderr5
-rw-r--r--tests/ui/error-codes/E0637.stderr5
-rw-r--r--tests/ui/error-codes/E0642.stderr15
-rw-r--r--tests/ui/error-codes/E0746.stderr10
-rw-r--r--tests/ui/error-codes/ex-E0612.stderr5
-rw-r--r--tests/ui/error-festival.stderr10
-rw-r--r--tests/ui/explicit-tail-calls/become-operator.stderr15
-rw-r--r--tests/ui/explicit/explicit-call-to-dtor.stderr5
-rw-r--r--tests/ui/explicit/explicit-call-to-supertrait-dtor.stderr5
-rw-r--r--tests/ui/expr/if/if-branch-types.stderr5
-rw-r--r--tests/ui/expr/if/if-else-type-mismatch.stderr10
-rw-r--r--tests/ui/expr/issue-22933-2.stderr5
-rw-r--r--tests/ui/extern/extern-const.stderr5
-rw-r--r--tests/ui/extern/extern-crate-rename.stderr5
-rw-r--r--tests/ui/extern/extern-crate-visibility.stderr10
-rw-r--r--tests/ui/extern/issue-18819.stderr5
-rw-r--r--tests/ui/extern/not-in-block.stderr20
-rw-r--r--tests/ui/feature-gates/feature-gate-extern_absolute_paths.stderr5
-rw-r--r--tests/ui/feature-gates/feature-gate-negate-unsigned.stderr5
-rw-r--r--tests/ui/feature-gates/feature-gate-never_patterns.stderr3
-rw-r--r--tests/ui/feature-gates/feature-gate-unboxed-closures-manual-impls.stderr10
-rw-r--r--tests/ui/feature-gates/feature-gate-unsized_fn_params.stderr5
-rw-r--r--tests/ui/feature-gates/feature-gate-unsized_locals.stderr5
-rw-r--r--tests/ui/feature-gates/issue-43106-gating-of-macro_use.stderr10
-rw-r--r--tests/ui/fmt/format-args-non-identifier-diagnostics.stderr5
-rw-r--r--tests/ui/fmt/format-string-error-2.stderr5
-rw-r--r--tests/ui/fmt/no-inline-literals-out-of-range.stderr15
-rw-r--r--tests/ui/fmt/struct-field-as-captured-argument.stderr35
-rw-r--r--tests/ui/fmt/suggest-wrongly-order-format-parameter.stderr15
-rw-r--r--tests/ui/fn/error-recovery-mismatch.stderr5
-rw-r--r--tests/ui/fn/fn-pointer-mismatch.stderr10
-rw-r--r--tests/ui/fn/fn-recover-return-sign.stderr20
-rw-r--r--tests/ui/fn/fn-recover-return-sign2.stderr5
-rw-r--r--tests/ui/fn/param-mismatch-foreign.stderr5
-rw-r--r--tests/ui/force-inlining/invalid.stderr24
-rw-r--r--tests/ui/functional-struct-update/functional-struct-update-noncopyable.stderr5
-rw-r--r--tests/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr5
-rw-r--r--tests/ui/generic-associated-types/impl_bounds.stderr5
-rw-r--r--tests/ui/generic-associated-types/issue-70304.stderr5
-rw-r--r--tests/ui/generic-associated-types/mismatched-where-clause-regions.stderr5
-rw-r--r--tests/ui/generic-associated-types/missing-bounds.stderr5
-rw-r--r--tests/ui/generic-const-items/duplicate-where-clause.stderr6
-rw-r--r--tests/ui/generics/issue-95208-ignore-qself.stderr5
-rw-r--r--tests/ui/generics/issue-95208.stderr5
-rw-r--r--tests/ui/generics/overlapping-errors-span-issue-123861.stderr5
-rw-r--r--tests/ui/half-open-range-patterns/half-open-range-pats-inclusive-dotdotdot-bad-syntax.stderr25
-rw-r--r--tests/ui/half-open-range-patterns/half-open-range-pats-ref-ambiguous-interp.stderr5
-rw-r--r--tests/ui/hashmap/hashmap-index-mut.stderr15
-rw-r--r--tests/ui/higher-ranked/trait-bounds/issue-58451.stderr5
-rw-r--r--tests/ui/hygiene/globs.stderr10
-rw-r--r--tests/ui/impl-trait/dyn-incompatible-trait-in-return-position-dyn-trait.stderr5
-rw-r--r--tests/ui/impl-trait/dyn-trait-return-should-be-impl-trait.stderr30
-rw-r--r--tests/ui/impl-trait/equality.stderr5
-rw-r--r--tests/ui/impl-trait/impl-fn-hrtb-bounds.stderr5
-rw-r--r--tests/ui/impl-trait/impl-generic-mismatch-ab.stderr5
-rw-r--r--tests/ui/impl-trait/impl-generic-mismatch.stderr10
-rw-r--r--tests/ui/impl-trait/in-assoc-type-unconstrained.stderr5
-rw-r--r--tests/ui/impl-trait/in-trait/bad-item-bound-within-rpitit.stderr11
-rw-r--r--tests/ui/impl-trait/in-trait/expeced-refree-to-map-to-reearlybound-ice-108580.stderr5
-rw-r--r--tests/ui/impl-trait/in-trait/foreign.stderr10
-rw-r--r--tests/ui/impl-trait/in-trait/method-signature-matches.lt.stderr5
-rw-r--r--tests/ui/impl-trait/in-trait/method-signature-matches.mismatch.stderr5
-rw-r--r--tests/ui/impl-trait/in-trait/method-signature-matches.mismatch_async.stderr5
-rw-r--r--tests/ui/impl-trait/in-trait/opaque-and-lifetime-mismatch.stderr5
-rw-r--r--tests/ui/impl-trait/in-trait/refine-captures.stderr15
-rw-r--r--tests/ui/impl-trait/in-trait/refine.stderr25
-rw-r--r--tests/ui/impl-trait/in-trait/rpitit-hidden-types-self-implied-wf-via-param.stderr4
-rw-r--r--tests/ui/impl-trait/in-trait/specialization-broken.stderr5
-rw-r--r--tests/ui/impl-trait/must_outlive_least_region_or_bound.stderr50
-rw-r--r--tests/ui/impl-trait/no-method-suggested-traits.stderr30
-rw-r--r--tests/ui/impl-trait/opaque-used-in-extraneous-argument.stderr5
-rw-r--r--tests/ui/impl-trait/point-to-type-err-cause-on-impl-trait-return.stderr55
-rw-r--r--tests/ui/impl-trait/precise-capturing/bad-lifetimes.stderr5
-rw-r--r--tests/ui/impl-trait/precise-capturing/hidden-type-suggestion.stderr10
-rw-r--r--tests/ui/impl-trait/precise-capturing/migration-note.stderr5
-rw-r--r--tests/ui/impl-trait/precise-capturing/overcaptures-2024.stderr10
-rw-r--r--tests/ui/impl-trait/recursive-type-alias-impl-trait-declaration-too-subtle.stderr10
-rw-r--r--tests/ui/impl-trait/trait_type.stderr5
-rw-r--r--tests/ui/impl-trait/where-allowed.stderr5
-rw-r--r--tests/ui/imports/bad-import-with-rename.stderr10
-rw-r--r--tests/ui/imports/extern-crate-self/extern-crate-self-fail.stderr5
-rw-r--r--tests/ui/imports/glob-resolve1.stderr5
-rw-r--r--tests/ui/imports/issue-45799-bad-extern-crate-rename-suggestion-formatting.stderr3
-rw-r--r--tests/ui/imports/issue-45829/import-self.stderr15
-rw-r--r--tests/ui/imports/issue-45829/issue-45829.stderr5
-rw-r--r--tests/ui/imports/issue-45829/rename-extern-vs-use.stderr3
-rw-r--r--tests/ui/imports/issue-45829/rename-extern-with-tab.stderr3
-rw-r--r--tests/ui/imports/issue-45829/rename-extern.stderr3
-rw-r--r--tests/ui/imports/issue-45829/rename-use-vs-extern.stderr5
-rw-r--r--tests/ui/imports/issue-45829/rename-use-with-tabs.stderr5
-rw-r--r--tests/ui/imports/issue-45829/rename-with-path.stderr5
-rw-r--r--tests/ui/imports/issue-45829/rename.stderr5
-rw-r--r--tests/ui/imports/issue-56125.stderr20
-rw-r--r--tests/ui/imports/issue-57015.stderr5
-rw-r--r--tests/ui/imports/issue-59764.stderr10
-rw-r--r--tests/ui/imports/multiple-extern-by-macro-for-buitlin.stderr3
-rw-r--r--tests/ui/imports/multiple-extern-by-macro-for-custom.stderr3
-rw-r--r--tests/ui/imports/multiple-extern-by-macro-for-inexist.stderr3
-rw-r--r--tests/ui/imports/no-std-inject.stderr5
-rw-r--r--tests/ui/imports/private-std-reexport-suggest-public.stderr5
-rw-r--r--tests/ui/imports/suggest-import-issue-120074.edition2015.stderr5
-rw-r--r--tests/ui/imports/suggest-import-issue-120074.edition2021.stderr5
-rw-r--r--tests/ui/include-macros/parent_dir.stderr20
-rw-r--r--tests/ui/inference/ambiguous_type_parameter.stderr5
-rw-r--r--tests/ui/inference/char-as-str-single.stderr20
-rw-r--r--tests/ui/inference/inference_unstable.stderr5
-rw-r--r--tests/ui/inference/inference_unstable_featured.stderr10
-rw-r--r--tests/ui/inference/issue-103587.stderr5
-rw-r--r--tests/ui/inference/issue-12028.stderr5
-rw-r--r--tests/ui/inference/issue-70082.stderr5
-rw-r--r--tests/ui/inference/issue-71584.stderr5
-rw-r--r--tests/ui/inference/issue-72616.stderr10
-rw-r--r--tests/ui/inference/issue-72690.stderr40
-rw-r--r--tests/ui/inference/issue-80816.stderr5
-rw-r--r--tests/ui/inference/str-as-char.stderr20
-rw-r--r--tests/ui/infinite/infinite-assoc.stderr5
-rw-r--r--tests/ui/inline-const/cross-const-control-flow-125846.stderr5
-rw-r--r--tests/ui/invalid/invalid-rustc_legacy_const_generics-issue-123077.stderr30
-rw-r--r--tests/ui/issues/issue-13497.stderr5
-rw-r--r--tests/ui/issues/issue-17546.stderr20
-rw-r--r--tests/ui/issues/issue-17800.stderr5
-rw-r--r--tests/ui/issues/issue-18107.stderr5
-rw-r--r--tests/ui/issues/issue-18446.stderr5
-rw-r--r--tests/ui/issues/issue-20225.stderr15
-rw-r--r--tests/ui/issues/issue-21332.stderr5
-rw-r--r--tests/ui/issues/issue-23041.stderr5
-rw-r--r--tests/ui/issues/issue-23073.stderr5
-rw-r--r--tests/ui/issues/issue-23217.stderr5
-rw-r--r--tests/ui/issues/issue-23589.stderr10
-rw-r--r--tests/ui/issues/issue-27433.stderr5
-rw-r--r--tests/ui/issues/issue-28971.stderr5
-rw-r--r--tests/ui/issues/issue-32004.stderr10
-rw-r--r--tests/ui/issues/issue-34209.stderr5
-rw-r--r--tests/ui/issues/issue-3521-2.stderr5
-rw-r--r--tests/ui/issues/issue-3668-non-constant-value-in-constant/issue-3668-2.stderr5
-rw-r--r--tests/ui/issues/issue-3668-non-constant-value-in-constant/issue-3668.stderr5
-rw-r--r--tests/ui/issues/issue-3702-2.stderr10
-rw-r--r--tests/ui/issues/issue-41652/issue-41652.stderr5
-rw-r--r--tests/ui/issues/issue-41726.stderr5
-rw-r--r--tests/ui/issues/issue-42312.stderr5
-rw-r--r--tests/ui/issues/issue-44239.stderr5
-rw-r--r--tests/ui/issues/issue-47073-zero-padded-tuple-struct-indices.stderr5
-rw-r--r--tests/ui/issues/issue-4736.stderr5
-rw-r--r--tests/ui/issues/issue-50571.stderr5
-rw-r--r--tests/ui/issues/issue-51874.stderr5
-rw-r--r--tests/ui/issues/issue-5358-1.stderr5
-rw-r--r--tests/ui/issues/issue-56175.stderr10
-rw-r--r--tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741.stderr20
-rw-r--r--tests/ui/issues/issue-5883.stderr5
-rw-r--r--tests/ui/issues/issue-69683.stderr10
-rw-r--r--tests/ui/issues/issue-76077-inaccesible-private-fields/issue-76077-1.stderr5
-rw-r--r--tests/ui/issues/issue-76191.stderr5
-rw-r--r--tests/ui/issues/issue-78622.stderr5
-rw-r--r--tests/ui/issues/issue-80607.stderr5
-rw-r--r--tests/ui/issues/issue-8761.stderr10
-rw-r--r--tests/ui/iterators/into-iter-on-arrays-2018.stderr15
-rw-r--r--tests/ui/iterators/into-iter-on-arrays-lint.stderr40
-rw-r--r--tests/ui/iterators/into-iter-on-boxed-slices-2021.stderr15
-rw-r--r--tests/ui/iterators/into-iter-on-boxed-slices-lint.stderr10
-rw-r--r--tests/ui/label/label_misspelled.stderr30
-rw-r--r--tests/ui/let-else/let-else-deref-coercion.stderr10
-rw-r--r--tests/ui/lexer/lex-bad-char-literals-1.stderr10
-rw-r--r--tests/ui/lexer/lex-bad-char-literals-2.stderr5
-rw-r--r--tests/ui/lexer/lex-bad-char-literals-3.stderr10
-rw-r--r--tests/ui/lexer/lex-bad-char-literals-5.stderr10
-rw-r--r--tests/ui/lexer/lex-bad-char-literals-6.stderr15
-rw-r--r--tests/ui/lexer/lex-bad-str-literal-as-char-1.stderr5
-rw-r--r--tests/ui/lexer/lex-bad-str-literal-as-char-2.stderr5
-rw-r--r--tests/ui/lexer/lex-bad-str-literal-as-char-3.rust2015.stderr5
-rw-r--r--tests/ui/lexer/lex-bad-str-literal-as-char-3.rust2018.stderr5
-rw-r--r--tests/ui/lexer/lex-bad-str-literal-as-char-3.rust2021.stderr10
-rw-r--r--tests/ui/lexer/lex-bad-str-literal-as-char-4.stderr10
-rw-r--r--tests/ui/lifetimes/borrowck-let-suggestion.stderr5
-rw-r--r--tests/ui/lifetimes/fullwidth-ampersand.stderr5
-rw-r--r--tests/ui/lifetimes/issue-26638.stderr15
-rw-r--r--tests/ui/lifetimes/issue-90170-elision-mismatch.stderr5
-rw-r--r--tests/ui/lifetimes/raw/immediately-followed-by-lt.e2021.stderr5
-rw-r--r--tests/ui/lint/ambiguous_wide_pointer_comparisons_suggestions.stderr10
-rw-r--r--tests/ui/lint/dead-code/tuple-struct-field.stderr5
-rw-r--r--tests/ui/lint/elided-named-lifetimes/static.stderr5
-rw-r--r--tests/ui/lint/fn-ptr-comparisons.stderr60
-rw-r--r--tests/ui/lint/for_loop_over_fallibles.stderr100
-rw-r--r--tests/ui/lint/issue-109152.stderr5
-rw-r--r--tests/ui/lint/issue-109529.stderr5
-rw-r--r--tests/ui/lint/issue-35075.stderr10
-rw-r--r--tests/ui/lint/let_underscore/issue-119696-err-on-fn.stderr10
-rw-r--r--tests/ui/lint/let_underscore/issue-119697-extra-let.stderr20
-rw-r--r--tests/ui/lint/let_underscore/let_underscore_drop.stderr10
-rw-r--r--tests/ui/lint/let_underscore/let_underscore_lock.stderr30
-rw-r--r--tests/ui/lint/lint-strict-provenance-fuzzy-casts.stderr5
-rw-r--r--tests/ui/lint/lint-strict-provenance-lossy-casts.stderr10
-rw-r--r--tests/ui/lint/lint_map_unit_fn.stderr15
-rw-r--r--tests/ui/lint/non-snake-case/lint-non-snake-case-identifiers-suggestion-reserved.stderr15
-rw-r--r--tests/ui/lint/recommend-literal.stderr15
-rw-r--r--tests/ui/lint/static-mut-refs.e2021.stderr35
-rw-r--r--tests/ui/lint/static-mut-refs.e2024.stderr35
-rw-r--r--tests/ui/lint/type-overflow.stderr30
-rw-r--r--tests/ui/lint/unused/issue-67691-unused-field-in-or-pattern.stderr30
-rw-r--r--tests/ui/lint/wide_pointer_comparisons.stderr180
-rw-r--r--tests/ui/loops/loop-break-value-no-repeat.stderr5
-rw-r--r--tests/ui/loops/loop-break-value.stderr45
-rw-r--r--tests/ui/macros/expand-full-no-resolution.stderr10
-rw-r--r--tests/ui/macros/expr_2021_cargo_fix_edition.stderr10
-rw-r--r--tests/ui/macros/format-foreign.stderr10
-rw-r--r--tests/ui/macros/issue-103529.stderr10
-rw-r--r--tests/ui/macros/issue-109237.stderr5
-rw-r--r--tests/ui/macros/issue-118786.stderr5
-rw-r--r--tests/ui/macros/issue-99265.stderr150
-rw-r--r--tests/ui/macros/macro-backtrace-invalid-internals.stderr10
-rw-r--r--tests/ui/macros/macro-inner-attributes.stderr5
-rw-r--r--tests/ui/macros/macro-use-wrong-name.stderr5
-rw-r--r--tests/ui/macros/recovery-allowed.stderr5
-rw-r--r--tests/ui/malformed/malformed-meta-delim.stderr10
-rw-r--r--tests/ui/malformed/malformed-special-attrs.stderr10
-rw-r--r--tests/ui/match/issue-56685.stderr20
-rw-r--r--tests/ui/match/match-pattern-field-mismatch.stderr5
-rw-r--r--tests/ui/meta/expected-error-correct-rev.a.stderr5
-rw-r--r--tests/ui/meta/meta-expected-error-wrong-rev.a.stderr5
-rw-r--r--tests/ui/methods/disambiguate-associated-function-first-arg.stderr25
-rw-r--r--tests/ui/methods/disambiguate-multiple-blanket-impl.stderr30
-rw-r--r--tests/ui/methods/disambiguate-multiple-impl.stderr30
-rw-r--r--tests/ui/methods/disambiguate-multiple-trait-2.stderr60
-rw-r--r--tests/ui/methods/disambiguate-multiple-trait.stderr30
-rw-r--r--tests/ui/methods/issues/issue-105732.stderr5
-rw-r--r--tests/ui/methods/issues/issue-90315.stderr5
-rw-r--r--tests/ui/methods/method-ambig-one-trait-unknown-int-type.stderr5
-rw-r--r--tests/ui/methods/method-ambig-two-traits-cross-crate.stderr10
-rw-r--r--tests/ui/methods/method-ambig-two-traits-from-bounds.stderr10
-rw-r--r--tests/ui/methods/method-ambig-two-traits-from-impls.stderr10
-rw-r--r--tests/ui/methods/method-ambig-two-traits-from-impls2.stderr10
-rw-r--r--tests/ui/methods/method-ambig-two-traits-with-default-method.stderr10
-rw-r--r--tests/ui/methods/method-ambiguity-no-rcvr.stderr10
-rw-r--r--tests/ui/methods/method-call-err-msg.stderr15
-rw-r--r--tests/ui/methods/method-deref-to-same-trait-object-with-separate-params.stderr15
-rw-r--r--tests/ui/methods/method-not-found-but-doc-alias.stderr5
-rw-r--r--tests/ui/methods/method-on-ambiguous-numeric-type.stderr5
-rw-r--r--tests/ui/methods/suggest-convert-ptr-to-ref.stderr10
-rw-r--r--tests/ui/mir/issue-106062.stderr10
-rw-r--r--tests/ui/mir/issue-112269.stderr10
-rw-r--r--tests/ui/mismatched_types/E0053.stderr10
-rw-r--r--tests/ui/mismatched_types/cast-rfc0401.stderr5
-rw-r--r--tests/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.stderr5
-rw-r--r--tests/ui/mismatched_types/closure-arg-count.stderr35
-rw-r--r--tests/ui/mismatched_types/float-literal-inference-restrictions.stderr5
-rw-r--r--tests/ui/mismatched_types/issue-106182.stderr5
-rw-r--r--tests/ui/mismatched_types/issue-112036.stderr5
-rw-r--r--tests/ui/mismatched_types/issue-13033.stderr5
-rw-r--r--tests/ui/mismatched_types/issue-1362.stderr5
-rw-r--r--tests/ui/mismatched_types/issue-1448-2.stderr5
-rw-r--r--tests/ui/mismatched_types/mismatch-args-crash-issue-128848.stderr5
-rw-r--r--tests/ui/mismatched_types/mismatch-args-crash-issue-130400.stderr5
-rw-r--r--tests/ui/mismatched_types/mismatch-args-vargs-issue-130372.stderr5
-rw-r--r--tests/ui/mismatched_types/numeric-literal-cast.stderr15
-rw-r--r--tests/ui/mismatched_types/overloaded-calls-bad.stderr5
-rw-r--r--tests/ui/mismatched_types/ref-pat-suggestions.stderr5
-rw-r--r--tests/ui/mismatched_types/suggest-boxed-trait-objects-instead-of-impl-trait.stderr10
-rw-r--r--tests/ui/mismatched_types/trait-impl-fn-incompatibility.stderr10
-rw-r--r--tests/ui/mismatched_types/transforming-option-ref-issue-127545.stderr15
-rw-r--r--tests/ui/missing/missing-block-hint.stderr5
-rw-r--r--tests/ui/missing/missing-fields-in-struct-pattern.stderr5
-rw-r--r--tests/ui/missing/missing-items/missing-const-parameter.stderr5
-rw-r--r--tests/ui/missing/missing-items/missing-type-parameter2.stderr25
-rw-r--r--tests/ui/moves/needs-clone-through-deref.stderr5
-rw-r--r--tests/ui/moves/suggest-clone-when-some-obligation-is-unmet.stderr5
-rw-r--r--tests/ui/moves/use_of_moved_value_copy_suggestions.stderr5
-rw-r--r--tests/ui/namespace/namespace-mix.stderr20
-rw-r--r--tests/ui/never_type/dependency-on-fallback-to-unit.stderr5
-rw-r--r--tests/ui/never_type/issue-96335.stderr10
-rw-r--r--tests/ui/nll/borrowck-thread-local-static-mut-borrow-outlives-fn.stderr5
-rw-r--r--tests/ui/nll/ty-outlives/projection-no-regions-closure.stderr10
-rw-r--r--tests/ui/nll/ty-outlives/projection-no-regions-fn.stderr10
-rw-r--r--tests/ui/non-fmt-panic.stderr40
-rw-r--r--tests/ui/not-enough-arguments.stderr10
-rw-r--r--tests/ui/numeric/const-scope.stderr15
-rw-r--r--tests/ui/numeric/numeric-fields.stderr5
-rw-r--r--tests/ui/numeric/numeric-suffix/numeric-suffix-i32.stderr55
-rw-r--r--tests/ui/numeric/numeric-suffix/numeric-suffix-i64.stderr55
-rw-r--r--tests/ui/numeric/numeric-suffix/numeric-suffix-isize.stderr55
-rw-r--r--tests/ui/numeric/numeric-suffix/numeric-suffix-u32.stderr55
-rw-r--r--tests/ui/numeric/numeric-suffix/numeric-suffix-u64.stderr55
-rw-r--r--tests/ui/numeric/numeric-suffix/numeric-suffix-usize.stderr55
-rw-r--r--tests/ui/numeric/numeric-suffix/numeric-suffix.stderr280
-rw-r--r--tests/ui/object-pointer-types.stderr5
-rw-r--r--tests/ui/obsolete-in-place/bad.stderr5
-rw-r--r--tests/ui/on-unimplemented/bad-annotation.stderr6
-rw-r--r--tests/ui/on-unimplemented/issue-104140.stderr10
-rw-r--r--tests/ui/operator-recovery/less-than-greater-than.stderr5
-rw-r--r--tests/ui/or-patterns/multiple-pattern-typo.stderr35
-rw-r--r--tests/ui/or-patterns/remove-leading-vert.stderr30
-rw-r--r--tests/ui/panic-handler/weak-lang-item.stderr3
-rw-r--r--tests/ui/parser/bad-char-literals.stderr10
-rw-r--r--tests/ui/parser/bad-crate-name.stderr5
-rw-r--r--tests/ui/parser/bad-escape-suggest-raw-string.stderr5
-rw-r--r--tests/ui/parser/bad-let-else-statement.stderr10
-rw-r--r--tests/ui/parser/bad-lit-suffixes.stderr6
-rw-r--r--tests/ui/parser/byte-literals.stderr10
-rw-r--r--tests/ui/parser/byte-string-literals.stderr5
-rw-r--r--tests/ui/parser/char/whitespace-character-literal.stderr5
-rw-r--r--tests/ui/parser/const-param-decl-on-type-instead-of-impl.stderr5
-rw-r--r--tests/ui/parser/default-on-wrong-item-kind.stderr5
-rw-r--r--tests/ui/parser/do-catch-suggests-try.stderr5
-rw-r--r--tests/ui/parser/dotdotdot-expr.stderr10
-rw-r--r--tests/ui/parser/duplicate-where-clauses.stderr30
-rw-r--r--tests/ui/parser/emoji-identifiers.stderr10
-rw-r--r--tests/ui/parser/eq-gt-to-gt-eq.stderr35
-rw-r--r--tests/ui/parser/expr-rarrow-call.stderr25
-rw-r--r--tests/ui/parser/extern-crate-unexpected-token.stderr5
-rw-r--r--tests/ui/parser/extern-no-fn.stderr5
-rw-r--r--tests/ui/parser/fn-body-eq-expr-semi.stderr40
-rw-r--r--tests/ui/parser/fn-colon-return-type.stderr5
-rw-r--r--tests/ui/parser/foreign-const-semantic-fail.stderr10
-rw-r--r--tests/ui/parser/foreign-const-syntactic-fail.stderr10
-rw-r--r--tests/ui/parser/increment-autofix-2.stderr30
-rw-r--r--tests/ui/parser/increment-autofix.stderr10
-rw-r--r--tests/ui/parser/intersection-patterns-1.stderr10
-rw-r--r--tests/ui/parser/issues/issue-100197-mut-let.stderr5
-rw-r--r--tests/ui/parser/issues/issue-101477-enum.stderr5
-rw-r--r--tests/ui/parser/issues/issue-101477-let.stderr5
-rw-r--r--tests/ui/parser/issues/issue-102806.stderr15
-rw-r--r--tests/ui/parser/issues/issue-103748-ICE-wrong-braces.stderr10
-rw-r--r--tests/ui/parser/issues/issue-104867-inc-dec-2.stderr45
-rw-r--r--tests/ui/parser/issues/issue-104867-inc-dec.stderr25
-rw-r--r--tests/ui/parser/issues/issue-105366.stderr5
-rw-r--r--tests/ui/parser/issues/issue-108495-dec.stderr25
-rw-r--r--tests/ui/parser/issues/issue-110014.stderr5
-rw-r--r--tests/ui/parser/issues/issue-111416.stderr5
-rw-r--r--tests/ui/parser/issues/issue-118530-ice.stderr5
-rw-r--r--tests/ui/parser/issues/issue-17718-const-mut.stderr3
-rw-r--r--tests/ui/parser/issues/issue-23620-invalid-escapes.stderr5
-rw-r--r--tests/ui/parser/issues/issue-24375.stderr5
-rw-r--r--tests/ui/parser/issues/issue-30318.stderr10
-rw-r--r--tests/ui/parser/issues/issue-32214.stderr5
-rw-r--r--tests/ui/parser/issues/issue-34255-1.stderr5
-rw-r--r--tests/ui/parser/issues/issue-44406.stderr5
-rw-r--r--tests/ui/parser/issues/issue-57684.stderr10
-rw-r--r--tests/ui/parser/issues/issue-64732.stderr10
-rw-r--r--tests/ui/parser/issues/issue-65257-invalid-var-decl-recovery.stderr30
-rw-r--r--tests/ui/parser/issues/issue-68730.stderr10
-rw-r--r--tests/ui/parser/issues/issue-70549-resolve-after-recovered-self-ctor.stderr15
-rw-r--r--tests/ui/parser/issues/issue-73568-lifetime-after-mut.stderr10
-rw-r--r--tests/ui/parser/issues/issue-84117.stderr15
-rw-r--r--tests/ui/parser/issues/issue-84148-1.stderr5
-rw-r--r--tests/ui/parser/issues/issue-87086-colon-path-sep.stderr45
-rw-r--r--tests/ui/parser/issues/issue-90993.stderr15
-rw-r--r--tests/ui/parser/issues/issue-99625-enum-struct-mutually-exclusive.stderr5
-rw-r--r--tests/ui/parser/issues/issue-99910-const-let-mutually-exclusive.stderr10
-rw-r--r--tests/ui/parser/issues/recover-ge-as-fat-arrow.stderr5
-rw-r--r--tests/ui/parser/item-kw-case-mismatch.stderr70
-rw-r--r--tests/ui/parser/kw-in-trait-bounds.stderr20
-rw-r--r--tests/ui/parser/lifetime-in-pattern.stderr5
-rw-r--r--tests/ui/parser/lifetime-semicolon.stderr5
-rw-r--r--tests/ui/parser/macros-no-semicolon-items.stderr5
-rw-r--r--tests/ui/parser/match-arm-without-body.stderr3
-rw-r--r--tests/ui/parser/match-arm-without-braces.stderr5
-rw-r--r--tests/ui/parser/missing-fn-issue-65381-2.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/assoc-type.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/async-move.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/const-fn.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/const-generics.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/const.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/for-loop.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/hrdt.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/impl-block.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/impl-return.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/impl-trait-for.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/impl-trait.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/let-else.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/let-mut.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/let.stderr10
-rw-r--r--tests/ui/parser/misspelled-keywords/match.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/mod.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/pub-fn.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/ref.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/return.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/static-mut.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/static.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/struct.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/unsafe-fn.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/use.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/where-clause.stderr3
-rw-r--r--tests/ui/parser/misspelled-keywords/while-loop.stderr5
-rw-r--r--tests/ui/parser/mut-patterns.stderr20
-rw-r--r--tests/ui/parser/not-a-pred.stderr5
-rw-r--r--tests/ui/parser/public-instead-of-pub-1.stderr5
-rw-r--r--tests/ui/parser/public-instead-of-pub-3.stderr5
-rw-r--r--tests/ui/parser/public-instead-of-pub.stderr5
-rw-r--r--tests/ui/parser/range-inclusive-extra-equals.stderr5
-rw-r--r--tests/ui/parser/range_inclusive_dotdotdot.stderr40
-rw-r--r--tests/ui/parser/recover/recover-assoc-lifetime-constraint.stderr5
-rw-r--r--tests/ui/parser/recover/recover-fn-trait-from-fn-kw.stderr10
-rw-r--r--tests/ui/parser/recover/recover-for-loop-parens-around-head.stderr5
-rw-r--r--tests/ui/parser/recover/recover-from-bad-variant.stderr15
-rw-r--r--tests/ui/parser/recover/recover-from-homoglyph.stderr5
-rw-r--r--tests/ui/parser/recover/recover-pat-exprs.stderr145
-rw-r--r--tests/ui/parser/recover/recover-pat-issues.stderr15
-rw-r--r--tests/ui/parser/recover/recover-range-pats.stderr25
-rw-r--r--tests/ui/parser/recover/recover-ref-dyn-mut.stderr5
-rw-r--r--tests/ui/parser/recover/turbofish-arg-with-stray-colon.stderr5
-rw-r--r--tests/ui/parser/recover/unicode-double-equals-recovery.stderr10
-rw-r--r--tests/ui/parser/removed-syntax/removed-syntax-box.stderr25
-rw-r--r--tests/ui/parser/suggest-assoc-const.stderr5
-rw-r--r--tests/ui/parser/suggest-remove-compount-assign-let-ice.stderr5
-rw-r--r--tests/ui/parser/trailing-question-in-type.stderr10
-rw-r--r--tests/ui/parser/type-ascription-in-pattern.stderr10
-rw-r--r--tests/ui/parser/typod-const-in-const-param-def.stderr20
-rw-r--r--tests/ui/parser/unicode-character-literal.stderr15
-rw-r--r--tests/ui/parser/unicode-chars.stderr10
-rw-r--r--tests/ui/parser/unicode-control-codepoints.stderr50
-rw-r--r--tests/ui/parser/unicode-quote-chars.stderr10
-rw-r--r--tests/ui/parser/unnecessary-let.stderr5
-rw-r--r--tests/ui/parser/use-colon-as-mod-sep.stderr20
-rw-r--r--tests/ui/parser/utf16-be-without-bom.stderr5
-rw-r--r--tests/ui/parser/utf16-le-without-bom.stderr5
-rw-r--r--tests/ui/pattern/bindings-after-at/wild-before-at-syntactically-rejected.stderr15
-rw-r--r--tests/ui/pattern/incorrect-placement-of-pattern-modifiers.stderr5
-rw-r--r--tests/ui/pattern/issue-72574-1.stderr5
-rw-r--r--tests/ui/pattern/issue-72574-2.stderr5
-rw-r--r--tests/ui/pattern/issue-74539.stderr5
-rw-r--r--tests/ui/pattern/issue-74702.stderr5
-rw-r--r--tests/ui/pattern/issue-80186-mut-binding-help-suggestion.stderr5
-rw-r--r--tests/ui/pattern/pat-tuple-field-count-cross.stderr50
-rw-r--r--tests/ui/pattern/pat-tuple-overfield.stderr70
-rw-r--r--tests/ui/pattern/pat-tuple-underfield.stderr15
-rw-r--r--tests/ui/pattern/patkind-ref-binding-issue-114896.stderr5
-rw-r--r--tests/ui/pattern/patkind-ref-binding-issue-122415.stderr5
-rw-r--r--tests/ui/pattern/pattern-bad-ref-box-order.stderr5
-rw-r--r--tests/ui/pattern/pattern-error-continue.stderr10
-rw-r--r--tests/ui/pattern/range-pattern-meant-to-be-slice-rest-pattern.stderr15
-rw-r--r--tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/feature-gate-ref_pat_eat_one_layer_2024.stderr25
-rw-r--r--tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/mut-ref-mut.classic2024.stderr5
-rw-r--r--tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/pattern-errors.classic2024.stderr50
-rw-r--r--tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/pattern-errors.stable2021.stderr5
-rw-r--r--tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/pattern-errors.structural2024.stderr85
-rw-r--r--tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/ref-binding-on-inh-ref-errors.classic2024.stderr5
-rw-r--r--tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/ref_pat_eat_one_layer_2021_fail.stderr25
-rw-r--r--tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/well-typed-edition-2024.stable2021.stderr25
-rw-r--r--tests/ui/pattern/slice-pattern-refutable.stderr15
-rw-r--r--tests/ui/pattern/slice-patterns-ambiguity.stderr15
-rw-r--r--tests/ui/pattern/usefulness/doc-hidden-fields.stderr45
-rw-r--r--tests/ui/pattern/usefulness/stable-gated-fields.stderr15
-rw-r--r--tests/ui/pattern/usefulness/unstable-gated-fields.stderr30
-rw-r--r--tests/ui/pptypedef.stderr10
-rw-r--r--tests/ui/privacy/issue-75907.stderr5
-rw-r--r--tests/ui/privacy/privacy-in-paths.stderr5
-rw-r--r--tests/ui/privacy/privacy-ns1.stderr15
-rw-r--r--tests/ui/privacy/privacy-ns2.stderr10
-rw-r--r--tests/ui/privacy/privacy1.stderr10
-rw-r--r--tests/ui/privacy/privacy5.stderr50
-rw-r--r--tests/ui/privacy/sealed-traits/re-exported-trait.stderr5
-rw-r--r--tests/ui/privacy/suggest-box-new.stderr112
-rw-r--r--tests/ui/privacy/suggest-making-field-public.stderr10
-rw-r--r--tests/ui/privacy/sysroot-private.default.stderr5
-rw-r--r--tests/ui/privacy/sysroot-private.rustc_private_enabled.stderr5
-rw-r--r--tests/ui/proc-macro/disappearing-resolution.stderr5
-rw-r--r--tests/ui/proc-macro/issue-66286.stderr5
-rw-r--r--tests/ui/proc-macro/issue-86781-bad-inner-doc.stderr5
-rw-r--r--tests/ui/pub/pub-ident-fn-or-struct.stderr5
-rw-r--r--tests/ui/pub/pub-restricted.stderr25
-rw-r--r--tests/ui/qualified/qualified-path-params-2.stderr5
-rw-r--r--tests/ui/regions/region-object-lifetime-in-coercion.stderr20
-rw-r--r--tests/ui/regions/regions-close-object-into-object-2.stderr10
-rw-r--r--tests/ui/regions/regions-close-object-into-object-4.stderr10
-rw-r--r--tests/ui/regions/regions-proc-bound-capture.stderr10
-rw-r--r--tests/ui/repeat-expr/repeat_count.stderr10
-rw-r--r--tests/ui/repeat-expr/typo-in-repeat-expr-issue-80173.stderr35
-rw-r--r--tests/ui/resolve/const-with-typo-in-pattern-binding.stderr15
-rw-r--r--tests/ui/resolve/issue-100365.stderr20
-rw-r--r--tests/ui/resolve/issue-101749.stderr5
-rw-r--r--tests/ui/resolve/issue-103202.stderr5
-rw-r--r--tests/ui/resolve/issue-103474.stderr5
-rw-r--r--tests/ui/resolve/issue-112472-multi-generics-suggestion.stderr10
-rw-r--r--tests/ui/resolve/issue-18252.stderr5
-rw-r--r--tests/ui/resolve/issue-22692.stderr40
-rw-r--r--tests/ui/resolve/issue-35675.stderr10
-rw-r--r--tests/ui/resolve/issue-3907.stderr3
-rw-r--r--tests/ui/resolve/issue-39226.stderr10
-rw-r--r--tests/ui/resolve/issue-42944.stderr5
-rw-r--r--tests/ui/resolve/issue-5035.stderr8
-rw-r--r--tests/ui/resolve/issue-5099.stderr15
-rw-r--r--tests/ui/resolve/issue-55673.stderr15
-rw-r--r--tests/ui/resolve/issue-73427.stderr60
-rw-r--r--tests/ui/resolve/privacy-enum-ctor.stderr55
-rw-r--r--tests/ui/resolve/privacy-struct-ctor.stderr10
-rw-r--r--tests/ui/resolve/resolve-conflict-extern-crate-vs-extern-crate.stderr3
-rw-r--r--tests/ui/resolve/resolve-conflict-import-vs-extern-crate.stderr5
-rw-r--r--tests/ui/resolve/resolve-inconsistent-names.stderr10
-rw-r--r--tests/ui/resolve/resolve-issue-135614-assoc-const.import_trait_associated_functions.stderr5
-rw-r--r--tests/ui/resolve/resolve-issue-135614-assoc-const.normal.stderr5
-rw-r--r--tests/ui/resolve/resolve-variant-assoc-item.stderr10
-rw-r--r--tests/ui/resolve/suggest-path-for-tuple-struct.stderr10
-rw-r--r--tests/ui/resolve/suggest-path-instead-of-mod-dot-item.stderr50
-rw-r--r--tests/ui/resolve/typo-suggestion-for-variable-with-name-similar-to-struct-field.stderr25
-rw-r--r--tests/ui/resolve/typo-suggestion-mistyped-in-path.stderr10
-rw-r--r--tests/ui/resolve/unboxed-closure-sugar-nonexistent-trait.stderr3
-rw-r--r--tests/ui/rfcs/rfc-2008-non-exhaustive/struct.stderr15
-rw-r--r--tests/ui/rfcs/rfc-2008-non-exhaustive/variant.stderr10
-rw-r--r--tests/ui/rfcs/rfc-2126-extern-absolute-paths/not-allowed.stderr5
-rw-r--r--tests/ui/rmeta/rmeta_meta_main.stderr5
-rw-r--r--tests/ui/rust-2018/remove-extern-crate.stderr10
-rw-r--r--tests/ui/rust-2018/trait-import-suggestions.stderr20
-rw-r--r--tests/ui/rust-2021/future-prelude-collision-shadow.stderr5
-rw-r--r--tests/ui/rust-2021/ice-return-unsized-can-impl-2.stderr10
-rw-r--r--tests/ui/rust-2021/ice-return-unsized-can-impl.stderr5
-rw-r--r--tests/ui/rust-2021/ice-unsized-fn-params-2.stderr5
-rw-r--r--tests/ui/rust-2021/ice-unsized-fn-params.stderr10
-rw-r--r--tests/ui/self/arbitrary_self_type_mut_difference.stderr10
-rw-r--r--tests/ui/self/arbitrary_self_types_not_allow_call_with_no_deref.stderr10
-rw-r--r--tests/ui/self/self-infer.stderr10
-rw-r--r--tests/ui/simd/portable-intrinsics-arent-exposed.stderr5
-rw-r--r--tests/ui/span/issue-35987.stderr10
-rw-r--r--tests/ui/span/issue-37767.stderr30
-rw-r--r--tests/ui/span/issue-81800.stderr5
-rw-r--r--tests/ui/span/missing-unit-argument.stderr30
-rw-r--r--tests/ui/stability-attribute/const-stability-attribute-implies-using-stable.stderr5
-rw-r--r--tests/ui/stability-attribute/const-stability-attribute-implies-using-unstable.stderr5
-rw-r--r--tests/ui/stability-attribute/stability-attribute-implies-using-stable.stderr5
-rw-r--r--tests/ui/stability-attribute/stability-attribute-implies-using-unstable.stderr5
-rw-r--r--tests/ui/static/static-reference-to-fn-1.stderr5
-rw-r--r--tests/ui/statics/issue-15261.stderr5
-rw-r--r--tests/ui/statics/static-mut-shared-parens.stderr10
-rw-r--r--tests/ui/statics/static-mut-xc.stderr10
-rw-r--r--tests/ui/statics/static-recursive.stderr5
-rw-r--r--tests/ui/stdlib-unit-tests/atomic-from-mut-not-available.alignment_mismatch.stderr5
-rw-r--r--tests/ui/str/str-as-char.stderr5
-rw-r--r--tests/ui/structs-enums/issue-103869.stderr5
-rw-r--r--tests/ui/structs-enums/struct-enum-ignoring-field-with-underscore.stderr5
-rw-r--r--tests/ui/structs/default-field-values/non-exhaustive-ctor.disabled.stderr5
-rw-r--r--tests/ui/structs/default-field-values/non-exhaustive-ctor.enabled.stderr5
-rw-r--r--tests/ui/structs/struct-field-cfg.stderr15
-rw-r--r--tests/ui/structs/struct-fields-hints-no-dupe.stderr5
-rw-r--r--tests/ui/structs/struct-fields-hints.stderr5
-rw-r--r--tests/ui/structs/struct-fields-typo.stderr5
-rw-r--r--tests/ui/structs/struct-pat-derived-error.stderr20
-rw-r--r--tests/ui/structs/struct-path-self-type-mismatch.stderr5
-rw-r--r--tests/ui/structs/struct-tuple-field-names.stderr25
-rw-r--r--tests/ui/structs/suggest-private-fields.stderr15
-rw-r--r--tests/ui/structs/suggest-replacing-field-when-specifying-same-type.stderr60
-rw-r--r--tests/ui/suggestions/ambiguous-assoc-type-path-suggest-similar-item.stderr60
-rw-r--r--tests/ui/suggestions/args-instead-of-tuple-errors.stderr5
-rw-r--r--tests/ui/suggestions/args-instead-of-tuple.stderr5
-rw-r--r--tests/ui/suggestions/assoc-const-as-field.stderr5
-rw-r--r--tests/ui/suggestions/assoc-ct-for-assoc-method.stderr10
-rw-r--r--tests/ui/suggestions/bad-hex-float-lit.stderr30
-rw-r--r--tests/ui/suggestions/bad-infer-in-trait-impl.stderr5
-rw-r--r--tests/ui/suggestions/bool_typo_err_suggest.stderr10
-rw-r--r--tests/ui/suggestions/bound-suggestions.stderr5
-rw-r--r--tests/ui/suggestions/const-pat-non-exaustive-let-new-var.stderr5
-rw-r--r--tests/ui/suggestions/crate-or-module-typo.stderr15
-rw-r--r--tests/ui/suggestions/deref-path-method.stderr5
-rw-r--r--tests/ui/suggestions/dont-suggest-try_into-in-macros.stderr5
-rw-r--r--tests/ui/suggestions/dyn-incompatible-trait-should-use-self-2021-without-dyn.stderr30
-rw-r--r--tests/ui/suggestions/dyn-incompatible-trait-should-use-self-2021.stderr10
-rw-r--r--tests/ui/suggestions/dyn-incompatible-trait-should-use-self.stderr10
-rw-r--r--tests/ui/suggestions/dyn-incompatible-trait-should-use-where-sized.stderr10
-rw-r--r--tests/ui/suggestions/field-access.stderr20
-rw-r--r--tests/ui/suggestions/fn-to-method.normal.stderr5
-rw-r--r--tests/ui/suggestions/for-loop-missing-in.stderr5
-rw-r--r--tests/ui/suggestions/ice-unwrap-probe-many-result-125876.stderr5
-rw-r--r--tests/ui/suggestions/imm-ref-trait-object-literal.stderr5
-rw-r--r--tests/ui/suggestions/impl-trait-missing-lifetime-gated.stderr50
-rw-r--r--tests/ui/suggestions/impl-trait-missing-lifetime.stderr20
-rw-r--r--tests/ui/suggestions/impl-trait-with-missing-bounds.stderr30
-rw-r--r--tests/ui/suggestions/incorrect-variant-literal.svg918
-rw-r--r--tests/ui/suggestions/issue-101465.stderr5
-rw-r--r--tests/ui/suggestions/issue-102972.stderr10
-rw-r--r--tests/ui/suggestions/issue-109291.stderr5
-rw-r--r--tests/ui/suggestions/issue-79843-impl-trait-with-missing-bounds-on-async-fn.stderr10
-rw-r--r--tests/ui/suggestions/issue-84592.stderr5
-rw-r--r--tests/ui/suggestions/issue-84700.stderr5
-rw-r--r--tests/ui/suggestions/issue-89064.stderr5
-rw-r--r--tests/ui/suggestions/issue-89640.stderr5
-rw-r--r--tests/ui/suggestions/issue-90974.stderr5
-rw-r--r--tests/ui/suggestions/issue-94171.stderr5
-rw-r--r--tests/ui/suggestions/js-style-comparison-op.stderr10
-rw-r--r--tests/ui/suggestions/lifetimes/issue-105544.stderr20
-rw-r--r--tests/ui/suggestions/lifetimes/missing-lifetimes-in-signature.stderr15
-rw-r--r--tests/ui/suggestions/lifetimes/type-param-missing-lifetime.stderr10
-rw-r--r--tests/ui/suggestions/missing-impl-trait-block-but-not-ascii.stderr5
-rw-r--r--tests/ui/suggestions/move-generic-to-trait-in-method-with-params.stderr5
-rw-r--r--tests/ui/suggestions/multibyte-escapes.stderr10
-rw-r--r--tests/ui/suggestions/nested-non-tuple-tuple-struct.stderr40
-rw-r--r--tests/ui/suggestions/parenthesized-deref-suggestion.stderr5
-rw-r--r--tests/ui/suggestions/partialeq_suggest_swap.stderr5
-rw-r--r--tests/ui/suggestions/range-index-instead-of-colon.stderr5
-rw-r--r--tests/ui/suggestions/raw-byte-string-prefix.stderr5
-rw-r--r--tests/ui/suggestions/recover-missing-turbofish-surrounding-angle-braket.stderr15
-rw-r--r--tests/ui/suggestions/shadowed-lplace-method-2.stderr5
-rw-r--r--tests/ui/suggestions/shadowed-lplace-method.stderr5
-rw-r--r--tests/ui/suggestions/silenced-binding-typo.stderr5
-rw-r--r--tests/ui/suggestions/struct-field-type-including-single-colon.stderr10
-rw-r--r--tests/ui/suggestions/suggest-blanket-impl-local-trait.stderr25
-rw-r--r--tests/ui/suggestions/suggest-change-mut.stderr5
-rw-r--r--tests/ui/suggestions/suggest-closure-return-type-1.stderr5
-rw-r--r--tests/ui/suggestions/suggest-deref-in-match-issue-132784.stderr80
-rw-r--r--tests/ui/suggestions/suggest-field-through-deref.stderr20
-rw-r--r--tests/ui/suggestions/suggest-let-and-typo-issue-132483.stderr5
-rw-r--r--tests/ui/suggestions/suggest-let-for-assignment.stderr10
-rw-r--r--tests/ui/suggestions/suggest-methods.stderr15
-rw-r--r--tests/ui/suggestions/suggest-move-types.stderr40
-rw-r--r--tests/ui/suggestions/suggest-null-ptr.stderr20
-rw-r--r--tests/ui/suggestions/suggest-slice-swap.stderr5
-rw-r--r--tests/ui/suggestions/suggest-swapping-self-ty-and-trait-edition-2021.stderr15
-rw-r--r--tests/ui/suggestions/suggest-swapping-self-ty-and-trait.stderr15
-rw-r--r--tests/ui/suggestions/suggest-trait-in-ufcs-in-hrtb.stderr10
-rw-r--r--tests/ui/suggestions/suggest-tryinto-edition-change.stderr10
-rw-r--r--tests/ui/suggestions/suggest-using-chars.stderr15
-rw-r--r--tests/ui/suggestions/suggest-variants.stderr20
-rw-r--r--tests/ui/suggestions/suggest_print_over_printf.stderr5
-rw-r--r--tests/ui/suggestions/type-ascription-instead-of-path-2.stderr5
-rw-r--r--tests/ui/suggestions/type-ascription-instead-of-path-in-type.stderr5
-rw-r--r--tests/ui/suggestions/type-mismatch-byte-literal.stderr15
-rw-r--r--tests/ui/suggestions/type-mismatch-struct-field-shorthand-2.stderr5
-rw-r--r--tests/ui/suggestions/unnamable-types.stderr5
-rw-r--r--tests/ui/suggestions/unnecessary_dot_for_floating_point_literal.stderr15
-rw-r--r--tests/ui/test-attrs/inaccessible-test-modules.stderr5
-rw-r--r--tests/ui/test-attrs/issue-109816.stderr3
-rw-r--r--tests/ui/test-attrs/test-attr-non-associated-functions.stderr6
-rw-r--r--tests/ui/test-attrs/test-on-not-fn.stderr60
-rw-r--r--tests/ui/trait-bounds/argument-with-unnecessary-method-call.stderr5
-rw-r--r--tests/ui/traits/alias/ambiguous.stderr10
-rw-r--r--tests/ui/traits/alias/dont-elaborate-non-self.stderr5
-rw-r--r--tests/ui/traits/alias/self-in-const-generics.stderr5
-rw-r--r--tests/ui/traits/alias/self-in-generics.stderr5
-rw-r--r--tests/ui/traits/alias/suggest-trait-alias-instead-of-type.stderr3
-rw-r--r--tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.stderr40
-rw-r--r--tests/ui/traits/bound/not-on-bare-trait-2021.stderr10
-rw-r--r--tests/ui/traits/bound/not-on-bare-trait.stderr5
-rw-r--r--tests/ui/traits/bound/not-on-struct.stderr5
-rw-r--r--tests/ui/traits/const-traits/eval-bad-signature.stderr5
-rw-r--r--tests/ui/traits/const-traits/ice-119717-constant-lifetime.stderr5
-rw-r--r--tests/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.stderr5
-rw-r--r--tests/ui/traits/issue-28576.stderr5
-rw-r--r--tests/ui/traits/issue-35869.stderr20
-rw-r--r--tests/ui/traits/issue-50480.stderr5
-rw-r--r--tests/ui/traits/issue-77982.stderr5
-rw-r--r--tests/ui/traits/issue-78372.stderr5
-rw-r--r--tests/ui/traits/item-privacy.stderr20
-rw-r--r--tests/ui/traits/method-argument-mismatch-variance-ice-119867.stderr5
-rw-r--r--tests/ui/traits/multidispatch-bad.stderr5
-rw-r--r--tests/ui/traits/next-solver/diagnostics/coerce-in-may-coerce.stderr5
-rw-r--r--tests/ui/traits/non_lifetime_binders/missing-assoc-item.stderr5
-rw-r--r--tests/ui/traits/non_lifetime_binders/type-match-with-late-bound.stderr15
-rw-r--r--tests/ui/traits/not-suggest-non-existing-fully-qualified-path.stderr5
-rw-r--r--tests/ui/traits/suggest-fully-qualified-closure.stderr5
-rw-r--r--tests/ui/traits/suggest-fully-qualified-path-with-adjustment.stderr45
-rw-r--r--tests/ui/traits/suggest-fully-qualified-path-without-adjustment.stderr55
-rw-r--r--tests/ui/traits/trait-upcasting/subtrait-method.stderr25
-rw-r--r--tests/ui/traits/wrong-mul-method-signature.stderr15
-rw-r--r--tests/ui/transmutability/assoc-bound.stderr5
-rw-r--r--tests/ui/tuple/tuple-index-not-tuple.stderr5
-rw-r--r--tests/ui/tuple/tuple-index-out-of-bounds.stderr5
-rw-r--r--tests/ui/type-alias-enum-variants/enum-variant-generic-args.stderr30
-rw-r--r--tests/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.stderr5
-rw-r--r--tests/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.stderr5
-rw-r--r--tests/ui/type-alias-impl-trait/unnameable_type.stderr5
-rw-r--r--tests/ui/type-alias/unresolved-assoc-ty-suggest-trait.eager.stderr5
-rw-r--r--tests/ui/type-alias/unresolved-assoc-ty-suggest-trait.lazy.stderr5
-rw-r--r--tests/ui/type/issue-100584.stderr10
-rw-r--r--tests/ui/type/issue-103271.stderr10
-rw-r--r--tests/ui/type/pattern_types/pattern_type_mismatch.stderr10
-rw-r--r--tests/ui/type/type-ascription-instead-of-statement-end.stderr5
-rw-r--r--tests/ui/type/type-ascription-with-fn-call.stderr5
-rw-r--r--tests/ui/type/type-check/issue-41314.stderr5
-rw-r--r--tests/ui/type/type-check/point-at-inference-3.stderr5
-rw-r--r--tests/ui/type/type-check/point-at-inference-4.stderr10
-rw-r--r--tests/ui/type/type-dependent-def-issue-49241.stderr5
-rw-r--r--tests/ui/type/wrong-call-return-type-due-to-generic-arg.stderr20
-rw-r--r--tests/ui/typeck/attempted-access-non-fatal.stderr20
-rw-r--r--tests/ui/typeck/check-args-on-fn-err-2.stderr5
-rw-r--r--tests/ui/typeck/cyclic_type_ice.stderr5
-rw-r--r--tests/ui/typeck/deref-multi.stderr10
-rw-r--r--tests/ui/typeck/ice-self-mismatch-const-generics.stderr10
-rw-r--r--tests/ui/typeck/ice-unexpected-region-123863.stderr5
-rw-r--r--tests/ui/typeck/issue-104582.stderr10
-rw-r--r--tests/ui/typeck/issue-110052.stderr10
-rw-r--r--tests/ui/typeck/issue-112252-ptr-arithmetics-help.stderr20
-rw-r--r--tests/ui/typeck/issue-114529-illegal-break-with-value.stderr17
-rw-r--r--tests/ui/typeck/issue-29181.stderr5
-rw-r--r--tests/ui/typeck/issue-53712.stderr5
-rw-r--r--tests/ui/typeck/issue-87872-missing-inaccessible-field-pattern.stderr15
-rw-r--r--tests/ui/typeck/method-chain-gats.stderr5
-rw-r--r--tests/ui/typeck/mismatched-map-under-self.stderr5
-rw-r--r--tests/ui/typeck/ptr-null-mutability-suggestions.stderr5
-rw-r--r--tests/ui/typeck/remove-semi-but-confused-char.stderr5
-rw-r--r--tests/ui/typeck/struct-enum-wrong-args.stderr20
-rw-r--r--tests/ui/typeck/suggest-arg-comma-delete-ice.stderr5
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_item.stderr165
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_item_help.stderr20
-rw-r--r--tests/ui/typeof/issue-100183.stderr5
-rw-r--r--tests/ui/typeof/issue-29184.stderr5
-rw-r--r--tests/ui/typeof/issue-42060.stderr10
-rw-r--r--tests/ui/typeof/type_mismatch.stderr10
-rw-r--r--tests/ui/ufcs/bad-builder.stderr5
-rw-r--r--tests/ui/ufcs/ufcs-explicit-self-bad.stderr5
-rw-r--r--tests/ui/ufcs/ufcs-partially-resolved.stderr17
-rw-r--r--tests/ui/ufcs/ufcs-qpath-self-mismatch.stderr10
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.stderr5
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-type-mismatch.stderr20
-rw-r--r--tests/ui/underscore-lifetime/in-fn-return-illegal.stderr5
-rw-r--r--tests/ui/underscore-lifetime/underscore-lifetime-binders.stderr15
-rw-r--r--tests/ui/underscore-lifetime/underscore-lifetime-elison-mismatch.stderr5
-rw-r--r--tests/ui/union/union-suggest-field.stderr10
-rw-r--r--tests/ui/unresolved/unresolved-candidates.stderr5
-rw-r--r--tests/ui/unresolved/unresolved-import-avoid-suggesting-global-path.stderr10
-rw-r--r--tests/ui/unresolved/unresolved-import-suggest-disambiguated-crate-name.stderr5
-rw-r--r--tests/ui/unsigned-literal-negation.stderr15
-rw-r--r--tests/ui/unsized/box-instead-of-dyn-fn.stderr5
-rw-r--r--tests/ui/unsized/issue-91803.stderr5
-rw-r--r--tests/ui/variants/variant-used-as-type.stderr20
-rw-r--r--tests/ui/wf/ice-hir-wf-check-anon-const-issue-122199.stderr5
1017 files changed, 10364 insertions, 6943 deletions
diff --git a/compiler/rustc_errors/src/emitter.rs b/compiler/rustc_errors/src/emitter.rs
index 15cf285e7ff..4824dc098ad 100644
--- a/compiler/rustc_errors/src/emitter.rs
+++ b/compiler/rustc_errors/src/emitter.rs
@@ -1982,7 +1982,7 @@ impl HumanEmitter {
         {
             debug!(?complete, ?parts, ?highlights);
 
-            let has_deletion = parts.iter().any(|p| p.is_deletion(sm));
+            let has_deletion = parts.iter().any(|p| p.is_deletion(sm) || p.is_replacement(sm));
             let is_multiline = complete.lines().count() > 1;
 
             if i == 0 {
diff --git a/src/tools/clippy/tests/ui-toml/dbg_macro/dbg_macro.stderr b/src/tools/clippy/tests/ui-toml/dbg_macro/dbg_macro.stderr
index 129fab5ff97..f0d7104a57d 100644
--- a/src/tools/clippy/tests/ui-toml/dbg_macro/dbg_macro.stderr
+++ b/src/tools/clippy/tests/ui-toml/dbg_macro/dbg_macro.stderr
@@ -8,8 +8,9 @@ LL |     if let Some(n) = dbg!(n.checked_sub(4)) { n } else { n }
    = help: to override `-D warnings` add `#[allow(clippy::dbg_macro)]`
 help: remove the invocation before committing it to a version control system
    |
-LL |     if let Some(n) = n.checked_sub(4) { n } else { n }
-   |                      ~~~~~~~~~~~~~~~~
+LL -     if let Some(n) = dbg!(n.checked_sub(4)) { n } else { n }
+LL +     if let Some(n) = n.checked_sub(4) { n } else { n }
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui-toml/dbg_macro/dbg_macro.rs:10:8
@@ -19,8 +20,9 @@ LL |     if dbg!(n <= 1) {
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     if n <= 1 {
-   |        ~~~~~~
+LL -     if dbg!(n <= 1) {
+LL +     if n <= 1 {
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui-toml/dbg_macro/dbg_macro.rs:11:9
@@ -30,7 +32,8 @@ LL |         dbg!(1)
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |         1
+LL -         dbg!(1)
+LL +         1
    |
 
 error: the `dbg!` macro is intended as a debugging tool
@@ -41,7 +44,8 @@ LL |         dbg!(n * factorial(n - 1))
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |         n * factorial(n - 1)
+LL -         dbg!(n * factorial(n - 1))
+LL +         n * factorial(n - 1)
    |
 
 error: the `dbg!` macro is intended as a debugging tool
@@ -52,8 +56,9 @@ LL |     dbg!(42);
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     42;
-   |     ~~
+LL -     dbg!(42);
+LL +     42;
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui-toml/dbg_macro/dbg_macro.rs:19:14
@@ -63,8 +68,9 @@ LL |     foo(3) + dbg!(factorial(4));
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     foo(3) + factorial(4);
-   |              ~~~~~~~~~~~~
+LL -     foo(3) + dbg!(factorial(4));
+LL +     foo(3) + factorial(4);
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui-toml/dbg_macro/dbg_macro.rs:20:5
@@ -74,8 +80,9 @@ LL |     dbg!(1, 2, 3, 4, 5);
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     (1, 2, 3, 4, 5);
-   |     ~~~~~~~~~~~~~~~
+LL -     dbg!(1, 2, 3, 4, 5);
+LL +     (1, 2, 3, 4, 5);
+   |
 
 error: aborting due to 7 previous errors
 
diff --git a/src/tools/clippy/tests/ui-toml/doc_valid_idents_append/doc_markdown.stderr b/src/tools/clippy/tests/ui-toml/doc_valid_idents_append/doc_markdown.stderr
index a6e0ad0f804..8ba237ee75c 100644
--- a/src/tools/clippy/tests/ui-toml/doc_valid_idents_append/doc_markdown.stderr
+++ b/src/tools/clippy/tests/ui-toml/doc_valid_idents_append/doc_markdown.stderr
@@ -8,8 +8,9 @@ LL | /// TestItemThingyOfCoolness might sound cool but is not on the list and sh
    = help: to override `-D warnings` add `#[allow(clippy::doc_markdown)]`
 help: try
    |
-LL | /// `TestItemThingyOfCoolness` might sound cool but is not on the list and should be linted.
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// TestItemThingyOfCoolness might sound cool but is not on the list and should be linted.
+LL + /// `TestItemThingyOfCoolness` might sound cool but is not on the list and should be linted.
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/src/tools/clippy/tests/ui-toml/doc_valid_idents_replace/doc_markdown.stderr b/src/tools/clippy/tests/ui-toml/doc_valid_idents_replace/doc_markdown.stderr
index d4d8a579798..9f2d7cf54e0 100644
--- a/src/tools/clippy/tests/ui-toml/doc_valid_idents_replace/doc_markdown.stderr
+++ b/src/tools/clippy/tests/ui-toml/doc_valid_idents_replace/doc_markdown.stderr
@@ -8,8 +8,9 @@ LL | /// OAuth and LaTeX are inside Clippy's default list.
    = help: to override `-D warnings` add `#[allow(clippy::doc_markdown)]`
 help: try
    |
-LL | /// `OAuth` and LaTeX are inside Clippy's default list.
-   |     ~~~~~~~
+LL - /// OAuth and LaTeX are inside Clippy's default list.
+LL + /// `OAuth` and LaTeX are inside Clippy's default list.
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui-toml/doc_valid_idents_replace/doc_markdown.rs:6:15
@@ -19,8 +20,9 @@ LL | /// OAuth and LaTeX are inside Clippy's default list.
    |
 help: try
    |
-LL | /// OAuth and `LaTeX` are inside Clippy's default list.
-   |               ~~~~~~~
+LL - /// OAuth and LaTeX are inside Clippy's default list.
+LL + /// OAuth and `LaTeX` are inside Clippy's default list.
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui-toml/doc_valid_idents_replace/doc_markdown.rs:9:5
@@ -30,8 +32,9 @@ LL | /// TestItemThingyOfCoolness might sound cool but is not on the list and sh
    |
 help: try
    |
-LL | /// `TestItemThingyOfCoolness` might sound cool but is not on the list and should be linted.
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// TestItemThingyOfCoolness might sound cool but is not on the list and should be linted.
+LL + /// `TestItemThingyOfCoolness` might sound cool but is not on the list and should be linted.
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/src/tools/clippy/tests/ui-toml/enum_variant_size/enum_variant_size.stderr b/src/tools/clippy/tests/ui-toml/enum_variant_size/enum_variant_size.stderr
index 8f7ebbd9546..020b3cc7878 100644
--- a/src/tools/clippy/tests/ui-toml/enum_variant_size/enum_variant_size.stderr
+++ b/src/tools/clippy/tests/ui-toml/enum_variant_size/enum_variant_size.stderr
@@ -14,8 +14,9 @@ LL | | }
    = help: to override `-D warnings` add `#[allow(clippy::large_enum_variant)]`
 help: consider boxing the large fields to reduce the total size of the enum
    |
-LL |     B(Box<[u8; 501]>),
-   |       ~~~~~~~~~~~~~~
+LL -     B([u8; 501]),
+LL +     B(Box<[u8; 501]>),
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/src/tools/clippy/tests/ui-toml/renamed_function_params/renamed_function_params.default.stderr b/src/tools/clippy/tests/ui-toml/renamed_function_params/renamed_function_params.default.stderr
index 2d700f60759..de9f17520ff 100644
--- a/src/tools/clippy/tests/ui-toml/renamed_function_params/renamed_function_params.default.stderr
+++ b/src/tools/clippy/tests/ui-toml/renamed_function_params/renamed_function_params.default.stderr
@@ -33,8 +33,9 @@ LL |     fn hash_slice<H: Hasher>(date: &[Self], states: &mut H) {
    |
 help: consider using the default names
    |
-LL |     fn hash_slice<H: Hasher>(data: &[Self], state: &mut H) {
-   |                              ~~~~           ~~~~~
+LL -     fn hash_slice<H: Hasher>(date: &[Self], states: &mut H) {
+LL +     fn hash_slice<H: Hasher>(data: &[Self], state: &mut H) {
+   |
 
 error: renamed function parameter of trait impl
   --> tests/ui-toml/renamed_function_params/renamed_function_params.rs:80:18
diff --git a/src/tools/clippy/tests/ui-toml/renamed_function_params/renamed_function_params.extend.stderr b/src/tools/clippy/tests/ui-toml/renamed_function_params/renamed_function_params.extend.stderr
index e57554fa613..bdc4eeaad80 100644
--- a/src/tools/clippy/tests/ui-toml/renamed_function_params/renamed_function_params.extend.stderr
+++ b/src/tools/clippy/tests/ui-toml/renamed_function_params/renamed_function_params.extend.stderr
@@ -27,8 +27,9 @@ LL |     fn hash_slice<H: Hasher>(date: &[Self], states: &mut H) {
    |
 help: consider using the default names
    |
-LL |     fn hash_slice<H: Hasher>(data: &[Self], state: &mut H) {
-   |                              ~~~~           ~~~~~
+LL -     fn hash_slice<H: Hasher>(date: &[Self], states: &mut H) {
+LL +     fn hash_slice<H: Hasher>(data: &[Self], state: &mut H) {
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/src/tools/clippy/tests/ui-toml/unwrap_used/unwrap_used.stderr b/src/tools/clippy/tests/ui-toml/unwrap_used/unwrap_used.stderr
index b58ce9b8af3..2aff276a4a1 100644
--- a/src/tools/clippy/tests/ui-toml/unwrap_used/unwrap_used.stderr
+++ b/src/tools/clippy/tests/ui-toml/unwrap_used/unwrap_used.stderr
@@ -8,8 +8,9 @@ LL |         let _ = boxed_slice.get(1).unwrap();
    = help: to override `-D warnings` add `#[allow(clippy::get_unwrap)]`
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = &boxed_slice[1];
-   |                 ~~~~~~~~~~~~~~~
+LL -         let _ = boxed_slice.get(1).unwrap();
+LL +         let _ = &boxed_slice[1];
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui-toml/unwrap_used/unwrap_used.rs:38:17
@@ -30,8 +31,9 @@ LL |         let _ = some_slice.get(0).unwrap();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = &some_slice[0];
-   |                 ~~~~~~~~~~~~~~
+LL -         let _ = some_slice.get(0).unwrap();
+LL +         let _ = &some_slice[0];
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui-toml/unwrap_used/unwrap_used.rs:39:17
@@ -50,8 +52,9 @@ LL |         let _ = some_vec.get(0).unwrap();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = &some_vec[0];
-   |                 ~~~~~~~~~~~~
+LL -         let _ = some_vec.get(0).unwrap();
+LL +         let _ = &some_vec[0];
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui-toml/unwrap_used/unwrap_used.rs:40:17
@@ -70,8 +73,9 @@ LL |         let _ = some_vecdeque.get(0).unwrap();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = &some_vecdeque[0];
-   |                 ~~~~~~~~~~~~~~~~~
+LL -         let _ = some_vecdeque.get(0).unwrap();
+LL +         let _ = &some_vecdeque[0];
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui-toml/unwrap_used/unwrap_used.rs:41:17
@@ -90,8 +94,9 @@ LL |         let _ = some_hashmap.get(&1).unwrap();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = &some_hashmap[&1];
-   |                 ~~~~~~~~~~~~~~~~~
+LL -         let _ = some_hashmap.get(&1).unwrap();
+LL +         let _ = &some_hashmap[&1];
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui-toml/unwrap_used/unwrap_used.rs:42:17
@@ -110,8 +115,9 @@ LL |         let _ = some_btreemap.get(&1).unwrap();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = &some_btreemap[&1];
-   |                 ~~~~~~~~~~~~~~~~~~
+LL -         let _ = some_btreemap.get(&1).unwrap();
+LL +         let _ = &some_btreemap[&1];
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui-toml/unwrap_used/unwrap_used.rs:43:17
@@ -130,8 +136,9 @@ LL |         let _: u8 = *boxed_slice.get(1).unwrap();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _: u8 = boxed_slice[1];
-   |                     ~~~~~~~~~~~~~~
+LL -         let _: u8 = *boxed_slice.get(1).unwrap();
+LL +         let _: u8 = boxed_slice[1];
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui-toml/unwrap_used/unwrap_used.rs:47:22
@@ -150,8 +157,9 @@ LL |         *boxed_slice.get_mut(0).unwrap() = 1;
    |
 help: using `[]` is clearer and more concise
    |
-LL |         boxed_slice[0] = 1;
-   |         ~~~~~~~~~~~~~~
+LL -         *boxed_slice.get_mut(0).unwrap() = 1;
+LL +         boxed_slice[0] = 1;
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui-toml/unwrap_used/unwrap_used.rs:52:10
@@ -170,8 +178,9 @@ LL |         *some_slice.get_mut(0).unwrap() = 1;
    |
 help: using `[]` is clearer and more concise
    |
-LL |         some_slice[0] = 1;
-   |         ~~~~~~~~~~~~~
+LL -         *some_slice.get_mut(0).unwrap() = 1;
+LL +         some_slice[0] = 1;
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui-toml/unwrap_used/unwrap_used.rs:53:10
@@ -190,8 +199,9 @@ LL |         *some_vec.get_mut(0).unwrap() = 1;
    |
 help: using `[]` is clearer and more concise
    |
-LL |         some_vec[0] = 1;
-   |         ~~~~~~~~~~~
+LL -         *some_vec.get_mut(0).unwrap() = 1;
+LL +         some_vec[0] = 1;
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui-toml/unwrap_used/unwrap_used.rs:54:10
@@ -210,8 +220,9 @@ LL |         *some_vecdeque.get_mut(0).unwrap() = 1;
    |
 help: using `[]` is clearer and more concise
    |
-LL |         some_vecdeque[0] = 1;
-   |         ~~~~~~~~~~~~~~~~
+LL -         *some_vecdeque.get_mut(0).unwrap() = 1;
+LL +         some_vecdeque[0] = 1;
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui-toml/unwrap_used/unwrap_used.rs:55:10
@@ -230,8 +241,9 @@ LL |         let _ = some_vec.get(0..1).unwrap().to_vec();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = some_vec[0..1].to_vec();
-   |                 ~~~~~~~~~~~~~~
+LL -         let _ = some_vec.get(0..1).unwrap().to_vec();
+LL +         let _ = some_vec[0..1].to_vec();
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui-toml/unwrap_used/unwrap_used.rs:67:17
@@ -250,8 +262,9 @@ LL |         let _ = some_vec.get_mut(0..1).unwrap().to_vec();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = some_vec[0..1].to_vec();
-   |                 ~~~~~~~~~~~~~~
+LL -         let _ = some_vec.get_mut(0..1).unwrap().to_vec();
+LL +         let _ = some_vec[0..1].to_vec();
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui-toml/unwrap_used/unwrap_used.rs:68:17
@@ -270,8 +283,9 @@ LL |     let _ = boxed_slice.get(1).unwrap();
    |
 help: using `[]` is clearer and more concise
    |
-LL |     let _ = &boxed_slice[1];
-   |             ~~~~~~~~~~~~~~~
+LL -     let _ = boxed_slice.get(1).unwrap();
+LL +     let _ = &boxed_slice[1];
+   |
 
 error: called `.get().unwrap()` on a slice
   --> tests/ui-toml/unwrap_used/unwrap_used.rs:94:17
@@ -281,8 +295,9 @@ LL |         let _ = Box::new([0]).get(1).unwrap();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = &Box::new([0])[1];
-   |                 ~~~~~~~~~~~~~~~~~
+LL -         let _ = Box::new([0]).get(1).unwrap();
+LL +         let _ = &Box::new([0])[1];
+   |
 
 error: aborting due to 28 previous errors
 
diff --git a/src/tools/clippy/tests/ui/assign_ops2.stderr b/src/tools/clippy/tests/ui/assign_ops2.stderr
index ddeba2b2ff8..09b101b216a 100644
--- a/src/tools/clippy/tests/ui/assign_ops2.stderr
+++ b/src/tools/clippy/tests/ui/assign_ops2.stderr
@@ -8,12 +8,14 @@ LL |     a += a + 1;
    = help: to override `-D warnings` add `#[allow(clippy::misrefactored_assign_op)]`
 help: did you mean `a = a + 1` or `a = a + a + 1`? Consider replacing it with
    |
-LL |     a += 1;
-   |     ~~~~~~
+LL -     a += a + 1;
+LL +     a += 1;
+   |
 help: or
    |
-LL |     a = a + a + 1;
-   |     ~~~~~~~~~~~~~
+LL -     a += a + 1;
+LL +     a = a + a + 1;
+   |
 
 error: variable appears on both sides of an assignment operation
   --> tests/ui/assign_ops2.rs:11:5
@@ -23,12 +25,14 @@ LL |     a += 1 + a;
    |
 help: did you mean `a = a + 1` or `a = a + 1 + a`? Consider replacing it with
    |
-LL |     a += 1;
-   |     ~~~~~~
+LL -     a += 1 + a;
+LL +     a += 1;
+   |
 help: or
    |
-LL |     a = a + 1 + a;
-   |     ~~~~~~~~~~~~~
+LL -     a += 1 + a;
+LL +     a = a + 1 + a;
+   |
 
 error: variable appears on both sides of an assignment operation
   --> tests/ui/assign_ops2.rs:13:5
@@ -38,12 +42,14 @@ LL |     a -= a - 1;
    |
 help: did you mean `a = a - 1` or `a = a - (a - 1)`? Consider replacing it with
    |
-LL |     a -= 1;
-   |     ~~~~~~
+LL -     a -= a - 1;
+LL +     a -= 1;
+   |
 help: or
    |
-LL |     a = a - (a - 1);
-   |     ~~~~~~~~~~~~~~~
+LL -     a -= a - 1;
+LL +     a = a - (a - 1);
+   |
 
 error: variable appears on both sides of an assignment operation
   --> tests/ui/assign_ops2.rs:15:5
@@ -53,12 +59,14 @@ LL |     a *= a * 99;
    |
 help: did you mean `a = a * 99` or `a = a * a * 99`? Consider replacing it with
    |
-LL |     a *= 99;
-   |     ~~~~~~~
+LL -     a *= a * 99;
+LL +     a *= 99;
+   |
 help: or
    |
-LL |     a = a * a * 99;
-   |     ~~~~~~~~~~~~~~
+LL -     a *= a * 99;
+LL +     a = a * a * 99;
+   |
 
 error: variable appears on both sides of an assignment operation
   --> tests/ui/assign_ops2.rs:17:5
@@ -68,12 +76,14 @@ LL |     a *= 42 * a;
    |
 help: did you mean `a = a * 42` or `a = a * 42 * a`? Consider replacing it with
    |
-LL |     a *= 42;
-   |     ~~~~~~~
+LL -     a *= 42 * a;
+LL +     a *= 42;
+   |
 help: or
    |
-LL |     a = a * 42 * a;
-   |     ~~~~~~~~~~~~~~
+LL -     a *= 42 * a;
+LL +     a = a * 42 * a;
+   |
 
 error: variable appears on both sides of an assignment operation
   --> tests/ui/assign_ops2.rs:19:5
@@ -83,12 +93,14 @@ LL |     a /= a / 2;
    |
 help: did you mean `a = a / 2` or `a = a / (a / 2)`? Consider replacing it with
    |
-LL |     a /= 2;
-   |     ~~~~~~
+LL -     a /= a / 2;
+LL +     a /= 2;
+   |
 help: or
    |
-LL |     a = a / (a / 2);
-   |     ~~~~~~~~~~~~~~~
+LL -     a /= a / 2;
+LL +     a = a / (a / 2);
+   |
 
 error: variable appears on both sides of an assignment operation
   --> tests/ui/assign_ops2.rs:21:5
@@ -98,12 +110,14 @@ LL |     a %= a % 5;
    |
 help: did you mean `a = a % 5` or `a = a % (a % 5)`? Consider replacing it with
    |
-LL |     a %= 5;
-   |     ~~~~~~
+LL -     a %= a % 5;
+LL +     a %= 5;
+   |
 help: or
    |
-LL |     a = a % (a % 5);
-   |     ~~~~~~~~~~~~~~~
+LL -     a %= a % 5;
+LL +     a = a % (a % 5);
+   |
 
 error: variable appears on both sides of an assignment operation
   --> tests/ui/assign_ops2.rs:23:5
@@ -113,12 +127,14 @@ LL |     a &= a & 1;
    |
 help: did you mean `a = a & 1` or `a = a & a & 1`? Consider replacing it with
    |
-LL |     a &= 1;
-   |     ~~~~~~
+LL -     a &= a & 1;
+LL +     a &= 1;
+   |
 help: or
    |
-LL |     a = a & a & 1;
-   |     ~~~~~~~~~~~~~
+LL -     a &= a & 1;
+LL +     a = a & a & 1;
+   |
 
 error: variable appears on both sides of an assignment operation
   --> tests/ui/assign_ops2.rs:25:5
@@ -128,12 +144,14 @@ LL |     a *= a * a;
    |
 help: did you mean `a = a * a` or `a = a * a * a`? Consider replacing it with
    |
-LL |     a *= a;
-   |     ~~~~~~
+LL -     a *= a * a;
+LL +     a *= a;
+   |
 help: or
    |
-LL |     a = a * a * a;
-   |     ~~~~~~~~~~~~~
+LL -     a *= a * a;
+LL +     a = a * a * a;
+   |
 
 error: manual implementation of an assign operation
   --> tests/ui/assign_ops2.rs:63:5
diff --git a/src/tools/clippy/tests/ui/bind_instead_of_map_multipart.stderr b/src/tools/clippy/tests/ui/bind_instead_of_map_multipart.stderr
index d271381adea..7c5882d4296 100644
--- a/src/tools/clippy/tests/ui/bind_instead_of_map_multipart.stderr
+++ b/src/tools/clippy/tests/ui/bind_instead_of_map_multipart.stderr
@@ -11,8 +11,9 @@ LL | #![deny(clippy::bind_instead_of_map)]
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: use `map` instead
    |
-LL |     let _ = Some("42").map(|s| if s.len() < 42 { 0 } else { s.len() });
-   |                        ~~~                       ~          ~~~~~~~
+LL -     let _ = Some("42").and_then(|s| if s.len() < 42 { Some(0) } else { Some(s.len()) });
+LL +     let _ = Some("42").map(|s| if s.len() < 42 { 0 } else { s.len() });
+   |
 
 error: using `Result.and_then(|x| Ok(y))`, which is more succinctly expressed as `map(|x| y)`
   --> tests/ui/bind_instead_of_map_multipart.rs:8:13
@@ -22,8 +23,9 @@ LL |     let _ = Ok::<_, ()>("42").and_then(|s| if s.len() < 42 { Ok(0) } else {
    |
 help: use `map` instead
    |
-LL |     let _ = Ok::<_, ()>("42").map(|s| if s.len() < 42 { 0 } else { s.len() });
-   |                               ~~~                       ~          ~~~~~~~
+LL -     let _ = Ok::<_, ()>("42").and_then(|s| if s.len() < 42 { Ok(0) } else { Ok(s.len()) });
+LL +     let _ = Ok::<_, ()>("42").map(|s| if s.len() < 42 { 0 } else { s.len() });
+   |
 
 error: using `Result.or_else(|x| Err(y))`, which is more succinctly expressed as `map_err(|x| y)`
   --> tests/ui/bind_instead_of_map_multipart.rs:11:13
@@ -33,8 +35,9 @@ LL |     let _ = Err::<(), _>("42").or_else(|s| if s.len() < 42 { Err(s.len() +
    |
 help: use `map_err` instead
    |
-LL |     let _ = Err::<(), _>("42").map_err(|s| if s.len() < 42 { s.len() + 20 } else { s.len() });
-   |                                ~~~~~~~                       ~~~~~~~~~~~~          ~~~~~~~
+LL -     let _ = Err::<(), _>("42").or_else(|s| if s.len() < 42 { Err(s.len() + 20) } else { Err(s.len()) });
+LL +     let _ = Err::<(), _>("42").map_err(|s| if s.len() < 42 { s.len() + 20 } else { s.len() });
+   |
 
 error: using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`
   --> tests/ui/bind_instead_of_map_multipart.rs:19:5
@@ -83,8 +86,9 @@ LL |     let _ = Some("").and_then(|s| if s.len() == 20 { Some(m!()) } else { So
    |
 help: use `map` instead
    |
-LL |     let _ = Some("").map(|s| if s.len() == 20 { m!() } else { Some(20) });
-   |                      ~~~                        ~~~~          ~~~~~~~~
+LL -     let _ = Some("").and_then(|s| if s.len() == 20 { Some(m!()) } else { Some(Some(20)) });
+LL +     let _ = Some("").map(|s| if s.len() == 20 { m!() } else { Some(20) });
+   |
 
 error: aborting due to 5 previous errors
 
diff --git a/src/tools/clippy/tests/ui/borrow_deref_ref_unfixable.stderr b/src/tools/clippy/tests/ui/borrow_deref_ref_unfixable.stderr
index 7d3a5c84a82..71f43af46c2 100644
--- a/src/tools/clippy/tests/ui/borrow_deref_ref_unfixable.stderr
+++ b/src/tools/clippy/tests/ui/borrow_deref_ref_unfixable.stderr
@@ -8,12 +8,14 @@ LL |         let x: &str = &*s;
    = help: to override `-D warnings` add `#[allow(clippy::borrow_deref_ref)]`
 help: if you would like to reborrow, try removing `&*`
    |
-LL |         let x: &str = s;
-   |                       ~
+LL -         let x: &str = &*s;
+LL +         let x: &str = s;
+   |
 help: if you would like to deref, try using `&**`
    |
-LL |         let x: &str = &**s;
-   |                       ~~~~
+LL -         let x: &str = &*s;
+LL +         let x: &str = &**s;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/src/tools/clippy/tests/ui/cast.stderr b/src/tools/clippy/tests/ui/cast.stderr
index 452482fc88e..901447c738e 100644
--- a/src/tools/clippy/tests/ui/cast.stderr
+++ b/src/tools/clippy/tests/ui/cast.stderr
@@ -81,8 +81,9 @@ LL |     1i32 as i8;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     i8::try_from(1i32);
-   |     ~~~~~~~~~~~~~~~~~~
+LL -     1i32 as i8;
+LL +     i8::try_from(1i32);
+   |
 
 error: casting `i32` to `u8` may truncate the value
   --> tests/ui/cast.rs:52:5
@@ -93,8 +94,9 @@ LL |     1i32 as u8;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     u8::try_from(1i32);
-   |     ~~~~~~~~~~~~~~~~~~
+LL -     1i32 as u8;
+LL +     u8::try_from(1i32);
+   |
 
 error: casting `f64` to `isize` may truncate the value
   --> tests/ui/cast.rs:54:5
@@ -127,8 +129,9 @@ LL |     1f32 as u32 as u16;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     u16::try_from(1f32 as u32);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     1f32 as u32 as u16;
+LL +     u16::try_from(1f32 as u32);
+   |
 
 error: casting `f32` to `u32` may truncate the value
   --> tests/ui/cast.rs:59:5
@@ -153,8 +156,9 @@ LL |         let _x: i8 = 1i32 as _;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |         let _x: i8 = 1i32.try_into();
-   |                      ~~~~~~~~~~~~~~~
+LL -         let _x: i8 = 1i32 as _;
+LL +         let _x: i8 = 1i32.try_into();
+   |
 
 error: casting `f32` to `i32` may truncate the value
   --> tests/ui/cast.rs:66:9
@@ -228,8 +232,9 @@ LL |     1usize as i8;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     i8::try_from(1usize);
-   |     ~~~~~~~~~~~~~~~~~~~~
+LL -     1usize as i8;
+LL +     i8::try_from(1usize);
+   |
 
 error: casting `usize` to `i16` may truncate the value
   --> tests/ui/cast.rs:90:5
@@ -240,8 +245,9 @@ LL |     1usize as i16;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     i16::try_from(1usize);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     1usize as i16;
+LL +     i16::try_from(1usize);
+   |
 
 error: casting `usize` to `i16` may wrap around the value on targets with 16-bit wide pointers
   --> tests/ui/cast.rs:90:5
@@ -261,8 +267,9 @@ LL |     1usize as i32;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     i32::try_from(1usize);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     1usize as i32;
+LL +     i32::try_from(1usize);
+   |
 
 error: casting `usize` to `i32` may wrap around the value on targets with 32-bit wide pointers
   --> tests/ui/cast.rs:95:5
@@ -300,8 +307,9 @@ LL |     1u64 as isize;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     isize::try_from(1u64);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     1u64 as isize;
+LL +     isize::try_from(1u64);
+   |
 
 error: casting `u64` to `isize` may wrap around the value on targets with 64-bit wide pointers
   --> tests/ui/cast.rs:111:5
@@ -360,8 +368,9 @@ LL |     (-99999999999i64).min(1) as i8;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     i8::try_from((-99999999999i64).min(1));
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     (-99999999999i64).min(1) as i8;
+LL +     i8::try_from((-99999999999i64).min(1));
+   |
 
 error: casting `u64` to `u8` may truncate the value
   --> tests/ui/cast.rs:222:5
@@ -372,8 +381,9 @@ LL |     999999u64.clamp(0, 256) as u8;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     u8::try_from(999999u64.clamp(0, 256));
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     999999u64.clamp(0, 256) as u8;
+LL +     u8::try_from(999999u64.clamp(0, 256));
+   |
 
 error: casting `main::E2` to `u8` may truncate the value
   --> tests/ui/cast.rs:245:21
@@ -384,8 +394,9 @@ LL |             let _ = self as u8;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |             let _ = u8::try_from(self);
-   |                     ~~~~~~~~~~~~~~~~~~
+LL -             let _ = self as u8;
+LL +             let _ = u8::try_from(self);
+   |
 
 error: casting `main::E2::B` to `u8` will truncate the value
   --> tests/ui/cast.rs:247:21
@@ -405,8 +416,9 @@ LL |             let _ = self as i8;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |             let _ = i8::try_from(self);
-   |                     ~~~~~~~~~~~~~~~~~~
+LL -             let _ = self as i8;
+LL +             let _ = i8::try_from(self);
+   |
 
 error: casting `main::E5::A` to `i8` will truncate the value
   --> tests/ui/cast.rs:291:21
@@ -423,8 +435,9 @@ LL |             let _ = self as i16;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |             let _ = i16::try_from(self);
-   |                     ~~~~~~~~~~~~~~~~~~~
+LL -             let _ = self as i16;
+LL +             let _ = i16::try_from(self);
+   |
 
 error: casting `main::E7` to `usize` may truncate the value on targets with 32-bit wide pointers
   --> tests/ui/cast.rs:327:21
@@ -435,8 +448,9 @@ LL |             let _ = self as usize;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |             let _ = usize::try_from(self);
-   |                     ~~~~~~~~~~~~~~~~~~~~~
+LL -             let _ = self as usize;
+LL +             let _ = usize::try_from(self);
+   |
 
 error: casting `main::E10` to `u16` may truncate the value
   --> tests/ui/cast.rs:374:21
@@ -447,8 +461,9 @@ LL |             let _ = self as u16;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |             let _ = u16::try_from(self);
-   |                     ~~~~~~~~~~~~~~~~~~~
+LL -             let _ = self as u16;
+LL +             let _ = u16::try_from(self);
+   |
 
 error: casting `u32` to `u8` may truncate the value
   --> tests/ui/cast.rs:385:13
@@ -459,8 +474,9 @@ LL |     let c = (q >> 16) as u8;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     let c = u8::try_from(q >> 16);
-   |             ~~~~~~~~~~~~~~~~~~~~~
+LL -     let c = (q >> 16) as u8;
+LL +     let c = u8::try_from(q >> 16);
+   |
 
 error: casting `u32` to `u8` may truncate the value
   --> tests/ui/cast.rs:389:13
@@ -471,8 +487,9 @@ LL |     let c = (q / 1000) as u8;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     let c = u8::try_from(q / 1000);
-   |             ~~~~~~~~~~~~~~~~~~~~~~
+LL -     let c = (q / 1000) as u8;
+LL +     let c = u8::try_from(q / 1000);
+   |
 
 error: casting `i32` to `u32` may lose the sign of the value
   --> tests/ui/cast.rs:401:9
@@ -674,8 +691,9 @@ LL |     m!();
    = note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |             let _ = u8::try_from(u32::MAX); // cast_possible_truncation
-   |                     ~~~~~~~~~~~~~~~~~~~~~~
+LL -             let _ = u32::MAX as u8; // cast_possible_truncation
+LL +             let _ = u8::try_from(u32::MAX); // cast_possible_truncation
+   |
 
 error: casting `f64` to `f32` may truncate the value
   --> tests/ui/cast.rs:474:21
@@ -698,7 +716,8 @@ LL |     bar.unwrap().unwrap() as usize
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     usize::try_from(bar.unwrap().unwrap())
+LL -     bar.unwrap().unwrap() as usize
+LL +     usize::try_from(bar.unwrap().unwrap())
    |
 
 error: casting `i64` to `usize` may lose the sign of the value
@@ -716,8 +735,9 @@ LL |     (256 & 999999u64) as u8;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     u8::try_from(256 & 999999u64);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     (256 & 999999u64) as u8;
+LL +     u8::try_from(256 & 999999u64);
+   |
 
 error: casting `u64` to `u8` may truncate the value
   --> tests/ui/cast.rs:500:5
@@ -728,8 +748,9 @@ LL |     (255 % 999999u64) as u8;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     u8::try_from(255 % 999999u64);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     (255 % 999999u64) as u8;
+LL +     u8::try_from(255 % 999999u64);
+   |
 
 error: aborting due to 92 previous errors
 
diff --git a/src/tools/clippy/tests/ui/cast_lossless_bool.stderr b/src/tools/clippy/tests/ui/cast_lossless_bool.stderr
index 82d6b2e4b8e..68992271762 100644
--- a/src/tools/clippy/tests/ui/cast_lossless_bool.stderr
+++ b/src/tools/clippy/tests/ui/cast_lossless_bool.stderr
@@ -9,8 +9,9 @@ LL |     let _ = true as u8;
    = help: to override `-D warnings` add `#[allow(clippy::cast_lossless)]`
 help: use `u8::from` instead
    |
-LL |     let _ = u8::from(true);
-   |             ~~~~~~~~~~~~~~
+LL -     let _ = true as u8;
+LL +     let _ = u8::from(true);
+   |
 
 error: casts from `bool` to `u16` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_bool.rs:9:13
@@ -21,8 +22,9 @@ LL |     let _ = true as u16;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `u16::from` instead
    |
-LL |     let _ = u16::from(true);
-   |             ~~~~~~~~~~~~~~~
+LL -     let _ = true as u16;
+LL +     let _ = u16::from(true);
+   |
 
 error: casts from `bool` to `u32` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_bool.rs:10:13
@@ -33,8 +35,9 @@ LL |     let _ = true as u32;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `u32::from` instead
    |
-LL |     let _ = u32::from(true);
-   |             ~~~~~~~~~~~~~~~
+LL -     let _ = true as u32;
+LL +     let _ = u32::from(true);
+   |
 
 error: casts from `bool` to `u64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_bool.rs:11:13
@@ -45,8 +48,9 @@ LL |     let _ = true as u64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `u64::from` instead
    |
-LL |     let _ = u64::from(true);
-   |             ~~~~~~~~~~~~~~~
+LL -     let _ = true as u64;
+LL +     let _ = u64::from(true);
+   |
 
 error: casts from `bool` to `u128` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_bool.rs:12:13
@@ -57,8 +61,9 @@ LL |     let _ = true as u128;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `u128::from` instead
    |
-LL |     let _ = u128::from(true);
-   |             ~~~~~~~~~~~~~~~~
+LL -     let _ = true as u128;
+LL +     let _ = u128::from(true);
+   |
 
 error: casts from `bool` to `usize` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_bool.rs:13:13
@@ -69,8 +74,9 @@ LL |     let _ = true as usize;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `usize::from` instead
    |
-LL |     let _ = usize::from(true);
-   |             ~~~~~~~~~~~~~~~~~
+LL -     let _ = true as usize;
+LL +     let _ = usize::from(true);
+   |
 
 error: casts from `bool` to `i8` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_bool.rs:15:13
@@ -81,8 +87,9 @@ LL |     let _ = true as i8;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i8::from` instead
    |
-LL |     let _ = i8::from(true);
-   |             ~~~~~~~~~~~~~~
+LL -     let _ = true as i8;
+LL +     let _ = i8::from(true);
+   |
 
 error: casts from `bool` to `i16` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_bool.rs:16:13
@@ -93,8 +100,9 @@ LL |     let _ = true as i16;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i16::from` instead
    |
-LL |     let _ = i16::from(true);
-   |             ~~~~~~~~~~~~~~~
+LL -     let _ = true as i16;
+LL +     let _ = i16::from(true);
+   |
 
 error: casts from `bool` to `i32` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_bool.rs:17:13
@@ -105,8 +113,9 @@ LL |     let _ = true as i32;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i32::from` instead
    |
-LL |     let _ = i32::from(true);
-   |             ~~~~~~~~~~~~~~~
+LL -     let _ = true as i32;
+LL +     let _ = i32::from(true);
+   |
 
 error: casts from `bool` to `i64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_bool.rs:18:13
@@ -117,8 +126,9 @@ LL |     let _ = true as i64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i64::from` instead
    |
-LL |     let _ = i64::from(true);
-   |             ~~~~~~~~~~~~~~~
+LL -     let _ = true as i64;
+LL +     let _ = i64::from(true);
+   |
 
 error: casts from `bool` to `i128` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_bool.rs:19:13
@@ -129,8 +139,9 @@ LL |     let _ = true as i128;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i128::from` instead
    |
-LL |     let _ = i128::from(true);
-   |             ~~~~~~~~~~~~~~~~
+LL -     let _ = true as i128;
+LL +     let _ = i128::from(true);
+   |
 
 error: casts from `bool` to `isize` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_bool.rs:20:13
@@ -141,8 +152,9 @@ LL |     let _ = true as isize;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `isize::from` instead
    |
-LL |     let _ = isize::from(true);
-   |             ~~~~~~~~~~~~~~~~~
+LL -     let _ = true as isize;
+LL +     let _ = isize::from(true);
+   |
 
 error: casts from `bool` to `u16` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_bool.rs:23:13
@@ -153,8 +165,9 @@ LL |     let _ = (true | false) as u16;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `u16::from` instead
    |
-LL |     let _ = u16::from(true | false);
-   |             ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = (true | false) as u16;
+LL +     let _ = u16::from(true | false);
+   |
 
 error: casts from `bool` to `u8` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_bool.rs:25:13
@@ -165,8 +178,9 @@ LL |     let _ = true as U8;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `U8::from` instead
    |
-LL |     let _ = U8::from(true);
-   |             ~~~~~~~~~~~~~~
+LL -     let _ = true as U8;
+LL +     let _ = U8::from(true);
+   |
 
 error: casts from `bool` to `u8` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_bool.rs:53:13
@@ -177,8 +191,9 @@ LL |     let _ = true as u8;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `u8::from` instead
    |
-LL |     let _ = u8::from(true);
-   |             ~~~~~~~~~~~~~~
+LL -     let _ = true as u8;
+LL +     let _ = u8::from(true);
+   |
 
 error: aborting due to 15 previous errors
 
diff --git a/src/tools/clippy/tests/ui/cast_lossless_float.stderr b/src/tools/clippy/tests/ui/cast_lossless_float.stderr
index b36f8bcecf5..3f405e3f402 100644
--- a/src/tools/clippy/tests/ui/cast_lossless_float.stderr
+++ b/src/tools/clippy/tests/ui/cast_lossless_float.stderr
@@ -9,8 +9,9 @@ LL |     let _ = x0 as f32;
    = help: to override `-D warnings` add `#[allow(clippy::cast_lossless)]`
 help: use `f32::from` instead
    |
-LL |     let _ = f32::from(x0);
-   |             ~~~~~~~~~~~~~
+LL -     let _ = x0 as f32;
+LL +     let _ = f32::from(x0);
+   |
 
 error: casts from `i8` to `f64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_float.rs:13:13
@@ -21,8 +22,9 @@ LL |     let _ = x0 as f64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `f64::from` instead
    |
-LL |     let _ = f64::from(x0);
-   |             ~~~~~~~~~~~~~
+LL -     let _ = x0 as f64;
+LL +     let _ = f64::from(x0);
+   |
 
 error: casts from `i8` to `f32` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_float.rs:14:13
@@ -33,8 +35,9 @@ LL |     let _ = x0 as F32;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `F32::from` instead
    |
-LL |     let _ = F32::from(x0);
-   |             ~~~~~~~~~~~~~
+LL -     let _ = x0 as F32;
+LL +     let _ = F32::from(x0);
+   |
 
 error: casts from `i8` to `f64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_float.rs:15:13
@@ -45,8 +48,9 @@ LL |     let _ = x0 as F64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `F64::from` instead
    |
-LL |     let _ = F64::from(x0);
-   |             ~~~~~~~~~~~~~
+LL -     let _ = x0 as F64;
+LL +     let _ = F64::from(x0);
+   |
 
 error: casts from `u8` to `f32` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_float.rs:17:13
@@ -57,8 +61,9 @@ LL |     let _ = x1 as f32;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `f32::from` instead
    |
-LL |     let _ = f32::from(x1);
-   |             ~~~~~~~~~~~~~
+LL -     let _ = x1 as f32;
+LL +     let _ = f32::from(x1);
+   |
 
 error: casts from `u8` to `f64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_float.rs:18:13
@@ -69,8 +74,9 @@ LL |     let _ = x1 as f64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `f64::from` instead
    |
-LL |     let _ = f64::from(x1);
-   |             ~~~~~~~~~~~~~
+LL -     let _ = x1 as f64;
+LL +     let _ = f64::from(x1);
+   |
 
 error: casts from `i16` to `f32` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_float.rs:20:13
@@ -81,8 +87,9 @@ LL |     let _ = x2 as f32;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `f32::from` instead
    |
-LL |     let _ = f32::from(x2);
-   |             ~~~~~~~~~~~~~
+LL -     let _ = x2 as f32;
+LL +     let _ = f32::from(x2);
+   |
 
 error: casts from `i16` to `f64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_float.rs:21:13
@@ -93,8 +100,9 @@ LL |     let _ = x2 as f64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `f64::from` instead
    |
-LL |     let _ = f64::from(x2);
-   |             ~~~~~~~~~~~~~
+LL -     let _ = x2 as f64;
+LL +     let _ = f64::from(x2);
+   |
 
 error: casts from `u16` to `f32` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_float.rs:23:13
@@ -105,8 +113,9 @@ LL |     let _ = x3 as f32;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `f32::from` instead
    |
-LL |     let _ = f32::from(x3);
-   |             ~~~~~~~~~~~~~
+LL -     let _ = x3 as f32;
+LL +     let _ = f32::from(x3);
+   |
 
 error: casts from `u16` to `f64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_float.rs:24:13
@@ -117,8 +126,9 @@ LL |     let _ = x3 as f64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `f64::from` instead
    |
-LL |     let _ = f64::from(x3);
-   |             ~~~~~~~~~~~~~
+LL -     let _ = x3 as f64;
+LL +     let _ = f64::from(x3);
+   |
 
 error: casts from `i32` to `f64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_float.rs:26:13
@@ -129,8 +139,9 @@ LL |     let _ = x4 as f64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `f64::from` instead
    |
-LL |     let _ = f64::from(x4);
-   |             ~~~~~~~~~~~~~
+LL -     let _ = x4 as f64;
+LL +     let _ = f64::from(x4);
+   |
 
 error: casts from `u32` to `f64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_float.rs:28:13
@@ -141,8 +152,9 @@ LL |     let _ = x5 as f64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `f64::from` instead
    |
-LL |     let _ = f64::from(x5);
-   |             ~~~~~~~~~~~~~
+LL -     let _ = x5 as f64;
+LL +     let _ = f64::from(x5);
+   |
 
 error: casts from `f32` to `f64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_float.rs:31:13
@@ -153,8 +165,9 @@ LL |     let _ = 1.0f32 as f64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `f64::from` instead
    |
-LL |     let _ = f64::from(1.0f32);
-   |             ~~~~~~~~~~~~~~~~~
+LL -     let _ = 1.0f32 as f64;
+LL +     let _ = f64::from(1.0f32);
+   |
 
 error: aborting due to 13 previous errors
 
diff --git a/src/tools/clippy/tests/ui/cast_lossless_integer.stderr b/src/tools/clippy/tests/ui/cast_lossless_integer.stderr
index c93ecb8fb56..d2580913bb5 100644
--- a/src/tools/clippy/tests/ui/cast_lossless_integer.stderr
+++ b/src/tools/clippy/tests/ui/cast_lossless_integer.stderr
@@ -9,8 +9,9 @@ LL |     0u8 as u16;
    = help: to override `-D warnings` add `#[allow(clippy::cast_lossless)]`
 help: use `u16::from` instead
    |
-LL |     u16::from(0u8);
-   |     ~~~~~~~~~~~~~~
+LL -     0u8 as u16;
+LL +     u16::from(0u8);
+   |
 
 error: casts from `u8` to `i16` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:10:5
@@ -21,8 +22,9 @@ LL |     0u8 as i16;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i16::from` instead
    |
-LL |     i16::from(0u8);
-   |     ~~~~~~~~~~~~~~
+LL -     0u8 as i16;
+LL +     i16::from(0u8);
+   |
 
 error: casts from `u8` to `u32` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:12:5
@@ -33,8 +35,9 @@ LL |     0u8 as u32;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `u32::from` instead
    |
-LL |     u32::from(0u8);
-   |     ~~~~~~~~~~~~~~
+LL -     0u8 as u32;
+LL +     u32::from(0u8);
+   |
 
 error: casts from `u8` to `i32` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:14:5
@@ -45,8 +48,9 @@ LL |     0u8 as i32;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i32::from` instead
    |
-LL |     i32::from(0u8);
-   |     ~~~~~~~~~~~~~~
+LL -     0u8 as i32;
+LL +     i32::from(0u8);
+   |
 
 error: casts from `u8` to `u64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:16:5
@@ -57,8 +61,9 @@ LL |     0u8 as u64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `u64::from` instead
    |
-LL |     u64::from(0u8);
-   |     ~~~~~~~~~~~~~~
+LL -     0u8 as u64;
+LL +     u64::from(0u8);
+   |
 
 error: casts from `u8` to `i64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:18:5
@@ -69,8 +74,9 @@ LL |     0u8 as i64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i64::from` instead
    |
-LL |     i64::from(0u8);
-   |     ~~~~~~~~~~~~~~
+LL -     0u8 as i64;
+LL +     i64::from(0u8);
+   |
 
 error: casts from `u8` to `u128` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:20:5
@@ -81,8 +87,9 @@ LL |     0u8 as u128;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `u128::from` instead
    |
-LL |     u128::from(0u8);
-   |     ~~~~~~~~~~~~~~~
+LL -     0u8 as u128;
+LL +     u128::from(0u8);
+   |
 
 error: casts from `u8` to `i128` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:22:5
@@ -93,8 +100,9 @@ LL |     0u8 as i128;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i128::from` instead
    |
-LL |     i128::from(0u8);
-   |     ~~~~~~~~~~~~~~~
+LL -     0u8 as i128;
+LL +     i128::from(0u8);
+   |
 
 error: casts from `u16` to `u32` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:25:5
@@ -105,8 +113,9 @@ LL |     0u16 as u32;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `u32::from` instead
    |
-LL |     u32::from(0u16);
-   |     ~~~~~~~~~~~~~~~
+LL -     0u16 as u32;
+LL +     u32::from(0u16);
+   |
 
 error: casts from `u16` to `i32` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:27:5
@@ -117,8 +126,9 @@ LL |     0u16 as i32;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i32::from` instead
    |
-LL |     i32::from(0u16);
-   |     ~~~~~~~~~~~~~~~
+LL -     0u16 as i32;
+LL +     i32::from(0u16);
+   |
 
 error: casts from `u16` to `u64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:29:5
@@ -129,8 +139,9 @@ LL |     0u16 as u64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `u64::from` instead
    |
-LL |     u64::from(0u16);
-   |     ~~~~~~~~~~~~~~~
+LL -     0u16 as u64;
+LL +     u64::from(0u16);
+   |
 
 error: casts from `u16` to `i64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:31:5
@@ -141,8 +152,9 @@ LL |     0u16 as i64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i64::from` instead
    |
-LL |     i64::from(0u16);
-   |     ~~~~~~~~~~~~~~~
+LL -     0u16 as i64;
+LL +     i64::from(0u16);
+   |
 
 error: casts from `u16` to `u128` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:33:5
@@ -153,8 +165,9 @@ LL |     0u16 as u128;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `u128::from` instead
    |
-LL |     u128::from(0u16);
-   |     ~~~~~~~~~~~~~~~~
+LL -     0u16 as u128;
+LL +     u128::from(0u16);
+   |
 
 error: casts from `u16` to `i128` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:35:5
@@ -165,8 +178,9 @@ LL |     0u16 as i128;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i128::from` instead
    |
-LL |     i128::from(0u16);
-   |     ~~~~~~~~~~~~~~~~
+LL -     0u16 as i128;
+LL +     i128::from(0u16);
+   |
 
 error: casts from `u32` to `u64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:38:5
@@ -177,8 +191,9 @@ LL |     0u32 as u64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `u64::from` instead
    |
-LL |     u64::from(0u32);
-   |     ~~~~~~~~~~~~~~~
+LL -     0u32 as u64;
+LL +     u64::from(0u32);
+   |
 
 error: casts from `u32` to `i64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:40:5
@@ -189,8 +204,9 @@ LL |     0u32 as i64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i64::from` instead
    |
-LL |     i64::from(0u32);
-   |     ~~~~~~~~~~~~~~~
+LL -     0u32 as i64;
+LL +     i64::from(0u32);
+   |
 
 error: casts from `u32` to `u128` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:42:5
@@ -201,8 +217,9 @@ LL |     0u32 as u128;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `u128::from` instead
    |
-LL |     u128::from(0u32);
-   |     ~~~~~~~~~~~~~~~~
+LL -     0u32 as u128;
+LL +     u128::from(0u32);
+   |
 
 error: casts from `u32` to `i128` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:44:5
@@ -213,8 +230,9 @@ LL |     0u32 as i128;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i128::from` instead
    |
-LL |     i128::from(0u32);
-   |     ~~~~~~~~~~~~~~~~
+LL -     0u32 as i128;
+LL +     i128::from(0u32);
+   |
 
 error: casts from `u64` to `u128` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:47:5
@@ -225,8 +243,9 @@ LL |     0u64 as u128;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `u128::from` instead
    |
-LL |     u128::from(0u64);
-   |     ~~~~~~~~~~~~~~~~
+LL -     0u64 as u128;
+LL +     u128::from(0u64);
+   |
 
 error: casts from `u64` to `i128` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:49:5
@@ -237,8 +256,9 @@ LL |     0u64 as i128;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i128::from` instead
    |
-LL |     i128::from(0u64);
-   |     ~~~~~~~~~~~~~~~~
+LL -     0u64 as i128;
+LL +     i128::from(0u64);
+   |
 
 error: casts from `i8` to `i16` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:52:5
@@ -249,8 +269,9 @@ LL |     0i8 as i16;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i16::from` instead
    |
-LL |     i16::from(0i8);
-   |     ~~~~~~~~~~~~~~
+LL -     0i8 as i16;
+LL +     i16::from(0i8);
+   |
 
 error: casts from `i8` to `i32` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:54:5
@@ -261,8 +282,9 @@ LL |     0i8 as i32;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i32::from` instead
    |
-LL |     i32::from(0i8);
-   |     ~~~~~~~~~~~~~~
+LL -     0i8 as i32;
+LL +     i32::from(0i8);
+   |
 
 error: casts from `i8` to `i64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:56:5
@@ -273,8 +295,9 @@ LL |     0i8 as i64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i64::from` instead
    |
-LL |     i64::from(0i8);
-   |     ~~~~~~~~~~~~~~
+LL -     0i8 as i64;
+LL +     i64::from(0i8);
+   |
 
 error: casts from `i8` to `i128` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:58:5
@@ -285,8 +308,9 @@ LL |     0i8 as i128;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i128::from` instead
    |
-LL |     i128::from(0i8);
-   |     ~~~~~~~~~~~~~~~
+LL -     0i8 as i128;
+LL +     i128::from(0i8);
+   |
 
 error: casts from `i16` to `i32` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:61:5
@@ -297,8 +321,9 @@ LL |     0i16 as i32;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i32::from` instead
    |
-LL |     i32::from(0i16);
-   |     ~~~~~~~~~~~~~~~
+LL -     0i16 as i32;
+LL +     i32::from(0i16);
+   |
 
 error: casts from `i16` to `i64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:63:5
@@ -309,8 +334,9 @@ LL |     0i16 as i64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i64::from` instead
    |
-LL |     i64::from(0i16);
-   |     ~~~~~~~~~~~~~~~
+LL -     0i16 as i64;
+LL +     i64::from(0i16);
+   |
 
 error: casts from `i16` to `i128` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:65:5
@@ -321,8 +347,9 @@ LL |     0i16 as i128;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i128::from` instead
    |
-LL |     i128::from(0i16);
-   |     ~~~~~~~~~~~~~~~~
+LL -     0i16 as i128;
+LL +     i128::from(0i16);
+   |
 
 error: casts from `i32` to `i64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:68:5
@@ -333,8 +360,9 @@ LL |     0i32 as i64;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i64::from` instead
    |
-LL |     i64::from(0i32);
-   |     ~~~~~~~~~~~~~~~
+LL -     0i32 as i64;
+LL +     i64::from(0i32);
+   |
 
 error: casts from `i32` to `i128` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:70:5
@@ -345,8 +373,9 @@ LL |     0i32 as i128;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i128::from` instead
    |
-LL |     i128::from(0i32);
-   |     ~~~~~~~~~~~~~~~~
+LL -     0i32 as i128;
+LL +     i128::from(0i32);
+   |
 
 error: casts from `i64` to `i128` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:73:5
@@ -357,8 +386,9 @@ LL |     0i64 as i128;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i128::from` instead
    |
-LL |     i128::from(0i64);
-   |     ~~~~~~~~~~~~~~~~
+LL -     0i64 as i128;
+LL +     i128::from(0i64);
+   |
 
 error: casts from `u8` to `u16` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:77:13
@@ -369,8 +399,9 @@ LL |     let _ = (1u8 + 1u8) as u16;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `u16::from` instead
    |
-LL |     let _ = u16::from(1u8 + 1u8);
-   |             ~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = (1u8 + 1u8) as u16;
+LL +     let _ = u16::from(1u8 + 1u8);
+   |
 
 error: casts from `i8` to `i64` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:80:13
@@ -381,8 +412,9 @@ LL |     let _ = 1i8 as I64Alias;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `I64Alias::from` instead
    |
-LL |     let _ = I64Alias::from(1i8);
-   |             ~~~~~~~~~~~~~~~~~~~
+LL -     let _ = 1i8 as I64Alias;
+LL +     let _ = I64Alias::from(1i8);
+   |
 
 error: casts from `u8` to `u16` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:83:18
@@ -393,8 +425,9 @@ LL |     let _: u16 = 0u8 as _;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `Into::into` instead
    |
-LL |     let _: u16 = 0u8.into();
-   |                  ~~~~~~~~~~
+LL -     let _: u16 = 0u8 as _;
+LL +     let _: u16 = 0u8.into();
+   |
 
 error: casts from `i8` to `i16` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:85:18
@@ -405,8 +438,9 @@ LL |     let _: i16 = -1i8 as _;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `Into::into` instead
    |
-LL |     let _: i16 = (-1i8).into();
-   |                  ~~~~~~~~~~~~~
+LL -     let _: i16 = -1i8 as _;
+LL +     let _: i16 = (-1i8).into();
+   |
 
 error: casts from `u8` to `u16` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:87:18
@@ -417,8 +451,9 @@ LL |     let _: u16 = (1u8 + 2) as _;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `Into::into` instead
    |
-LL |     let _: u16 = (1u8 + 2).into();
-   |                  ~~~~~~~~~~~~~~~~
+LL -     let _: u16 = (1u8 + 2) as _;
+LL +     let _: u16 = (1u8 + 2).into();
+   |
 
 error: casts from `u16` to `u32` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:89:18
@@ -429,8 +464,9 @@ LL |     let _: u32 = 1i8 as u16 as _;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `Into::into` instead
    |
-LL |     let _: u32 = (1i8 as u16).into();
-   |                  ~~~~~~~~~~~~~~~~~~~
+LL -     let _: u32 = 1i8 as u16 as _;
+LL +     let _: u32 = (1i8 as u16).into();
+   |
 
 error: casts from `i8` to `i32` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:124:13
@@ -441,8 +477,9 @@ LL |     let _ = sign_cast!(x, u8, i8) as i32;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i32::from` instead
    |
-LL |     let _ = i32::from(sign_cast!(x, u8, i8));
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = sign_cast!(x, u8, i8) as i32;
+LL +     let _ = i32::from(sign_cast!(x, u8, i8));
+   |
 
 error: casts from `i8` to `i32` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:126:13
@@ -453,8 +490,9 @@ LL |     let _ = (sign_cast!(x, u8, i8) + 1) as i32;
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `i32::from` instead
    |
-LL |     let _ = i32::from(sign_cast!(x, u8, i8) + 1);
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = (sign_cast!(x, u8, i8) + 1) as i32;
+LL +     let _ = i32::from(sign_cast!(x, u8, i8) + 1);
+   |
 
 error: casts from `u8` to `u32` can be expressed infallibly using `From`
   --> tests/ui/cast_lossless_integer.rs:133:13
@@ -469,7 +507,8 @@ LL |     let _ = in_macro!();
    = note: this error originates in the macro `in_macro` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: use `u32::from` instead
    |
-LL |             u32::from(1u8)
+LL -             1u8 as u32
+LL +             u32::from(1u8)
    |
 
 error: casts from `u8` to `u32` can be expressed infallibly using `From`
@@ -481,8 +520,9 @@ LL |     let _ = 0u8 as ty!();
    = help: an `as` cast can become silently lossy if the types change in the future
 help: use `<ty!()>::from` instead
    |
-LL |     let _ = <ty!()>::from(0u8);
-   |             ~~~~~~~~~~~~~~~~~~
+LL -     let _ = 0u8 as ty!();
+LL +     let _ = <ty!()>::from(0u8);
+   |
 
 error: aborting due to 40 previous errors
 
diff --git a/src/tools/clippy/tests/ui/cast_size.64bit.stderr b/src/tools/clippy/tests/ui/cast_size.64bit.stderr
index bc37107d80e..6b9919f8a10 100644
--- a/src/tools/clippy/tests/ui/cast_size.64bit.stderr
+++ b/src/tools/clippy/tests/ui/cast_size.64bit.stderr
@@ -9,8 +9,9 @@ LL |     1isize as i8;
    = help: to override `-D warnings` add `#[allow(clippy::cast_possible_truncation)]`
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     i8::try_from(1isize);
-   |     ~~~~~~~~~~~~~~~~~~~~
+LL -     1isize as i8;
+LL +     i8::try_from(1isize);
+   |
 
 error: casting `isize` to `f32` causes a loss of precision (`isize` is 32 or 64 bits wide, but `f32`'s mantissa is only 23 bits wide)
   --> tests/ui/cast_size.rs:21:5
@@ -48,8 +49,9 @@ LL |     1isize as i32;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     i32::try_from(1isize);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     1isize as i32;
+LL +     i32::try_from(1isize);
+   |
 
 error: casting `isize` to `u32` may truncate the value on targets with 64-bit wide pointers
   --> tests/ui/cast_size.rs:29:5
@@ -60,8 +62,9 @@ LL |     1isize as u32;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     u32::try_from(1isize);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     1isize as u32;
+LL +     u32::try_from(1isize);
+   |
 
 error: casting `usize` to `u32` may truncate the value on targets with 64-bit wide pointers
   --> tests/ui/cast_size.rs:30:5
@@ -72,8 +75,9 @@ LL |     1usize as u32;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     u32::try_from(1usize);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     1usize as u32;
+LL +     u32::try_from(1usize);
+   |
 
 error: casting `usize` to `i32` may truncate the value on targets with 64-bit wide pointers
   --> tests/ui/cast_size.rs:31:5
@@ -84,8 +88,9 @@ LL |     1usize as i32;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     i32::try_from(1usize);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     1usize as i32;
+LL +     i32::try_from(1usize);
+   |
 
 error: casting `usize` to `i32` may wrap around the value on targets with 32-bit wide pointers
   --> tests/ui/cast_size.rs:31:5
@@ -105,8 +110,9 @@ LL |     1i64 as isize;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     isize::try_from(1i64);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     1i64 as isize;
+LL +     isize::try_from(1i64);
+   |
 
 error: casting `i64` to `usize` may truncate the value on targets with 32-bit wide pointers
   --> tests/ui/cast_size.rs:33:5
@@ -117,8 +123,9 @@ LL |     1i64 as usize;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     usize::try_from(1i64);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     1i64 as usize;
+LL +     usize::try_from(1i64);
+   |
 
 error: casting `u64` to `isize` may truncate the value on targets with 32-bit wide pointers
   --> tests/ui/cast_size.rs:34:5
@@ -129,8 +136,9 @@ LL |     1u64 as isize;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     isize::try_from(1u64);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     1u64 as isize;
+LL +     isize::try_from(1u64);
+   |
 
 error: casting `u64` to `isize` may wrap around the value on targets with 64-bit wide pointers
   --> tests/ui/cast_size.rs:34:5
@@ -147,8 +155,9 @@ LL |     1u64 as usize;
    = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
 help: ... or use `try_from` and handle the error accordingly
    |
-LL |     usize::try_from(1u64);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     1u64 as usize;
+LL +     usize::try_from(1u64);
+   |
 
 error: casting `u32` to `isize` may wrap around the value on targets with 32-bit wide pointers
   --> tests/ui/cast_size.rs:36:5
diff --git a/src/tools/clippy/tests/ui/create_dir.stderr b/src/tools/clippy/tests/ui/create_dir.stderr
index ab51705bb55..9bb98a2606d 100644
--- a/src/tools/clippy/tests/ui/create_dir.stderr
+++ b/src/tools/clippy/tests/ui/create_dir.stderr
@@ -8,8 +8,9 @@ LL |     std::fs::create_dir("foo");
    = help: to override `-D warnings` add `#[allow(clippy::create_dir)]`
 help: consider calling `std::fs::create_dir_all` instead
    |
-LL |     create_dir_all("foo");
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     std::fs::create_dir("foo");
+LL +     create_dir_all("foo");
+   |
 
 error: calling `std::fs::create_dir` where there may be a better way
   --> tests/ui/create_dir.rs:11:5
@@ -19,8 +20,9 @@ LL |     std::fs::create_dir("bar").unwrap();
    |
 help: consider calling `std::fs::create_dir_all` instead
    |
-LL |     create_dir_all("bar").unwrap();
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     std::fs::create_dir("bar").unwrap();
+LL +     create_dir_all("bar").unwrap();
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/src/tools/clippy/tests/ui/dbg_macro/dbg_macro.stderr b/src/tools/clippy/tests/ui/dbg_macro/dbg_macro.stderr
index b3d74b9ff61..f218614fdd6 100644
--- a/src/tools/clippy/tests/ui/dbg_macro/dbg_macro.stderr
+++ b/src/tools/clippy/tests/ui/dbg_macro/dbg_macro.stderr
@@ -8,8 +8,9 @@ LL |     if let Some(n) = dbg!(n.checked_sub(4)) { n } else { n }
    = help: to override `-D warnings` add `#[allow(clippy::dbg_macro)]`
 help: remove the invocation before committing it to a version control system
    |
-LL |     if let Some(n) = n.checked_sub(4) { n } else { n }
-   |                      ~~~~~~~~~~~~~~~~
+LL -     if let Some(n) = dbg!(n.checked_sub(4)) { n } else { n }
+LL +     if let Some(n) = n.checked_sub(4) { n } else { n }
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro.rs:11:8
@@ -19,8 +20,9 @@ LL |     if dbg!(n <= 1) {
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     if n <= 1 {
-   |        ~~~~~~
+LL -     if dbg!(n <= 1) {
+LL +     if n <= 1 {
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro.rs:13:9
@@ -30,7 +32,8 @@ LL |         dbg!(1)
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |         1
+LL -         dbg!(1)
+LL +         1
    |
 
 error: the `dbg!` macro is intended as a debugging tool
@@ -41,7 +44,8 @@ LL |         dbg!(n * factorial(n - 1))
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |         n * factorial(n - 1)
+LL -         dbg!(n * factorial(n - 1))
+LL +         n * factorial(n - 1)
    |
 
 error: the `dbg!` macro is intended as a debugging tool
@@ -52,8 +56,9 @@ LL |     dbg!(42);
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     42;
-   |     ~~
+LL -     dbg!(42);
+LL +     42;
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro.rs:24:14
@@ -63,8 +68,9 @@ LL |     foo(3) + dbg!(factorial(4));
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     foo(3) + factorial(4);
-   |              ~~~~~~~~~~~~
+LL -     foo(3) + dbg!(factorial(4));
+LL +     foo(3) + factorial(4);
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro.rs:26:5
@@ -74,8 +80,9 @@ LL |     dbg!(1, 2, 3, 4, 5);
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     (1, 2, 3, 4, 5);
-   |     ~~~~~~~~~~~~~~~
+LL -     dbg!(1, 2, 3, 4, 5);
+LL +     (1, 2, 3, 4, 5);
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro.rs:48:5
@@ -96,8 +103,9 @@ LL |     let _ = dbg!();
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     let _ = ();
-   |             ~~
+LL -     let _ = dbg!();
+LL +     let _ = ();
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro.rs:53:9
@@ -107,8 +115,9 @@ LL |     bar(dbg!());
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     bar(());
-   |         ~~
+LL -     bar(dbg!());
+LL +     bar(());
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro.rs:55:10
@@ -118,8 +127,9 @@ LL |     foo!(dbg!());
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     foo!(());
-   |          ~~
+LL -     foo!(dbg!());
+LL +     foo!(());
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro.rs:57:16
@@ -129,8 +139,9 @@ LL |     foo2!(foo!(dbg!()));
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     foo2!(foo!(()));
-   |                ~~
+LL -     foo2!(foo!(dbg!()));
+LL +     foo2!(foo!(()));
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro.rs:43:13
@@ -155,8 +166,9 @@ LL |         dbg!(2);
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |         2;
-   |         ~
+LL -         dbg!(2);
+LL +         2;
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro.rs:86:5
@@ -166,8 +178,9 @@ LL |     dbg!(1);
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     1;
-   |     ~
+LL -     dbg!(1);
+LL +     1;
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro.rs:92:5
@@ -177,8 +190,9 @@ LL |     dbg!(1);
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     1;
-   |     ~
+LL -     dbg!(1);
+LL +     1;
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro.rs:99:9
@@ -188,8 +202,9 @@ LL |         dbg!(1);
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |         1;
-   |         ~
+LL -         dbg!(1);
+LL +         1;
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro.rs:106:31
@@ -199,8 +214,9 @@ LL |         println!("dbg: {:?}", dbg!(s));
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |         println!("dbg: {:?}", s);
-   |                               ~
+LL -         println!("dbg: {:?}", dbg!(s));
+LL +         println!("dbg: {:?}", s);
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro.rs:108:22
@@ -210,8 +226,9 @@ LL |         print!("{}", dbg!(s));
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |         print!("{}", s);
-   |                      ~
+LL -         print!("{}", dbg!(s));
+LL +         print!("{}", s);
+   |
 
 error: aborting due to 19 previous errors
 
diff --git a/src/tools/clippy/tests/ui/dbg_macro/dbg_macro_unfixable.stderr b/src/tools/clippy/tests/ui/dbg_macro/dbg_macro_unfixable.stderr
index b8e91906b93..e8d5f9f2f46 100644
--- a/src/tools/clippy/tests/ui/dbg_macro/dbg_macro_unfixable.stderr
+++ b/src/tools/clippy/tests/ui/dbg_macro/dbg_macro_unfixable.stderr
@@ -19,8 +19,9 @@ LL |     dbg!(dbg!(dbg!(42)));
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     dbg!(dbg!(42));
-   |     ~~~~~~~~~~~~~~
+LL -     dbg!(dbg!(dbg!(42)));
+LL +     dbg!(dbg!(42));
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro_unfixable.rs:8:10
@@ -30,8 +31,9 @@ LL |     dbg!(dbg!(dbg!(42)));
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     dbg!(dbg!(42));
-   |          ~~~~~~~~
+LL -     dbg!(dbg!(dbg!(42)));
+LL +     dbg!(dbg!(42));
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro_unfixable.rs:8:15
@@ -41,8 +43,9 @@ LL |     dbg!(dbg!(dbg!(42)));
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     dbg!(dbg!(42));
-   |               ~~
+LL -     dbg!(dbg!(dbg!(42)));
+LL +     dbg!(dbg!(42));
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro_unfixable.rs:10:5
@@ -52,8 +55,9 @@ LL |     dbg!(1, 2, dbg!(3, 4));
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     (1, 2, dbg!(3, 4));
-   |     ~~~~~~~~~~~~~~~~~~
+LL -     dbg!(1, 2, dbg!(3, 4));
+LL +     (1, 2, dbg!(3, 4));
+   |
 
 error: the `dbg!` macro is intended as a debugging tool
   --> tests/ui/dbg_macro/dbg_macro_unfixable.rs:10:16
@@ -63,8 +67,9 @@ LL |     dbg!(1, 2, dbg!(3, 4));
    |
 help: remove the invocation before committing it to a version control system
    |
-LL |     dbg!(1, 2, (3, 4));
-   |                ~~~~~~
+LL -     dbg!(1, 2, dbg!(3, 4));
+LL +     dbg!(1, 2, (3, 4));
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/src/tools/clippy/tests/ui/doc/doc-fixable.stderr b/src/tools/clippy/tests/ui/doc/doc-fixable.stderr
index 27a04e4b558..54d73581485 100644
--- a/src/tools/clippy/tests/ui/doc/doc-fixable.stderr
+++ b/src/tools/clippy/tests/ui/doc/doc-fixable.stderr
@@ -8,8 +8,9 @@ LL | /// The foo_bar function does _nothing_. See also foo::bar. (note the dot t
    = help: to override `-D warnings` add `#[allow(clippy::doc_markdown)]`
 help: try
    |
-LL | /// The `foo_bar` function does _nothing_. See also foo::bar. (note the dot there)
-   |         ~~~~~~~~~
+LL - /// The foo_bar function does _nothing_. See also foo::bar. (note the dot there)
+LL + /// The `foo_bar` function does _nothing_. See also foo::bar. (note the dot there)
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:9:51
@@ -19,8 +20,9 @@ LL | /// The foo_bar function does _nothing_. See also foo::bar. (note the dot t
    |
 help: try
    |
-LL | /// The foo_bar function does _nothing_. See also `foo::bar`. (note the dot there)
-   |                                                   ~~~~~~~~~~
+LL - /// The foo_bar function does _nothing_. See also foo::bar. (note the dot there)
+LL + /// The foo_bar function does _nothing_. See also `foo::bar`. (note the dot there)
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:10:83
@@ -30,8 +32,9 @@ LL | /// Markdown is _weird_. I mean _really weird_. This \_ is ok. So is `_`. B
    |
 help: try
    |
-LL | /// Markdown is _weird_. I mean _really weird_. This \_ is ok. So is `_`. But not `Foo::some_fun`
-   |                                                                                   ~~~~~~~~~~~~~~~
+LL - /// Markdown is _weird_. I mean _really weird_. This \_ is ok. So is `_`. But not Foo::some_fun
+LL + /// Markdown is _weird_. I mean _really weird_. This \_ is ok. So is `_`. But not `Foo::some_fun`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:12:13
@@ -41,8 +44,9 @@ LL | /// Here be ::a::global:path, and _::another::global::path_.  :: is not a p
    |
 help: try
    |
-LL | /// Here be `::a::global:path`, and _::another::global::path_.  :: is not a path though.
-   |             ~~~~~~~~~~~~~~~~~~
+LL - /// Here be ::a::global:path, and _::another::global::path_.  :: is not a path though.
+LL + /// Here be `::a::global:path`, and _::another::global::path_.  :: is not a path though.
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:12:36
@@ -52,8 +56,9 @@ LL | /// Here be ::a::global:path, and _::another::global::path_.  :: is not a p
    |
 help: try
    |
-LL | /// Here be ::a::global:path, and _`::another::global::path`_.  :: is not a path though.
-   |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// Here be ::a::global:path, and _::another::global::path_.  :: is not a path though.
+LL + /// Here be ::a::global:path, and _`::another::global::path`_.  :: is not a path though.
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:13:25
@@ -63,8 +68,9 @@ LL | /// Import an item from ::awesome::global::blob:: (Intended postfix)
    |
 help: try
    |
-LL | /// Import an item from `::awesome::global::blob::` (Intended postfix)
-   |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// Import an item from ::awesome::global::blob:: (Intended postfix)
+LL + /// Import an item from `::awesome::global::blob::` (Intended postfix)
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:14:31
@@ -74,8 +80,9 @@ LL | /// These are the options for ::Cat: (Intended trailing single colon, shoul
    |
 help: try
    |
-LL | /// These are the options for `::Cat`: (Intended trailing single colon, shouldn't be linted)
-   |                               ~~~~~~~
+LL - /// These are the options for ::Cat: (Intended trailing single colon, shouldn't be linted)
+LL + /// These are the options for `::Cat`: (Intended trailing single colon, shouldn't be linted)
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:15:22
@@ -85,8 +92,9 @@ LL | /// That's not code ~NotInCodeBlock~.
    |
 help: try
    |
-LL | /// That's not code ~`NotInCodeBlock`~.
-   |                      ~~~~~~~~~~~~~~~~
+LL - /// That's not code ~NotInCodeBlock~.
+LL + /// That's not code ~`NotInCodeBlock`~.
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:16:5
@@ -96,8 +104,9 @@ LL | /// be_sure_we_got_to_the_end_of_it
    |
 help: try
    |
-LL | /// `be_sure_we_got_to_the_end_of_it`
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// be_sure_we_got_to_the_end_of_it
+LL + /// `be_sure_we_got_to_the_end_of_it`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:30:5
@@ -107,8 +116,9 @@ LL | /// be_sure_we_got_to_the_end_of_it
    |
 help: try
    |
-LL | /// `be_sure_we_got_to_the_end_of_it`
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// be_sure_we_got_to_the_end_of_it
+LL + /// `be_sure_we_got_to_the_end_of_it`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:37:5
@@ -118,8 +128,9 @@ LL | /// be_sure_we_got_to_the_end_of_it
    |
 help: try
    |
-LL | /// `be_sure_we_got_to_the_end_of_it`
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// be_sure_we_got_to_the_end_of_it
+LL + /// `be_sure_we_got_to_the_end_of_it`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:51:5
@@ -129,8 +140,9 @@ LL | /// be_sure_we_got_to_the_end_of_it
    |
 help: try
    |
-LL | /// `be_sure_we_got_to_the_end_of_it`
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// be_sure_we_got_to_the_end_of_it
+LL + /// `be_sure_we_got_to_the_end_of_it`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:79:5
@@ -140,8 +152,9 @@ LL | /// be_sure_we_got_to_the_end_of_it
    |
 help: try
    |
-LL | /// `be_sure_we_got_to_the_end_of_it`
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// be_sure_we_got_to_the_end_of_it
+LL + /// `be_sure_we_got_to_the_end_of_it`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:96:5
@@ -151,8 +164,9 @@ LL | /// be_sure_we_got_to_the_end_of_it
    |
 help: try
    |
-LL | /// `be_sure_we_got_to_the_end_of_it`
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// be_sure_we_got_to_the_end_of_it
+LL + /// `be_sure_we_got_to_the_end_of_it`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:104:8
@@ -162,8 +176,9 @@ LL | /// ## CamelCaseThing
    |
 help: try
    |
-LL | /// ## `CamelCaseThing`
-   |        ~~~~~~~~~~~~~~~~
+LL - /// ## CamelCaseThing
+LL + /// ## `CamelCaseThing`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:107:7
@@ -173,8 +188,9 @@ LL | /// # CamelCaseThing
    |
 help: try
    |
-LL | /// # `CamelCaseThing`
-   |       ~~~~~~~~~~~~~~~~
+LL - /// # CamelCaseThing
+LL + /// # `CamelCaseThing`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:109:22
@@ -184,8 +200,9 @@ LL | /// Not a title #897 CamelCaseThing
    |
 help: try
    |
-LL | /// Not a title #897 `CamelCaseThing`
-   |                      ~~~~~~~~~~~~~~~~
+LL - /// Not a title #897 CamelCaseThing
+LL + /// Not a title #897 `CamelCaseThing`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:110:5
@@ -195,8 +212,9 @@ LL | /// be_sure_we_got_to_the_end_of_it
    |
 help: try
    |
-LL | /// `be_sure_we_got_to_the_end_of_it`
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// be_sure_we_got_to_the_end_of_it
+LL + /// `be_sure_we_got_to_the_end_of_it`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:117:5
@@ -206,8 +224,9 @@ LL | /// be_sure_we_got_to_the_end_of_it
    |
 help: try
    |
-LL | /// `be_sure_we_got_to_the_end_of_it`
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// be_sure_we_got_to_the_end_of_it
+LL + /// `be_sure_we_got_to_the_end_of_it`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:130:5
@@ -217,8 +236,9 @@ LL | /// be_sure_we_got_to_the_end_of_it
    |
 help: try
    |
-LL | /// `be_sure_we_got_to_the_end_of_it`
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// be_sure_we_got_to_the_end_of_it
+LL + /// `be_sure_we_got_to_the_end_of_it`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:141:43
@@ -228,8 +248,9 @@ LL | /** E.g., serialization of an empty list: FooBar
    |
 help: try
    |
-LL | /** E.g., serialization of an empty list: `FooBar`
-   |                                           ~~~~~~~~
+LL - /** E.g., serialization of an empty list: FooBar
+LL + /** E.g., serialization of an empty list: `FooBar`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:146:5
@@ -239,8 +260,9 @@ LL | And BarQuz too.
    |
 help: try
    |
-LL | And `BarQuz` too.
-   |     ~~~~~~~~
+LL - And BarQuz too.
+LL + And `BarQuz` too.
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:147:1
@@ -250,7 +272,8 @@ LL | be_sure_we_got_to_the_end_of_it
    |
 help: try
    |
-LL | `be_sure_we_got_to_the_end_of_it`
+LL - be_sure_we_got_to_the_end_of_it
+LL + `be_sure_we_got_to_the_end_of_it`
    |
 
 error: item in documentation is missing backticks
@@ -261,8 +284,9 @@ LL | /** E.g., serialization of an empty list: FooBar
    |
 help: try
    |
-LL | /** E.g., serialization of an empty list: `FooBar`
-   |                                           ~~~~~~~~
+LL - /** E.g., serialization of an empty list: FooBar
+LL + /** E.g., serialization of an empty list: `FooBar`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:157:5
@@ -272,8 +296,9 @@ LL | And BarQuz too.
    |
 help: try
    |
-LL | And `BarQuz` too.
-   |     ~~~~~~~~
+LL - And BarQuz too.
+LL + And `BarQuz` too.
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:158:1
@@ -283,7 +308,8 @@ LL | be_sure_we_got_to_the_end_of_it
    |
 help: try
    |
-LL | `be_sure_we_got_to_the_end_of_it`
+LL - be_sure_we_got_to_the_end_of_it
+LL + `be_sure_we_got_to_the_end_of_it`
    |
 
 error: item in documentation is missing backticks
@@ -294,8 +320,9 @@ LL | /// be_sure_we_got_to_the_end_of_it
    |
 help: try
    |
-LL | /// `be_sure_we_got_to_the_end_of_it`
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// be_sure_we_got_to_the_end_of_it
+LL + /// `be_sure_we_got_to_the_end_of_it`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:188:22
@@ -305,8 +332,9 @@ LL | /// An iterator over mycrate::Collection's values.
    |
 help: try
    |
-LL | /// An iterator over `mycrate::Collection`'s values.
-   |                      ~~~~~~~~~~~~~~~~~~~~~
+LL - /// An iterator over mycrate::Collection's values.
+LL + /// An iterator over `mycrate::Collection`'s values.
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:212:34
@@ -316,8 +344,9 @@ LL | /// Foo \[bar\] \[baz\] \[qux\]. DocMarkdownLint
    |
 help: try
    |
-LL | /// Foo \[bar\] \[baz\] \[qux\]. `DocMarkdownLint`
-   |                                  ~~~~~~~~~~~~~~~~~
+LL - /// Foo \[bar\] \[baz\] \[qux\]. DocMarkdownLint
+LL + /// Foo \[bar\] \[baz\] \[qux\]. `DocMarkdownLint`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:235:22
@@ -327,8 +356,9 @@ LL | /// There is no try (do() or do_not()).
    |
 help: try
    |
-LL | /// There is no try (`do()` or do_not()).
-   |                      ~~~~~~
+LL - /// There is no try (do() or do_not()).
+LL + /// There is no try (`do()` or do_not()).
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:235:30
@@ -338,8 +368,9 @@ LL | /// There is no try (do() or do_not()).
    |
 help: try
    |
-LL | /// There is no try (do() or `do_not()`).
-   |                              ~~~~~~~~~~
+LL - /// There is no try (do() or do_not()).
+LL + /// There is no try (do() or `do_not()`).
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:238:5
@@ -349,8 +380,9 @@ LL | /// ABes
    |
 help: try
    |
-LL | /// `ABes`
-   |     ~~~~~~
+LL - /// ABes
+LL + /// `ABes`
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/doc-fixable.rs:244:9
@@ -360,8 +392,9 @@ LL |     /// foo()
    |
 help: try
    |
-LL |     /// `foo()`
-   |         ~~~~~~~
+LL -     /// foo()
+LL +     /// `foo()`
+   |
 
 error: you should put bare URLs between `<`/`>` or make a proper Markdown link
   --> tests/ui/doc/doc-fixable.rs:248:5
diff --git a/src/tools/clippy/tests/ui/doc/doc_markdown-issue_13097.stderr b/src/tools/clippy/tests/ui/doc/doc_markdown-issue_13097.stderr
index ae68a767ec9..65b8f2ed80b 100644
--- a/src/tools/clippy/tests/ui/doc/doc_markdown-issue_13097.stderr
+++ b/src/tools/clippy/tests/ui/doc/doc_markdown-issue_13097.stderr
@@ -11,8 +11,9 @@ LL | #![deny(clippy::doc_markdown)]
    |         ^^^^^^^^^^^^^^^^^^^^
 help: try
    |
-LL |     /// `HumaNified`
-   |         ~~~~~~~~~~~~
+LL -     /// HumaNified
+LL +     /// `HumaNified`
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/src/tools/clippy/tests/ui/doc/issue_10262.stderr b/src/tools/clippy/tests/ui/doc/issue_10262.stderr
index f43d9551e94..f9ecb3de219 100644
--- a/src/tools/clippy/tests/ui/doc/issue_10262.stderr
+++ b/src/tools/clippy/tests/ui/doc/issue_10262.stderr
@@ -8,8 +8,9 @@ LL | /// AviSynth documentation:
    = help: to override `-D warnings` add `#[allow(clippy::doc_markdown)]`
 help: try
    |
-LL | /// `AviSynth` documentation:
-   |     ~~~~~~~~~~
+LL - /// AviSynth documentation:
+LL + /// `AviSynth` documentation:
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/src/tools/clippy/tests/ui/doc/issue_12795.stderr b/src/tools/clippy/tests/ui/doc/issue_12795.stderr
index 5700145ec8f..047de915ed4 100644
--- a/src/tools/clippy/tests/ui/doc/issue_12795.stderr
+++ b/src/tools/clippy/tests/ui/doc/issue_12795.stderr
@@ -8,8 +8,9 @@ LL | //! A comment with a_b(x) and a_c in it and (a_b((c)) ) too and (maybe a_b(
    = help: to override `-D warnings` add `#[allow(clippy::doc_markdown)]`
 help: try
    |
-LL | //! A comment with `a_b(x)` and a_c in it and (a_b((c)) ) too and (maybe a_b((c)))
-   |                    ~~~~~~~~
+LL - //! A comment with a_b(x) and a_c in it and (a_b((c)) ) too and (maybe a_b((c)))
+LL + //! A comment with `a_b(x)` and a_c in it and (a_b((c)) ) too and (maybe a_b((c)))
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/issue_12795.rs:3:31
@@ -19,8 +20,9 @@ LL | //! A comment with a_b(x) and a_c in it and (a_b((c)) ) too and (maybe a_b(
    |
 help: try
    |
-LL | //! A comment with a_b(x) and `a_c` in it and (a_b((c)) ) too and (maybe a_b((c)))
-   |                               ~~~~~
+LL - //! A comment with a_b(x) and a_c in it and (a_b((c)) ) too and (maybe a_b((c)))
+LL + //! A comment with a_b(x) and `a_c` in it and (a_b((c)) ) too and (maybe a_b((c)))
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/issue_12795.rs:3:46
@@ -30,8 +32,9 @@ LL | //! A comment with a_b(x) and a_c in it and (a_b((c)) ) too and (maybe a_b(
    |
 help: try
    |
-LL | //! A comment with a_b(x) and a_c in it and (`a_b((c))` ) too and (maybe a_b((c)))
-   |                                              ~~~~~~~~~~
+LL - //! A comment with a_b(x) and a_c in it and (a_b((c)) ) too and (maybe a_b((c)))
+LL + //! A comment with a_b(x) and a_c in it and (`a_b((c))` ) too and (maybe a_b((c)))
+   |
 
 error: item in documentation is missing backticks
   --> tests/ui/doc/issue_12795.rs:3:72
@@ -41,8 +44,9 @@ LL | //! A comment with a_b(x) and a_c in it and (a_b((c)) ) too and (maybe a_b(
    |
 help: try
    |
-LL | //! A comment with a_b(x) and a_c in it and (a_b((c)) ) too and (maybe `a_b((c))`)
-   |                                                                        ~~~~~~~~~~
+LL - //! A comment with a_b(x) and a_c in it and (a_b((c)) ) too and (maybe a_b((c)))
+LL + //! A comment with a_b(x) and a_c in it and (a_b((c)) ) too and (maybe `a_b((c))`)
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/src/tools/clippy/tests/ui/doc/issue_9473.stderr b/src/tools/clippy/tests/ui/doc/issue_9473.stderr
index 35aa2884cc1..744c8dc8c83 100644
--- a/src/tools/clippy/tests/ui/doc/issue_9473.stderr
+++ b/src/tools/clippy/tests/ui/doc/issue_9473.stderr
@@ -8,8 +8,9 @@ LL | /// Blah blah blah <code>[FooBar]&lt;[FooBar]&gt;</code>[FooBar].
    = help: to override `-D warnings` add `#[allow(clippy::doc_markdown)]`
 help: try
    |
-LL | /// Blah blah blah <code>[FooBar]&lt;[FooBar]&gt;</code>[`FooBar`].
-   |                                                          ~~~~~~~~
+LL - /// Blah blah blah <code>[FooBar]&lt;[FooBar]&gt;</code>[FooBar].
+LL + /// Blah blah blah <code>[FooBar]&lt;[FooBar]&gt;</code>[`FooBar`].
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/src/tools/clippy/tests/ui/doc/unbalanced_ticks.stderr b/src/tools/clippy/tests/ui/doc/unbalanced_ticks.stderr
index c9fd25eb1a1..4114a823822 100644
--- a/src/tools/clippy/tests/ui/doc/unbalanced_ticks.stderr
+++ b/src/tools/clippy/tests/ui/doc/unbalanced_ticks.stderr
@@ -29,8 +29,9 @@ LL | /// This paragraph is fine and should_be linted normally.
    |
 help: try
    |
-LL | /// This paragraph is fine and `should_be` linted normally.
-   |                                ~~~~~~~~~~~
+LL - /// This paragraph is fine and should_be linted normally.
+LL + /// This paragraph is fine and `should_be` linted normally.
+   |
 
 error: backticks are unbalanced
   --> tests/ui/doc/unbalanced_ticks.rs:20:5
@@ -48,8 +49,9 @@ LL | /// ## not_fine
    |
 help: try
    |
-LL | /// ## `not_fine`
-   |        ~~~~~~~~~~
+LL - /// ## not_fine
+LL + /// ## `not_fine`
+   |
 
 error: backticks are unbalanced
   --> tests/ui/doc/unbalanced_ticks.rs:37:5
@@ -75,8 +77,9 @@ LL | /// - This item needs backticks_here
    |
 help: try
    |
-LL | /// - This item needs `backticks_here`
-   |                       ~~~~~~~~~~~~~~~~
+LL - /// - This item needs backticks_here
+LL + /// - This item needs `backticks_here`
+   |
 
 error: backticks are unbalanced
   --> tests/ui/doc/unbalanced_ticks.rs:53:5
diff --git a/src/tools/clippy/tests/ui/eager_transmute.stderr b/src/tools/clippy/tests/ui/eager_transmute.stderr
index 5cf7bd49a92..68690c3730d 100644
--- a/src/tools/clippy/tests/ui/eager_transmute.stderr
+++ b/src/tools/clippy/tests/ui/eager_transmute.stderr
@@ -8,8 +8,9 @@ LL |     (op < 4).then_some(unsafe { std::mem::transmute(op) })
    = help: to override `-D warnings` add `#[allow(clippy::eager_transmute)]`
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     (op < 4).then(|| unsafe { std::mem::transmute(op) })
-   |              ~~~~ ++
+LL -     (op < 4).then_some(unsafe { std::mem::transmute(op) })
+LL +     (op < 4).then(|| unsafe { std::mem::transmute(op) })
+   |
 
 error: this transmute is always evaluated eagerly, even if the condition is false
   --> tests/ui/eager_transmute.rs:27:33
@@ -19,8 +20,9 @@ LL |     (op < 4).then_some(unsafe { std::mem::transmute::<_, Opcode>(op) });
    |
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     (op < 4).then(|| unsafe { std::mem::transmute::<_, Opcode>(op) });
-   |              ~~~~ ++
+LL -     (op < 4).then_some(unsafe { std::mem::transmute::<_, Opcode>(op) });
+LL +     (op < 4).then(|| unsafe { std::mem::transmute::<_, Opcode>(op) });
+   |
 
 error: this transmute is always evaluated eagerly, even if the condition is false
   --> tests/ui/eager_transmute.rs:28:33
@@ -30,8 +32,9 @@ LL |     (op > 4).then_some(unsafe { std::mem::transmute::<_, Opcode>(op) });
    |
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     (op > 4).then(|| unsafe { std::mem::transmute::<_, Opcode>(op) });
-   |              ~~~~ ++
+LL -     (op > 4).then_some(unsafe { std::mem::transmute::<_, Opcode>(op) });
+LL +     (op > 4).then(|| unsafe { std::mem::transmute::<_, Opcode>(op) });
+   |
 
 error: this transmute is always evaluated eagerly, even if the condition is false
   --> tests/ui/eager_transmute.rs:29:34
@@ -41,8 +44,9 @@ LL |     (op == 0).then_some(unsafe { std::mem::transmute::<_, Opcode>(op) });
    |
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     (op == 0).then(|| unsafe { std::mem::transmute::<_, Opcode>(op) });
-   |               ~~~~ ++
+LL -     (op == 0).then_some(unsafe { std::mem::transmute::<_, Opcode>(op) });
+LL +     (op == 0).then(|| unsafe { std::mem::transmute::<_, Opcode>(op) });
+   |
 
 error: this transmute is always evaluated eagerly, even if the condition is false
   --> tests/ui/eager_transmute.rs:31:68
@@ -52,8 +56,9 @@ LL |     let _: Option<Opcode> = (op > 0 && op < 10).then_some(unsafe { std::mem
    |
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     let _: Option<Opcode> = (op > 0 && op < 10).then(|| unsafe { std::mem::transmute(op) });
-   |                                                 ~~~~ ++
+LL -     let _: Option<Opcode> = (op > 0 && op < 10).then_some(unsafe { std::mem::transmute(op) });
+LL +     let _: Option<Opcode> = (op > 0 && op < 10).then(|| unsafe { std::mem::transmute(op) });
+   |
 
 error: this transmute is always evaluated eagerly, even if the condition is false
   --> tests/ui/eager_transmute.rs:32:86
@@ -63,8 +68,9 @@ LL |     let _: Option<Opcode> = (op > 0 && op < 10 && unrelated == 0).then_some
    |
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     let _: Option<Opcode> = (op > 0 && op < 10 && unrelated == 0).then(|| unsafe { std::mem::transmute(op) });
-   |                                                                   ~~~~ ++
+LL -     let _: Option<Opcode> = (op > 0 && op < 10 && unrelated == 0).then_some(unsafe { std::mem::transmute(op) });
+LL +     let _: Option<Opcode> = (op > 0 && op < 10 && unrelated == 0).then(|| unsafe { std::mem::transmute(op) });
+   |
 
 error: this transmute is always evaluated eagerly, even if the condition is false
   --> tests/ui/eager_transmute.rs:35:84
@@ -74,8 +80,9 @@ LL |     let _: Option<Opcode> = (op2.foo[0] > 0 && op2.foo[0] < 10).then_some(u
    |
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     let _: Option<Opcode> = (op2.foo[0] > 0 && op2.foo[0] < 10).then(|| unsafe { std::mem::transmute(op2.foo[0]) });
-   |                                                                 ~~~~ ++
+LL -     let _: Option<Opcode> = (op2.foo[0] > 0 && op2.foo[0] < 10).then_some(unsafe { std::mem::transmute(op2.foo[0]) });
+LL +     let _: Option<Opcode> = (op2.foo[0] > 0 && op2.foo[0] < 10).then(|| unsafe { std::mem::transmute(op2.foo[0]) });
+   |
 
 error: this transmute is always evaluated eagerly, even if the condition is false
   --> tests/ui/eager_transmute.rs:47:70
@@ -85,8 +92,9 @@ LL |     let _: Option<Opcode> = (1..=3).contains(&op).then_some(unsafe { std::m
    |
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     let _: Option<Opcode> = (1..=3).contains(&op).then(|| unsafe { std::mem::transmute(op) });
-   |                                                   ~~~~ ++
+LL -     let _: Option<Opcode> = (1..=3).contains(&op).then_some(unsafe { std::mem::transmute(op) });
+LL +     let _: Option<Opcode> = (1..=3).contains(&op).then(|| unsafe { std::mem::transmute(op) });
+   |
 
 error: this transmute is always evaluated eagerly, even if the condition is false
   --> tests/ui/eager_transmute.rs:48:83
@@ -96,8 +104,9 @@ LL |     let _: Option<Opcode> = ((1..=3).contains(&op) || op == 4).then_some(un
    |
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     let _: Option<Opcode> = ((1..=3).contains(&op) || op == 4).then(|| unsafe { std::mem::transmute(op) });
-   |                                                                ~~~~ ++
+LL -     let _: Option<Opcode> = ((1..=3).contains(&op) || op == 4).then_some(unsafe { std::mem::transmute(op) });
+LL +     let _: Option<Opcode> = ((1..=3).contains(&op) || op == 4).then(|| unsafe { std::mem::transmute(op) });
+   |
 
 error: this transmute is always evaluated eagerly, even if the condition is false
   --> tests/ui/eager_transmute.rs:49:69
@@ -107,8 +116,9 @@ LL |     let _: Option<Opcode> = (1..3).contains(&op).then_some(unsafe { std::me
    |
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     let _: Option<Opcode> = (1..3).contains(&op).then(|| unsafe { std::mem::transmute(op) });
-   |                                                  ~~~~ ++
+LL -     let _: Option<Opcode> = (1..3).contains(&op).then_some(unsafe { std::mem::transmute(op) });
+LL +     let _: Option<Opcode> = (1..3).contains(&op).then(|| unsafe { std::mem::transmute(op) });
+   |
 
 error: this transmute is always evaluated eagerly, even if the condition is false
   --> tests/ui/eager_transmute.rs:50:68
@@ -118,8 +128,9 @@ LL |     let _: Option<Opcode> = (1..).contains(&op).then_some(unsafe { std::mem
    |
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     let _: Option<Opcode> = (1..).contains(&op).then(|| unsafe { std::mem::transmute(op) });
-   |                                                 ~~~~ ++
+LL -     let _: Option<Opcode> = (1..).contains(&op).then_some(unsafe { std::mem::transmute(op) });
+LL +     let _: Option<Opcode> = (1..).contains(&op).then(|| unsafe { std::mem::transmute(op) });
+   |
 
 error: this transmute is always evaluated eagerly, even if the condition is false
   --> tests/ui/eager_transmute.rs:51:68
@@ -129,8 +140,9 @@ LL |     let _: Option<Opcode> = (..3).contains(&op).then_some(unsafe { std::mem
    |
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     let _: Option<Opcode> = (..3).contains(&op).then(|| unsafe { std::mem::transmute(op) });
-   |                                                 ~~~~ ++
+LL -     let _: Option<Opcode> = (..3).contains(&op).then_some(unsafe { std::mem::transmute(op) });
+LL +     let _: Option<Opcode> = (..3).contains(&op).then(|| unsafe { std::mem::transmute(op) });
+   |
 
 error: this transmute is always evaluated eagerly, even if the condition is false
   --> tests/ui/eager_transmute.rs:52:69
@@ -140,8 +152,9 @@ LL |     let _: Option<Opcode> = (..=3).contains(&op).then_some(unsafe { std::me
    |
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     let _: Option<Opcode> = (..=3).contains(&op).then(|| unsafe { std::mem::transmute(op) });
-   |                                                  ~~~~ ++
+LL -     let _: Option<Opcode> = (..=3).contains(&op).then_some(unsafe { std::mem::transmute(op) });
+LL +     let _: Option<Opcode> = (..=3).contains(&op).then(|| unsafe { std::mem::transmute(op) });
+   |
 
 error: this transmute is always evaluated eagerly, even if the condition is false
   --> tests/ui/eager_transmute.rs:61:24
@@ -151,8 +164,9 @@ LL |     (op < 4).then_some(std::mem::transmute::<_, Opcode>(op));
    |
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     (op < 4).then(|| std::mem::transmute::<_, Opcode>(op));
-   |              ~~~~ ++
+LL -     (op < 4).then_some(std::mem::transmute::<_, Opcode>(op));
+LL +     (op < 4).then(|| std::mem::transmute::<_, Opcode>(op));
+   |
 
 error: this transmute is always evaluated eagerly, even if the condition is false
   --> tests/ui/eager_transmute.rs:90:62
@@ -162,8 +176,9 @@ LL |     let _: Option<NonZero<u8>> = (v1 > 0).then_some(unsafe { std::mem::tran
    |
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     let _: Option<NonZero<u8>> = (v1 > 0).then(|| unsafe { std::mem::transmute(v1) });
-   |                                           ~~~~ ++
+LL -     let _: Option<NonZero<u8>> = (v1 > 0).then_some(unsafe { std::mem::transmute(v1) });
+LL +     let _: Option<NonZero<u8>> = (v1 > 0).then(|| unsafe { std::mem::transmute(v1) });
+   |
 
 error: this transmute is always evaluated eagerly, even if the condition is false
   --> tests/ui/eager_transmute.rs:96:86
@@ -173,8 +188,9 @@ LL |     let _: Option<NonMaxU8> = (v2 < NonZero::new(255u8).unwrap()).then_some
    |
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     let _: Option<NonMaxU8> = (v2 < NonZero::new(255u8).unwrap()).then(|| unsafe { std::mem::transmute(v2) });
-   |                                                                   ~~~~ ++
+LL -     let _: Option<NonMaxU8> = (v2 < NonZero::new(255u8).unwrap()).then_some(unsafe { std::mem::transmute(v2) });
+LL +     let _: Option<NonMaxU8> = (v2 < NonZero::new(255u8).unwrap()).then(|| unsafe { std::mem::transmute(v2) });
+   |
 
 error: this transmute is always evaluated eagerly, even if the condition is false
   --> tests/ui/eager_transmute.rs:102:93
@@ -184,8 +200,9 @@ LL |     let _: Option<NonZeroNonMaxU8> = (v2 < NonZero::new(255u8).unwrap()).th
    |
 help: consider using `bool::then` to only transmute if the condition holds
    |
-LL |     let _: Option<NonZeroNonMaxU8> = (v2 < NonZero::new(255u8).unwrap()).then(|| unsafe { std::mem::transmute(v2) });
-   |                                                                          ~~~~ ++
+LL -     let _: Option<NonZeroNonMaxU8> = (v2 < NonZero::new(255u8).unwrap()).then_some(unsafe { std::mem::transmute(v2) });
+LL +     let _: Option<NonZeroNonMaxU8> = (v2 < NonZero::new(255u8).unwrap()).then(|| unsafe { std::mem::transmute(v2) });
+   |
 
 error: aborting due to 17 previous errors
 
diff --git a/src/tools/clippy/tests/ui/empty_line_after/doc_comments.stderr b/src/tools/clippy/tests/ui/empty_line_after/doc_comments.stderr
index 7b197ae67e0..ca05a1b03eb 100644
--- a/src/tools/clippy/tests/ui/empty_line_after/doc_comments.stderr
+++ b/src/tools/clippy/tests/ui/empty_line_after/doc_comments.stderr
@@ -131,8 +131,9 @@ LL |       fn first_in_module() {}
    = help: if the empty line is unintentional, remove it
 help: if the comment should document the parent module use an inner doc comment
    |
-LL |     /*!
-   |       ~
+LL -     /**
+LL +     /*!
+   |
 
 error: empty line after doc comment
   --> tests/ui/empty_line_after/doc_comments.rs:85:5
diff --git a/src/tools/clippy/tests/ui/excessive_precision.stderr b/src/tools/clippy/tests/ui/excessive_precision.stderr
index 81e4fb6765d..b1f12eed420 100644
--- a/src/tools/clippy/tests/ui/excessive_precision.stderr
+++ b/src/tools/clippy/tests/ui/excessive_precision.stderr
@@ -8,8 +8,9 @@ LL |     const BAD32_1: f32 = 0.123_456_789_f32;
    = help: to override `-D warnings` add `#[allow(clippy::excessive_precision)]`
 help: consider changing the type or truncating it to
    |
-LL |     const BAD32_1: f32 = 0.123_456_79_f32;
-   |                          ~~~~~~~~~~~~~~~~
+LL -     const BAD32_1: f32 = 0.123_456_789_f32;
+LL +     const BAD32_1: f32 = 0.123_456_79_f32;
+   |
 
 error: float has excessive precision
   --> tests/ui/excessive_precision.rs:21:26
@@ -19,8 +20,9 @@ LL |     const BAD32_2: f32 = 0.123_456_789;
    |
 help: consider changing the type or truncating it to
    |
-LL |     const BAD32_2: f32 = 0.123_456_79;
-   |                          ~~~~~~~~~~~~
+LL -     const BAD32_2: f32 = 0.123_456_789;
+LL +     const BAD32_2: f32 = 0.123_456_79;
+   |
 
 error: float has excessive precision
   --> tests/ui/excessive_precision.rs:22:26
@@ -30,8 +32,9 @@ LL |     const BAD32_3: f32 = 0.100_000_000_000_1;
    |
 help: consider changing the type or truncating it to
    |
-LL |     const BAD32_3: f32 = 0.1;
-   |                          ~~~
+LL -     const BAD32_3: f32 = 0.100_000_000_000_1;
+LL +     const BAD32_3: f32 = 0.1;
+   |
 
 error: float has excessive precision
   --> tests/ui/excessive_precision.rs:23:29
@@ -41,8 +44,9 @@ LL |     const BAD32_EDGE: f32 = 1.000_000_9;
    |
 help: consider changing the type or truncating it to
    |
-LL |     const BAD32_EDGE: f32 = 1.000_001;
-   |                             ~~~~~~~~~
+LL -     const BAD32_EDGE: f32 = 1.000_000_9;
+LL +     const BAD32_EDGE: f32 = 1.000_001;
+   |
 
 error: float has excessive precision
   --> tests/ui/excessive_precision.rs:27:26
@@ -52,8 +56,9 @@ LL |     const BAD64_3: f64 = 0.100_000_000_000_000_000_1;
    |
 help: consider changing the type or truncating it to
    |
-LL |     const BAD64_3: f64 = 0.1;
-   |                          ~~~
+LL -     const BAD64_3: f64 = 0.100_000_000_000_000_000_1;
+LL +     const BAD64_3: f64 = 0.1;
+   |
 
 error: float has excessive precision
   --> tests/ui/excessive_precision.rs:30:22
@@ -63,8 +68,9 @@ LL |     println!("{:?}", 8.888_888_888_888_888_888_888);
    |
 help: consider changing the type or truncating it to
    |
-LL |     println!("{:?}", 8.888_888_888_888_89);
-   |                      ~~~~~~~~~~~~~~~~~~~~
+LL -     println!("{:?}", 8.888_888_888_888_888_888_888);
+LL +     println!("{:?}", 8.888_888_888_888_89);
+   |
 
 error: float has excessive precision
   --> tests/ui/excessive_precision.rs:41:22
@@ -74,8 +80,9 @@ LL |     let bad32: f32 = 1.123_456_789;
    |
 help: consider changing the type or truncating it to
    |
-LL |     let bad32: f32 = 1.123_456_8;
-   |                      ~~~~~~~~~~~
+LL -     let bad32: f32 = 1.123_456_789;
+LL +     let bad32: f32 = 1.123_456_8;
+   |
 
 error: float has excessive precision
   --> tests/ui/excessive_precision.rs:42:26
@@ -85,8 +92,9 @@ LL |     let bad32_suf: f32 = 1.123_456_789_f32;
    |
 help: consider changing the type or truncating it to
    |
-LL |     let bad32_suf: f32 = 1.123_456_8_f32;
-   |                          ~~~~~~~~~~~~~~~
+LL -     let bad32_suf: f32 = 1.123_456_789_f32;
+LL +     let bad32_suf: f32 = 1.123_456_8_f32;
+   |
 
 error: float has excessive precision
   --> tests/ui/excessive_precision.rs:43:21
@@ -96,8 +104,9 @@ LL |     let bad32_inf = 1.123_456_789_f32;
    |
 help: consider changing the type or truncating it to
    |
-LL |     let bad32_inf = 1.123_456_8_f32;
-   |                     ~~~~~~~~~~~~~~~
+LL -     let bad32_inf = 1.123_456_789_f32;
+LL +     let bad32_inf = 1.123_456_8_f32;
+   |
 
 error: float has excessive precision
   --> tests/ui/excessive_precision.rs:53:36
@@ -107,8 +116,9 @@ LL |     let bad_vec32: Vec<f32> = vec![0.123_456_789];
    |
 help: consider changing the type or truncating it to
    |
-LL |     let bad_vec32: Vec<f32> = vec![0.123_456_79];
-   |                                    ~~~~~~~~~~~~
+LL -     let bad_vec32: Vec<f32> = vec![0.123_456_789];
+LL +     let bad_vec32: Vec<f32> = vec![0.123_456_79];
+   |
 
 error: float has excessive precision
   --> tests/ui/excessive_precision.rs:54:36
@@ -118,8 +128,9 @@ LL |     let bad_vec64: Vec<f64> = vec![0.123_456_789_123_456_789];
    |
 help: consider changing the type or truncating it to
    |
-LL |     let bad_vec64: Vec<f64> = vec![0.123_456_789_123_456_78];
-   |                                    ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let bad_vec64: Vec<f64> = vec![0.123_456_789_123_456_789];
+LL +     let bad_vec64: Vec<f64> = vec![0.123_456_789_123_456_78];
+   |
 
 error: float has excessive precision
   --> tests/ui/excessive_precision.rs:58:24
@@ -129,8 +140,9 @@ LL |     let bad_e32: f32 = 1.123_456_788_888e-10;
    |
 help: consider changing the type or truncating it to
    |
-LL |     let bad_e32: f32 = 1.123_456_8e-10;
-   |                        ~~~~~~~~~~~~~~~
+LL -     let bad_e32: f32 = 1.123_456_788_888e-10;
+LL +     let bad_e32: f32 = 1.123_456_8e-10;
+   |
 
 error: float has excessive precision
   --> tests/ui/excessive_precision.rs:61:27
@@ -140,8 +152,9 @@ LL |     let bad_bige32: f32 = 1.123_456_788_888E-10;
    |
 help: consider changing the type or truncating it to
    |
-LL |     let bad_bige32: f32 = 1.123_456_8E-10;
-   |                           ~~~~~~~~~~~~~~~
+LL -     let bad_bige32: f32 = 1.123_456_788_888E-10;
+LL +     let bad_bige32: f32 = 1.123_456_8E-10;
+   |
 
 error: float has excessive precision
   --> tests/ui/excessive_precision.rs:70:13
@@ -151,8 +164,9 @@ LL |     let _ = 2.225_073_858_507_201_1e-308_f64;
    |
 help: consider changing the type or truncating it to
    |
-LL |     let _ = 2.225_073_858_507_201e-308_f64;
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = 2.225_073_858_507_201_1e-308_f64;
+LL +     let _ = 2.225_073_858_507_201e-308_f64;
+   |
 
 error: float has excessive precision
   --> tests/ui/excessive_precision.rs:73:13
@@ -162,8 +176,9 @@ LL |     let _ = 1.000_000_000_000_001e-324_f64;
    |
 help: consider changing the type or truncating it to
    |
-LL |     let _ = 0_f64;
-   |             ~~~~~
+LL -     let _ = 1.000_000_000_000_001e-324_f64;
+LL +     let _ = 0_f64;
+   |
 
 error: float has excessive precision
   --> tests/ui/excessive_precision.rs:83:20
@@ -173,8 +188,9 @@ LL |     const _: f64 = 3.0000000000000000e+00;
    |
 help: consider changing the type or truncating it to
    |
-LL |     const _: f64 = 3.0;
-   |                    ~~~
+LL -     const _: f64 = 3.0000000000000000e+00;
+LL +     const _: f64 = 3.0;
+   |
 
 error: aborting due to 16 previous errors
 
diff --git a/src/tools/clippy/tests/ui/fn_to_numeric_cast_any.stderr b/src/tools/clippy/tests/ui/fn_to_numeric_cast_any.stderr
index a05b7138bc9..c069c9d1672 100644
--- a/src/tools/clippy/tests/ui/fn_to_numeric_cast_any.stderr
+++ b/src/tools/clippy/tests/ui/fn_to_numeric_cast_any.stderr
@@ -8,8 +8,9 @@ LL |     let _ = foo as i8;
    = help: to override `-D warnings` add `#[allow(clippy::fn_to_numeric_cast_any)]`
 help: did you mean to invoke the function?
    |
-LL |     let _ = foo() as i8;
-   |             ~~~~~~~~~~~
+LL -     let _ = foo as i8;
+LL +     let _ = foo() as i8;
+   |
 
 error: casting function pointer `foo` to `i16`
   --> tests/ui/fn_to_numeric_cast_any.rs:26:13
@@ -19,8 +20,9 @@ LL |     let _ = foo as i16;
    |
 help: did you mean to invoke the function?
    |
-LL |     let _ = foo() as i16;
-   |             ~~~~~~~~~~~~
+LL -     let _ = foo as i16;
+LL +     let _ = foo() as i16;
+   |
 
 error: casting function pointer `foo` to `i32`
   --> tests/ui/fn_to_numeric_cast_any.rs:28:13
@@ -30,8 +32,9 @@ LL |     let _ = foo as i32;
    |
 help: did you mean to invoke the function?
    |
-LL |     let _ = foo() as i32;
-   |             ~~~~~~~~~~~~
+LL -     let _ = foo as i32;
+LL +     let _ = foo() as i32;
+   |
 
 error: casting function pointer `foo` to `i64`
   --> tests/ui/fn_to_numeric_cast_any.rs:30:13
@@ -41,8 +44,9 @@ LL |     let _ = foo as i64;
    |
 help: did you mean to invoke the function?
    |
-LL |     let _ = foo() as i64;
-   |             ~~~~~~~~~~~~
+LL -     let _ = foo as i64;
+LL +     let _ = foo() as i64;
+   |
 
 error: casting function pointer `foo` to `i128`
   --> tests/ui/fn_to_numeric_cast_any.rs:32:13
@@ -52,8 +56,9 @@ LL |     let _ = foo as i128;
    |
 help: did you mean to invoke the function?
    |
-LL |     let _ = foo() as i128;
-   |             ~~~~~~~~~~~~~
+LL -     let _ = foo as i128;
+LL +     let _ = foo() as i128;
+   |
 
 error: casting function pointer `foo` to `isize`
   --> tests/ui/fn_to_numeric_cast_any.rs:34:13
@@ -63,8 +68,9 @@ LL |     let _ = foo as isize;
    |
 help: did you mean to invoke the function?
    |
-LL |     let _ = foo() as isize;
-   |             ~~~~~~~~~~~~~~
+LL -     let _ = foo as isize;
+LL +     let _ = foo() as isize;
+   |
 
 error: casting function pointer `foo` to `u8`
   --> tests/ui/fn_to_numeric_cast_any.rs:37:13
@@ -74,8 +80,9 @@ LL |     let _ = foo as u8;
    |
 help: did you mean to invoke the function?
    |
-LL |     let _ = foo() as u8;
-   |             ~~~~~~~~~~~
+LL -     let _ = foo as u8;
+LL +     let _ = foo() as u8;
+   |
 
 error: casting function pointer `foo` to `u16`
   --> tests/ui/fn_to_numeric_cast_any.rs:39:13
@@ -85,8 +92,9 @@ LL |     let _ = foo as u16;
    |
 help: did you mean to invoke the function?
    |
-LL |     let _ = foo() as u16;
-   |             ~~~~~~~~~~~~
+LL -     let _ = foo as u16;
+LL +     let _ = foo() as u16;
+   |
 
 error: casting function pointer `foo` to `u32`
   --> tests/ui/fn_to_numeric_cast_any.rs:41:13
@@ -96,8 +104,9 @@ LL |     let _ = foo as u32;
    |
 help: did you mean to invoke the function?
    |
-LL |     let _ = foo() as u32;
-   |             ~~~~~~~~~~~~
+LL -     let _ = foo as u32;
+LL +     let _ = foo() as u32;
+   |
 
 error: casting function pointer `foo` to `u64`
   --> tests/ui/fn_to_numeric_cast_any.rs:43:13
@@ -107,8 +116,9 @@ LL |     let _ = foo as u64;
    |
 help: did you mean to invoke the function?
    |
-LL |     let _ = foo() as u64;
-   |             ~~~~~~~~~~~~
+LL -     let _ = foo as u64;
+LL +     let _ = foo() as u64;
+   |
 
 error: casting function pointer `foo` to `u128`
   --> tests/ui/fn_to_numeric_cast_any.rs:45:13
@@ -118,8 +128,9 @@ LL |     let _ = foo as u128;
    |
 help: did you mean to invoke the function?
    |
-LL |     let _ = foo() as u128;
-   |             ~~~~~~~~~~~~~
+LL -     let _ = foo as u128;
+LL +     let _ = foo() as u128;
+   |
 
 error: casting function pointer `foo` to `usize`
   --> tests/ui/fn_to_numeric_cast_any.rs:47:13
@@ -129,8 +140,9 @@ LL |     let _ = foo as usize;
    |
 help: did you mean to invoke the function?
    |
-LL |     let _ = foo() as usize;
-   |             ~~~~~~~~~~~~~~
+LL -     let _ = foo as usize;
+LL +     let _ = foo() as usize;
+   |
 
 error: casting function pointer `Struct::static_method` to `usize`
   --> tests/ui/fn_to_numeric_cast_any.rs:52:13
@@ -140,8 +152,9 @@ LL |     let _ = Struct::static_method as usize;
    |
 help: did you mean to invoke the function?
    |
-LL |     let _ = Struct::static_method() as usize;
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = Struct::static_method as usize;
+LL +     let _ = Struct::static_method() as usize;
+   |
 
 error: casting function pointer `f` to `usize`
   --> tests/ui/fn_to_numeric_cast_any.rs:57:5
@@ -151,7 +164,8 @@ LL |     f as usize
    |
 help: did you mean to invoke the function?
    |
-LL |     f() as usize
+LL -     f as usize
+LL +     f() as usize
    |
 
 error: casting function pointer `T::static_method` to `usize`
@@ -162,7 +176,8 @@ LL |     T::static_method as usize
    |
 help: did you mean to invoke the function?
    |
-LL |     T::static_method() as usize
+LL -     T::static_method as usize
+LL +     T::static_method() as usize
    |
 
 error: casting function pointer `(clos as fn(u32) -> u32)` to `usize`
@@ -173,8 +188,9 @@ LL |     let _ = (clos as fn(u32) -> u32) as usize;
    |
 help: did you mean to invoke the function?
    |
-LL |     let _ = (clos as fn(u32) -> u32)() as usize;
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = (clos as fn(u32) -> u32) as usize;
+LL +     let _ = (clos as fn(u32) -> u32)() as usize;
+   |
 
 error: casting function pointer `foo` to `*const ()`
   --> tests/ui/fn_to_numeric_cast_any.rs:74:13
@@ -184,8 +200,9 @@ LL |     let _ = foo as *const ();
    |
 help: did you mean to invoke the function?
    |
-LL |     let _ = foo() as *const ();
-   |             ~~~~~~~~~~~~~~~~~~
+LL -     let _ = foo as *const ();
+LL +     let _ = foo() as *const ();
+   |
 
 error: aborting due to 17 previous errors
 
diff --git a/src/tools/clippy/tests/ui/for_kv_map.stderr b/src/tools/clippy/tests/ui/for_kv_map.stderr
index adcc3ab8fdb..11b61c8cbc6 100644
--- a/src/tools/clippy/tests/ui/for_kv_map.stderr
+++ b/src/tools/clippy/tests/ui/for_kv_map.stderr
@@ -8,8 +8,9 @@ LL |     for (_, v) in &m {
    = help: to override `-D warnings` add `#[allow(clippy::for_kv_map)]`
 help: use the corresponding method
    |
-LL |     for v in m.values() {
-   |         ~    ~~~~~~~~~~
+LL -     for (_, v) in &m {
+LL +     for v in m.values() {
+   |
 
 error: you seem to want to iterate on a map's values
   --> tests/ui/for_kv_map.rs:16:19
@@ -19,8 +20,9 @@ LL |     for (_, v) in &*m {
    |
 help: use the corresponding method
    |
-LL |     for v in (*m).values() {
-   |         ~    ~~~~~~~~~~~~~
+LL -     for (_, v) in &*m {
+LL +     for v in (*m).values() {
+   |
 
 error: you seem to want to iterate on a map's values
   --> tests/ui/for_kv_map.rs:25:19
@@ -30,8 +32,9 @@ LL |     for (_, v) in &mut m {
    |
 help: use the corresponding method
    |
-LL |     for v in m.values_mut() {
-   |         ~    ~~~~~~~~~~~~~~
+LL -     for (_, v) in &mut m {
+LL +     for v in m.values_mut() {
+   |
 
 error: you seem to want to iterate on a map's values
   --> tests/ui/for_kv_map.rs:31:19
@@ -41,8 +44,9 @@ LL |     for (_, v) in &mut *m {
    |
 help: use the corresponding method
    |
-LL |     for v in (*m).values_mut() {
-   |         ~    ~~~~~~~~~~~~~~~~~
+LL -     for (_, v) in &mut *m {
+LL +     for v in (*m).values_mut() {
+   |
 
 error: you seem to want to iterate on a map's keys
   --> tests/ui/for_kv_map.rs:38:24
@@ -52,8 +56,9 @@ LL |     for (k, _value) in rm {
    |
 help: use the corresponding method
    |
-LL |     for k in rm.keys() {
-   |         ~    ~~~~~~~~~
+LL -     for (k, _value) in rm {
+LL +     for k in rm.keys() {
+   |
 
 error: you seem to want to iterate on a map's keys
   --> tests/ui/for_kv_map.rs:45:32
@@ -63,8 +68,9 @@ LL |     'label: for (k, _value) in rm {
    |
 help: use the corresponding method
    |
-LL |     'label: for k in rm.keys() {
-   |                 ~    ~~~~~~~~~
+LL -     'label: for (k, _value) in rm {
+LL +     'label: for k in rm.keys() {
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/src/tools/clippy/tests/ui/four_forward_slashes.stderr b/src/tools/clippy/tests/ui/four_forward_slashes.stderr
index 3606a2227a0..d5bf71fadc7 100644
--- a/src/tools/clippy/tests/ui/four_forward_slashes.stderr
+++ b/src/tools/clippy/tests/ui/four_forward_slashes.stderr
@@ -9,6 +9,8 @@ LL | | fn a() {}
    = help: to override `-D warnings` add `#[allow(clippy::four_forward_slashes)]`
 help: make this a doc comment by removing one `/`
    |
+LL - //// whoops
+LL - fn a() {}
 LL + /// whoops
    |
 
@@ -22,6 +24,8 @@ LL | | fn b() {}
    |
 help: make this a doc comment by removing one `/`
    |
+LL - //// whoops
+LL - #[allow(dead_code)]
 LL + /// whoops
    |
 
@@ -50,6 +54,8 @@ LL | | fn g() {}
    |
 help: make this a doc comment by removing one `/`
    |
+LL - //// between attributes
+LL - #[allow(dead_code)]
 LL + /// between attributes
    |
 
@@ -62,6 +68,8 @@ LL | | fn h() {}
    |
 help: make this a doc comment by removing one `/`
    |
+LL -     //// not very start of contents
+LL - fn h() {}
 LL + /// not very start of contents
    |
 
diff --git a/src/tools/clippy/tests/ui/four_forward_slashes_first_line.stderr b/src/tools/clippy/tests/ui/four_forward_slashes_first_line.stderr
index 81732346412..83bfb60eb16 100644
--- a/src/tools/clippy/tests/ui/four_forward_slashes_first_line.stderr
+++ b/src/tools/clippy/tests/ui/four_forward_slashes_first_line.stderr
@@ -9,6 +9,8 @@ LL | | fn a() {}
    = help: to override `-D warnings` add `#[allow(clippy::four_forward_slashes)]`
 help: make this a doc comment by removing one `/`
    |
+LL - //// borked doc comment on the first line. doesn't combust!
+LL - fn a() {}
 LL + /// borked doc comment on the first line. doesn't combust!
    |
 
diff --git a/src/tools/clippy/tests/ui/get_unwrap.stderr b/src/tools/clippy/tests/ui/get_unwrap.stderr
index 8eacb249c60..fc6c0b9299c 100644
--- a/src/tools/clippy/tests/ui/get_unwrap.stderr
+++ b/src/tools/clippy/tests/ui/get_unwrap.stderr
@@ -11,8 +11,9 @@ LL | #![deny(clippy::get_unwrap)]
    |         ^^^^^^^^^^^^^^^^^^
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = &boxed_slice[1];
-   |                 ~~~~~~~~~~~~~~~
+LL -         let _ = boxed_slice.get(1).unwrap();
+LL +         let _ = &boxed_slice[1];
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui/get_unwrap.rs:37:17
@@ -33,8 +34,9 @@ LL |         let _ = some_slice.get(0).unwrap();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = &some_slice[0];
-   |                 ~~~~~~~~~~~~~~
+LL -         let _ = some_slice.get(0).unwrap();
+LL +         let _ = &some_slice[0];
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui/get_unwrap.rs:38:17
@@ -53,8 +55,9 @@ LL |         let _ = some_vec.get(0).unwrap();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = &some_vec[0];
-   |                 ~~~~~~~~~~~~
+LL -         let _ = some_vec.get(0).unwrap();
+LL +         let _ = &some_vec[0];
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui/get_unwrap.rs:39:17
@@ -73,8 +76,9 @@ LL |         let _ = some_vecdeque.get(0).unwrap();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = &some_vecdeque[0];
-   |                 ~~~~~~~~~~~~~~~~~
+LL -         let _ = some_vecdeque.get(0).unwrap();
+LL +         let _ = &some_vecdeque[0];
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui/get_unwrap.rs:40:17
@@ -93,8 +97,9 @@ LL |         let _ = some_hashmap.get(&1).unwrap();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = &some_hashmap[&1];
-   |                 ~~~~~~~~~~~~~~~~~
+LL -         let _ = some_hashmap.get(&1).unwrap();
+LL +         let _ = &some_hashmap[&1];
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui/get_unwrap.rs:41:17
@@ -113,8 +118,9 @@ LL |         let _ = some_btreemap.get(&1).unwrap();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = &some_btreemap[&1];
-   |                 ~~~~~~~~~~~~~~~~~~
+LL -         let _ = some_btreemap.get(&1).unwrap();
+LL +         let _ = &some_btreemap[&1];
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui/get_unwrap.rs:42:17
@@ -133,8 +139,9 @@ LL |         let _: u8 = *boxed_slice.get(1).unwrap();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _: u8 = boxed_slice[1];
-   |                     ~~~~~~~~~~~~~~
+LL -         let _: u8 = *boxed_slice.get(1).unwrap();
+LL +         let _: u8 = boxed_slice[1];
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui/get_unwrap.rs:46:22
@@ -153,8 +160,9 @@ LL |         *boxed_slice.get_mut(0).unwrap() = 1;
    |
 help: using `[]` is clearer and more concise
    |
-LL |         boxed_slice[0] = 1;
-   |         ~~~~~~~~~~~~~~
+LL -         *boxed_slice.get_mut(0).unwrap() = 1;
+LL +         boxed_slice[0] = 1;
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui/get_unwrap.rs:51:10
@@ -173,8 +181,9 @@ LL |         *some_slice.get_mut(0).unwrap() = 1;
    |
 help: using `[]` is clearer and more concise
    |
-LL |         some_slice[0] = 1;
-   |         ~~~~~~~~~~~~~
+LL -         *some_slice.get_mut(0).unwrap() = 1;
+LL +         some_slice[0] = 1;
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui/get_unwrap.rs:52:10
@@ -193,8 +202,9 @@ LL |         *some_vec.get_mut(0).unwrap() = 1;
    |
 help: using `[]` is clearer and more concise
    |
-LL |         some_vec[0] = 1;
-   |         ~~~~~~~~~~~
+LL -         *some_vec.get_mut(0).unwrap() = 1;
+LL +         some_vec[0] = 1;
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui/get_unwrap.rs:53:10
@@ -213,8 +223,9 @@ LL |         *some_vecdeque.get_mut(0).unwrap() = 1;
    |
 help: using `[]` is clearer and more concise
    |
-LL |         some_vecdeque[0] = 1;
-   |         ~~~~~~~~~~~~~~~~
+LL -         *some_vecdeque.get_mut(0).unwrap() = 1;
+LL +         some_vecdeque[0] = 1;
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui/get_unwrap.rs:54:10
@@ -233,8 +244,9 @@ LL |         let _ = some_vec.get(0..1).unwrap().to_vec();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = some_vec[0..1].to_vec();
-   |                 ~~~~~~~~~~~~~~
+LL -         let _ = some_vec.get(0..1).unwrap().to_vec();
+LL +         let _ = some_vec[0..1].to_vec();
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui/get_unwrap.rs:66:17
@@ -253,8 +265,9 @@ LL |         let _ = some_vec.get_mut(0..1).unwrap().to_vec();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _ = some_vec[0..1].to_vec();
-   |                 ~~~~~~~~~~~~~~
+LL -         let _ = some_vec.get_mut(0..1).unwrap().to_vec();
+LL +         let _ = some_vec[0..1].to_vec();
+   |
 
 error: used `unwrap()` on an `Option` value
   --> tests/ui/get_unwrap.rs:67:17
@@ -273,8 +286,9 @@ LL |         let _x: &i32 = f.get(1 + 2).unwrap();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _x: &i32 = &f[1 + 2];
-   |                        ~~~~~~~~~
+LL -         let _x: &i32 = f.get(1 + 2).unwrap();
+LL +         let _x: &i32 = &f[1 + 2];
+   |
 
 error: called `.get().unwrap()` on a slice
   --> tests/ui/get_unwrap.rs:81:18
@@ -284,8 +298,9 @@ LL |         let _x = f.get(1 + 2).unwrap().to_string();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _x = f[1 + 2].to_string();
-   |                  ~~~~~~~~
+LL -         let _x = f.get(1 + 2).unwrap().to_string();
+LL +         let _x = f[1 + 2].to_string();
+   |
 
 error: called `.get().unwrap()` on a slice
   --> tests/ui/get_unwrap.rs:84:18
@@ -295,8 +310,9 @@ LL |         let _x = f.get(1 + 2).unwrap().abs();
    |
 help: using `[]` is clearer and more concise
    |
-LL |         let _x = f[1 + 2].abs();
-   |                  ~~~~~~~~
+LL -         let _x = f.get(1 + 2).unwrap().abs();
+LL +         let _x = f[1 + 2].abs();
+   |
 
 error: called `.get_mut().unwrap()` on a slice
   --> tests/ui/get_unwrap.rs:101:33
@@ -306,8 +322,9 @@ LL |                         let b = rest.get_mut(linidx(j, k) - linidx(i, k) -
    |
 help: using `[]` is clearer and more concise
    |
-LL |                         let b = &mut rest[linidx(j, k) - linidx(i, k) - 1];
-   |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -                         let b = rest.get_mut(linidx(j, k) - linidx(i, k) - 1).unwrap();
+LL +                         let b = &mut rest[linidx(j, k) - linidx(i, k) - 1];
+   |
 
 error: aborting due to 30 previous errors
 
diff --git a/src/tools/clippy/tests/ui/implicit_hasher.stderr b/src/tools/clippy/tests/ui/implicit_hasher.stderr
index 442f4789aac..6e964c65a2e 100644
--- a/src/tools/clippy/tests/ui/implicit_hasher.stderr
+++ b/src/tools/clippy/tests/ui/implicit_hasher.stderr
@@ -78,8 +78,9 @@ LL | pub fn map(map: &mut HashMap<i32, i32>) {}
    |
 help: add a type parameter for `BuildHasher`
    |
-LL | pub fn map<S: ::std::hash::BuildHasher>(map: &mut HashMap<i32, i32, S>) {}
-   |           +++++++++++++++++++++++++++++           ~~~~~~~~~~~~~~~~~~~~
+LL - pub fn map(map: &mut HashMap<i32, i32>) {}
+LL + pub fn map<S: ::std::hash::BuildHasher>(map: &mut HashMap<i32, i32, S>) {}
+   |
 
 error: parameter of type `HashSet` should be generalized over different hashers
   --> tests/ui/implicit_hasher.rs:70:22
@@ -89,8 +90,9 @@ LL | pub fn set(set: &mut HashSet<i32>) {}
    |
 help: add a type parameter for `BuildHasher`
    |
-LL | pub fn set<S: ::std::hash::BuildHasher>(set: &mut HashSet<i32, S>) {}
-   |           +++++++++++++++++++++++++++++           ~~~~~~~~~~~~~~~
+LL - pub fn set(set: &mut HashSet<i32>) {}
+LL + pub fn set<S: ::std::hash::BuildHasher>(set: &mut HashSet<i32, S>) {}
+   |
 
 error: impl for `HashMap` should be generalized over different hashers
   --> tests/ui/implicit_hasher.rs:76:43
@@ -114,8 +116,9 @@ LL | pub async fn election_vote(_data: HashMap<i32, i32>) {}
    |
 help: add a type parameter for `BuildHasher`
    |
-LL | pub async fn election_vote<S: ::std::hash::BuildHasher>(_data: HashMap<i32, i32, S>) {}
-   |                           +++++++++++++++++++++++++++++        ~~~~~~~~~~~~~~~~~~~~
+LL - pub async fn election_vote(_data: HashMap<i32, i32>) {}
+LL + pub async fn election_vote<S: ::std::hash::BuildHasher>(_data: HashMap<i32, i32, S>) {}
+   |
 
 error: aborting due to 9 previous errors
 
diff --git a/src/tools/clippy/tests/ui/implicit_return.stderr b/src/tools/clippy/tests/ui/implicit_return.stderr
index 3b06f26f5a0..0d2faa5e067 100644
--- a/src/tools/clippy/tests/ui/implicit_return.stderr
+++ b/src/tools/clippy/tests/ui/implicit_return.stderr
@@ -8,7 +8,8 @@ LL |     true
    = help: to override `-D warnings` add `#[allow(clippy::implicit_return)]`
 help: add `return` as shown
    |
-LL |     return true
+LL -     true
+LL +     return true
    |
 
 error: missing `return` statement
@@ -19,8 +20,9 @@ LL |     if true { true } else { false }
    |
 help: add `return` as shown
    |
-LL |     if true { return true } else { false }
-   |               ~~~~~~~~~~~
+LL -     if true { true } else { false }
+LL +     if true { return true } else { false }
+   |
 
 error: missing `return` statement
   --> tests/ui/implicit_return.rs:19:29
@@ -30,8 +32,9 @@ LL |     if true { true } else { false }
    |
 help: add `return` as shown
    |
-LL |     if true { true } else { return false }
-   |                             ~~~~~~~~~~~~
+LL -     if true { true } else { false }
+LL +     if true { true } else { return false }
+   |
 
 error: missing `return` statement
   --> tests/ui/implicit_return.rs:25:17
@@ -41,8 +44,9 @@ LL |         true => false,
    |
 help: add `return` as shown
    |
-LL |         true => return false,
-   |                 ~~~~~~~~~~~~
+LL -         true => false,
+LL +         true => return false,
+   |
 
 error: missing `return` statement
   --> tests/ui/implicit_return.rs:26:20
@@ -52,8 +56,9 @@ LL |         false => { true },
    |
 help: add `return` as shown
    |
-LL |         false => { return true },
-   |                    ~~~~~~~~~~~
+LL -         false => { true },
+LL +         false => { return true },
+   |
 
 error: missing `return` statement
   --> tests/ui/implicit_return.rs:39:9
@@ -63,8 +68,9 @@ LL |         break true;
    |
 help: change `break` to `return` as shown
    |
-LL |         return true;
-   |         ~~~~~~~~~~~
+LL -         break true;
+LL +         return true;
+   |
 
 error: missing `return` statement
   --> tests/ui/implicit_return.rs:46:13
@@ -74,8 +80,9 @@ LL |             break true;
    |
 help: change `break` to `return` as shown
    |
-LL |             return true;
-   |             ~~~~~~~~~~~
+LL -             break true;
+LL +             return true;
+   |
 
 error: missing `return` statement
   --> tests/ui/implicit_return.rs:54:13
@@ -85,8 +92,9 @@ LL |             break true;
    |
 help: change `break` to `return` as shown
    |
-LL |             return true;
-   |             ~~~~~~~~~~~
+LL -             break true;
+LL +             return true;
+   |
 
 error: missing `return` statement
   --> tests/ui/implicit_return.rs:72:18
@@ -96,8 +104,9 @@ LL |     let _ = || { true };
    |
 help: add `return` as shown
    |
-LL |     let _ = || { return true };
-   |                  ~~~~~~~~~~~
+LL -     let _ = || { true };
+LL +     let _ = || { return true };
+   |
 
 error: missing `return` statement
   --> tests/ui/implicit_return.rs:73:16
@@ -107,8 +116,9 @@ LL |     let _ = || true;
    |
 help: add `return` as shown
    |
-LL |     let _ = || return true;
-   |                ~~~~~~~~~~~
+LL -     let _ = || true;
+LL +     let _ = || return true;
+   |
 
 error: missing `return` statement
   --> tests/ui/implicit_return.rs:81:5
@@ -118,7 +128,8 @@ LL |     format!("test {}", "test")
    |
 help: add `return` as shown
    |
-LL |     return format!("test {}", "test")
+LL -     format!("test {}", "test")
+LL +     return format!("test {}", "test")
    |
 
 error: missing `return` statement
@@ -129,7 +140,8 @@ LL |     m!(true, false)
    |
 help: add `return` as shown
    |
-LL |     return m!(true, false)
+LL -     m!(true, false)
+LL +     return m!(true, false)
    |
 
 error: missing `return` statement
@@ -140,8 +152,9 @@ LL |             break true;
    |
 help: change `break` to `return` as shown
    |
-LL |             return true;
-   |             ~~~~~~~~~~~
+LL -             break true;
+LL +             return true;
+   |
 
 error: missing `return` statement
   --> tests/ui/implicit_return.rs:101:17
@@ -151,8 +164,9 @@ LL |                 break 'outer false;
    |
 help: change `break` to `return` as shown
    |
-LL |                 return false;
-   |                 ~~~~~~~~~~~~
+LL -                 break 'outer false;
+LL +                 return false;
+   |
 
 error: missing `return` statement
   --> tests/ui/implicit_return.rs:116:5
@@ -177,7 +191,8 @@ LL |     true
    |
 help: add `return` as shown
    |
-LL |     return true
+LL -     true
+LL +     return true
    |
 
 error: aborting due to 16 previous errors
diff --git a/src/tools/clippy/tests/ui/iter_nth.stderr b/src/tools/clippy/tests/ui/iter_nth.stderr
index 178463f5347..1167a604ecd 100644
--- a/src/tools/clippy/tests/ui/iter_nth.stderr
+++ b/src/tools/clippy/tests/ui/iter_nth.stderr
@@ -8,8 +8,9 @@ LL |         let bad_vec = some_vec.iter().nth(3);
    = help: to override `-D warnings` add `#[allow(clippy::iter_nth)]`
 help: `get` is equivalent but more concise
    |
-LL |         let bad_vec = some_vec.get(3);
-   |                                ~~~
+LL -         let bad_vec = some_vec.iter().nth(3);
+LL +         let bad_vec = some_vec.get(3);
+   |
 
 error: called `.iter().nth()` on a slice
   --> tests/ui/iter_nth.rs:35:26
@@ -19,8 +20,9 @@ LL |         let bad_slice = &some_vec[..].iter().nth(3);
    |
 help: `get` is equivalent but more concise
    |
-LL |         let bad_slice = &some_vec[..].get(3);
-   |                                       ~~~
+LL -         let bad_slice = &some_vec[..].iter().nth(3);
+LL +         let bad_slice = &some_vec[..].get(3);
+   |
 
 error: called `.iter().nth()` on a slice
   --> tests/ui/iter_nth.rs:36:31
@@ -30,8 +32,9 @@ LL |         let bad_boxed_slice = boxed_slice.iter().nth(3);
    |
 help: `get` is equivalent but more concise
    |
-LL |         let bad_boxed_slice = boxed_slice.get(3);
-   |                                           ~~~
+LL -         let bad_boxed_slice = boxed_slice.iter().nth(3);
+LL +         let bad_boxed_slice = boxed_slice.get(3);
+   |
 
 error: called `.iter().nth()` on a `VecDeque`
   --> tests/ui/iter_nth.rs:37:29
@@ -41,8 +44,9 @@ LL |         let bad_vec_deque = some_vec_deque.iter().nth(3);
    |
 help: `get` is equivalent but more concise
    |
-LL |         let bad_vec_deque = some_vec_deque.get(3);
-   |                                            ~~~
+LL -         let bad_vec_deque = some_vec_deque.iter().nth(3);
+LL +         let bad_vec_deque = some_vec_deque.get(3);
+   |
 
 error: called `.iter_mut().nth()` on a `Vec`
   --> tests/ui/iter_nth.rs:42:23
@@ -52,8 +56,9 @@ LL |         let bad_vec = some_vec.iter_mut().nth(3);
    |
 help: `get_mut` is equivalent but more concise
    |
-LL |         let bad_vec = some_vec.get_mut(3);
-   |                                ~~~~~~~
+LL -         let bad_vec = some_vec.iter_mut().nth(3);
+LL +         let bad_vec = some_vec.get_mut(3);
+   |
 
 error: called `.iter_mut().nth()` on a slice
   --> tests/ui/iter_nth.rs:45:26
@@ -63,8 +68,9 @@ LL |         let bad_slice = &some_vec[..].iter_mut().nth(3);
    |
 help: `get_mut` is equivalent but more concise
    |
-LL |         let bad_slice = &some_vec[..].get_mut(3);
-   |                                       ~~~~~~~
+LL -         let bad_slice = &some_vec[..].iter_mut().nth(3);
+LL +         let bad_slice = &some_vec[..].get_mut(3);
+   |
 
 error: called `.iter_mut().nth()` on a `VecDeque`
   --> tests/ui/iter_nth.rs:48:29
@@ -74,8 +80,9 @@ LL |         let bad_vec_deque = some_vec_deque.iter_mut().nth(3);
    |
 help: `get_mut` is equivalent but more concise
    |
-LL |         let bad_vec_deque = some_vec_deque.get_mut(3);
-   |                                            ~~~~~~~
+LL -         let bad_vec_deque = some_vec_deque.iter_mut().nth(3);
+LL +         let bad_vec_deque = some_vec_deque.get_mut(3);
+   |
 
 error: called `.iter().nth()` on a `Vec`
   --> tests/ui/iter_nth.rs:52:5
@@ -85,8 +92,9 @@ LL |     vec_ref.iter().nth(3);
    |
 help: `get` is equivalent but more concise
    |
-LL |     vec_ref.get(3);
-   |             ~~~
+LL -     vec_ref.iter().nth(3);
+LL +     vec_ref.get(3);
+   |
 
 error: aborting due to 8 previous errors
 
diff --git a/src/tools/clippy/tests/ui/join_absolute_paths.stderr b/src/tools/clippy/tests/ui/join_absolute_paths.stderr
index e7fd5508823..300946bf3b5 100644
--- a/src/tools/clippy/tests/ui/join_absolute_paths.stderr
+++ b/src/tools/clippy/tests/ui/join_absolute_paths.stderr
@@ -9,12 +9,14 @@ LL |     path.join("/sh");
    = help: to override `-D warnings` add `#[allow(clippy::join_absolute_paths)]`
 help: if this is unintentional, try removing the starting separator
    |
-LL |     path.join("sh");
-   |               ~~~~
+LL -     path.join("/sh");
+LL +     path.join("sh");
+   |
 help: if this is intentional, consider using `Path::new`
    |
-LL |     PathBuf::from("/sh");
-   |     ~~~~~~~~~~~~~~~~~~~~
+LL -     path.join("/sh");
+LL +     PathBuf::from("/sh");
+   |
 
 error: argument to `Path::join` starts with a path separator
   --> tests/ui/join_absolute_paths.rs:14:15
@@ -25,12 +27,14 @@ LL |     path.join("\\user");
    = note: joining a path starting with separator will replace the path instead
 help: if this is unintentional, try removing the starting separator
    |
-LL |     path.join("\user");
-   |               ~~~~~~~
+LL -     path.join("\\user");
+LL +     path.join("\user");
+   |
 help: if this is intentional, consider using `Path::new`
    |
-LL |     PathBuf::from("\\user");
-   |     ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     path.join("\\user");
+LL +     PathBuf::from("\\user");
+   |
 
 error: argument to `Path::join` starts with a path separator
   --> tests/ui/join_absolute_paths.rs:18:15
@@ -41,12 +45,14 @@ LL |     path.join("/sh");
    = note: joining a path starting with separator will replace the path instead
 help: if this is unintentional, try removing the starting separator
    |
-LL |     path.join("sh");
-   |               ~~~~
+LL -     path.join("/sh");
+LL +     path.join("sh");
+   |
 help: if this is intentional, consider using `Path::new`
    |
-LL |     PathBuf::from("/sh");
-   |     ~~~~~~~~~~~~~~~~~~~~
+LL -     path.join("/sh");
+LL +     PathBuf::from("/sh");
+   |
 
 error: argument to `Path::join` starts with a path separator
   --> tests/ui/join_absolute_paths.rs:22:15
@@ -57,12 +63,14 @@ LL |     path.join(r#"/sh"#);
    = note: joining a path starting with separator will replace the path instead
 help: if this is unintentional, try removing the starting separator
    |
-LL |     path.join(r#"sh"#);
-   |               ~~~~~~~
+LL -     path.join(r#"/sh"#);
+LL +     path.join(r#"sh"#);
+   |
 help: if this is intentional, consider using `Path::new`
    |
-LL |     PathBuf::from(r#"/sh"#);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     path.join(r#"/sh"#);
+LL +     PathBuf::from(r#"/sh"#);
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/src/tools/clippy/tests/ui/large_enum_variant.64bit.stderr b/src/tools/clippy/tests/ui/large_enum_variant.64bit.stderr
index 805cb406f83..60653b4abfb 100644
--- a/src/tools/clippy/tests/ui/large_enum_variant.64bit.stderr
+++ b/src/tools/clippy/tests/ui/large_enum_variant.64bit.stderr
@@ -13,8 +13,9 @@ LL | | }
    = help: to override `-D warnings` add `#[allow(clippy::large_enum_variant)]`
 help: consider boxing the large fields to reduce the total size of the enum
    |
-LL |     B(Box<[i32; 8000]>),
-   |       ~~~~~~~~~~~~~~~~
+LL -     B([i32; 8000]),
+LL +     B(Box<[i32; 8000]>),
+   |
 
 error: large size difference between variants
   --> tests/ui/large_enum_variant.rs:35:1
@@ -29,8 +30,9 @@ LL | | }
    |
 help: consider boxing the large fields to reduce the total size of the enum
    |
-LL |     ContainingLargeEnum(Box<LargeEnum>),
-   |                         ~~~~~~~~~~~~~~
+LL -     ContainingLargeEnum(LargeEnum),
+LL +     ContainingLargeEnum(Box<LargeEnum>),
+   |
 
 error: large size difference between variants
   --> tests/ui/large_enum_variant.rs:40:1
@@ -46,8 +48,9 @@ LL | | }
    |
 help: consider boxing the large fields to reduce the total size of the enum
    |
-LL |     ContainingMoreThanOneField(i32, Box<[i32; 8000]>, Box<[i32; 9500]>),
-   |                                     ~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~
+LL -     ContainingMoreThanOneField(i32, [i32; 8000], [i32; 9500]),
+LL +     ContainingMoreThanOneField(i32, Box<[i32; 8000]>, Box<[i32; 9500]>),
+   |
 
 error: large size difference between variants
   --> tests/ui/large_enum_variant.rs:46:1
@@ -62,8 +65,9 @@ LL | | }
    |
 help: consider boxing the large fields to reduce the total size of the enum
    |
-LL |     StructLikeLarge { x: Box<[i32; 8000]>, y: i32 },
-   |                          ~~~~~~~~~~~~~~~~
+LL -     StructLikeLarge { x: [i32; 8000], y: i32 },
+LL +     StructLikeLarge { x: Box<[i32; 8000]>, y: i32 },
+   |
 
 error: large size difference between variants
   --> tests/ui/large_enum_variant.rs:51:1
@@ -78,8 +82,9 @@ LL | | }
    |
 help: consider boxing the large fields to reduce the total size of the enum
    |
-LL |     StructLikeLarge2 { x: Box<[i32; 8000]> },
-   |                           ~~~~~~~~~~~~~~~~
+LL -     StructLikeLarge2 { x: [i32; 8000] },
+LL +     StructLikeLarge2 { x: Box<[i32; 8000]> },
+   |
 
 error: large size difference between variants
   --> tests/ui/large_enum_variant.rs:67:1
@@ -95,8 +100,9 @@ LL | | }
    |
 help: consider boxing the large fields to reduce the total size of the enum
    |
-LL |     B(Box<[u8; 1255]>),
-   |       ~~~~~~~~~~~~~~~
+LL -     B([u8; 1255]),
+LL +     B(Box<[u8; 1255]>),
+   |
 
 error: large size difference between variants
   --> tests/ui/large_enum_variant.rs:73:1
@@ -111,8 +117,9 @@ LL | | }
    |
 help: consider boxing the large fields to reduce the total size of the enum
    |
-LL |     ContainingMoreThanOneField(Box<[i32; 8000]>, [i32; 2], Box<[i32; 9500]>, [i32; 30]),
-   |                                ~~~~~~~~~~~~~~~~            ~~~~~~~~~~~~~~~~
+LL -     ContainingMoreThanOneField([i32; 8000], [i32; 2], [i32; 9500], [i32; 30]),
+LL +     ContainingMoreThanOneField(Box<[i32; 8000]>, [i32; 2], Box<[i32; 9500]>, [i32; 30]),
+   |
 
 error: large size difference between variants
   --> tests/ui/large_enum_variant.rs:78:1
@@ -127,8 +134,9 @@ LL | | }
    |
 help: consider boxing the large fields to reduce the total size of the enum
    |
-LL |     B(Box<Struct2>),
-   |       ~~~~~~~~~~~~
+LL -     B(Struct2),
+LL +     B(Box<Struct2>),
+   |
 
 error: large size difference between variants
   --> tests/ui/large_enum_variant.rs:83:1
@@ -143,8 +151,9 @@ LL | | }
    |
 help: consider boxing the large fields to reduce the total size of the enum
    |
-LL |     B(Box<Struct2>),
-   |       ~~~~~~~~~~~~
+LL -     B(Struct2),
+LL +     B(Box<Struct2>),
+   |
 
 error: large size difference between variants
   --> tests/ui/large_enum_variant.rs:88:1
@@ -159,8 +168,9 @@ LL | | }
    |
 help: consider boxing the large fields to reduce the total size of the enum
    |
-LL |     B(Box<Struct2>),
-   |       ~~~~~~~~~~~~
+LL -     B(Struct2),
+LL +     B(Box<Struct2>),
+   |
 
 error: large size difference between variants
   --> tests/ui/large_enum_variant.rs:103:1
@@ -241,8 +251,9 @@ LL | | }
    |
 help: consider boxing the large fields to reduce the total size of the enum
    |
-LL |     Large(Box<(T, [u8; 512])>),
-   |           ~~~~~~~~~~~~~~~~~~~
+LL -     Large((T, [u8; 512])),
+LL +     Large(Box<(T, [u8; 512])>),
+   |
 
 error: large size difference between variants
   --> tests/ui/large_enum_variant.rs:143:1
@@ -257,8 +268,9 @@ LL | | }
    |
 help: consider boxing the large fields to reduce the total size of the enum
    |
-LL |     Large(Box<[Foo<u64>; 64]>),
-   |           ~~~~~~~~~~~~~~~~~~~
+LL -     Large([Foo<u64>; 64]),
+LL +     Large(Box<[Foo<u64>; 64]>),
+   |
 
 error: large size difference between variants
   --> tests/ui/large_enum_variant.rs:153:1
@@ -273,8 +285,9 @@ LL | | }
    |
 help: consider boxing the large fields to reduce the total size of the enum
    |
-LL |     Error(Box<PossiblyLargeEnumWithConst<256>>),
-   |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     Error(PossiblyLargeEnumWithConst<256>),
+LL +     Error(Box<PossiblyLargeEnumWithConst<256>>),
+   |
 
 error: aborting due to 16 previous errors
 
diff --git a/src/tools/clippy/tests/ui/legacy_numeric_constants.stderr b/src/tools/clippy/tests/ui/legacy_numeric_constants.stderr
index 267b9ac8e4d..74fe09e0f5c 100644
--- a/src/tools/clippy/tests/ui/legacy_numeric_constants.stderr
+++ b/src/tools/clippy/tests/ui/legacy_numeric_constants.stderr
@@ -8,8 +8,9 @@ LL |     std::f32::EPSILON;
    = help: to override `-D warnings` add `#[allow(clippy::legacy_numeric_constants)]`
 help: use the associated constant instead
    |
-LL |     f32::EPSILON;
-   |     ~~~~~~~~~~~~
+LL -     std::f32::EPSILON;
+LL +     f32::EPSILON;
+   |
 
 error: usage of a legacy numeric constant
   --> tests/ui/legacy_numeric_constants.rs:34:5
@@ -19,8 +20,9 @@ LL |     std::u8::MIN;
    |
 help: use the associated constant instead
    |
-LL |     u8::MIN;
-   |     ~~~~~~~
+LL -     std::u8::MIN;
+LL +     u8::MIN;
+   |
 
 error: usage of a legacy numeric constant
   --> tests/ui/legacy_numeric_constants.rs:37:5
@@ -30,8 +32,9 @@ LL |     std::usize::MIN;
    |
 help: use the associated constant instead
    |
-LL |     usize::MIN;
-   |     ~~~~~~~~~~
+LL -     std::usize::MIN;
+LL +     usize::MIN;
+   |
 
 error: usage of a legacy numeric constant
   --> tests/ui/legacy_numeric_constants.rs:40:5
@@ -41,8 +44,9 @@ LL |     std::u32::MAX;
    |
 help: use the associated constant instead
    |
-LL |     u32::MAX;
-   |     ~~~~~~~~
+LL -     std::u32::MAX;
+LL +     u32::MAX;
+   |
 
 error: usage of a legacy numeric constant
   --> tests/ui/legacy_numeric_constants.rs:43:5
@@ -52,8 +56,9 @@ LL |     core::u32::MAX;
    |
 help: use the associated constant instead
    |
-LL |     u32::MAX;
-   |     ~~~~~~~~
+LL -     core::u32::MAX;
+LL +     u32::MAX;
+   |
 
 error: usage of a legacy numeric constant
   --> tests/ui/legacy_numeric_constants.rs:46:5
@@ -63,8 +68,9 @@ LL |     MAX;
    |
 help: use the associated constant instead
    |
-LL |     u32::MAX;
-   |     ~~~~~~~~
+LL -     MAX;
+LL +     u32::MAX;
+   |
 
 error: usage of a legacy numeric method
   --> tests/ui/legacy_numeric_constants.rs:49:10
@@ -74,8 +80,9 @@ LL |     i32::max_value();
    |
 help: use the associated constant instead
    |
-LL |     i32::MAX;
-   |          ~~~
+LL -     i32::max_value();
+LL +     i32::MAX;
+   |
 
 error: usage of a legacy numeric method
   --> tests/ui/legacy_numeric_constants.rs:52:9
@@ -85,8 +92,9 @@ LL |     u8::max_value();
    |
 help: use the associated constant instead
    |
-LL |     u8::MAX;
-   |         ~~~
+LL -     u8::max_value();
+LL +     u8::MAX;
+   |
 
 error: usage of a legacy numeric method
   --> tests/ui/legacy_numeric_constants.rs:55:9
@@ -96,8 +104,9 @@ LL |     u8::min_value();
    |
 help: use the associated constant instead
    |
-LL |     u8::MIN;
-   |         ~~~
+LL -     u8::min_value();
+LL +     u8::MIN;
+   |
 
 error: usage of a legacy numeric constant
   --> tests/ui/legacy_numeric_constants.rs:58:5
@@ -107,8 +116,9 @@ LL |     ::std::u8::MIN;
    |
 help: use the associated constant instead
    |
-LL |     u8::MIN;
-   |     ~~~~~~~
+LL -     ::std::u8::MIN;
+LL +     u8::MIN;
+   |
 
 error: usage of a legacy numeric method
   --> tests/ui/legacy_numeric_constants.rs:61:27
@@ -118,8 +128,9 @@ LL |     ::std::primitive::u8::min_value();
    |
 help: use the associated constant instead
    |
-LL |     ::std::primitive::u8::MIN;
-   |                           ~~~
+LL -     ::std::primitive::u8::min_value();
+LL +     ::std::primitive::u8::MIN;
+   |
 
 error: usage of a legacy numeric method
   --> tests/ui/legacy_numeric_constants.rs:64:26
@@ -129,8 +140,9 @@ LL |     std::primitive::i32::max_value();
    |
 help: use the associated constant instead
    |
-LL |     std::primitive::i32::MAX;
-   |                          ~~~
+LL -     std::primitive::i32::max_value();
+LL +     std::primitive::i32::MAX;
+   |
 
 error: usage of a legacy numeric constant
   --> tests/ui/legacy_numeric_constants.rs:67:5
@@ -140,8 +152,9 @@ LL |     self::a::u128::MAX;
    |
 help: use the associated constant instead
    |
-LL |     u128::MAX;
-   |     ~~~~~~~~~
+LL -     self::a::u128::MAX;
+LL +     u128::MAX;
+   |
 
 error: usage of a legacy numeric constant
   --> tests/ui/legacy_numeric_constants.rs:17:25
@@ -155,8 +168,9 @@ LL |     b!();
    = note: this error originates in the macro `b` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: use the associated constant instead
    |
-LL |                 let x = u64::MAX;
-   |                         ~~~~~~~~
+LL -                 let x = std::u64::MAX;
+LL +                 let x = u64::MAX;
+   |
 
 error: usage of a legacy numeric constant
   --> tests/ui/legacy_numeric_constants.rs:81:14
@@ -166,8 +180,9 @@ LL |     [(0, "", std::i128::MAX)];
    |
 help: use the associated constant instead
    |
-LL |     [(0, "", i128::MAX)];
-   |              ~~~~~~~~~
+LL -     [(0, "", std::i128::MAX)];
+LL +     [(0, "", i128::MAX)];
+   |
 
 error: usage of a legacy numeric constant
   --> tests/ui/legacy_numeric_constants.rs:115:5
@@ -177,8 +192,9 @@ LL |     std::u32::MAX;
    |
 help: use the associated constant instead
    |
-LL |     u32::MAX;
-   |     ~~~~~~~~
+LL -     std::u32::MAX;
+LL +     u32::MAX;
+   |
 
 error: aborting due to 16 previous errors
 
diff --git a/src/tools/clippy/tests/ui/literals.stderr b/src/tools/clippy/tests/ui/literals.stderr
index 564e0bc4f74..a9192825b35 100644
--- a/src/tools/clippy/tests/ui/literals.stderr
+++ b/src/tools/clippy/tests/ui/literals.stderr
@@ -71,12 +71,14 @@ LL |     let fail_multi_zero = 000_123usize;
    = help: to override `-D warnings` add `#[allow(clippy::zero_prefixed_literal)]`
 help: if you mean to use a decimal constant, remove the `0` to avoid confusion
    |
-LL |     let fail_multi_zero = 123usize;
-   |                           ~~~~~~~~
+LL -     let fail_multi_zero = 000_123usize;
+LL +     let fail_multi_zero = 123usize;
+   |
 help: if you mean to use an octal constant, use `0o`
    |
-LL |     let fail_multi_zero = 0o123usize;
-   |                           ~~~~~~~~~~
+LL -     let fail_multi_zero = 000_123usize;
+LL +     let fail_multi_zero = 0o123usize;
+   |
 
 error: integer type suffix should not be separated by an underscore
   --> tests/ui/literals.rs:36:16
@@ -92,12 +94,14 @@ LL |     let fail8 = 0123;
    |
 help: if you mean to use a decimal constant, remove the `0` to avoid confusion
    |
-LL |     let fail8 = 123;
-   |                 ~~~
+LL -     let fail8 = 0123;
+LL +     let fail8 = 123;
+   |
 help: if you mean to use an octal constant, use `0o`
    |
-LL |     let fail8 = 0o123;
-   |                 ~~~~~
+LL -     let fail8 = 0123;
+LL +     let fail8 = 0o123;
+   |
 
 error: integer type suffix should not be separated by an underscore
   --> tests/ui/literals.rs:48:16
@@ -143,8 +147,9 @@ LL |     let _ = 08;
    |
 help: if you mean to use a decimal constant, remove the `0` to avoid confusion
    |
-LL |     let _ = 8;
-   |             ~
+LL -     let _ = 08;
+LL +     let _ = 8;
+   |
 
 error: this is a decimal constant
   --> tests/ui/literals.rs:72:13
@@ -154,8 +159,9 @@ LL |     let _ = 09;
    |
 help: if you mean to use a decimal constant, remove the `0` to avoid confusion
    |
-LL |     let _ = 9;
-   |             ~
+LL -     let _ = 09;
+LL +     let _ = 9;
+   |
 
 error: this is a decimal constant
   --> tests/ui/literals.rs:74:13
@@ -165,8 +171,9 @@ LL |     let _ = 089;
    |
 help: if you mean to use a decimal constant, remove the `0` to avoid confusion
    |
-LL |     let _ = 89;
-   |             ~~
+LL -     let _ = 089;
+LL +     let _ = 89;
+   |
 
 error: aborting due to 20 previous errors
 
diff --git a/src/tools/clippy/tests/ui/lossy_float_literal.stderr b/src/tools/clippy/tests/ui/lossy_float_literal.stderr
index 3026854e317..118351a62d0 100644
--- a/src/tools/clippy/tests/ui/lossy_float_literal.stderr
+++ b/src/tools/clippy/tests/ui/lossy_float_literal.stderr
@@ -8,8 +8,9 @@ LL |     let _: f32 = 16_777_217.0;
    = help: to override `-D warnings` add `#[allow(clippy::lossy_float_literal)]`
 help: consider changing the type or replacing it with
    |
-LL |     let _: f32 = 16_777_216.0;
-   |                  ~~~~~~~~~~~~
+LL -     let _: f32 = 16_777_217.0;
+LL +     let _: f32 = 16_777_216.0;
+   |
 
 error: literal cannot be represented as the underlying type without loss of precision
   --> tests/ui/lossy_float_literal.rs:15:18
@@ -19,8 +20,9 @@ LL |     let _: f32 = 16_777_219.0;
    |
 help: consider changing the type or replacing it with
    |
-LL |     let _: f32 = 16_777_220.0;
-   |                  ~~~~~~~~~~~~
+LL -     let _: f32 = 16_777_219.0;
+LL +     let _: f32 = 16_777_220.0;
+   |
 
 error: literal cannot be represented as the underlying type without loss of precision
   --> tests/ui/lossy_float_literal.rs:16:18
@@ -30,8 +32,9 @@ LL |     let _: f32 = 16_777_219.;
    |
 help: consider changing the type or replacing it with
    |
-LL |     let _: f32 = 16_777_220.0;
-   |                  ~~~~~~~~~~~~
+LL -     let _: f32 = 16_777_219.;
+LL +     let _: f32 = 16_777_220.0;
+   |
 
 error: literal cannot be represented as the underlying type without loss of precision
   --> tests/ui/lossy_float_literal.rs:17:18
@@ -41,8 +44,9 @@ LL |     let _: f32 = 16_777_219.000;
    |
 help: consider changing the type or replacing it with
    |
-LL |     let _: f32 = 16_777_220.0;
-   |                  ~~~~~~~~~~~~
+LL -     let _: f32 = 16_777_219.000;
+LL +     let _: f32 = 16_777_220.0;
+   |
 
 error: literal cannot be represented as the underlying type without loss of precision
   --> tests/ui/lossy_float_literal.rs:18:13
@@ -52,8 +56,9 @@ LL |     let _ = 16_777_219f32;
    |
 help: consider changing the type or replacing it with
    |
-LL |     let _ = 16_777_220_f32;
-   |             ~~~~~~~~~~~~~~
+LL -     let _ = 16_777_219f32;
+LL +     let _ = 16_777_220_f32;
+   |
 
 error: literal cannot be represented as the underlying type without loss of precision
   --> tests/ui/lossy_float_literal.rs:19:19
@@ -63,8 +68,9 @@ LL |     let _: f32 = -16_777_219.0;
    |
 help: consider changing the type or replacing it with
    |
-LL |     let _: f32 = -16_777_220.0;
-   |                   ~~~~~~~~~~~~
+LL -     let _: f32 = -16_777_219.0;
+LL +     let _: f32 = -16_777_220.0;
+   |
 
 error: literal cannot be represented as the underlying type without loss of precision
   --> tests/ui/lossy_float_literal.rs:21:18
@@ -74,8 +80,9 @@ LL |     let _: f64 = 9_007_199_254_740_993.0;
    |
 help: consider changing the type or replacing it with
    |
-LL |     let _: f64 = 9_007_199_254_740_992.0;
-   |                  ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _: f64 = 9_007_199_254_740_993.0;
+LL +     let _: f64 = 9_007_199_254_740_992.0;
+   |
 
 error: literal cannot be represented as the underlying type without loss of precision
   --> tests/ui/lossy_float_literal.rs:22:18
@@ -85,8 +92,9 @@ LL |     let _: f64 = 9_007_199_254_740_993.;
    |
 help: consider changing the type or replacing it with
    |
-LL |     let _: f64 = 9_007_199_254_740_992.0;
-   |                  ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _: f64 = 9_007_199_254_740_993.;
+LL +     let _: f64 = 9_007_199_254_740_992.0;
+   |
 
 error: literal cannot be represented as the underlying type without loss of precision
   --> tests/ui/lossy_float_literal.rs:23:18
@@ -96,8 +104,9 @@ LL |     let _: f64 = 9_007_199_254_740_993.00;
    |
 help: consider changing the type or replacing it with
    |
-LL |     let _: f64 = 9_007_199_254_740_992.0;
-   |                  ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _: f64 = 9_007_199_254_740_993.00;
+LL +     let _: f64 = 9_007_199_254_740_992.0;
+   |
 
 error: literal cannot be represented as the underlying type without loss of precision
   --> tests/ui/lossy_float_literal.rs:24:13
@@ -107,8 +116,9 @@ LL |     let _ = 9_007_199_254_740_993f64;
    |
 help: consider changing the type or replacing it with
    |
-LL |     let _ = 9_007_199_254_740_992_f64;
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = 9_007_199_254_740_993f64;
+LL +     let _ = 9_007_199_254_740_992_f64;
+   |
 
 error: literal cannot be represented as the underlying type without loss of precision
   --> tests/ui/lossy_float_literal.rs:25:19
@@ -118,8 +128,9 @@ LL |     let _: f64 = -9_007_199_254_740_993.0;
    |
 help: consider changing the type or replacing it with
    |
-LL |     let _: f64 = -9_007_199_254_740_992.0;
-   |                   ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _: f64 = -9_007_199_254_740_993.0;
+LL +     let _: f64 = -9_007_199_254_740_992.0;
+   |
 
 error: aborting due to 11 previous errors
 
diff --git a/src/tools/clippy/tests/ui/manual_assert.edition2018.stderr b/src/tools/clippy/tests/ui/manual_assert.edition2018.stderr
index 004463720e2..dfccf7e9939 100644
--- a/src/tools/clippy/tests/ui/manual_assert.edition2018.stderr
+++ b/src/tools/clippy/tests/ui/manual_assert.edition2018.stderr
@@ -79,7 +79,15 @@ LL | |     }
    |
 help: try instead
    |
-LL |     assert!(!(a > 2), "panic with comment");
+LL -     if a > 2 {
+LL -         // comment
+LL -         /* this is a
+LL -         multiline
+LL -         comment */
+LL -         /// Doc comment
+LL -         panic!("panic with comment") // comment after `panic!`
+LL -     }
+LL +     assert!(!(a > 2), "panic with comment");
    |
 
 error: only a `panic!` in `if`-then statement
diff --git a/src/tools/clippy/tests/ui/manual_assert.edition2021.stderr b/src/tools/clippy/tests/ui/manual_assert.edition2021.stderr
index 004463720e2..dfccf7e9939 100644
--- a/src/tools/clippy/tests/ui/manual_assert.edition2021.stderr
+++ b/src/tools/clippy/tests/ui/manual_assert.edition2021.stderr
@@ -79,7 +79,15 @@ LL | |     }
    |
 help: try instead
    |
-LL |     assert!(!(a > 2), "panic with comment");
+LL -     if a > 2 {
+LL -         // comment
+LL -         /* this is a
+LL -         multiline
+LL -         comment */
+LL -         /// Doc comment
+LL -         panic!("panic with comment") // comment after `panic!`
+LL -     }
+LL +     assert!(!(a > 2), "panic with comment");
    |
 
 error: only a `panic!` in `if`-then statement
diff --git a/src/tools/clippy/tests/ui/manual_async_fn.stderr b/src/tools/clippy/tests/ui/manual_async_fn.stderr
index 68a97243436..a7cfc30fb69 100644
--- a/src/tools/clippy/tests/ui/manual_async_fn.stderr
+++ b/src/tools/clippy/tests/ui/manual_async_fn.stderr
@@ -8,8 +8,9 @@ LL | fn fut() -> impl Future<Output = i32> {
    = help: to override `-D warnings` add `#[allow(clippy::manual_async_fn)]`
 help: make the function `async` and return the output of the future directly
    |
-LL | async fn fut() -> i32 { 42 }
-   | ~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
+LL - fn fut() -> impl Future<Output = i32> {
+LL + async fn fut() -> i32 { 42 }
+   |
 
 error: this function can be simplified using the `async fn` syntax
   --> tests/ui/manual_async_fn.rs:11:1
@@ -19,8 +20,9 @@ LL | fn fut2() ->impl Future<Output = i32> {
    |
 help: make the function `async` and return the output of the future directly
    |
-LL | async fn fut2() -> i32 { 42 }
-   | ~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
+LL - fn fut2() ->impl Future<Output = i32> {
+LL + async fn fut2() -> i32 { 42 }
+   |
 
 error: this function can be simplified using the `async fn` syntax
   --> tests/ui/manual_async_fn.rs:16:1
@@ -30,8 +32,9 @@ LL | fn fut3()-> impl Future<Output = i32> {
    |
 help: make the function `async` and return the output of the future directly
    |
-LL | async fn fut3() -> i32 { 42 }
-   | ~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
+LL - fn fut3()-> impl Future<Output = i32> {
+LL + async fn fut3() -> i32 { 42 }
+   |
 
 error: this function can be simplified using the `async fn` syntax
   --> tests/ui/manual_async_fn.rs:20:1
@@ -41,8 +44,9 @@ LL | fn empty_fut() -> impl Future<Output = ()> {
    |
 help: make the function `async` and return the output of the future directly
    |
-LL | async fn empty_fut() {}
-   | ~~~~~~~~~~~~~~~~~~~~ ~~
+LL - fn empty_fut() -> impl Future<Output = ()> {
+LL + async fn empty_fut() {}
+   |
 
 error: this function can be simplified using the `async fn` syntax
   --> tests/ui/manual_async_fn.rs:25:1
@@ -52,8 +56,9 @@ LL | fn empty_fut2() ->impl Future<Output = ()> {
    |
 help: make the function `async` and return the output of the future directly
    |
-LL | async fn empty_fut2() {}
-   | ~~~~~~~~~~~~~~~~~~~~~ ~~
+LL - fn empty_fut2() ->impl Future<Output = ()> {
+LL + async fn empty_fut2() {}
+   |
 
 error: this function can be simplified using the `async fn` syntax
   --> tests/ui/manual_async_fn.rs:30:1
@@ -63,8 +68,9 @@ LL | fn empty_fut3()-> impl Future<Output = ()> {
    |
 help: make the function `async` and return the output of the future directly
    |
-LL | async fn empty_fut3() {}
-   | ~~~~~~~~~~~~~~~~~~~~~ ~~
+LL - fn empty_fut3()-> impl Future<Output = ()> {
+LL + async fn empty_fut3() {}
+   |
 
 error: this function can be simplified using the `async fn` syntax
   --> tests/ui/manual_async_fn.rs:34:1
@@ -74,8 +80,9 @@ LL | fn core_fut() -> impl core::future::Future<Output = i32> {
    |
 help: make the function `async` and return the output of the future directly
    |
-LL | async fn core_fut() -> i32 { 42 }
-   | ~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
+LL - fn core_fut() -> impl core::future::Future<Output = i32> {
+LL + async fn core_fut() -> i32 { 42 }
+   |
 
 error: this function can be simplified using the `async fn` syntax
   --> tests/ui/manual_async_fn.rs:56:5
@@ -108,8 +115,9 @@ LL | fn elided(_: &i32) -> impl Future<Output = i32> + '_ {
    |
 help: make the function `async` and return the output of the future directly
    |
-LL | async fn elided(_: &i32) -> i32 { 42 }
-   | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
+LL - fn elided(_: &i32) -> impl Future<Output = i32> + '_ {
+LL + async fn elided(_: &i32) -> i32 { 42 }
+   |
 
 error: this function can be simplified using the `async fn` syntax
   --> tests/ui/manual_async_fn.rs:101:1
@@ -119,8 +127,9 @@ LL | fn explicit<'a, 'b>(_: &'a i32, _: &'b i32) -> impl Future<Output = i32> +
    |
 help: make the function `async` and return the output of the future directly
    |
-LL | async fn explicit<'a, 'b>(_: &'a i32, _: &'b i32) -> i32 { 42 }
-   | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
+LL - fn explicit<'a, 'b>(_: &'a i32, _: &'b i32) -> impl Future<Output = i32> + 'a + 'b {
+LL + async fn explicit<'a, 'b>(_: &'a i32, _: &'b i32) -> i32 { 42 }
+   |
 
 error: this function can be simplified using the `async fn` syntax
   --> tests/ui/manual_async_fn.rs:130:1
@@ -130,8 +139,9 @@ LL | pub fn issue_10450() -> impl Future<Output = i32> {
    |
 help: make the function `async` and return the output of the future directly
    |
-LL | pub async fn issue_10450() -> i32 { 42 }
-   | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
+LL - pub fn issue_10450() -> impl Future<Output = i32> {
+LL + pub async fn issue_10450() -> i32 { 42 }
+   |
 
 error: this function can be simplified using the `async fn` syntax
   --> tests/ui/manual_async_fn.rs:134:1
@@ -141,8 +151,9 @@ LL | pub(crate) fn issue_10450_2() -> impl Future<Output = i32> {
    |
 help: make the function `async` and return the output of the future directly
    |
-LL | pub(crate) async fn issue_10450_2() -> i32 { 42 }
-   | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
+LL - pub(crate) fn issue_10450_2() -> impl Future<Output = i32> {
+LL + pub(crate) async fn issue_10450_2() -> i32 { 42 }
+   |
 
 error: this function can be simplified using the `async fn` syntax
   --> tests/ui/manual_async_fn.rs:138:1
@@ -152,8 +163,9 @@ LL | pub(self) fn issue_10450_3() -> impl Future<Output = i32> {
    |
 help: make the function `async` and return the output of the future directly
    |
-LL | pub(self) async fn issue_10450_3() -> i32 { 42 }
-   | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
+LL - pub(self) fn issue_10450_3() -> impl Future<Output = i32> {
+LL + pub(self) async fn issue_10450_3() -> i32 { 42 }
+   |
 
 error: aborting due to 13 previous errors
 
diff --git a/src/tools/clippy/tests/ui/manual_float_methods.stderr b/src/tools/clippy/tests/ui/manual_float_methods.stderr
index 676a4485ab4..1352c5e73ca 100644
--- a/src/tools/clippy/tests/ui/manual_float_methods.stderr
+++ b/src/tools/clippy/tests/ui/manual_float_methods.stderr
@@ -17,16 +17,19 @@ LL |     if x != f32::INFINITY && x != f32::NEG_INFINITY {}
    = help: to override `-D warnings` add `#[allow(clippy::manual_is_finite)]`
 help: use the dedicated method instead
    |
-LL |     if x.is_finite() {}
-   |        ~~~~~~~~~~~~~
+LL -     if x != f32::INFINITY && x != f32::NEG_INFINITY {}
+LL +     if x.is_finite() {}
+   |
 help: this will alter how it handles NaN; if that is a problem, use instead
    |
-LL |     if x.is_finite() || x.is_nan() {}
-   |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     if x != f32::INFINITY && x != f32::NEG_INFINITY {}
+LL +     if x.is_finite() || x.is_nan() {}
+   |
 help: or, for conciseness
    |
-LL |     if !x.is_infinite() {}
-   |        ~~~~~~~~~~~~~~~~
+LL -     if x != f32::INFINITY && x != f32::NEG_INFINITY {}
+LL +     if !x.is_infinite() {}
+   |
 
 error: manually checking if a float is infinite
   --> tests/ui/manual_float_methods.rs:26:8
@@ -42,16 +45,19 @@ LL |     if x != INFINITE && x != NEG_INFINITE {}
    |
 help: use the dedicated method instead
    |
-LL |     if x.is_finite() {}
-   |        ~~~~~~~~~~~~~
+LL -     if x != INFINITE && x != NEG_INFINITE {}
+LL +     if x.is_finite() {}
+   |
 help: this will alter how it handles NaN; if that is a problem, use instead
    |
-LL |     if x.is_finite() || x.is_nan() {}
-   |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     if x != INFINITE && x != NEG_INFINITE {}
+LL +     if x.is_finite() || x.is_nan() {}
+   |
 help: or, for conciseness
    |
-LL |     if !x.is_infinite() {}
-   |        ~~~~~~~~~~~~~~~~
+LL -     if x != INFINITE && x != NEG_INFINITE {}
+LL +     if !x.is_infinite() {}
+   |
 
 error: manually checking if a float is infinite
   --> tests/ui/manual_float_methods.rs:29:8
@@ -67,16 +73,19 @@ LL |     if x != f64::INFINITY && x != f64::NEG_INFINITY {}
    |
 help: use the dedicated method instead
    |
-LL |     if x.is_finite() {}
-   |        ~~~~~~~~~~~~~
+LL -     if x != f64::INFINITY && x != f64::NEG_INFINITY {}
+LL +     if x.is_finite() {}
+   |
 help: this will alter how it handles NaN; if that is a problem, use instead
    |
-LL |     if x.is_finite() || x.is_nan() {}
-   |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     if x != f64::INFINITY && x != f64::NEG_INFINITY {}
+LL +     if x.is_finite() || x.is_nan() {}
+   |
 help: or, for conciseness
    |
-LL |     if !x.is_infinite() {}
-   |        ~~~~~~~~~~~~~~~~
+LL -     if x != f64::INFINITY && x != f64::NEG_INFINITY {}
+LL +     if !x.is_infinite() {}
+   |
 
 error: manually checking if a float is infinite
   --> tests/ui/manual_float_methods.rs:44:12
diff --git a/src/tools/clippy/tests/ui/manual_ignore_case_cmp.stderr b/src/tools/clippy/tests/ui/manual_ignore_case_cmp.stderr
index 11e8b8aebb5..bc6393b66d5 100644
--- a/src/tools/clippy/tests/ui/manual_ignore_case_cmp.stderr
+++ b/src/tools/clippy/tests/ui/manual_ignore_case_cmp.stderr
@@ -11,8 +11,9 @@ LL | #![deny(clippy::manual_ignore_case_cmp)]
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     if a.eq_ignore_ascii_case(b) {
-   |        ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     if a.to_ascii_lowercase() == b.to_ascii_lowercase() {
+LL +     if a.eq_ignore_ascii_case(b) {
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:12:8
@@ -22,8 +23,9 @@ LL |     if a.to_ascii_uppercase() == b.to_ascii_uppercase() {
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     if a.eq_ignore_ascii_case(b) {
-   |        ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     if a.to_ascii_uppercase() == b.to_ascii_uppercase() {
+LL +     if a.eq_ignore_ascii_case(b) {
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:15:13
@@ -33,8 +35,9 @@ LL |     let r = a.to_ascii_lowercase() == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     let r = a.eq_ignore_ascii_case(b);
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let r = a.to_ascii_lowercase() == b.to_ascii_lowercase();
+LL +     let r = a.eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:16:18
@@ -44,8 +47,9 @@ LL |     let r = r || a.to_ascii_uppercase() == b.to_ascii_uppercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     let r = r || a.eq_ignore_ascii_case(b);
-   |                  ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let r = r || a.to_ascii_uppercase() == b.to_ascii_uppercase();
+LL +     let r = r || a.eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:17:10
@@ -55,8 +59,9 @@ LL |     r && a.to_ascii_lowercase() == b.to_uppercase().to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     r && a.eq_ignore_ascii_case(&b.to_uppercase());
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     r && a.to_ascii_lowercase() == b.to_uppercase().to_ascii_lowercase();
+LL +     r && a.eq_ignore_ascii_case(&b.to_uppercase());
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:19:8
@@ -66,8 +71,9 @@ LL |     if a.to_ascii_lowercase() != b.to_ascii_lowercase() {
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     if !a.eq_ignore_ascii_case(b) {
-   |        ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     if a.to_ascii_lowercase() != b.to_ascii_lowercase() {
+LL +     if !a.eq_ignore_ascii_case(b) {
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:22:8
@@ -77,8 +83,9 @@ LL |     if a.to_ascii_uppercase() != b.to_ascii_uppercase() {
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     if !a.eq_ignore_ascii_case(b) {
-   |        ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     if a.to_ascii_uppercase() != b.to_ascii_uppercase() {
+LL +     if !a.eq_ignore_ascii_case(b) {
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:25:13
@@ -88,8 +95,9 @@ LL |     let r = a.to_ascii_lowercase() != b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     let r = !a.eq_ignore_ascii_case(b);
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let r = a.to_ascii_lowercase() != b.to_ascii_lowercase();
+LL +     let r = !a.eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:26:18
@@ -99,8 +107,9 @@ LL |     let r = r || a.to_ascii_uppercase() != b.to_ascii_uppercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     let r = r || !a.eq_ignore_ascii_case(b);
-   |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let r = r || a.to_ascii_uppercase() != b.to_ascii_uppercase();
+LL +     let r = r || !a.eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:27:10
@@ -110,8 +119,9 @@ LL |     r && a.to_ascii_lowercase() != b.to_uppercase().to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     r && !a.eq_ignore_ascii_case(&b.to_uppercase());
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     r && a.to_ascii_lowercase() != b.to_uppercase().to_ascii_lowercase();
+LL +     r && !a.eq_ignore_ascii_case(&b.to_uppercase());
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:38:5
@@ -121,8 +131,9 @@ LL |     a.to_ascii_lowercase() == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case(&b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == b.to_ascii_lowercase();
+LL +     a.eq_ignore_ascii_case(&b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:41:5
@@ -132,8 +143,9 @@ LL |     a.to_ascii_lowercase() == 'a';
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case(&'a');
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == 'a';
+LL +     a.eq_ignore_ascii_case(&'a');
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:42:5
@@ -143,8 +155,9 @@ LL |     'a' == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     'a'.eq_ignore_ascii_case(&b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     'a' == b.to_ascii_lowercase();
+LL +     'a'.eq_ignore_ascii_case(&b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:45:5
@@ -154,8 +167,9 @@ LL |     a.to_ascii_lowercase() == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case(&b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == b.to_ascii_lowercase();
+LL +     a.eq_ignore_ascii_case(&b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:46:5
@@ -165,8 +179,9 @@ LL |     a.to_ascii_lowercase() == b'a';
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case(&b'a');
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == b'a';
+LL +     a.eq_ignore_ascii_case(&b'a');
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:47:5
@@ -176,8 +191,9 @@ LL |     b'a' == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     b'a'.eq_ignore_ascii_case(&b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     b'a' == b.to_ascii_lowercase();
+LL +     b'a'.eq_ignore_ascii_case(&b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:50:5
@@ -187,8 +203,9 @@ LL |     a.to_ascii_lowercase() == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case(b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == b.to_ascii_lowercase();
+LL +     a.eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:51:5
@@ -198,8 +215,9 @@ LL |     a.to_uppercase().to_ascii_lowercase() == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.to_uppercase().eq_ignore_ascii_case(b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_uppercase().to_ascii_lowercase() == b.to_ascii_lowercase();
+LL +     a.to_uppercase().eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:52:5
@@ -209,8 +227,9 @@ LL |     a.to_ascii_lowercase() == "a";
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case("a");
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == "a";
+LL +     a.eq_ignore_ascii_case("a");
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:53:5
@@ -220,8 +239,9 @@ LL |     "a" == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     "a".eq_ignore_ascii_case(b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     "a" == b.to_ascii_lowercase();
+LL +     "a".eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:56:5
@@ -231,8 +251,9 @@ LL |     a.to_ascii_lowercase() == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case(b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == b.to_ascii_lowercase();
+LL +     a.eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:57:5
@@ -242,8 +263,9 @@ LL |     a.to_uppercase().to_ascii_lowercase() == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.to_uppercase().eq_ignore_ascii_case(b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_uppercase().to_ascii_lowercase() == b.to_ascii_lowercase();
+LL +     a.to_uppercase().eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:58:5
@@ -253,8 +275,9 @@ LL |     a.to_ascii_lowercase() == "a";
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case("a");
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == "a";
+LL +     a.eq_ignore_ascii_case("a");
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:59:5
@@ -264,8 +287,9 @@ LL |     "a" == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     "a".eq_ignore_ascii_case(b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     "a" == b.to_ascii_lowercase();
+LL +     "a".eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:62:5
@@ -275,8 +299,9 @@ LL |     a.to_ascii_lowercase() == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case(&b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == b.to_ascii_lowercase();
+LL +     a.eq_ignore_ascii_case(&b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:63:5
@@ -286,8 +311,9 @@ LL |     a.to_ascii_lowercase() == "a";
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case("a");
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == "a";
+LL +     a.eq_ignore_ascii_case("a");
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:64:5
@@ -297,8 +323,9 @@ LL |     "a" == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     "a".eq_ignore_ascii_case(&b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     "a" == b.to_ascii_lowercase();
+LL +     "a".eq_ignore_ascii_case(&b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:67:5
@@ -308,8 +335,9 @@ LL |     a.to_ascii_lowercase() == "a";
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case("a");
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == "a";
+LL +     a.eq_ignore_ascii_case("a");
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:68:5
@@ -319,8 +347,9 @@ LL |     "a" == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     "a".eq_ignore_ascii_case(&b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     "a" == b.to_ascii_lowercase();
+LL +     "a".eq_ignore_ascii_case(&b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:71:5
@@ -330,8 +359,9 @@ LL |     a.to_ascii_lowercase() == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case(b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == b.to_ascii_lowercase();
+LL +     a.eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:72:5
@@ -341,8 +371,9 @@ LL |     a.to_ascii_lowercase() == "a";
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case("a");
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == "a";
+LL +     a.eq_ignore_ascii_case("a");
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:73:5
@@ -352,8 +383,9 @@ LL |     "a" == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     "a".eq_ignore_ascii_case(b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     "a" == b.to_ascii_lowercase();
+LL +     "a".eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:75:5
@@ -363,8 +395,9 @@ LL |     b.to_ascii_lowercase() == a.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     b.eq_ignore_ascii_case(&a);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     b.to_ascii_lowercase() == a.to_ascii_lowercase();
+LL +     b.eq_ignore_ascii_case(&a);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:76:5
@@ -374,8 +407,9 @@ LL |     b.to_ascii_lowercase() == "a";
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     b.eq_ignore_ascii_case("a");
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     b.to_ascii_lowercase() == "a";
+LL +     b.eq_ignore_ascii_case("a");
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:77:5
@@ -385,8 +419,9 @@ LL |     "a" == a.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     "a".eq_ignore_ascii_case(&a);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     "a" == a.to_ascii_lowercase();
+LL +     "a".eq_ignore_ascii_case(&a);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:80:5
@@ -396,8 +431,9 @@ LL |     a.to_ascii_lowercase() == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case(b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == b.to_ascii_lowercase();
+LL +     a.eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:81:5
@@ -407,8 +443,9 @@ LL |     a.to_ascii_lowercase() == "a";
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case("a");
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == "a";
+LL +     a.eq_ignore_ascii_case("a");
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:82:5
@@ -418,8 +455,9 @@ LL |     "a" == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     "a".eq_ignore_ascii_case(b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     "a" == b.to_ascii_lowercase();
+LL +     "a".eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:84:5
@@ -429,8 +467,9 @@ LL |     b.to_ascii_lowercase() == a.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     b.eq_ignore_ascii_case(&a);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     b.to_ascii_lowercase() == a.to_ascii_lowercase();
+LL +     b.eq_ignore_ascii_case(&a);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:85:5
@@ -440,8 +479,9 @@ LL |     b.to_ascii_lowercase() == "a";
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     b.eq_ignore_ascii_case("a");
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     b.to_ascii_lowercase() == "a";
+LL +     b.eq_ignore_ascii_case("a");
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:86:5
@@ -451,8 +491,9 @@ LL |     "a" == a.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     "a".eq_ignore_ascii_case(&a);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     "a" == a.to_ascii_lowercase();
+LL +     "a".eq_ignore_ascii_case(&a);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:89:5
@@ -462,8 +503,9 @@ LL |     a.to_ascii_lowercase() == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case(b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == b.to_ascii_lowercase();
+LL +     a.eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:92:5
@@ -473,8 +515,9 @@ LL |     a.to_ascii_lowercase() == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case(&b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == b.to_ascii_lowercase();
+LL +     a.eq_ignore_ascii_case(&b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:95:5
@@ -484,8 +527,9 @@ LL |     a.to_ascii_lowercase() == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case(b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == b.to_ascii_lowercase();
+LL +     a.eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:96:5
@@ -495,8 +539,9 @@ LL |     b.to_ascii_lowercase() == a.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     b.eq_ignore_ascii_case(&a);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     b.to_ascii_lowercase() == a.to_ascii_lowercase();
+LL +     b.eq_ignore_ascii_case(&a);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:99:5
@@ -506,8 +551,9 @@ LL |     a.to_ascii_lowercase() == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case(b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == b.to_ascii_lowercase();
+LL +     a.eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:102:5
@@ -517,8 +563,9 @@ LL |     a.to_ascii_lowercase() == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case(b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == b.to_ascii_lowercase();
+LL +     a.eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:105:5
@@ -528,8 +575,9 @@ LL |     a.to_ascii_lowercase() == b.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     a.eq_ignore_ascii_case(b);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     a.to_ascii_lowercase() == b.to_ascii_lowercase();
+LL +     a.eq_ignore_ascii_case(b);
+   |
 
 error: manual case-insensitive ASCII comparison
   --> tests/ui/manual_ignore_case_cmp.rs:106:5
@@ -539,8 +587,9 @@ LL |     b.to_ascii_lowercase() == a.to_ascii_lowercase();
    |
 help: consider using `.eq_ignore_ascii_case()` instead
    |
-LL |     b.eq_ignore_ascii_case(a);
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     b.to_ascii_lowercase() == a.to_ascii_lowercase();
+LL +     b.eq_ignore_ascii_case(a);
+   |
 
 error: aborting due to 49 previous errors
 
diff --git a/src/tools/clippy/tests/ui/manual_is_ascii_check.stderr b/src/tools/clippy/tests/ui/manual_is_ascii_check.stderr
index 92d93208006..7b3f0c938b0 100644
--- a/src/tools/clippy/tests/ui/manual_is_ascii_check.stderr
+++ b/src/tools/clippy/tests/ui/manual_is_ascii_check.stderr
@@ -153,8 +153,9 @@ LL |     take_while(|c| ('A'..='Z').contains(&c));
    |
 help: try
    |
-LL |     take_while(|c: char| c.is_ascii_uppercase());
-   |                 ~~~~~~~  ~~~~~~~~~~~~~~~~~~~~~~
+LL -     take_while(|c| ('A'..='Z').contains(&c));
+LL +     take_while(|c: char| c.is_ascii_uppercase());
+   |
 
 error: manual check for common ascii range
   --> tests/ui/manual_is_ascii_check.rs:82:20
@@ -164,8 +165,9 @@ LL |     take_while(|c| (b'A'..=b'Z').contains(&c));
    |
 help: try
    |
-LL |     take_while(|c: u8| c.is_ascii_uppercase());
-   |                 ~~~~~  ~~~~~~~~~~~~~~~~~~~~~~
+LL -     take_while(|c| (b'A'..=b'Z').contains(&c));
+LL +     take_while(|c: u8| c.is_ascii_uppercase());
+   |
 
 error: manual check for common ascii range
   --> tests/ui/manual_is_ascii_check.rs:83:26
@@ -181,8 +183,9 @@ LL |     let digits: Vec<&char> = ['1', 'A'].iter().take_while(|c| ('0'..='9').c
    |
 help: try
    |
-LL |     let digits: Vec<&char> = ['1', 'A'].iter().take_while(|c: &&char| c.is_ascii_digit()).collect();
-   |                                                            ~~~~~~~~~  ~~~~~~~~~~~~~~~~~~
+LL -     let digits: Vec<&char> = ['1', 'A'].iter().take_while(|c| ('0'..='9').contains(c)).collect();
+LL +     let digits: Vec<&char> = ['1', 'A'].iter().take_while(|c: &&char| c.is_ascii_digit()).collect();
+   |
 
 error: manual check for common ascii range
   --> tests/ui/manual_is_ascii_check.rs:88:71
@@ -192,8 +195,9 @@ LL |     let digits: Vec<&mut char> = ['1', 'A'].iter_mut().take_while(|c| ('0'.
    |
 help: try
    |
-LL |     let digits: Vec<&mut char> = ['1', 'A'].iter_mut().take_while(|c: &&mut char| c.is_ascii_digit()).collect();
-   |                                                                    ~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~
+LL -     let digits: Vec<&mut char> = ['1', 'A'].iter_mut().take_while(|c| ('0'..='9').contains(c)).collect();
+LL +     let digits: Vec<&mut char> = ['1', 'A'].iter_mut().take_while(|c: &&mut char| c.is_ascii_digit()).collect();
+   |
 
 error: aborting due to 29 previous errors
 
diff --git a/src/tools/clippy/tests/ui/map_all_any_identity.stderr b/src/tools/clippy/tests/ui/map_all_any_identity.stderr
index 98fdcc2a939..39df2a3d961 100644
--- a/src/tools/clippy/tests/ui/map_all_any_identity.stderr
+++ b/src/tools/clippy/tests/ui/map_all_any_identity.stderr
@@ -8,8 +8,9 @@ LL |     let _ = ["foo"].into_iter().map(|s| s == "foo").any(|a| a);
    = help: to override `-D warnings` add `#[allow(clippy::map_all_any_identity)]`
 help: use `.any(...)` instead
    |
-LL |     let _ = ["foo"].into_iter().any(|s| s == "foo");
-   |                                 ~~~~~~~~~~~~~~~~~~~
+LL -     let _ = ["foo"].into_iter().map(|s| s == "foo").any(|a| a);
+LL +     let _ = ["foo"].into_iter().any(|s| s == "foo");
+   |
 
 error: usage of `.map(...).all(identity)`
   --> tests/ui/map_all_any_identity.rs:6:33
@@ -19,8 +20,9 @@ LL |     let _ = ["foo"].into_iter().map(|s| s == "foo").all(std::convert::ident
    |
 help: use `.all(...)` instead
    |
-LL |     let _ = ["foo"].into_iter().all(|s| s == "foo");
-   |                                 ~~~~~~~~~~~~~~~~~~~
+LL -     let _ = ["foo"].into_iter().map(|s| s == "foo").all(std::convert::identity);
+LL +     let _ = ["foo"].into_iter().all(|s| s == "foo");
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/src/tools/clippy/tests/ui/map_with_unused_argument_over_ranges.stderr b/src/tools/clippy/tests/ui/map_with_unused_argument_over_ranges.stderr
index 0b56c6d9521..840515f95df 100644
--- a/src/tools/clippy/tests/ui/map_with_unused_argument_over_ranges.stderr
+++ b/src/tools/clippy/tests/ui/map_with_unused_argument_over_ranges.stderr
@@ -68,8 +68,9 @@ LL |     (0..10).map(|_| 3);
    |
 help: remove the explicit range and use `repeat_n`
    |
-LL |     std::iter::repeat_n(3, 10);
-   |     ~~~~~~~~~~~~~~~~~~~ ~~~~~
+LL -     (0..10).map(|_| 3);
+LL +     std::iter::repeat_n(3, 10);
+   |
 
 error: map of a closure that does not depend on its parameter over a range
   --> tests/ui/map_with_unused_argument_over_ranges.rs:31:5
@@ -216,8 +217,9 @@ LL |     (0..10).map(|_| 3);
    |
 help: remove the explicit range and use `repeat` and `take`
    |
-LL |     std::iter::repeat(3).take(10);
-   |     ~~~~~~~~~~~~~~~~~ ~ +++++++++
+LL -     (0..10).map(|_| 3);
+LL +     std::iter::repeat(3).take(10);
+   |
 
 error: aborting due to 18 previous errors
 
diff --git a/src/tools/clippy/tests/ui/map_with_unused_argument_over_ranges_nostd.stderr b/src/tools/clippy/tests/ui/map_with_unused_argument_over_ranges_nostd.stderr
index d47f3d09175..975ded83560 100644
--- a/src/tools/clippy/tests/ui/map_with_unused_argument_over_ranges_nostd.stderr
+++ b/src/tools/clippy/tests/ui/map_with_unused_argument_over_ranges_nostd.stderr
@@ -8,8 +8,9 @@ LL |     let _: Vec<_> = (0..10).map(|_| 3 + 1).collect();
    = help: to override `-D warnings` add `#[allow(clippy::map_with_unused_argument_over_ranges)]`
 help: remove the explicit range and use `repeat_n`
    |
-LL |     let _: Vec<_> = core::iter::repeat_n(3 + 1, 10).collect();
-   |                     ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~
+LL -     let _: Vec<_> = (0..10).map(|_| 3 + 1).collect();
+LL +     let _: Vec<_> = core::iter::repeat_n(3 + 1, 10).collect();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/src/tools/clippy/tests/ui/match_result_ok.stderr b/src/tools/clippy/tests/ui/match_result_ok.stderr
index b5b91cbe553..18b23bd7845 100644
--- a/src/tools/clippy/tests/ui/match_result_ok.stderr
+++ b/src/tools/clippy/tests/ui/match_result_ok.stderr
@@ -8,8 +8,9 @@ LL |     if let Some(y) = x.parse().ok() { y } else { 0 }
    = help: to override `-D warnings` add `#[allow(clippy::match_result_ok)]`
 help: consider matching on `Ok(y)` and removing the call to `ok` instead
    |
-LL |     if let Ok(y) = x.parse() { y } else { 0 }
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     if let Some(y) = x.parse().ok() { y } else { 0 }
+LL +     if let Ok(y) = x.parse() { y } else { 0 }
+   |
 
 error: matching on `Some` with `ok()` is redundant
   --> tests/ui/match_result_ok.rs:23:9
@@ -19,8 +20,9 @@ LL |         if let Some(y) = x   .   parse()   .   ok   ()    {
    |
 help: consider matching on `Ok(y)` and removing the call to `ok` instead
    |
-LL |         if let Ok(y) = x   .   parse()    {
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -         if let Some(y) = x   .   parse()   .   ok   ()    {
+LL +         if let Ok(y) = x   .   parse()    {
+   |
 
 error: matching on `Some` with `ok()` is redundant
   --> tests/ui/match_result_ok.rs:49:5
@@ -30,8 +32,9 @@ LL |     while let Some(a) = wat.next().ok() {
    |
 help: consider matching on `Ok(a)` and removing the call to `ok` instead
    |
-LL |     while let Ok(a) = wat.next() {
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     while let Some(a) = wat.next().ok() {
+LL +     while let Ok(a) = wat.next() {
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/src/tools/clippy/tests/ui/match_str_case_mismatch.stderr b/src/tools/clippy/tests/ui/match_str_case_mismatch.stderr
index 67e9ccaf6d2..5b14fd13a53 100644
--- a/src/tools/clippy/tests/ui/match_str_case_mismatch.stderr
+++ b/src/tools/clippy/tests/ui/match_str_case_mismatch.stderr
@@ -8,8 +8,9 @@ LL |         "Bar" => {},
    = help: to override `-D warnings` add `#[allow(clippy::match_str_case_mismatch)]`
 help: consider changing the case of this arm to respect `to_ascii_lowercase`
    |
-LL |         "bar" => {},
-   |         ~~~~~
+LL -         "Bar" => {},
+LL +         "bar" => {},
+   |
 
 error: this `match` arm has a differing case than its expression
   --> tests/ui/match_str_case_mismatch.rs:122:9
@@ -19,8 +20,9 @@ LL |         "~!@#$%^&*()-_=+Foo" => {},
    |
 help: consider changing the case of this arm to respect `to_ascii_lowercase` (notice the capitalization difference)
    |
-LL |         "~!@#$%^&*()-_=+foo" => {},
-   |         ~~~~~~~~~~~~~~~~~~~~
+LL -         "~!@#$%^&*()-_=+Foo" => {},
+LL +         "~!@#$%^&*()-_=+foo" => {},
+   |
 
 error: this `match` arm has a differing case than its expression
   --> tests/ui/match_str_case_mismatch.rs:134:9
@@ -30,8 +32,9 @@ LL |         "Воды" => {},
    |
 help: consider changing the case of this arm to respect `to_lowercase`
    |
-LL |         "воды" => {},
-   |         ~~~~~~
+LL -         "Воды" => {},
+LL +         "воды" => {},
+   |
 
 error: this `match` arm has a differing case than its expression
   --> tests/ui/match_str_case_mismatch.rs:145:9
@@ -41,8 +44,9 @@ LL |         "barDz" => {},
    |
 help: consider changing the case of this arm to respect `to_lowercase`
    |
-LL |         "bardz" => {},
-   |         ~~~~~~
+LL -         "barDz" => {},
+LL +         "bardz" => {},
+   |
 
 error: this `match` arm has a differing case than its expression
   --> tests/ui/match_str_case_mismatch.rs:155:9
@@ -52,8 +56,9 @@ LL |         "bARʁ" => {},
    |
 help: consider changing the case of this arm to respect `to_uppercase`
    |
-LL |         "BARʁ" => {},
-   |         ~~~~~~
+LL -         "bARʁ" => {},
+LL +         "BARʁ" => {},
+   |
 
 error: this `match` arm has a differing case than its expression
   --> tests/ui/match_str_case_mismatch.rs:165:9
@@ -63,8 +68,9 @@ LL |         "Bar" => {},
    |
 help: consider changing the case of this arm to respect `to_ascii_lowercase`
    |
-LL |         "bar" => {},
-   |         ~~~~~
+LL -         "Bar" => {},
+LL +         "bar" => {},
+   |
 
 error: this `match` arm has a differing case than its expression
   --> tests/ui/match_str_case_mismatch.rs:180:9
@@ -74,8 +80,9 @@ LL |         "bAR" => {},
    |
 help: consider changing the case of this arm to respect `to_ascii_uppercase`
    |
-LL |         "BAR" => {},
-   |         ~~~~~
+LL -         "bAR" => {},
+LL +         "BAR" => {},
+   |
 
 error: aborting due to 7 previous errors
 
diff --git a/src/tools/clippy/tests/ui/needless_borrow_pat.stderr b/src/tools/clippy/tests/ui/needless_borrow_pat.stderr
index 2ad69449039..035376cabaf 100644
--- a/src/tools/clippy/tests/ui/needless_borrow_pat.stderr
+++ b/src/tools/clippy/tests/ui/needless_borrow_pat.stderr
@@ -15,8 +15,9 @@ LL |         Some(ref x) => *x,
    |
 help: try
    |
-LL |         Some(x) => x,
-   |              ~     ~
+LL -         Some(ref x) => *x,
+LL +         Some(x) => x,
+   |
 
 error: this pattern creates a reference to a reference
   --> tests/ui/needless_borrow_pat.rs:74:14
@@ -71,8 +72,9 @@ LL |         E::A(ref x) | E::B(ref x) => *x,
    |
 help: try
    |
-LL |         E::A(x) | E::B(x) => x,
-   |              ~         ~     ~
+LL -         E::A(ref x) | E::B(ref x) => *x,
+LL +         E::A(x) | E::B(x) => x,
+   |
 
 error: this pattern creates a reference to a reference
   --> tests/ui/needless_borrow_pat.rs:126:21
diff --git a/src/tools/clippy/tests/ui/needless_for_each_unfixable.stderr b/src/tools/clippy/tests/ui/needless_for_each_unfixable.stderr
index 682140a1dfd..722016b1212 100644
--- a/src/tools/clippy/tests/ui/needless_for_each_unfixable.stderr
+++ b/src/tools/clippy/tests/ui/needless_for_each_unfixable.stderr
@@ -25,8 +25,9 @@ LL +     }
    |
 help: ...and replace `return` with `continue`
    |
-LL |             continue;
-   |             ~~~~~~~~
+LL -             return;
+LL +             continue;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/src/tools/clippy/tests/ui/needless_pass_by_value.stderr b/src/tools/clippy/tests/ui/needless_pass_by_value.stderr
index 2587d3f8c52..2c90da51252 100644
--- a/src/tools/clippy/tests/ui/needless_pass_by_value.stderr
+++ b/src/tools/clippy/tests/ui/needless_pass_by_value.stderr
@@ -63,12 +63,14 @@ LL | fn issue_2114(s: String, t: String, u: Vec<i32>, v: Vec<i32>) {
    |
 help: consider changing the type to
    |
-LL | fn issue_2114(s: String, t: &str, u: Vec<i32>, v: Vec<i32>) {
-   |                             ~~~~
+LL - fn issue_2114(s: String, t: String, u: Vec<i32>, v: Vec<i32>) {
+LL + fn issue_2114(s: String, t: &str, u: Vec<i32>, v: Vec<i32>) {
+   |
 help: change `t.clone()` to
    |
-LL |     let _ = t.to_string();
-   |             ~~~~~~~~~~~~~
+LL -     let _ = t.clone();
+LL +     let _ = t.to_string();
+   |
 
 error: this argument is passed by value, but not consumed in the function body
   --> tests/ui/needless_pass_by_value.rs:91:40
@@ -84,12 +86,14 @@ LL | fn issue_2114(s: String, t: String, u: Vec<i32>, v: Vec<i32>) {
    |
 help: consider changing the type to
    |
-LL | fn issue_2114(s: String, t: String, u: Vec<i32>, v: &[i32]) {
-   |                                                     ~~~~~~
+LL - fn issue_2114(s: String, t: String, u: Vec<i32>, v: Vec<i32>) {
+LL + fn issue_2114(s: String, t: String, u: Vec<i32>, v: &[i32]) {
+   |
 help: change `v.clone()` to
    |
-LL |     let _ = v.to_owned();
-   |             ~~~~~~~~~~~~
+LL -     let _ = v.clone();
+LL +     let _ = v.to_owned();
+   |
 
 error: this argument is passed by value, but not consumed in the function body
   --> tests/ui/needless_pass_by_value.rs:108:12
diff --git a/src/tools/clippy/tests/ui/needless_range_loop.stderr b/src/tools/clippy/tests/ui/needless_range_loop.stderr
index 503d796e5e8..831b8511e43 100644
--- a/src/tools/clippy/tests/ui/needless_range_loop.stderr
+++ b/src/tools/clippy/tests/ui/needless_range_loop.stderr
@@ -8,8 +8,9 @@ LL |     for i in 0..vec.len() {
    = help: to override `-D warnings` add `#[allow(clippy::needless_range_loop)]`
 help: consider using an iterator
    |
-LL |     for <item> in &vec {
-   |         ~~~~~~    ~~~~
+LL -     for i in 0..vec.len() {
+LL +     for <item> in &vec {
+   |
 
 error: the loop variable `i` is only used to index `vec`
   --> tests/ui/needless_range_loop.rs:27:14
@@ -19,8 +20,9 @@ LL |     for i in 0..vec.len() {
    |
 help: consider using an iterator
    |
-LL |     for <item> in &vec {
-   |         ~~~~~~    ~~~~
+LL -     for i in 0..vec.len() {
+LL +     for <item> in &vec {
+   |
 
 error: the loop variable `j` is only used to index `STATIC`
   --> tests/ui/needless_range_loop.rs:33:14
@@ -30,8 +32,9 @@ LL |     for j in 0..4 {
    |
 help: consider using an iterator
    |
-LL |     for <item> in &STATIC {
-   |         ~~~~~~    ~~~~~~~
+LL -     for j in 0..4 {
+LL +     for <item> in &STATIC {
+   |
 
 error: the loop variable `j` is only used to index `CONST`
   --> tests/ui/needless_range_loop.rs:38:14
@@ -41,8 +44,9 @@ LL |     for j in 0..4 {
    |
 help: consider using an iterator
    |
-LL |     for <item> in &CONST {
-   |         ~~~~~~    ~~~~~~
+LL -     for j in 0..4 {
+LL +     for <item> in &CONST {
+   |
 
 error: the loop variable `i` is used to index `vec`
   --> tests/ui/needless_range_loop.rs:43:14
@@ -52,8 +56,9 @@ LL |     for i in 0..vec.len() {
    |
 help: consider using an iterator and enumerate()
    |
-LL |     for (i, <item>) in vec.iter().enumerate() {
-   |         ~~~~~~~~~~~    ~~~~~~~~~~~~~~~~~~~~~~
+LL -     for i in 0..vec.len() {
+LL +     for (i, <item>) in vec.iter().enumerate() {
+   |
 
 error: the loop variable `i` is only used to index `vec2`
   --> tests/ui/needless_range_loop.rs:52:14
@@ -63,8 +68,9 @@ LL |     for i in 0..vec.len() {
    |
 help: consider using an iterator
    |
-LL |     for <item> in vec2.iter().take(vec.len()) {
-   |         ~~~~~~    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     for i in 0..vec.len() {
+LL +     for <item> in vec2.iter().take(vec.len()) {
+   |
 
 error: the loop variable `i` is only used to index `vec`
   --> tests/ui/needless_range_loop.rs:57:14
@@ -74,8 +80,9 @@ LL |     for i in 5..vec.len() {
    |
 help: consider using an iterator
    |
-LL |     for <item> in vec.iter().skip(5) {
-   |         ~~~~~~    ~~~~~~~~~~~~~~~~~~
+LL -     for i in 5..vec.len() {
+LL +     for <item> in vec.iter().skip(5) {
+   |
 
 error: the loop variable `i` is only used to index `vec`
   --> tests/ui/needless_range_loop.rs:62:14
@@ -85,8 +92,9 @@ LL |     for i in 0..MAX_LEN {
    |
 help: consider using an iterator
    |
-LL |     for <item> in vec.iter().take(MAX_LEN) {
-   |         ~~~~~~    ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     for i in 0..MAX_LEN {
+LL +     for <item> in vec.iter().take(MAX_LEN) {
+   |
 
 error: the loop variable `i` is only used to index `vec`
   --> tests/ui/needless_range_loop.rs:67:14
@@ -96,8 +104,9 @@ LL |     for i in 0..=MAX_LEN {
    |
 help: consider using an iterator
    |
-LL |     for <item> in vec.iter().take(MAX_LEN + 1) {
-   |         ~~~~~~    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     for i in 0..=MAX_LEN {
+LL +     for <item> in vec.iter().take(MAX_LEN + 1) {
+   |
 
 error: the loop variable `i` is only used to index `vec`
   --> tests/ui/needless_range_loop.rs:72:14
@@ -107,8 +116,9 @@ LL |     for i in 5..10 {
    |
 help: consider using an iterator
    |
-LL |     for <item> in vec.iter().take(10).skip(5) {
-   |         ~~~~~~    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     for i in 5..10 {
+LL +     for <item> in vec.iter().take(10).skip(5) {
+   |
 
 error: the loop variable `i` is only used to index `vec`
   --> tests/ui/needless_range_loop.rs:77:14
@@ -118,8 +128,9 @@ LL |     for i in 5..=10 {
    |
 help: consider using an iterator
    |
-LL |     for <item> in vec.iter().take(10 + 1).skip(5) {
-   |         ~~~~~~    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     for i in 5..=10 {
+LL +     for <item> in vec.iter().take(10 + 1).skip(5) {
+   |
 
 error: the loop variable `i` is used to index `vec`
   --> tests/ui/needless_range_loop.rs:82:14
@@ -129,8 +140,9 @@ LL |     for i in 5..vec.len() {
    |
 help: consider using an iterator and enumerate()
    |
-LL |     for (i, <item>) in vec.iter().enumerate().skip(5) {
-   |         ~~~~~~~~~~~    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     for i in 5..vec.len() {
+LL +     for (i, <item>) in vec.iter().enumerate().skip(5) {
+   |
 
 error: the loop variable `i` is used to index `vec`
   --> tests/ui/needless_range_loop.rs:87:14
@@ -140,8 +152,9 @@ LL |     for i in 5..10 {
    |
 help: consider using an iterator and enumerate()
    |
-LL |     for (i, <item>) in vec.iter().enumerate().take(10).skip(5) {
-   |         ~~~~~~~~~~~    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     for i in 5..10 {
+LL +     for (i, <item>) in vec.iter().enumerate().take(10).skip(5) {
+   |
 
 error: the loop variable `i` is used to index `vec`
   --> tests/ui/needless_range_loop.rs:93:14
@@ -151,8 +164,9 @@ LL |     for i in 0..vec.len() {
    |
 help: consider using an iterator and enumerate()
    |
-LL |     for (i, <item>) in vec.iter_mut().enumerate() {
-   |         ~~~~~~~~~~~    ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     for i in 0..vec.len() {
+LL +     for (i, <item>) in vec.iter_mut().enumerate() {
+   |
 
 error: aborting due to 14 previous errors
 
diff --git a/src/tools/clippy/tests/ui/needless_range_loop2.stderr b/src/tools/clippy/tests/ui/needless_range_loop2.stderr
index 353f30b1b26..f37e1f2872d 100644
--- a/src/tools/clippy/tests/ui/needless_range_loop2.stderr
+++ b/src/tools/clippy/tests/ui/needless_range_loop2.stderr
@@ -8,8 +8,9 @@ LL |     for i in 3..10 {
    = help: to override `-D warnings` add `#[allow(clippy::needless_range_loop)]`
 help: consider using an iterator
    |
-LL |     for <item> in ns.iter().take(10).skip(3) {
-   |         ~~~~~~    ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     for i in 3..10 {
+LL +     for <item> in ns.iter().take(10).skip(3) {
+   |
 
 error: the loop variable `i` is only used to index `ms`
   --> tests/ui/needless_range_loop2.rs:34:14
@@ -19,8 +20,9 @@ LL |     for i in 0..ms.len() {
    |
 help: consider using an iterator
    |
-LL |     for <item> in &mut ms {
-   |         ~~~~~~    ~~~~~~~
+LL -     for i in 0..ms.len() {
+LL +     for <item> in &mut ms {
+   |
 
 error: the loop variable `i` is only used to index `ms`
   --> tests/ui/needless_range_loop2.rs:41:14
@@ -30,8 +32,9 @@ LL |     for i in 0..ms.len() {
    |
 help: consider using an iterator
    |
-LL |     for <item> in &mut ms {
-   |         ~~~~~~    ~~~~~~~
+LL -     for i in 0..ms.len() {
+LL +     for <item> in &mut ms {
+   |
 
 error: the loop variable `i` is only used to index `vec`
   --> tests/ui/needless_range_loop2.rs:66:14
@@ -41,8 +44,9 @@ LL |     for i in x..x + 4 {
    |
 help: consider using an iterator
    |
-LL |     for <item> in vec.iter_mut().skip(x).take(4) {
-   |         ~~~~~~    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     for i in x..x + 4 {
+LL +     for <item> in vec.iter_mut().skip(x).take(4) {
+   |
 
 error: the loop variable `i` is only used to index `vec`
   --> tests/ui/needless_range_loop2.rs:74:14
@@ -52,8 +56,9 @@ LL |     for i in x..=x + 4 {
    |
 help: consider using an iterator
    |
-LL |     for <item> in vec.iter_mut().skip(x).take(4 + 1) {
-   |         ~~~~~~    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     for i in x..=x + 4 {
+LL +     for <item> in vec.iter_mut().skip(x).take(4 + 1) {
+   |
 
 error: the loop variable `i` is only used to index `arr`
   --> tests/ui/needless_range_loop2.rs:81:14
@@ -63,8 +68,9 @@ LL |     for i in 0..3 {
    |
 help: consider using an iterator
    |
-LL |     for <item> in &arr {
-   |         ~~~~~~    ~~~~
+LL -     for i in 0..3 {
+LL +     for <item> in &arr {
+   |
 
 error: the loop variable `i` is only used to index `arr`
   --> tests/ui/needless_range_loop2.rs:86:14
@@ -74,8 +80,9 @@ LL |     for i in 0..2 {
    |
 help: consider using an iterator
    |
-LL |     for <item> in arr.iter().take(2) {
-   |         ~~~~~~    ~~~~~~~~~~~~~~~~~~
+LL -     for i in 0..2 {
+LL +     for <item> in arr.iter().take(2) {
+   |
 
 error: the loop variable `i` is only used to index `arr`
   --> tests/ui/needless_range_loop2.rs:91:14
@@ -85,8 +92,9 @@ LL |     for i in 1..3 {
    |
 help: consider using an iterator
    |
-LL |     for <item> in arr.iter().skip(1) {
-   |         ~~~~~~    ~~~~~~~~~~~~~~~~~~
+LL -     for i in 1..3 {
+LL +     for <item> in arr.iter().skip(1) {
+   |
 
 error: aborting due to 8 previous errors
 
diff --git a/src/tools/clippy/tests/ui/needless_return.stderr b/src/tools/clippy/tests/ui/needless_return.stderr
index d3c2a6badc0..8d8b5b9e713 100644
--- a/src/tools/clippy/tests/ui/needless_return.stderr
+++ b/src/tools/clippy/tests/ui/needless_return.stderr
@@ -80,8 +80,9 @@ LL |         true => return false,
    |
 help: remove `return`
    |
-LL |         true => false,
-   |                 ~~~~~
+LL -         true => return false,
+LL +         true => false,
+   |
 
 error: unneeded `return` statement
   --> tests/ui/needless_return.rs:58:13
@@ -115,8 +116,9 @@ LL |     let _ = || return true;
    |
 help: remove `return`
    |
-LL |     let _ = || true;
-   |                ~~~~
+LL -     let _ = || return true;
+LL +     let _ = || true;
+   |
 
 error: unneeded `return` statement
   --> tests/ui/needless_return.rs:71:5
@@ -183,8 +185,9 @@ LL |         _ => return,
    |
 help: replace `return` with a unit value
    |
-LL |         _ => (),
-   |              ~~
+LL -         _ => return,
+LL +         _ => (),
+   |
 
 error: unneeded `return` statement
   --> tests/ui/needless_return.rs:97:24
@@ -209,8 +212,9 @@ LL |         _ => return,
    |
 help: replace `return` with a unit value
    |
-LL |         _ => (),
-   |              ~~
+LL -         _ => return,
+LL +         _ => (),
+   |
 
 error: unneeded `return` statement
   --> tests/ui/needless_return.rs:113:9
@@ -244,8 +248,9 @@ LL |         bar.unwrap_or_else(|_| return)
    |
 help: replace `return` with an empty block
    |
-LL |         bar.unwrap_or_else(|_| {})
-   |                                ~~
+LL -         bar.unwrap_or_else(|_| return)
+LL +         bar.unwrap_or_else(|_| {})
+   |
 
 error: unneeded `return` statement
   --> tests/ui/needless_return.rs:141:21
@@ -270,8 +275,9 @@ LL |         let _ = || return;
    |
 help: replace `return` with an empty block
    |
-LL |         let _ = || {};
-   |                    ~~
+LL -         let _ = || return;
+LL +         let _ = || {};
+   |
 
 error: unneeded `return` statement
   --> tests/ui/needless_return.rs:150:32
@@ -281,8 +287,9 @@ LL |         res.unwrap_or_else(|_| return Foo)
    |
 help: remove `return`
    |
-LL |         res.unwrap_or_else(|_| Foo)
-   |                                ~~~
+LL -         res.unwrap_or_else(|_| return Foo)
+LL +         res.unwrap_or_else(|_| Foo)
+   |
 
 error: unneeded `return` statement
   --> tests/ui/needless_return.rs:159:5
@@ -340,8 +347,9 @@ LL |         true => return false,
    |
 help: remove `return`
    |
-LL |         true => false,
-   |                 ~~~~~
+LL -         true => return false,
+LL +         true => false,
+   |
 
 error: unneeded `return` statement
   --> tests/ui/needless_return.rs:178:13
@@ -375,8 +383,9 @@ LL |     let _ = || return true;
    |
 help: remove `return`
    |
-LL |     let _ = || true;
-   |                ~~~~
+LL -     let _ = || return true;
+LL +     let _ = || true;
+   |
 
 error: unneeded `return` statement
   --> tests/ui/needless_return.rs:191:5
@@ -443,8 +452,9 @@ LL |         _ => return,
    |
 help: replace `return` with a unit value
    |
-LL |         _ => (),
-   |              ~~
+LL -         _ => return,
+LL +         _ => (),
+   |
 
 error: unneeded `return` statement
   --> tests/ui/needless_return.rs:222:9
diff --git a/src/tools/clippy/tests/ui/never_loop.stderr b/src/tools/clippy/tests/ui/never_loop.stderr
index dab3488af10..203e3325822 100644
--- a/src/tools/clippy/tests/ui/never_loop.stderr
+++ b/src/tools/clippy/tests/ui/never_loop.stderr
@@ -77,8 +77,9 @@ LL | |     }
    |
 help: if you need the first element of the iterator, try writing
    |
-LL |     if let Some(x) = (0..10).next() {
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     for x in 0..10 {
+LL +     if let Some(x) = (0..10).next() {
+   |
 
 error: this loop never actually loops
   --> tests/ui/never_loop.rs:167:5
@@ -145,8 +146,9 @@ LL | |             }
    |
 help: if you need the first element of the iterator, try writing
    |
-LL |             if let Some(_) = (0..20).next() {
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -             for _ in 0..20 {
+LL +             if let Some(_) = (0..20).next() {
+   |
 
 error: this loop never actually loops
   --> tests/ui/never_loop.rs:378:13
diff --git a/src/tools/clippy/tests/ui/non_canonical_partial_ord_impl.stderr b/src/tools/clippy/tests/ui/non_canonical_partial_ord_impl.stderr
index a15379c5b1a..9f0c2ec4301 100644
--- a/src/tools/clippy/tests/ui/non_canonical_partial_ord_impl.stderr
+++ b/src/tools/clippy/tests/ui/non_canonical_partial_ord_impl.stderr
@@ -25,8 +25,9 @@ LL | | }
    |
 help: change this to
    |
-LL |     fn partial_cmp(&self, other: &Self) -> Option<Ordering> { Some(self.cmp(other)) }
-   |                           ~~~~~                             ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     fn partial_cmp(&self, _: &Self) -> Option<Ordering> {
+LL +     fn partial_cmp(&self, other: &Self) -> Option<Ordering> { Some(self.cmp(other)) }
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/src/tools/clippy/tests/ui/non_std_lazy_static/non_std_lazy_static_fixable.stderr b/src/tools/clippy/tests/ui/non_std_lazy_static/non_std_lazy_static_fixable.stderr
index f956f4b8d52..333052ae1c1 100644
--- a/src/tools/clippy/tests/ui/non_std_lazy_static/non_std_lazy_static_fixable.stderr
+++ b/src/tools/clippy/tests/ui/non_std_lazy_static/non_std_lazy_static_fixable.stderr
@@ -8,8 +8,9 @@ LL | static LAZY_FOO: Lazy<String> = Lazy::new(|| "foo".to_uppercase());
    = help: to override `-D warnings` add `#[allow(clippy::non_std_lazy_statics)]`
 help: use `std::sync::LazyLock` instead
    |
-LL | static LAZY_FOO: std::sync::LazyLock<String> = std::sync::LazyLock::new(|| "foo".to_uppercase());
-   |                  ~~~~~~~~~~~~~~~~~~~           ~~~~~~~~~~~~~~~~~~~~~~~~
+LL - static LAZY_FOO: Lazy<String> = Lazy::new(|| "foo".to_uppercase());
+LL + static LAZY_FOO: std::sync::LazyLock<String> = std::sync::LazyLock::new(|| "foo".to_uppercase());
+   |
 
 error: this type has been superceded by `LazyLock` in the standard library
   --> tests/ui/non_std_lazy_static/non_std_lazy_static_fixable.rs:13:18
@@ -19,8 +20,9 @@ LL | static LAZY_BAR: Lazy<String> = Lazy::new(|| {
    |
 help: use `std::sync::LazyLock` instead
    |
-LL | static LAZY_BAR: std::sync::LazyLock<String> = std::sync::LazyLock::new(|| {
-   |                  ~~~~~~~~~~~~~~~~~~~           ~~~~~~~~~~~~~~~~~~~~~~~~
+LL - static LAZY_BAR: Lazy<String> = Lazy::new(|| {
+LL + static LAZY_BAR: std::sync::LazyLock<String> = std::sync::LazyLock::new(|| {
+   |
 
 error: this type has been superceded by `LazyLock` in the standard library
   --> tests/ui/non_std_lazy_static/non_std_lazy_static_fixable.rs:18:18
@@ -30,8 +32,9 @@ LL | static LAZY_BAZ: Lazy<String> = { Lazy::new(|| "baz".to_uppercase()) };
    |
 help: use `std::sync::LazyLock` instead
    |
-LL | static LAZY_BAZ: std::sync::LazyLock<String> = { std::sync::LazyLock::new(|| "baz".to_uppercase()) };
-   |                  ~~~~~~~~~~~~~~~~~~~             ~~~~~~~~~~~~~~~~~~~~~~~~
+LL - static LAZY_BAZ: Lazy<String> = { Lazy::new(|| "baz".to_uppercase()) };
+LL + static LAZY_BAZ: std::sync::LazyLock<String> = { std::sync::LazyLock::new(|| "baz".to_uppercase()) };
+   |
 
 error: this type has been superceded by `LazyLock` in the standard library
   --> tests/ui/non_std_lazy_static/non_std_lazy_static_fixable.rs:20:18
diff --git a/src/tools/clippy/tests/ui/non_std_lazy_static/non_std_lazy_static_unfixable.stderr b/src/tools/clippy/tests/ui/non_std_lazy_static/non_std_lazy_static_unfixable.stderr
index 66dc435f982..216190ae4ca 100644
--- a/src/tools/clippy/tests/ui/non_std_lazy_static/non_std_lazy_static_unfixable.stderr
+++ b/src/tools/clippy/tests/ui/non_std_lazy_static/non_std_lazy_static_unfixable.stderr
@@ -37,8 +37,9 @@ LL |     static LAZY_FOO: Lazy<String> = Lazy::new(|| "foo".to_uppercase());
    |
 help: use `std::sync::LazyLock` instead
    |
-LL |     static LAZY_FOO: std::sync::LazyLock<String> = std::sync::LazyLock::new(|| "foo".to_uppercase());
-   |                      ~~~~~~~~~~~~~~~~~~~           ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     static LAZY_FOO: Lazy<String> = Lazy::new(|| "foo".to_uppercase());
+LL +     static LAZY_FOO: std::sync::LazyLock<String> = std::sync::LazyLock::new(|| "foo".to_uppercase());
+   |
 
 error: this type has been superceded by `LazyLock` in the standard library
   --> tests/ui/non_std_lazy_static/non_std_lazy_static_unfixable.rs:13:26
@@ -48,8 +49,9 @@ LL |     static mut LAZY_BAR: Lazy<String> = Lazy::new(|| "bar".to_uppercase());
    |
 help: use `std::sync::LazyLock` instead
    |
-LL |     static mut LAZY_BAR: std::sync::LazyLock<String> = std::sync::LazyLock::new(|| "bar".to_uppercase());
-   |                          ~~~~~~~~~~~~~~~~~~~           ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     static mut LAZY_BAR: Lazy<String> = Lazy::new(|| "bar".to_uppercase());
+LL +     static mut LAZY_BAR: std::sync::LazyLock<String> = std::sync::LazyLock::new(|| "bar".to_uppercase());
+   |
 
 error: this type has been superceded by `LazyLock` in the standard library
   --> tests/ui/non_std_lazy_static/non_std_lazy_static_unfixable.rs:15:26
@@ -59,8 +61,9 @@ LL |     static mut LAZY_BAZ: Lazy<String> = Lazy::new(|| "baz".to_uppercase());
    |
 help: use `std::sync::LazyLock` instead
    |
-LL |     static mut LAZY_BAZ: std::sync::LazyLock<String> = std::sync::LazyLock::new(|| "baz".to_uppercase());
-   |                          ~~~~~~~~~~~~~~~~~~~           ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     static mut LAZY_BAZ: Lazy<String> = Lazy::new(|| "baz".to_uppercase());
+LL +     static mut LAZY_BAZ: std::sync::LazyLock<String> = std::sync::LazyLock::new(|| "baz".to_uppercase());
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/src/tools/clippy/tests/ui/nonminimal_bool.stderr b/src/tools/clippy/tests/ui/nonminimal_bool.stderr
index 578f918f013..56d6eb10ac0 100644
--- a/src/tools/clippy/tests/ui/nonminimal_bool.stderr
+++ b/src/tools/clippy/tests/ui/nonminimal_bool.stderr
@@ -51,10 +51,12 @@ LL |     let _ = a == b && c == 5 && a == b;
    |
 help: try
    |
-LL |     let _ = !(a != b || c != 5);
-   |             ~~~~~~~~~~~~~~~~~~~
-LL |     let _ = a == b && c == 5;
-   |             ~~~~~~~~~~~~~~~~
+LL -     let _ = a == b && c == 5 && a == b;
+LL +     let _ = !(a != b || c != 5);
+   |
+LL -     let _ = a == b && c == 5 && a == b;
+LL +     let _ = a == b && c == 5;
+   |
 
 error: this boolean expression can be simplified
   --> tests/ui/nonminimal_bool.rs:44:13
@@ -64,10 +66,12 @@ LL |     let _ = a == b || c == 5 || a == b;
    |
 help: try
    |
-LL |     let _ = !(a != b && c != 5);
-   |             ~~~~~~~~~~~~~~~~~~~
-LL |     let _ = a == b || c == 5;
-   |             ~~~~~~~~~~~~~~~~
+LL -     let _ = a == b || c == 5 || a == b;
+LL +     let _ = !(a != b && c != 5);
+   |
+LL -     let _ = a == b || c == 5 || a == b;
+LL +     let _ = a == b || c == 5;
+   |
 
 error: this boolean expression can be simplified
   --> tests/ui/nonminimal_bool.rs:46:13
@@ -77,10 +81,12 @@ LL |     let _ = a == b && c == 5 && b == a;
    |
 help: try
    |
-LL |     let _ = !(a != b || c != 5);
-   |             ~~~~~~~~~~~~~~~~~~~
-LL |     let _ = a == b && c == 5;
-   |             ~~~~~~~~~~~~~~~~
+LL -     let _ = a == b && c == 5 && b == a;
+LL +     let _ = !(a != b || c != 5);
+   |
+LL -     let _ = a == b && c == 5 && b == a;
+LL +     let _ = a == b && c == 5;
+   |
 
 error: this boolean expression can be simplified
   --> tests/ui/nonminimal_bool.rs:48:13
@@ -90,10 +96,12 @@ LL |     let _ = a != b || !(a != b || c == d);
    |
 help: try
    |
-LL |     let _ = !(a == b && c == d);
-   |             ~~~~~~~~~~~~~~~~~~~
-LL |     let _ = a != b || c != d;
-   |             ~~~~~~~~~~~~~~~~
+LL -     let _ = a != b || !(a != b || c == d);
+LL +     let _ = !(a == b && c == d);
+   |
+LL -     let _ = a != b || !(a != b || c == d);
+LL +     let _ = a != b || c != d;
+   |
 
 error: this boolean expression can be simplified
   --> tests/ui/nonminimal_bool.rs:50:13
@@ -103,10 +111,12 @@ LL |     let _ = a != b && !(a != b && c == d);
    |
 help: try
    |
-LL |     let _ = !(a == b || c == d);
-   |             ~~~~~~~~~~~~~~~~~~~
-LL |     let _ = a != b && c != d;
-   |             ~~~~~~~~~~~~~~~~
+LL -     let _ = a != b && !(a != b && c == d);
+LL +     let _ = !(a == b || c == d);
+   |
+LL -     let _ = a != b && !(a != b && c == d);
+LL +     let _ = a != b && c != d;
+   |
 
 error: this boolean expression can be simplified
   --> tests/ui/nonminimal_bool.rs:81:8
diff --git a/src/tools/clippy/tests/ui/octal_escapes.stderr b/src/tools/clippy/tests/ui/octal_escapes.stderr
index 9343ba64a30..c8a89ac8bea 100644
--- a/src/tools/clippy/tests/ui/octal_escapes.stderr
+++ b/src/tools/clippy/tests/ui/octal_escapes.stderr
@@ -9,12 +9,14 @@ LL |     let _bad1 = "\033[0m";
    = help: to override `-D warnings` add `#[allow(clippy::octal_escapes)]`
 help: if an octal escape is intended, use a hex escape instead
    |
-LL |     let _bad1 = "\x1b[0m";
-   |                  ~~~~
+LL -     let _bad1 = "\033[0m";
+LL +     let _bad1 = "\x1b[0m";
+   |
 help: if a null escape is intended, disambiguate using
    |
-LL |     let _bad1 = "\x0033[0m";
-   |                  ~~~~~~
+LL -     let _bad1 = "\033[0m";
+LL +     let _bad1 = "\x0033[0m";
+   |
 
 error: octal-looking escape in a literal
   --> tests/ui/octal_escapes.rs:6:19
@@ -24,12 +26,14 @@ LL |     let _bad2 = b"\033[0m";
    |
 help: if an octal escape is intended, use a hex escape instead
    |
-LL |     let _bad2 = b"\x1b[0m";
-   |                   ~~~~
+LL -     let _bad2 = b"\033[0m";
+LL +     let _bad2 = b"\x1b[0m";
+   |
 help: if a null escape is intended, disambiguate using
    |
-LL |     let _bad2 = b"\x0033[0m";
-   |                   ~~~~~~
+LL -     let _bad2 = b"\033[0m";
+LL +     let _bad2 = b"\x0033[0m";
+   |
 
 error: octal-looking escape in a literal
   --> tests/ui/octal_escapes.rs:7:20
@@ -39,12 +43,14 @@ LL |     let _bad3 = "\\\033[0m";
    |
 help: if an octal escape is intended, use a hex escape instead
    |
-LL |     let _bad3 = "\\\x1b[0m";
-   |                    ~~~~
+LL -     let _bad3 = "\\\033[0m";
+LL +     let _bad3 = "\\\x1b[0m";
+   |
 help: if a null escape is intended, disambiguate using
    |
-LL |     let _bad3 = "\\\x0033[0m";
-   |                    ~~~~~~
+LL -     let _bad3 = "\\\033[0m";
+LL +     let _bad3 = "\\\x0033[0m";
+   |
 
 error: octal-looking escape in a literal
   --> tests/ui/octal_escapes.rs:9:18
@@ -54,12 +60,14 @@ LL |     let _bad4 = "\01234567";
    |
 help: if an octal escape is intended, use a hex escape instead
    |
-LL |     let _bad4 = "\x0a34567";
-   |                  ~~~~
+LL -     let _bad4 = "\01234567";
+LL +     let _bad4 = "\x0a34567";
+   |
 help: if a null escape is intended, disambiguate using
    |
-LL |     let _bad4 = "\x001234567";
-   |                  ~~~~~~
+LL -     let _bad4 = "\01234567";
+LL +     let _bad4 = "\x001234567";
+   |
 
 error: octal-looking escape in a literal
   --> tests/ui/octal_escapes.rs:10:20
@@ -69,12 +77,14 @@ LL |     let _bad5 = "\0\03";
    |
 help: if an octal escape is intended, use a hex escape instead
    |
-LL |     let _bad5 = "\0\x03";
-   |                    ~~~~
+LL -     let _bad5 = "\0\03";
+LL +     let _bad5 = "\0\x03";
+   |
 help: if a null escape is intended, disambiguate using
    |
-LL |     let _bad5 = "\0\x0003";
-   |                    ~~~~~~
+LL -     let _bad5 = "\0\03";
+LL +     let _bad5 = "\0\x0003";
+   |
 
 error: octal-looking escape in a literal
   --> tests/ui/octal_escapes.rs:11:23
@@ -84,12 +94,14 @@ LL |     let _bad6 = "Text-\055\077-MoreText";
    |
 help: if an octal escape is intended, use a hex escape instead
    |
-LL |     let _bad6 = "Text-\x2d\077-MoreText";
-   |                       ~~~~
+LL -     let _bad6 = "Text-\055\077-MoreText";
+LL +     let _bad6 = "Text-\x2d\077-MoreText";
+   |
 help: if a null escape is intended, disambiguate using
    |
-LL |     let _bad6 = "Text-\x0055\077-MoreText";
-   |                       ~~~~~~
+LL -     let _bad6 = "Text-\055\077-MoreText";
+LL +     let _bad6 = "Text-\x0055\077-MoreText";
+   |
 
 error: octal-looking escape in a literal
   --> tests/ui/octal_escapes.rs:11:27
@@ -99,12 +111,14 @@ LL |     let _bad6 = "Text-\055\077-MoreText";
    |
 help: if an octal escape is intended, use a hex escape instead
    |
-LL |     let _bad6 = "Text-\055\x3f-MoreText";
-   |                           ~~~~
+LL -     let _bad6 = "Text-\055\077-MoreText";
+LL +     let _bad6 = "Text-\055\x3f-MoreText";
+   |
 help: if a null escape is intended, disambiguate using
    |
-LL |     let _bad6 = "Text-\055\x0077-MoreText";
-   |                           ~~~~~~
+LL -     let _bad6 = "Text-\055\077-MoreText";
+LL +     let _bad6 = "Text-\055\x0077-MoreText";
+   |
 
 error: octal-looking escape in a literal
   --> tests/ui/octal_escapes.rs:14:31
@@ -114,12 +128,14 @@ LL |     let _bad7 = "EvenMoreText-\01\02-ShortEscapes";
    |
 help: if an octal escape is intended, use a hex escape instead
    |
-LL |     let _bad7 = "EvenMoreText-\x01\02-ShortEscapes";
-   |                               ~~~~
+LL -     let _bad7 = "EvenMoreText-\01\02-ShortEscapes";
+LL +     let _bad7 = "EvenMoreText-\x01\02-ShortEscapes";
+   |
 help: if a null escape is intended, disambiguate using
    |
-LL |     let _bad7 = "EvenMoreText-\x0001\02-ShortEscapes";
-   |                               ~~~~~~
+LL -     let _bad7 = "EvenMoreText-\01\02-ShortEscapes";
+LL +     let _bad7 = "EvenMoreText-\x0001\02-ShortEscapes";
+   |
 
 error: octal-looking escape in a literal
   --> tests/ui/octal_escapes.rs:14:34
@@ -129,12 +145,14 @@ LL |     let _bad7 = "EvenMoreText-\01\02-ShortEscapes";
    |
 help: if an octal escape is intended, use a hex escape instead
    |
-LL |     let _bad7 = "EvenMoreText-\01\x02-ShortEscapes";
-   |                                  ~~~~
+LL -     let _bad7 = "EvenMoreText-\01\02-ShortEscapes";
+LL +     let _bad7 = "EvenMoreText-\01\x02-ShortEscapes";
+   |
 help: if a null escape is intended, disambiguate using
    |
-LL |     let _bad7 = "EvenMoreText-\01\x0002-ShortEscapes";
-   |                                  ~~~~~~
+LL -     let _bad7 = "EvenMoreText-\01\02-ShortEscapes";
+LL +     let _bad7 = "EvenMoreText-\01\x0002-ShortEscapes";
+   |
 
 error: octal-looking escape in a literal
   --> tests/ui/octal_escapes.rs:17:19
@@ -144,12 +162,14 @@ LL |     let _bad8 = "锈\01锈";
    |
 help: if an octal escape is intended, use a hex escape instead
    |
-LL |     let _bad8 = "锈\x01锈";
-   |                    ~~~~
+LL -     let _bad8 = "锈\01锈";
+LL +     let _bad8 = "锈\x01锈";
+   |
 help: if a null escape is intended, disambiguate using
    |
-LL |     let _bad8 = "锈\x0001锈";
-   |                    ~~~~~~
+LL -     let _bad8 = "锈\01锈";
+LL +     let _bad8 = "锈\x0001锈";
+   |
 
 error: octal-looking escape in a literal
   --> tests/ui/octal_escapes.rs:18:19
@@ -159,12 +179,14 @@ LL |     let _bad9 = "锈\011锈";
    |
 help: if an octal escape is intended, use a hex escape instead
    |
-LL |     let _bad9 = "锈\x09锈";
-   |                    ~~~~
+LL -     let _bad9 = "锈\011锈";
+LL +     let _bad9 = "锈\x09锈";
+   |
 help: if a null escape is intended, disambiguate using
    |
-LL |     let _bad9 = "锈\x0011锈";
-   |                    ~~~~~~
+LL -     let _bad9 = "锈\011锈";
+LL +     let _bad9 = "锈\x0011锈";
+   |
 
 error: aborting due to 11 previous errors
 
diff --git a/src/tools/clippy/tests/ui/op_ref.stderr b/src/tools/clippy/tests/ui/op_ref.stderr
index c5b68730a8f..ad002437c0c 100644
--- a/src/tools/clippy/tests/ui/op_ref.stderr
+++ b/src/tools/clippy/tests/ui/op_ref.stderr
@@ -8,8 +8,9 @@ LL |     let foo = &5 - &6;
    = help: to override `-D warnings` add `#[allow(clippy::op_ref)]`
 help: use the values directly
    |
-LL |     let foo = 5 - 6;
-   |               ~   ~
+LL -     let foo = &5 - &6;
+LL +     let foo = 5 - 6;
+   |
 
 error: taken reference of right operand
   --> tests/ui/op_ref.rs:58:13
diff --git a/src/tools/clippy/tests/ui/option_as_ref_cloned.stderr b/src/tools/clippy/tests/ui/option_as_ref_cloned.stderr
index 5892f2bdec5..0eda42b91b9 100644
--- a/src/tools/clippy/tests/ui/option_as_ref_cloned.stderr
+++ b/src/tools/clippy/tests/ui/option_as_ref_cloned.stderr
@@ -8,8 +8,9 @@ LL |     let _: Option<String> = x.as_ref().cloned();
    = help: to override `-D warnings` add `#[allow(clippy::option_as_ref_cloned)]`
 help: this can be written more concisely by cloning the `Option<_>` directly
    |
-LL |     let _: Option<String> = x.clone();
-   |                               ~~~~~
+LL -     let _: Option<String> = x.as_ref().cloned();
+LL +     let _: Option<String> = x.clone();
+   |
 
 error: cloning an `Option<_>` using `.as_mut().cloned()`
   --> tests/ui/option_as_ref_cloned.rs:8:31
@@ -19,8 +20,9 @@ LL |     let _: Option<String> = x.as_mut().cloned();
    |
 help: this can be written more concisely by cloning the `Option<_>` directly
    |
-LL |     let _: Option<String> = x.clone();
-   |                               ~~~~~
+LL -     let _: Option<String> = x.as_mut().cloned();
+LL +     let _: Option<String> = x.clone();
+   |
 
 error: cloning an `Option<_>` using `.as_ref().cloned()`
   --> tests/ui/option_as_ref_cloned.rs:11:32
@@ -30,8 +32,9 @@ LL |     let _: Option<&String> = y.as_ref().cloned();
    |
 help: this can be written more concisely by cloning the `Option<_>` directly
    |
-LL |     let _: Option<&String> = y.clone();
-   |                                ~~~~~
+LL -     let _: Option<&String> = y.as_ref().cloned();
+LL +     let _: Option<&String> = y.clone();
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/src/tools/clippy/tests/ui/redundant_guards.stderr b/src/tools/clippy/tests/ui/redundant_guards.stderr
index 7512546450b..a10cd5c2f48 100644
--- a/src/tools/clippy/tests/ui/redundant_guards.stderr
+++ b/src/tools/clippy/tests/ui/redundant_guards.stderr
@@ -44,8 +44,9 @@ LL |         Some(x) if matches!(x, Some(1) if true) => ..,
    |
 help: try
    |
-LL |         Some(Some(1)) if true => ..,
-   |              ~~~~~~~  ~~~~~~~
+LL -         Some(x) if matches!(x, Some(1) if true) => ..,
+LL +         Some(Some(1)) if true => ..,
+   |
 
 error: redundant guard
   --> tests/ui/redundant_guards.rs:50:20
diff --git a/src/tools/clippy/tests/ui/ref_binding_to_reference.stderr b/src/tools/clippy/tests/ui/ref_binding_to_reference.stderr
index 25ab9822382..233416351a0 100644
--- a/src/tools/clippy/tests/ui/ref_binding_to_reference.stderr
+++ b/src/tools/clippy/tests/ui/ref_binding_to_reference.stderr
@@ -8,8 +8,9 @@ LL |         Some(ref x) => x,
    = help: to override `-D warnings` add `#[allow(clippy::ref_binding_to_reference)]`
 help: try
    |
-LL |         Some(x) => &x,
-   |              ~     ~~
+LL -         Some(ref x) => x,
+LL +         Some(x) => &x,
+   |
 
 error: this pattern creates a reference to a reference
   --> tests/ui/ref_binding_to_reference.rs:38:14
@@ -34,8 +35,9 @@ LL |         Some(ref x) => m2!(x),
    |
 help: try
    |
-LL |         Some(x) => m2!(&x),
-   |              ~         ~~
+LL -         Some(ref x) => m2!(x),
+LL +         Some(x) => m2!(&x),
+   |
 
 error: this pattern creates a reference to a reference
   --> tests/ui/ref_binding_to_reference.rs:55:15
diff --git a/src/tools/clippy/tests/ui/ref_option/ref_option.all.stderr b/src/tools/clippy/tests/ui/ref_option/ref_option.all.stderr
index b4c69ac6296..fd30628bdd8 100644
--- a/src/tools/clippy/tests/ui/ref_option/ref_option.all.stderr
+++ b/src/tools/clippy/tests/ui/ref_option/ref_option.all.stderr
@@ -55,8 +55,9 @@ LL | fn mult_string(a: &Option<String>, b: &Option<Vec<u8>>) {}
    |
 help: change this to
    |
-LL | fn mult_string(a: Option<&String>, b: Option<&Vec<u8>>) {}
-   |                   ~~~~~~~~~~~~~~~     ~~~~~~~~~~~~~~~~
+LL - fn mult_string(a: &Option<String>, b: &Option<Vec<u8>>) {}
+LL + fn mult_string(a: Option<&String>, b: Option<&Vec<u8>>) {}
+   |
 
 error: it is more idiomatic to use `Option<&T>` instead of `&Option<T>`
   --> tests/ui/ref_option/ref_option.rs:18:1
@@ -85,8 +86,9 @@ LL | pub fn pub_mult_string(a: &Option<String>, b: &Option<Vec<u8>>) {}
    |
 help: change this to
    |
-LL | pub fn pub_mult_string(a: Option<&String>, b: Option<&Vec<u8>>) {}
-   |                           ~~~~~~~~~~~~~~~     ~~~~~~~~~~~~~~~~
+LL - pub fn pub_mult_string(a: &Option<String>, b: &Option<Vec<u8>>) {}
+LL + pub fn pub_mult_string(a: Option<&String>, b: Option<&Vec<u8>>) {}
+   |
 
 error: it is more idiomatic to use `Option<&T>` instead of `&Option<T>`
   --> tests/ui/ref_option/ref_option.rs:26:5
diff --git a/src/tools/clippy/tests/ui/ref_option/ref_option.private.stderr b/src/tools/clippy/tests/ui/ref_option/ref_option.private.stderr
index 17c90536da3..d3428f1891f 100644
--- a/src/tools/clippy/tests/ui/ref_option/ref_option.private.stderr
+++ b/src/tools/clippy/tests/ui/ref_option/ref_option.private.stderr
@@ -55,8 +55,9 @@ LL | fn mult_string(a: &Option<String>, b: &Option<Vec<u8>>) {}
    |
 help: change this to
    |
-LL | fn mult_string(a: Option<&String>, b: Option<&Vec<u8>>) {}
-   |                   ~~~~~~~~~~~~~~~     ~~~~~~~~~~~~~~~~
+LL - fn mult_string(a: &Option<String>, b: &Option<Vec<u8>>) {}
+LL + fn mult_string(a: Option<&String>, b: Option<&Vec<u8>>) {}
+   |
 
 error: it is more idiomatic to use `Option<&T>` instead of `&Option<T>`
   --> tests/ui/ref_option/ref_option.rs:18:1
diff --git a/src/tools/clippy/tests/ui/repeat_vec_with_capacity.stderr b/src/tools/clippy/tests/ui/repeat_vec_with_capacity.stderr
index 43027c9cb89..05513a8859a 100644
--- a/src/tools/clippy/tests/ui/repeat_vec_with_capacity.stderr
+++ b/src/tools/clippy/tests/ui/repeat_vec_with_capacity.stderr
@@ -9,8 +9,9 @@ LL |         vec![Vec::<()>::with_capacity(42); 123];
    = help: to override `-D warnings` add `#[allow(clippy::repeat_vec_with_capacity)]`
 help: if you intended to initialize multiple `Vec`s with an initial capacity, try
    |
-LL |         (0..123).map(|_| Vec::<()>::with_capacity(42)).collect::<Vec<_>>();
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -         vec![Vec::<()>::with_capacity(42); 123];
+LL +         (0..123).map(|_| Vec::<()>::with_capacity(42)).collect::<Vec<_>>();
+   |
 
 error: repeating `Vec::with_capacity` using `vec![x; n]`, which does not retain capacity
   --> tests/ui/repeat_vec_with_capacity.rs:12:9
@@ -21,8 +22,9 @@ LL |         vec![Vec::<()>::with_capacity(42); n];
    = note: only the last `Vec` will have the capacity
 help: if you intended to initialize multiple `Vec`s with an initial capacity, try
    |
-LL |         (0..n).map(|_| Vec::<()>::with_capacity(42)).collect::<Vec<_>>();
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -         vec![Vec::<()>::with_capacity(42); n];
+LL +         (0..n).map(|_| Vec::<()>::with_capacity(42)).collect::<Vec<_>>();
+   |
 
 error: repeating `Vec::with_capacity` using `iter::repeat`, which does not retain capacity
   --> tests/ui/repeat_vec_with_capacity.rs:27:9
@@ -33,8 +35,9 @@ LL |         std::iter::repeat(Vec::<()>::with_capacity(42));
    = note: none of the yielded `Vec`s will have the requested capacity
 help: if you intended to create an iterator that yields `Vec`s with an initial capacity, try
    |
-LL |         std::iter::repeat_with(|| Vec::<()>::with_capacity(42));
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -         std::iter::repeat(Vec::<()>::with_capacity(42));
+LL +         std::iter::repeat_with(|| Vec::<()>::with_capacity(42));
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/src/tools/clippy/tests/ui/repeat_vec_with_capacity_nostd.stderr b/src/tools/clippy/tests/ui/repeat_vec_with_capacity_nostd.stderr
index 39364d09b96..092167485ce 100644
--- a/src/tools/clippy/tests/ui/repeat_vec_with_capacity_nostd.stderr
+++ b/src/tools/clippy/tests/ui/repeat_vec_with_capacity_nostd.stderr
@@ -9,8 +9,9 @@ LL |     let _: Vec<Vec<u8>> = iter::repeat(Vec::with_capacity(42)).take(123).co
    = help: to override `-D warnings` add `#[allow(clippy::repeat_vec_with_capacity)]`
 help: if you intended to create an iterator that yields `Vec`s with an initial capacity, try
    |
-LL |     let _: Vec<Vec<u8>> = core::iter::repeat_with(|| Vec::with_capacity(42)).take(123).collect();
-   |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _: Vec<Vec<u8>> = iter::repeat(Vec::with_capacity(42)).take(123).collect();
+LL +     let _: Vec<Vec<u8>> = core::iter::repeat_with(|| Vec::with_capacity(42)).take(123).collect();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/src/tools/clippy/tests/ui/reversed_empty_ranges_fixable.stderr b/src/tools/clippy/tests/ui/reversed_empty_ranges_fixable.stderr
index 3747eb9deeb..24cb959c96a 100644
--- a/src/tools/clippy/tests/ui/reversed_empty_ranges_fixable.stderr
+++ b/src/tools/clippy/tests/ui/reversed_empty_ranges_fixable.stderr
@@ -8,8 +8,9 @@ LL |     (42..=21).for_each(|x| println!("{}", x));
    = help: to override `-D warnings` add `#[allow(clippy::reversed_empty_ranges)]`
 help: consider using the following if you are attempting to iterate over this range in reverse
    |
-LL |     (21..=42).rev().for_each(|x| println!("{}", x));
-   |     ~~~~~~~~~~~~~~~
+LL -     (42..=21).for_each(|x| println!("{}", x));
+LL +     (21..=42).rev().for_each(|x| println!("{}", x));
+   |
 
 error: this range is empty so it will yield no values
   --> tests/ui/reversed_empty_ranges_fixable.rs:10:13
@@ -19,8 +20,9 @@ LL |     let _ = (ANSWER..21).filter(|x| x % 2 == 0).take(10).collect::<Vec<_>>(
    |
 help: consider using the following if you are attempting to iterate over this range in reverse
    |
-LL |     let _ = (21..ANSWER).rev().filter(|x| x % 2 == 0).take(10).collect::<Vec<_>>();
-   |             ~~~~~~~~~~~~~~~~~~
+LL -     let _ = (ANSWER..21).filter(|x| x % 2 == 0).take(10).collect::<Vec<_>>();
+LL +     let _ = (21..ANSWER).rev().filter(|x| x % 2 == 0).take(10).collect::<Vec<_>>();
+   |
 
 error: this range is empty so it will yield no values
   --> tests/ui/reversed_empty_ranges_fixable.rs:12:14
@@ -30,8 +32,9 @@ LL |     for _ in -21..=-42 {}
    |
 help: consider using the following if you are attempting to iterate over this range in reverse
    |
-LL |     for _ in (-42..=-21).rev() {}
-   |              ~~~~~~~~~~~~~~~~~
+LL -     for _ in -21..=-42 {}
+LL +     for _ in (-42..=-21).rev() {}
+   |
 
 error: this range is empty so it will yield no values
   --> tests/ui/reversed_empty_ranges_fixable.rs:13:14
@@ -41,8 +44,9 @@ LL |     for _ in 42u32..21u32 {}
    |
 help: consider using the following if you are attempting to iterate over this range in reverse
    |
-LL |     for _ in (21u32..42u32).rev() {}
-   |              ~~~~~~~~~~~~~~~~~~~~
+LL -     for _ in 42u32..21u32 {}
+LL +     for _ in (21u32..42u32).rev() {}
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/src/tools/clippy/tests/ui/reversed_empty_ranges_loops_fixable.stderr b/src/tools/clippy/tests/ui/reversed_empty_ranges_loops_fixable.stderr
index d5df34c42f4..3e9ccb653fe 100644
--- a/src/tools/clippy/tests/ui/reversed_empty_ranges_loops_fixable.stderr
+++ b/src/tools/clippy/tests/ui/reversed_empty_ranges_loops_fixable.stderr
@@ -8,8 +8,9 @@ LL |     for i in 10..0 {
    = help: to override `-D warnings` add `#[allow(clippy::reversed_empty_ranges)]`
 help: consider using the following if you are attempting to iterate over this range in reverse
    |
-LL |     for i in (0..10).rev() {
-   |              ~~~~~~~~~~~~~
+LL -     for i in 10..0 {
+LL +     for i in (0..10).rev() {
+   |
 
 error: this range is empty so it will yield no values
   --> tests/ui/reversed_empty_ranges_loops_fixable.rs:11:14
@@ -19,8 +20,9 @@ LL |     for i in 10..=0 {
    |
 help: consider using the following if you are attempting to iterate over this range in reverse
    |
-LL |     for i in (0..=10).rev() {
-   |              ~~~~~~~~~~~~~~
+LL -     for i in 10..=0 {
+LL +     for i in (0..=10).rev() {
+   |
 
 error: this range is empty so it will yield no values
   --> tests/ui/reversed_empty_ranges_loops_fixable.rs:15:14
@@ -30,8 +32,9 @@ LL |     for i in MAX_LEN..0 {
    |
 help: consider using the following if you are attempting to iterate over this range in reverse
    |
-LL |     for i in (0..MAX_LEN).rev() {
-   |              ~~~~~~~~~~~~~~~~~~
+LL -     for i in MAX_LEN..0 {
+LL +     for i in (0..MAX_LEN).rev() {
+   |
 
 error: this range is empty so it will yield no values
   --> tests/ui/reversed_empty_ranges_loops_fixable.rs:34:14
@@ -41,8 +44,9 @@ LL |     for i in (10..0).map(|x| x * 2) {
    |
 help: consider using the following if you are attempting to iterate over this range in reverse
    |
-LL |     for i in (0..10).rev().map(|x| x * 2) {
-   |              ~~~~~~~~~~~~~
+LL -     for i in (10..0).map(|x| x * 2) {
+LL +     for i in (0..10).rev().map(|x| x * 2) {
+   |
 
 error: this range is empty so it will yield no values
   --> tests/ui/reversed_empty_ranges_loops_fixable.rs:39:14
@@ -52,8 +56,9 @@ LL |     for i in 10..5 + 4 {
    |
 help: consider using the following if you are attempting to iterate over this range in reverse
    |
-LL |     for i in (5 + 4..10).rev() {
-   |              ~~~~~~~~~~~~~~~~~
+LL -     for i in 10..5 + 4 {
+LL +     for i in (5 + 4..10).rev() {
+   |
 
 error: this range is empty so it will yield no values
   --> tests/ui/reversed_empty_ranges_loops_fixable.rs:43:14
@@ -63,8 +68,9 @@ LL |     for i in (5 + 2)..(3 - 1) {
    |
 help: consider using the following if you are attempting to iterate over this range in reverse
    |
-LL |     for i in ((3 - 1)..(5 + 2)).rev() {
-   |              ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     for i in (5 + 2)..(3 - 1) {
+LL +     for i in ((3 - 1)..(5 + 2)).rev() {
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/src/tools/clippy/tests/ui/single_range_in_vec_init.stderr b/src/tools/clippy/tests/ui/single_range_in_vec_init.stderr
index 9c125adb51a..b3bc8dd4aca 100644
--- a/src/tools/clippy/tests/ui/single_range_in_vec_init.stderr
+++ b/src/tools/clippy/tests/ui/single_range_in_vec_init.stderr
@@ -8,12 +8,14 @@ LL |     [0..200];
    = help: to override `-D warnings` add `#[allow(clippy::single_range_in_vec_init)]`
 help: if you wanted a `Vec` that contains the entire range, try
    |
-LL |     (0..200).collect::<std::vec::Vec<i32>>();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     [0..200];
+LL +     (0..200).collect::<std::vec::Vec<i32>>();
+   |
 help: if you wanted an array of len 200, try
    |
-LL |     [0; 200];
-   |      ~~~~~~
+LL -     [0..200];
+LL +     [0; 200];
+   |
 
 error: a `Vec` of `Range` that is only one element
   --> tests/ui/single_range_in_vec_init.rs:27:5
@@ -23,12 +25,14 @@ LL |     vec![0..200];
    |
 help: if you wanted a `Vec` that contains the entire range, try
    |
-LL |     (0..200).collect::<std::vec::Vec<i32>>();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     vec![0..200];
+LL +     (0..200).collect::<std::vec::Vec<i32>>();
+   |
 help: if you wanted a `Vec` of len 200, try
    |
-LL |     vec![0; 200];
-   |          ~~~~~~
+LL -     vec![0..200];
+LL +     vec![0; 200];
+   |
 
 error: an array of `Range` that is only one element
   --> tests/ui/single_range_in_vec_init.rs:28:5
@@ -38,12 +42,14 @@ LL |     [0u8..200];
    |
 help: if you wanted a `Vec` that contains the entire range, try
    |
-LL |     (0u8..200).collect::<std::vec::Vec<u8>>();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     [0u8..200];
+LL +     (0u8..200).collect::<std::vec::Vec<u8>>();
+   |
 help: if you wanted an array of len 200, try
    |
-LL |     [0u8; 200];
-   |      ~~~~~~~~
+LL -     [0u8..200];
+LL +     [0u8; 200];
+   |
 
 error: an array of `Range` that is only one element
   --> tests/ui/single_range_in_vec_init.rs:29:5
@@ -53,12 +59,14 @@ LL |     [0usize..200];
    |
 help: if you wanted a `Vec` that contains the entire range, try
    |
-LL |     (0usize..200).collect::<std::vec::Vec<usize>>();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     [0usize..200];
+LL +     (0usize..200).collect::<std::vec::Vec<usize>>();
+   |
 help: if you wanted an array of len 200, try
    |
-LL |     [0usize; 200];
-   |      ~~~~~~~~~~~
+LL -     [0usize..200];
+LL +     [0usize; 200];
+   |
 
 error: an array of `Range` that is only one element
   --> tests/ui/single_range_in_vec_init.rs:30:5
@@ -68,12 +76,14 @@ LL |     [0..200usize];
    |
 help: if you wanted a `Vec` that contains the entire range, try
    |
-LL |     (0..200usize).collect::<std::vec::Vec<usize>>();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     [0..200usize];
+LL +     (0..200usize).collect::<std::vec::Vec<usize>>();
+   |
 help: if you wanted an array of len 200usize, try
    |
-LL |     [0; 200usize];
-   |      ~~~~~~~~~~~
+LL -     [0..200usize];
+LL +     [0; 200usize];
+   |
 
 error: a `Vec` of `Range` that is only one element
   --> tests/ui/single_range_in_vec_init.rs:31:5
@@ -83,12 +93,14 @@ LL |     vec![0u8..200];
    |
 help: if you wanted a `Vec` that contains the entire range, try
    |
-LL |     (0u8..200).collect::<std::vec::Vec<u8>>();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     vec![0u8..200];
+LL +     (0u8..200).collect::<std::vec::Vec<u8>>();
+   |
 help: if you wanted a `Vec` of len 200, try
    |
-LL |     vec![0u8; 200];
-   |          ~~~~~~~~
+LL -     vec![0u8..200];
+LL +     vec![0u8; 200];
+   |
 
 error: a `Vec` of `Range` that is only one element
   --> tests/ui/single_range_in_vec_init.rs:32:5
@@ -98,12 +110,14 @@ LL |     vec![0usize..200];
    |
 help: if you wanted a `Vec` that contains the entire range, try
    |
-LL |     (0usize..200).collect::<std::vec::Vec<usize>>();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     vec![0usize..200];
+LL +     (0usize..200).collect::<std::vec::Vec<usize>>();
+   |
 help: if you wanted a `Vec` of len 200, try
    |
-LL |     vec![0usize; 200];
-   |          ~~~~~~~~~~~
+LL -     vec![0usize..200];
+LL +     vec![0usize; 200];
+   |
 
 error: a `Vec` of `Range` that is only one element
   --> tests/ui/single_range_in_vec_init.rs:33:5
@@ -113,12 +127,14 @@ LL |     vec![0..200usize];
    |
 help: if you wanted a `Vec` that contains the entire range, try
    |
-LL |     (0..200usize).collect::<std::vec::Vec<usize>>();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     vec![0..200usize];
+LL +     (0..200usize).collect::<std::vec::Vec<usize>>();
+   |
 help: if you wanted a `Vec` of len 200usize, try
    |
-LL |     vec![0; 200usize];
-   |          ~~~~~~~~~~~
+LL -     vec![0..200usize];
+LL +     vec![0; 200usize];
+   |
 
 error: an array of `Range` that is only one element
   --> tests/ui/single_range_in_vec_init.rs:35:5
@@ -128,8 +144,9 @@ LL |     [0..200isize];
    |
 help: if you wanted a `Vec` that contains the entire range, try
    |
-LL |     (0..200isize).collect::<std::vec::Vec<isize>>();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     [0..200isize];
+LL +     (0..200isize).collect::<std::vec::Vec<isize>>();
+   |
 
 error: a `Vec` of `Range` that is only one element
   --> tests/ui/single_range_in_vec_init.rs:36:5
@@ -139,8 +156,9 @@ LL |     vec![0..200isize];
    |
 help: if you wanted a `Vec` that contains the entire range, try
    |
-LL |     (0..200isize).collect::<std::vec::Vec<isize>>();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     vec![0..200isize];
+LL +     (0..200isize).collect::<std::vec::Vec<isize>>();
+   |
 
 error: aborting due to 10 previous errors
 
diff --git a/src/tools/clippy/tests/ui/string_lit_chars_any.stderr b/src/tools/clippy/tests/ui/string_lit_chars_any.stderr
index 4d3ca98e623..1e28ae7b163 100644
--- a/src/tools/clippy/tests/ui/string_lit_chars_any.stderr
+++ b/src/tools/clippy/tests/ui/string_lit_chars_any.stderr
@@ -8,8 +8,9 @@ LL |     "\\.+*?()|[]{}^$#&-~".chars().any(|x| x == c);
    = help: to override `-D warnings` add `#[allow(clippy::string_lit_chars_any)]`
 help: use `matches!(...)` instead
    |
-LL |     matches!(c, '\\' | '.' | '+' | '*' | '?' | '(' | ')' | '|' | '[' | ']' | '{' | '}' | '^' | '$' | '#' | '&' | '-' | '~');
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     "\\.+*?()|[]{}^$#&-~".chars().any(|x| x == c);
+LL +     matches!(c, '\\' | '.' | '+' | '*' | '?' | '(' | ')' | '|' | '[' | ']' | '{' | '}' | '^' | '$' | '#' | '&' | '-' | '~');
+   |
 
 error: usage of `.chars().any(...)` to check if a char matches any from a string literal
   --> tests/ui/string_lit_chars_any.rs:19:5
@@ -19,8 +20,9 @@ LL |     r#"\.+*?()|[]{}^$#&-~"#.chars().any(|x| x == c);
    |
 help: use `matches!(...)` instead
    |
-LL |     matches!(c, '\\' | '.' | '+' | '*' | '?' | '(' | ')' | '|' | '[' | ']' | '{' | '}' | '^' | '$' | '#' | '&' | '-' | '~');
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     r#"\.+*?()|[]{}^$#&-~"#.chars().any(|x| x == c);
+LL +     matches!(c, '\\' | '.' | '+' | '*' | '?' | '(' | ')' | '|' | '[' | ']' | '{' | '}' | '^' | '$' | '#' | '&' | '-' | '~');
+   |
 
 error: usage of `.chars().any(...)` to check if a char matches any from a string literal
   --> tests/ui/string_lit_chars_any.rs:20:5
@@ -30,8 +32,9 @@ LL |     "\\.+*?()|[]{}^$#&-~".chars().any(|x| c == x);
    |
 help: use `matches!(...)` instead
    |
-LL |     matches!(c, '\\' | '.' | '+' | '*' | '?' | '(' | ')' | '|' | '[' | ']' | '{' | '}' | '^' | '$' | '#' | '&' | '-' | '~');
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     "\\.+*?()|[]{}^$#&-~".chars().any(|x| c == x);
+LL +     matches!(c, '\\' | '.' | '+' | '*' | '?' | '(' | ')' | '|' | '[' | ']' | '{' | '}' | '^' | '$' | '#' | '&' | '-' | '~');
+   |
 
 error: usage of `.chars().any(...)` to check if a char matches any from a string literal
   --> tests/ui/string_lit_chars_any.rs:21:5
@@ -41,8 +44,9 @@ LL |     r#"\.+*?()|[]{}^$#&-~"#.chars().any(|x| c == x);
    |
 help: use `matches!(...)` instead
    |
-LL |     matches!(c, '\\' | '.' | '+' | '*' | '?' | '(' | ')' | '|' | '[' | ']' | '{' | '}' | '^' | '$' | '#' | '&' | '-' | '~');
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     r#"\.+*?()|[]{}^$#&-~"#.chars().any(|x| c == x);
+LL +     matches!(c, '\\' | '.' | '+' | '*' | '?' | '(' | ')' | '|' | '[' | ']' | '{' | '}' | '^' | '$' | '#' | '&' | '-' | '~');
+   |
 
 error: usage of `.chars().any(...)` to check if a char matches any from a string literal
   --> tests/ui/string_lit_chars_any.rs:23:5
@@ -52,8 +56,9 @@ LL |     "\\.+*?()|[]{}^$#&-~".chars().any(|x| { x == c });
    |
 help: use `matches!(...)` instead
    |
-LL |     matches!(c, '\\' | '.' | '+' | '*' | '?' | '(' | ')' | '|' | '[' | ']' | '{' | '}' | '^' | '$' | '#' | '&' | '-' | '~');
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     "\\.+*?()|[]{}^$#&-~".chars().any(|x| { x == c });
+LL +     matches!(c, '\\' | '.' | '+' | '*' | '?' | '(' | ')' | '|' | '[' | ']' | '{' | '}' | '^' | '$' | '#' | '&' | '-' | '~');
+   |
 
 error: aborting due to 5 previous errors
 
diff --git a/src/tools/clippy/tests/ui/suspicious_command_arg_space.stderr b/src/tools/clippy/tests/ui/suspicious_command_arg_space.stderr
index 6fd07d07d7b..8952a3ffe4b 100644
--- a/src/tools/clippy/tests/ui/suspicious_command_arg_space.stderr
+++ b/src/tools/clippy/tests/ui/suspicious_command_arg_space.stderr
@@ -8,8 +8,9 @@ LL |     std::process::Command::new("echo").arg("-n hello").spawn().unwrap();
    = help: to override `-D warnings` add `#[allow(clippy::suspicious_command_arg_space)]`
 help: consider splitting the argument
    |
-LL |     std::process::Command::new("echo").args(["-n", "hello"]).spawn().unwrap();
-   |                                        ~~~~ ~~~~~~~~~~~~~~~
+LL -     std::process::Command::new("echo").arg("-n hello").spawn().unwrap();
+LL +     std::process::Command::new("echo").args(["-n", "hello"]).spawn().unwrap();
+   |
 
 error: single argument that looks like it should be multiple arguments
   --> tests/ui/suspicious_command_arg_space.rs:7:43
@@ -19,8 +20,9 @@ LL |     std::process::Command::new("cat").arg("--number file").spawn().unwrap()
    |
 help: consider splitting the argument
    |
-LL |     std::process::Command::new("cat").args(["--number", "file"]).spawn().unwrap();
-   |                                       ~~~~ ~~~~~~~~~~~~~~~~~~~~
+LL -     std::process::Command::new("cat").arg("--number file").spawn().unwrap();
+LL +     std::process::Command::new("cat").args(["--number", "file"]).spawn().unwrap();
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/src/tools/clippy/tests/ui/suspicious_doc_comments.stderr b/src/tools/clippy/tests/ui/suspicious_doc_comments.stderr
index c34e39cd0fc..7e5933df237 100644
--- a/src/tools/clippy/tests/ui/suspicious_doc_comments.stderr
+++ b/src/tools/clippy/tests/ui/suspicious_doc_comments.stderr
@@ -8,7 +8,8 @@ LL | ///! Fake module documentation.
    = help: to override `-D warnings` add `#[allow(clippy::suspicious_doc_comments)]`
 help: use an inner doc comment to document the parent module or crate
    |
-LL | //! Fake module documentation.
+LL - ///! Fake module documentation.
+LL + //! Fake module documentation.
    |
 
 error: this is an outer doc comment and does not apply to the parent module or crate
@@ -19,7 +20,8 @@ LL |     ///! This module contains useful functions.
    |
 help: use an inner doc comment to document the parent module or crate
    |
-LL |     //! This module contains useful functions.
+LL -     ///! This module contains useful functions.
+LL +     //! This module contains useful functions.
    |
 
 error: this is an outer doc comment and does not apply to the parent module or crate
@@ -71,7 +73,8 @@ LL |     ///! a
    |
 help: use an inner doc comment to document the parent module or crate
    |
-LL |     //! a
+LL -     ///! a
+LL +     //! a
    |
 
 error: this is an outer doc comment and does not apply to the parent module or crate
@@ -97,7 +100,8 @@ LL |     ///! Very cool macro
    |
 help: use an inner doc comment to document the parent module or crate
    |
-LL |     //! Very cool macro
+LL -     ///! Very cool macro
+LL +     //! Very cool macro
    |
 
 error: this is an outer doc comment and does not apply to the parent module or crate
@@ -108,7 +112,8 @@ LL |     ///! Huh.
    |
 help: use an inner doc comment to document the parent module or crate
    |
-LL |     //! Huh.
+LL -     ///! Huh.
+LL +     //! Huh.
    |
 
 error: aborting due to 9 previous errors
diff --git a/src/tools/clippy/tests/ui/suspicious_to_owned.stderr b/src/tools/clippy/tests/ui/suspicious_to_owned.stderr
index 255f211e655..74bbcfcca51 100644
--- a/src/tools/clippy/tests/ui/suspicious_to_owned.stderr
+++ b/src/tools/clippy/tests/ui/suspicious_to_owned.stderr
@@ -8,12 +8,14 @@ LL |     let _ = cow.to_owned();
    = help: to override `-D warnings` add `#[allow(clippy::suspicious_to_owned)]`
 help: depending on intent, either make the Cow an Owned variant
    |
-LL |     let _ = cow.into_owned();
-   |             ~~~~~~~~~~~~~~~~
+LL -     let _ = cow.to_owned();
+LL +     let _ = cow.into_owned();
+   |
 help: or clone the Cow itself
    |
-LL |     let _ = cow.clone();
-   |             ~~~~~~~~~~~
+LL -     let _ = cow.to_owned();
+LL +     let _ = cow.clone();
+   |
 
 error: this `to_owned` call clones the Cow<'_, [char; 3]> itself and does not cause the Cow<'_, [char; 3]> contents to become owned
   --> tests/ui/suspicious_to_owned.rs:29:13
@@ -23,12 +25,14 @@ LL |     let _ = cow.to_owned();
    |
 help: depending on intent, either make the Cow an Owned variant
    |
-LL |     let _ = cow.into_owned();
-   |             ~~~~~~~~~~~~~~~~
+LL -     let _ = cow.to_owned();
+LL +     let _ = cow.into_owned();
+   |
 help: or clone the Cow itself
    |
-LL |     let _ = cow.clone();
-   |             ~~~~~~~~~~~
+LL -     let _ = cow.to_owned();
+LL +     let _ = cow.clone();
+   |
 
 error: this `to_owned` call clones the Cow<'_, Vec<char>> itself and does not cause the Cow<'_, Vec<char>> contents to become owned
   --> tests/ui/suspicious_to_owned.rs:40:13
@@ -38,12 +42,14 @@ LL |     let _ = cow.to_owned();
    |
 help: depending on intent, either make the Cow an Owned variant
    |
-LL |     let _ = cow.into_owned();
-   |             ~~~~~~~~~~~~~~~~
+LL -     let _ = cow.to_owned();
+LL +     let _ = cow.into_owned();
+   |
 help: or clone the Cow itself
    |
-LL |     let _ = cow.clone();
-   |             ~~~~~~~~~~~
+LL -     let _ = cow.to_owned();
+LL +     let _ = cow.clone();
+   |
 
 error: this `to_owned` call clones the Cow<'_, str> itself and does not cause the Cow<'_, str> contents to become owned
   --> tests/ui/suspicious_to_owned.rs:51:13
@@ -53,12 +59,14 @@ LL |     let _ = cow.to_owned();
    |
 help: depending on intent, either make the Cow an Owned variant
    |
-LL |     let _ = cow.into_owned();
-   |             ~~~~~~~~~~~~~~~~
+LL -     let _ = cow.to_owned();
+LL +     let _ = cow.into_owned();
+   |
 help: or clone the Cow itself
    |
-LL |     let _ = cow.clone();
-   |             ~~~~~~~~~~~
+LL -     let _ = cow.to_owned();
+LL +     let _ = cow.clone();
+   |
 
 error: implicitly cloning a `String` by calling `to_owned` on its dereferenced type
   --> tests/ui/suspicious_to_owned.rs:66:13
diff --git a/src/tools/clippy/tests/ui/suspicious_xor_used_as_pow.stderr b/src/tools/clippy/tests/ui/suspicious_xor_used_as_pow.stderr
index 43b03676b1d..2a153169bd3 100644
--- a/src/tools/clippy/tests/ui/suspicious_xor_used_as_pow.stderr
+++ b/src/tools/clippy/tests/ui/suspicious_xor_used_as_pow.stderr
@@ -8,8 +8,9 @@ LL |     let _ = 2 ^ 5;
    = help: to override `-D warnings` add `#[allow(clippy::suspicious_xor_used_as_pow)]`
 help: did you mean to write
    |
-LL |     let _ = 2.pow(5);
-   |             ~~~~~~~~
+LL -     let _ = 2 ^ 5;
+LL +     let _ = 2.pow(5);
+   |
 
 error: `^` is not the exponentiation operator
   --> tests/ui/suspicious_xor_used_as_pow.rs:22:13
@@ -19,8 +20,9 @@ LL |     let _ = 2i32 ^ 9i32;
    |
 help: did you mean to write
    |
-LL |     let _ = 2i32.pow(9i32);
-   |             ~~~~~~~~~~~~~~
+LL -     let _ = 2i32 ^ 9i32;
+LL +     let _ = 2i32.pow(9i32);
+   |
 
 error: `^` is not the exponentiation operator
   --> tests/ui/suspicious_xor_used_as_pow.rs:24:13
@@ -30,8 +32,9 @@ LL |     let _ = 2i32 ^ 2i32;
    |
 help: did you mean to write
    |
-LL |     let _ = 2i32.pow(2i32);
-   |             ~~~~~~~~~~~~~~
+LL -     let _ = 2i32 ^ 2i32;
+LL +     let _ = 2i32.pow(2i32);
+   |
 
 error: `^` is not the exponentiation operator
   --> tests/ui/suspicious_xor_used_as_pow.rs:26:13
@@ -41,8 +44,9 @@ LL |     let _ = 50i32 ^ 3i32;
    |
 help: did you mean to write
    |
-LL |     let _ = 50i32.pow(3i32);
-   |             ~~~~~~~~~~~~~~~
+LL -     let _ = 50i32 ^ 3i32;
+LL +     let _ = 50i32.pow(3i32);
+   |
 
 error: `^` is not the exponentiation operator
   --> tests/ui/suspicious_xor_used_as_pow.rs:28:13
@@ -52,8 +56,9 @@ LL |     let _ = 5i32 ^ 8i32;
    |
 help: did you mean to write
    |
-LL |     let _ = 5i32.pow(8i32);
-   |             ~~~~~~~~~~~~~~
+LL -     let _ = 5i32 ^ 8i32;
+LL +     let _ = 5i32.pow(8i32);
+   |
 
 error: `^` is not the exponentiation operator
   --> tests/ui/suspicious_xor_used_as_pow.rs:30:13
@@ -63,8 +68,9 @@ LL |     let _ = 2i32 ^ 32i32;
    |
 help: did you mean to write
    |
-LL |     let _ = 2i32.pow(32i32);
-   |             ~~~~~~~~~~~~~~~
+LL -     let _ = 2i32 ^ 32i32;
+LL +     let _ = 2i32.pow(32i32);
+   |
 
 error: `^` is not the exponentiation operator
   --> tests/ui/suspicious_xor_used_as_pow.rs:13:9
@@ -78,8 +84,9 @@ LL |     macro_test_inside!();
    = note: this error originates in the macro `macro_test_inside` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: did you mean to write
    |
-LL |         1.pow(2) // should warn even if inside macro
-   |         ~~~~~~~~
+LL -         1 ^ 2 // should warn even if inside macro
+LL +         1.pow(2) // should warn even if inside macro
+   |
 
 error: aborting due to 7 previous errors
 
diff --git a/src/tools/clippy/tests/ui/transmute_ptr_to_ptr.stderr b/src/tools/clippy/tests/ui/transmute_ptr_to_ptr.stderr
index 8801eb943ce..f4f83cd7ac6 100644
--- a/src/tools/clippy/tests/ui/transmute_ptr_to_ptr.stderr
+++ b/src/tools/clippy/tests/ui/transmute_ptr_to_ptr.stderr
@@ -8,8 +8,9 @@ LL |         let _: *const f32 = transmute(ptr);
    = help: to override `-D warnings` add `#[allow(clippy::transmute_ptr_to_ptr)]`
 help: use `pointer::cast` instead
    |
-LL |         let _: *const f32 = ptr.cast::<f32>();
-   |                             ~~~~~~~~~~~~~~~~~
+LL -         let _: *const f32 = transmute(ptr);
+LL +         let _: *const f32 = ptr.cast::<f32>();
+   |
 
 error: transmute from a pointer to a pointer
   --> tests/ui/transmute_ptr_to_ptr.rs:34:27
@@ -19,8 +20,9 @@ LL |         let _: *mut f32 = transmute(mut_ptr);
    |
 help: use `pointer::cast` instead
    |
-LL |         let _: *mut f32 = mut_ptr.cast::<f32>();
-   |                           ~~~~~~~~~~~~~~~~~~~~~
+LL -         let _: *mut f32 = transmute(mut_ptr);
+LL +         let _: *mut f32 = mut_ptr.cast::<f32>();
+   |
 
 error: transmute from a reference to a reference
   --> tests/ui/transmute_ptr_to_ptr.rs:37:23
@@ -60,8 +62,9 @@ LL |         let _: *const u32 = transmute(mut_ptr);
    |
 help: use `pointer::cast_const` instead
    |
-LL |         let _: *const u32 = mut_ptr.cast_const();
-   |                             ~~~~~~~~~~~~~~~~~~~~
+LL -         let _: *const u32 = transmute(mut_ptr);
+LL +         let _: *const u32 = mut_ptr.cast_const();
+   |
 
 error: transmute from a pointer to a pointer
   --> tests/ui/transmute_ptr_to_ptr.rs:52:27
@@ -71,8 +74,9 @@ LL |         let _: *mut u32 = transmute(ptr);
    |
 help: use `pointer::cast_mut` instead
    |
-LL |         let _: *mut u32 = ptr.cast_mut();
-   |                           ~~~~~~~~~~~~~~
+LL -         let _: *mut u32 = transmute(ptr);
+LL +         let _: *mut u32 = ptr.cast_mut();
+   |
 
 error: transmute from a pointer to a pointer
   --> tests/ui/transmute_ptr_to_ptr.rs:64:14
@@ -82,8 +86,9 @@ LL |     unsafe { transmute(v) }
    |
 help: use an `as` cast instead
    |
-LL |     unsafe { v as *const &() }
-   |              ~~~~~~~~~~~~~~~
+LL -     unsafe { transmute(v) }
+LL +     unsafe { v as *const &() }
+   |
 
 error: transmute from a pointer to a pointer
   --> tests/ui/transmute_ptr_to_ptr.rs:79:28
@@ -93,8 +98,9 @@ LL |         let _: *const i8 = transmute(ptr);
    |
 help: use an `as` cast instead
    |
-LL |         let _: *const i8 = ptr as *const i8;
-   |                            ~~~~~~~~~~~~~~~~
+LL -         let _: *const i8 = transmute(ptr);
+LL +         let _: *const i8 = ptr as *const i8;
+   |
 
 error: transmute from a pointer to a pointer
   --> tests/ui/transmute_ptr_to_ptr.rs:86:28
@@ -104,8 +110,9 @@ LL |         let _: *const i8 = transmute(ptr);
    |
 help: use `pointer::cast` instead
    |
-LL |         let _: *const i8 = ptr.cast::<i8>();
-   |                            ~~~~~~~~~~~~~~~~
+LL -         let _: *const i8 = transmute(ptr);
+LL +         let _: *const i8 = ptr.cast::<i8>();
+   |
 
 error: transmute from a pointer to a pointer
   --> tests/ui/transmute_ptr_to_ptr.rs:93:26
@@ -115,8 +122,9 @@ LL |         let _: *mut u8 = transmute(ptr);
    |
 help: use an `as` cast instead
    |
-LL |         let _: *mut u8 = ptr as *mut u8;
-   |                          ~~~~~~~~~~~~~~
+LL -         let _: *mut u8 = transmute(ptr);
+LL +         let _: *mut u8 = ptr as *mut u8;
+   |
 
 error: transmute from a pointer to a pointer
   --> tests/ui/transmute_ptr_to_ptr.rs:94:28
@@ -126,8 +134,9 @@ LL |         let _: *const u8 = transmute(mut_ptr);
    |
 help: use an `as` cast instead
    |
-LL |         let _: *const u8 = mut_ptr as *const u8;
-   |                            ~~~~~~~~~~~~~~~~~~~~
+LL -         let _: *const u8 = transmute(mut_ptr);
+LL +         let _: *const u8 = mut_ptr as *const u8;
+   |
 
 error: transmute from a pointer to a pointer
   --> tests/ui/transmute_ptr_to_ptr.rs:101:26
@@ -137,8 +146,9 @@ LL |         let _: *mut u8 = transmute(ptr);
    |
 help: use `pointer::cast_mut` instead
    |
-LL |         let _: *mut u8 = ptr.cast_mut();
-   |                          ~~~~~~~~~~~~~~
+LL -         let _: *mut u8 = transmute(ptr);
+LL +         let _: *mut u8 = ptr.cast_mut();
+   |
 
 error: transmute from a pointer to a pointer
   --> tests/ui/transmute_ptr_to_ptr.rs:102:28
@@ -148,8 +158,9 @@ LL |         let _: *const u8 = transmute(mut_ptr);
    |
 help: use `pointer::cast_const` instead
    |
-LL |         let _: *const u8 = mut_ptr.cast_const();
-   |                            ~~~~~~~~~~~~~~~~~~~~
+LL -         let _: *const u8 = transmute(mut_ptr);
+LL +         let _: *const u8 = mut_ptr.cast_const();
+   |
 
 error: aborting due to 16 previous errors
 
diff --git a/src/tools/clippy/tests/ui/transmutes_expressible_as_ptr_casts.stderr b/src/tools/clippy/tests/ui/transmutes_expressible_as_ptr_casts.stderr
index 2d74967ede5..21edd39e7ad 100644
--- a/src/tools/clippy/tests/ui/transmutes_expressible_as_ptr_casts.stderr
+++ b/src/tools/clippy/tests/ui/transmutes_expressible_as_ptr_casts.stderr
@@ -17,8 +17,9 @@ LL |     let _ptr_i8_transmute = unsafe { transmute::<*const i32, *const i8>(ptr
    = help: to override `-D warnings` add `#[allow(clippy::transmute_ptr_to_ptr)]`
 help: use `pointer::cast` instead
    |
-LL |     let _ptr_i8_transmute = unsafe { ptr_i32.cast::<i8>() };
-   |                                      ~~~~~~~~~~~~~~~~~~~~
+LL -     let _ptr_i8_transmute = unsafe { transmute::<*const i32, *const i8>(ptr_i32) };
+LL +     let _ptr_i8_transmute = unsafe { ptr_i32.cast::<i8>() };
+   |
 
 error: transmute from a pointer to a pointer
   --> tests/ui/transmutes_expressible_as_ptr_casts.rs:27:46
@@ -28,8 +29,9 @@ LL |     let _ptr_to_unsized_transmute = unsafe { transmute::<*const [i32], *con
    |
 help: use an `as` cast instead
    |
-LL |     let _ptr_to_unsized_transmute = unsafe { slice_ptr as *const [u32] };
-   |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ptr_to_unsized_transmute = unsafe { transmute::<*const [i32], *const [u32]>(slice_ptr) };
+LL +     let _ptr_to_unsized_transmute = unsafe { slice_ptr as *const [u32] };
+   |
 
 error: transmute from `*const i32` to `usize` which could be expressed as a pointer cast instead
   --> tests/ui/transmutes_expressible_as_ptr_casts.rs:33:50
diff --git a/src/tools/clippy/tests/ui/unit_arg.stderr b/src/tools/clippy/tests/ui/unit_arg.stderr
index 41ad1a2d383..bf79e93e444 100644
--- a/src/tools/clippy/tests/ui/unit_arg.stderr
+++ b/src/tools/clippy/tests/ui/unit_arg.stderr
@@ -10,7 +10,8 @@ LL | |     });
    = help: to override `-D warnings` add `#[allow(clippy::unit_arg)]`
 help: remove the semicolon from the last statement in the block
    |
-LL |         1
+LL -         1;
+LL +         1
    |
 help: or move the expression in front of the call and replace it with the unit literal `()`
    |
@@ -43,7 +44,8 @@ LL | |     });
    |
 help: remove the semicolon from the last statement in the block
    |
-LL |         foo(2)
+LL -         foo(2);
+LL +         foo(2)
    |
 help: or move the expression in front of the call and replace it with the unit literal `()`
    |
@@ -64,7 +66,8 @@ LL | |     });
    |
 help: remove the semicolon from the last statement in the block
    |
-LL |         1
+LL -         1;
+LL +         1
    |
 help: or move the expression in front of the call and replace it with the unit literal `()`
    |
@@ -98,7 +101,8 @@ LL | |     });
    |
 help: remove the semicolon from the last statement in the block
    |
-LL |         foo(2)
+LL -         foo(2);
+LL +         foo(2)
    |
 help: or move the expressions in front of the call and replace them with the unit literal `()`
    |
@@ -124,11 +128,13 @@ LL | |     );
    |
 help: remove the semicolon from the last statement in the block
    |
-LL |             foo(1)
+LL -             foo(1);
+LL +             foo(1)
    |
 help: remove the semicolon from the last statement in the block
    |
-LL |             foo(3)
+LL -             foo(3);
+LL +             foo(3)
    |
 help: or move the expressions in front of the call and replace them with the unit literal `()`
    |
diff --git a/src/tools/clippy/tests/ui/unknown_clippy_lints.stderr b/src/tools/clippy/tests/ui/unknown_clippy_lints.stderr
index aa2c2f3c0e2..ea925cd3a9f 100644
--- a/src/tools/clippy/tests/ui/unknown_clippy_lints.stderr
+++ b/src/tools/clippy/tests/ui/unknown_clippy_lints.stderr
@@ -39,8 +39,9 @@ LL | #[warn(clippy::dead_cod)]
    |
 help: a lint with a similar name exists in `rustc` lints
    |
-LL | #[warn(dead_code)]
-   |        ~~~~~~~~~
+LL - #[warn(clippy::dead_cod)]
+LL + #[warn(dead_code)]
+   |
 
 error: unknown lint: `clippy::unused_colle`
   --> tests/ui/unknown_clippy_lints.rs:13:8
@@ -62,8 +63,9 @@ LL | #[warn(clippy::missing_docs)]
    |
 help: a lint with a similar name exists in `rustc` lints
    |
-LL | #[warn(missing_docs)]
-   |        ~~~~~~~~~~~~
+LL - #[warn(clippy::missing_docs)]
+LL + #[warn(missing_docs)]
+   |
 
 error: aborting due to 9 previous errors
 
diff --git a/src/tools/clippy/tests/ui/unnecessary_lazy_eval.stderr b/src/tools/clippy/tests/ui/unnecessary_lazy_eval.stderr
index 35a2144c389..9bb1b71f0ed 100644
--- a/src/tools/clippy/tests/ui/unnecessary_lazy_eval.stderr
+++ b/src/tools/clippy/tests/ui/unnecessary_lazy_eval.stderr
@@ -8,8 +8,9 @@ LL |     let _ = opt.unwrap_or_else(|| 2);
    = help: to override `-D warnings` add `#[allow(clippy::unnecessary_lazy_evaluations)]`
 help: use `unwrap_or` instead
    |
-LL |     let _ = opt.unwrap_or(2);
-   |                 ~~~~~~~~~~~~
+LL -     let _ = opt.unwrap_or_else(|| 2);
+LL +     let _ = opt.unwrap_or(2);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:84:13
@@ -19,8 +20,9 @@ LL |     let _ = opt.unwrap_or_else(|| astronomers_pi);
    |
 help: use `unwrap_or` instead
    |
-LL |     let _ = opt.unwrap_or(astronomers_pi);
-   |                 ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = opt.unwrap_or_else(|| astronomers_pi);
+LL +     let _ = opt.unwrap_or(astronomers_pi);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:85:13
@@ -30,8 +32,9 @@ LL |     let _ = opt.unwrap_or_else(|| ext_str.some_field);
    |
 help: use `unwrap_or` instead
    |
-LL |     let _ = opt.unwrap_or(ext_str.some_field);
-   |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = opt.unwrap_or_else(|| ext_str.some_field);
+LL +     let _ = opt.unwrap_or(ext_str.some_field);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:87:13
@@ -41,8 +44,9 @@ LL |     let _ = opt.and_then(|_| ext_opt);
    |
 help: use `and` instead
    |
-LL |     let _ = opt.and(ext_opt);
-   |                 ~~~~~~~~~~~~
+LL -     let _ = opt.and_then(|_| ext_opt);
+LL +     let _ = opt.and(ext_opt);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:88:13
@@ -52,8 +56,9 @@ LL |     let _ = opt.or_else(|| ext_opt);
    |
 help: use `or` instead
    |
-LL |     let _ = opt.or(ext_opt);
-   |                 ~~~~~~~~~~~
+LL -     let _ = opt.or_else(|| ext_opt);
+LL +     let _ = opt.or(ext_opt);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:89:13
@@ -63,8 +68,9 @@ LL |     let _ = opt.or_else(|| None);
    |
 help: use `or` instead
    |
-LL |     let _ = opt.or(None);
-   |                 ~~~~~~~~
+LL -     let _ = opt.or_else(|| None);
+LL +     let _ = opt.or(None);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:90:13
@@ -74,8 +80,9 @@ LL |     let _ = opt.get_or_insert_with(|| 2);
    |
 help: use `get_or_insert` instead
    |
-LL |     let _ = opt.get_or_insert(2);
-   |                 ~~~~~~~~~~~~~~~~
+LL -     let _ = opt.get_or_insert_with(|| 2);
+LL +     let _ = opt.get_or_insert(2);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:91:13
@@ -85,8 +92,9 @@ LL |     let _ = opt.ok_or_else(|| 2);
    |
 help: use `ok_or` instead
    |
-LL |     let _ = opt.ok_or(2);
-   |                 ~~~~~~~~
+LL -     let _ = opt.ok_or_else(|| 2);
+LL +     let _ = opt.ok_or(2);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:92:13
@@ -96,8 +104,9 @@ LL |     let _ = nested_tuple_opt.unwrap_or_else(|| Some((1, 2)));
    |
 help: use `unwrap_or` instead
    |
-LL |     let _ = nested_tuple_opt.unwrap_or(Some((1, 2)));
-   |                              ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = nested_tuple_opt.unwrap_or_else(|| Some((1, 2)));
+LL +     let _ = nested_tuple_opt.unwrap_or(Some((1, 2)));
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:93:13
@@ -107,8 +116,9 @@ LL |     let _ = cond.then(|| astronomers_pi);
    |
 help: use `then_some` instead
    |
-LL |     let _ = cond.then_some(astronomers_pi);
-   |                  ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = cond.then(|| astronomers_pi);
+LL +     let _ = cond.then_some(astronomers_pi);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:94:13
@@ -118,8 +128,9 @@ LL |     let _ = true.then(|| -> _ {});
    |
 help: use `then_some` instead
    |
-LL |     let _ = true.then_some({});
-   |                  ~~~~~~~~~~~~~
+LL -     let _ = true.then(|| -> _ {});
+LL +     let _ = true.then_some({});
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:95:13
@@ -129,8 +140,9 @@ LL |     let _ = true.then(|| {});
    |
 help: use `then_some` instead
    |
-LL |     let _ = true.then_some({});
-   |                  ~~~~~~~~~~~~~
+LL -     let _ = true.then(|| {});
+LL +     let _ = true.then_some({});
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:99:13
@@ -140,8 +152,9 @@ LL |     let _ = Some(1).unwrap_or_else(|| *r);
    |
 help: use `unwrap_or` instead
    |
-LL |     let _ = Some(1).unwrap_or(*r);
-   |                     ~~~~~~~~~~~~~
+LL -     let _ = Some(1).unwrap_or_else(|| *r);
+LL +     let _ = Some(1).unwrap_or(*r);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:101:13
@@ -151,8 +164,9 @@ LL |     let _ = Some(1).unwrap_or_else(|| *b);
    |
 help: use `unwrap_or` instead
    |
-LL |     let _ = Some(1).unwrap_or(*b);
-   |                     ~~~~~~~~~~~~~
+LL -     let _ = Some(1).unwrap_or_else(|| *b);
+LL +     let _ = Some(1).unwrap_or(*b);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:103:13
@@ -162,8 +176,9 @@ LL |     let _ = Some(1).as_ref().unwrap_or_else(|| &r);
    |
 help: use `unwrap_or` instead
    |
-LL |     let _ = Some(1).as_ref().unwrap_or(&r);
-   |                              ~~~~~~~~~~~~~
+LL -     let _ = Some(1).as_ref().unwrap_or_else(|| &r);
+LL +     let _ = Some(1).as_ref().unwrap_or(&r);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:104:13
@@ -173,8 +188,9 @@ LL |     let _ = Some(1).as_ref().unwrap_or_else(|| &b);
    |
 help: use `unwrap_or` instead
    |
-LL |     let _ = Some(1).as_ref().unwrap_or(&b);
-   |                              ~~~~~~~~~~~~~
+LL -     let _ = Some(1).as_ref().unwrap_or_else(|| &b);
+LL +     let _ = Some(1).as_ref().unwrap_or(&b);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:107:13
@@ -184,8 +200,9 @@ LL |     let _ = Some(10).unwrap_or_else(|| 2);
    |
 help: use `unwrap_or` instead
    |
-LL |     let _ = Some(10).unwrap_or(2);
-   |                      ~~~~~~~~~~~~
+LL -     let _ = Some(10).unwrap_or_else(|| 2);
+LL +     let _ = Some(10).unwrap_or(2);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:108:13
@@ -195,8 +212,9 @@ LL |     let _ = Some(10).and_then(|_| ext_opt);
    |
 help: use `and` instead
    |
-LL |     let _ = Some(10).and(ext_opt);
-   |                      ~~~~~~~~~~~~
+LL -     let _ = Some(10).and_then(|_| ext_opt);
+LL +     let _ = Some(10).and(ext_opt);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:109:28
@@ -206,8 +224,9 @@ LL |     let _: Option<usize> = None.or_else(|| ext_opt);
    |
 help: use `or` instead
    |
-LL |     let _: Option<usize> = None.or(ext_opt);
-   |                                 ~~~~~~~~~~~
+LL -     let _: Option<usize> = None.or_else(|| ext_opt);
+LL +     let _: Option<usize> = None.or(ext_opt);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:110:13
@@ -217,8 +236,9 @@ LL |     let _ = None.get_or_insert_with(|| 2);
    |
 help: use `get_or_insert` instead
    |
-LL |     let _ = None.get_or_insert(2);
-   |                  ~~~~~~~~~~~~~~~~
+LL -     let _ = None.get_or_insert_with(|| 2);
+LL +     let _ = None.get_or_insert(2);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:111:35
@@ -228,8 +248,9 @@ LL |     let _: Result<usize, usize> = None.ok_or_else(|| 2);
    |
 help: use `ok_or` instead
    |
-LL |     let _: Result<usize, usize> = None.ok_or(2);
-   |                                        ~~~~~~~~
+LL -     let _: Result<usize, usize> = None.ok_or_else(|| 2);
+LL +     let _: Result<usize, usize> = None.ok_or(2);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:112:28
@@ -239,8 +260,9 @@ LL |     let _: Option<usize> = None.or_else(|| None);
    |
 help: use `or` instead
    |
-LL |     let _: Option<usize> = None.or(None);
-   |                                 ~~~~~~~~
+LL -     let _: Option<usize> = None.or_else(|| None);
+LL +     let _: Option<usize> = None.or(None);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:115:13
@@ -250,8 +272,9 @@ LL |     let _ = deep.0.unwrap_or_else(|| 2);
    |
 help: use `unwrap_or` instead
    |
-LL |     let _ = deep.0.unwrap_or(2);
-   |                    ~~~~~~~~~~~~
+LL -     let _ = deep.0.unwrap_or_else(|| 2);
+LL +     let _ = deep.0.unwrap_or(2);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:116:13
@@ -261,8 +284,9 @@ LL |     let _ = deep.0.and_then(|_| ext_opt);
    |
 help: use `and` instead
    |
-LL |     let _ = deep.0.and(ext_opt);
-   |                    ~~~~~~~~~~~~
+LL -     let _ = deep.0.and_then(|_| ext_opt);
+LL +     let _ = deep.0.and(ext_opt);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:117:13
@@ -272,8 +296,9 @@ LL |     let _ = deep.0.or_else(|| None);
    |
 help: use `or` instead
    |
-LL |     let _ = deep.0.or(None);
-   |                    ~~~~~~~~
+LL -     let _ = deep.0.or_else(|| None);
+LL +     let _ = deep.0.or(None);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:118:13
@@ -283,8 +308,9 @@ LL |     let _ = deep.0.get_or_insert_with(|| 2);
    |
 help: use `get_or_insert` instead
    |
-LL |     let _ = deep.0.get_or_insert(2);
-   |                    ~~~~~~~~~~~~~~~~
+LL -     let _ = deep.0.get_or_insert_with(|| 2);
+LL +     let _ = deep.0.get_or_insert(2);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:119:13
@@ -294,8 +320,9 @@ LL |     let _ = deep.0.ok_or_else(|| 2);
    |
 help: use `ok_or` instead
    |
-LL |     let _ = deep.0.ok_or(2);
-   |                    ~~~~~~~~
+LL -     let _ = deep.0.ok_or_else(|| 2);
+LL +     let _ = deep.0.ok_or(2);
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:150:28
@@ -305,8 +332,9 @@ LL |     let _: Option<usize> = None.or_else(|| Some(3));
    |
 help: use `or` instead
    |
-LL |     let _: Option<usize> = None.or(Some(3));
-   |                                 ~~~~~~~~~~~
+LL -     let _: Option<usize> = None.or_else(|| Some(3));
+LL +     let _: Option<usize> = None.or(Some(3));
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:151:13
@@ -316,8 +344,9 @@ LL |     let _ = deep.0.or_else(|| Some(3));
    |
 help: use `or` instead
    |
-LL |     let _ = deep.0.or(Some(3));
-   |                    ~~~~~~~~~~~
+LL -     let _ = deep.0.or_else(|| Some(3));
+LL +     let _ = deep.0.or(Some(3));
+   |
 
 error: unnecessary closure used to substitute value for `Option::None`
   --> tests/ui/unnecessary_lazy_eval.rs:152:13
@@ -327,8 +356,9 @@ LL |     let _ = opt.or_else(|| Some(3));
    |
 help: use `or` instead
    |
-LL |     let _ = opt.or(Some(3));
-   |                 ~~~~~~~~~~~
+LL -     let _ = opt.or_else(|| Some(3));
+LL +     let _ = opt.or(Some(3));
+   |
 
 error: unnecessary closure used to substitute value for `Result::Err`
   --> tests/ui/unnecessary_lazy_eval.rs:158:13
@@ -338,8 +368,9 @@ LL |     let _ = res2.unwrap_or_else(|_| 2);
    |
 help: use `unwrap_or` instead
    |
-LL |     let _ = res2.unwrap_or(2);
-   |                  ~~~~~~~~~~~~
+LL -     let _ = res2.unwrap_or_else(|_| 2);
+LL +     let _ = res2.unwrap_or(2);
+   |
 
 error: unnecessary closure used to substitute value for `Result::Err`
   --> tests/ui/unnecessary_lazy_eval.rs:159:13
@@ -349,8 +380,9 @@ LL |     let _ = res2.unwrap_or_else(|_| astronomers_pi);
    |
 help: use `unwrap_or` instead
    |
-LL |     let _ = res2.unwrap_or(astronomers_pi);
-   |                  ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = res2.unwrap_or_else(|_| astronomers_pi);
+LL +     let _ = res2.unwrap_or(astronomers_pi);
+   |
 
 error: unnecessary closure used to substitute value for `Result::Err`
   --> tests/ui/unnecessary_lazy_eval.rs:160:13
@@ -360,8 +392,9 @@ LL |     let _ = res2.unwrap_or_else(|_| ext_str.some_field);
    |
 help: use `unwrap_or` instead
    |
-LL |     let _ = res2.unwrap_or(ext_str.some_field);
-   |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = res2.unwrap_or_else(|_| ext_str.some_field);
+LL +     let _ = res2.unwrap_or(ext_str.some_field);
+   |
 
 error: unnecessary closure used to substitute value for `Result::Err`
   --> tests/ui/unnecessary_lazy_eval.rs:182:35
@@ -371,8 +404,9 @@ LL |     let _: Result<usize, usize> = res.and_then(|_| Err(2));
    |
 help: use `and` instead
    |
-LL |     let _: Result<usize, usize> = res.and(Err(2));
-   |                                       ~~~~~~~~~~~
+LL -     let _: Result<usize, usize> = res.and_then(|_| Err(2));
+LL +     let _: Result<usize, usize> = res.and(Err(2));
+   |
 
 error: unnecessary closure used to substitute value for `Result::Err`
   --> tests/ui/unnecessary_lazy_eval.rs:183:35
@@ -382,8 +416,9 @@ LL |     let _: Result<usize, usize> = res.and_then(|_| Err(astronomers_pi));
    |
 help: use `and` instead
    |
-LL |     let _: Result<usize, usize> = res.and(Err(astronomers_pi));
-   |                                       ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _: Result<usize, usize> = res.and_then(|_| Err(astronomers_pi));
+LL +     let _: Result<usize, usize> = res.and(Err(astronomers_pi));
+   |
 
 error: unnecessary closure used to substitute value for `Result::Err`
   --> tests/ui/unnecessary_lazy_eval.rs:184:35
@@ -393,8 +428,9 @@ LL |     let _: Result<usize, usize> = res.and_then(|_| Err(ext_str.some_field))
    |
 help: use `and` instead
    |
-LL |     let _: Result<usize, usize> = res.and(Err(ext_str.some_field));
-   |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _: Result<usize, usize> = res.and_then(|_| Err(ext_str.some_field));
+LL +     let _: Result<usize, usize> = res.and(Err(ext_str.some_field));
+   |
 
 error: unnecessary closure used to substitute value for `Result::Err`
   --> tests/ui/unnecessary_lazy_eval.rs:186:35
@@ -404,8 +440,9 @@ LL |     let _: Result<usize, usize> = res.or_else(|_| Ok(2));
    |
 help: use `or` instead
    |
-LL |     let _: Result<usize, usize> = res.or(Ok(2));
-   |                                       ~~~~~~~~~
+LL -     let _: Result<usize, usize> = res.or_else(|_| Ok(2));
+LL +     let _: Result<usize, usize> = res.or(Ok(2));
+   |
 
 error: unnecessary closure used to substitute value for `Result::Err`
   --> tests/ui/unnecessary_lazy_eval.rs:187:35
@@ -415,8 +452,9 @@ LL |     let _: Result<usize, usize> = res.or_else(|_| Ok(astronomers_pi));
    |
 help: use `or` instead
    |
-LL |     let _: Result<usize, usize> = res.or(Ok(astronomers_pi));
-   |                                       ~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _: Result<usize, usize> = res.or_else(|_| Ok(astronomers_pi));
+LL +     let _: Result<usize, usize> = res.or(Ok(astronomers_pi));
+   |
 
 error: unnecessary closure used to substitute value for `Result::Err`
   --> tests/ui/unnecessary_lazy_eval.rs:188:35
@@ -426,8 +464,9 @@ LL |     let _: Result<usize, usize> = res.or_else(|_| Ok(ext_str.some_field));
    |
 help: use `or` instead
    |
-LL |     let _: Result<usize, usize> = res.or(Ok(ext_str.some_field));
-   |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _: Result<usize, usize> = res.or_else(|_| Ok(ext_str.some_field));
+LL +     let _: Result<usize, usize> = res.or(Ok(ext_str.some_field));
+   |
 
 error: unnecessary closure used to substitute value for `Result::Err`
   --> tests/ui/unnecessary_lazy_eval.rs:189:35
@@ -440,8 +479,9 @@ LL | |     or_else(|_| Ok(ext_str.some_field));
    |
 help: use `or` instead
    |
-LL |     or(Ok(ext_str.some_field));
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     or_else(|_| Ok(ext_str.some_field));
+LL +     or(Ok(ext_str.some_field));
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:219:14
@@ -451,8 +491,9 @@ LL |     let _x = false.then(|| i32::MAX + 1);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(i32::MAX + 1);
-   |                    ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| i32::MAX + 1);
+LL +     let _x = false.then_some(i32::MAX + 1);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:221:14
@@ -462,8 +503,9 @@ LL |     let _x = false.then(|| i32::MAX * 2);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(i32::MAX * 2);
-   |                    ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| i32::MAX * 2);
+LL +     let _x = false.then_some(i32::MAX * 2);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:223:14
@@ -473,8 +515,9 @@ LL |     let _x = false.then(|| i32::MAX - 1);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(i32::MAX - 1);
-   |                    ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| i32::MAX - 1);
+LL +     let _x = false.then_some(i32::MAX - 1);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:225:14
@@ -484,8 +527,9 @@ LL |     let _x = false.then(|| i32::MIN - 1);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(i32::MIN - 1);
-   |                    ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| i32::MIN - 1);
+LL +     let _x = false.then_some(i32::MIN - 1);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:227:14
@@ -495,8 +539,9 @@ LL |     let _x = false.then(|| (1 + 2 * 3 - 2 / 3 + 9) << 2);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some((1 + 2 * 3 - 2 / 3 + 9) << 2);
-   |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| (1 + 2 * 3 - 2 / 3 + 9) << 2);
+LL +     let _x = false.then_some((1 + 2 * 3 - 2 / 3 + 9) << 2);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:229:14
@@ -506,8 +551,9 @@ LL |     let _x = false.then(|| 255u8 << 7);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(255u8 << 7);
-   |                    ~~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| 255u8 << 7);
+LL +     let _x = false.then_some(255u8 << 7);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:231:14
@@ -517,8 +563,9 @@ LL |     let _x = false.then(|| 255u8 << 8);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(255u8 << 8);
-   |                    ~~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| 255u8 << 8);
+LL +     let _x = false.then_some(255u8 << 8);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:233:14
@@ -528,8 +575,9 @@ LL |     let _x = false.then(|| 255u8 >> 8);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(255u8 >> 8);
-   |                    ~~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| 255u8 >> 8);
+LL +     let _x = false.then_some(255u8 >> 8);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:236:14
@@ -539,8 +587,9 @@ LL |     let _x = false.then(|| i32::MAX + -1);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(i32::MAX + -1);
-   |                    ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| i32::MAX + -1);
+LL +     let _x = false.then_some(i32::MAX + -1);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:238:14
@@ -550,8 +599,9 @@ LL |     let _x = false.then(|| -i32::MAX);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(-i32::MAX);
-   |                    ~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| -i32::MAX);
+LL +     let _x = false.then_some(-i32::MAX);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:240:14
@@ -561,8 +611,9 @@ LL |     let _x = false.then(|| -i32::MIN);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(-i32::MIN);
-   |                    ~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| -i32::MIN);
+LL +     let _x = false.then_some(-i32::MIN);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:243:14
@@ -572,8 +623,9 @@ LL |     let _x = false.then(|| 255 >> -7);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(255 >> -7);
-   |                    ~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| 255 >> -7);
+LL +     let _x = false.then_some(255 >> -7);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:245:14
@@ -583,8 +635,9 @@ LL |     let _x = false.then(|| 255 << -1);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(255 << -1);
-   |                    ~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| 255 << -1);
+LL +     let _x = false.then_some(255 << -1);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:247:14
@@ -594,8 +647,9 @@ LL |     let _x = false.then(|| 1 / 0);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(1 / 0);
-   |                    ~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| 1 / 0);
+LL +     let _x = false.then_some(1 / 0);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:249:14
@@ -605,8 +659,9 @@ LL |     let _x = false.then(|| x << -1);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(x << -1);
-   |                    ~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| x << -1);
+LL +     let _x = false.then_some(x << -1);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:251:14
@@ -616,8 +671,9 @@ LL |     let _x = false.then(|| x << 2);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(x << 2);
-   |                    ~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| x << 2);
+LL +     let _x = false.then_some(x << 2);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:261:14
@@ -627,8 +683,9 @@ LL |     let _x = false.then(|| x / 0);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(x / 0);
-   |                    ~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| x / 0);
+LL +     let _x = false.then_some(x / 0);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:263:14
@@ -638,8 +695,9 @@ LL |     let _x = false.then(|| x % 0);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(x % 0);
-   |                    ~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| x % 0);
+LL +     let _x = false.then_some(x % 0);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:266:14
@@ -649,8 +707,9 @@ LL |     let _x = false.then(|| 1 / -1);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(1 / -1);
-   |                    ~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| 1 / -1);
+LL +     let _x = false.then_some(1 / -1);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:268:14
@@ -660,8 +719,9 @@ LL |     let _x = false.then(|| i32::MIN / -1);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(i32::MIN / -1);
-   |                    ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| i32::MIN / -1);
+LL +     let _x = false.then_some(i32::MIN / -1);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:271:14
@@ -671,8 +731,9 @@ LL |     let _x = false.then(|| i32::MIN / 0);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(i32::MIN / 0);
-   |                    ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| i32::MIN / 0);
+LL +     let _x = false.then_some(i32::MIN / 0);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:273:14
@@ -682,8 +743,9 @@ LL |     let _x = false.then(|| 4 / 2);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(4 / 2);
-   |                    ~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| 4 / 2);
+LL +     let _x = false.then_some(4 / 2);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval.rs:281:14
@@ -693,8 +755,9 @@ LL |     let _x = false.then(|| f1 + f2);
    |
 help: use `then_some` instead
    |
-LL |     let _x = false.then_some(f1 + f2);
-   |                    ~~~~~~~~~~~~~~~~~~
+LL -     let _x = false.then(|| f1 + f2);
+LL +     let _x = false.then_some(f1 + f2);
+   |
 
 error: aborting due to 63 previous errors
 
diff --git a/src/tools/clippy/tests/ui/unnecessary_lazy_eval_unfixable.stderr b/src/tools/clippy/tests/ui/unnecessary_lazy_eval_unfixable.stderr
index 390235b2124..9688c44c914 100644
--- a/src/tools/clippy/tests/ui/unnecessary_lazy_eval_unfixable.stderr
+++ b/src/tools/clippy/tests/ui/unnecessary_lazy_eval_unfixable.stderr
@@ -8,8 +8,9 @@ LL |     let _ = Ok(1).unwrap_or_else(|()| 2);
    = help: to override `-D warnings` add `#[allow(clippy::unnecessary_lazy_evaluations)]`
 help: use `unwrap_or` instead
    |
-LL |     let _ = Ok(1).unwrap_or(2);
-   |                   ~~~~~~~~~~~~
+LL -     let _ = Ok(1).unwrap_or_else(|()| 2);
+LL +     let _ = Ok(1).unwrap_or(2);
+   |
 
 error: unnecessary closure used to substitute value for `Result::Err`
   --> tests/ui/unnecessary_lazy_eval_unfixable.rs:19:13
@@ -19,8 +20,9 @@ LL |     let _ = Ok(1).unwrap_or_else(|e::E| 2);
    |
 help: use `unwrap_or` instead
    |
-LL |     let _ = Ok(1).unwrap_or(2);
-   |                   ~~~~~~~~~~~~
+LL -     let _ = Ok(1).unwrap_or_else(|e::E| 2);
+LL +     let _ = Ok(1).unwrap_or(2);
+   |
 
 error: unnecessary closure used to substitute value for `Result::Err`
   --> tests/ui/unnecessary_lazy_eval_unfixable.rs:21:13
@@ -30,8 +32,9 @@ LL |     let _ = Ok(1).unwrap_or_else(|SomeStruct { .. }| 2);
    |
 help: use `unwrap_or` instead
    |
-LL |     let _ = Ok(1).unwrap_or(2);
-   |                   ~~~~~~~~~~~~
+LL -     let _ = Ok(1).unwrap_or_else(|SomeStruct { .. }| 2);
+LL +     let _ = Ok(1).unwrap_or(2);
+   |
 
 error: unnecessary closure used with `bool::then`
   --> tests/ui/unnecessary_lazy_eval_unfixable.rs:31:13
@@ -41,8 +44,9 @@ LL |     let _ = true.then(|| -> &[u8] { &[] });
    |
 help: use `then_some` instead
    |
-LL |     let _ = true.then_some({ &[] });
-   |                  ~~~~~~~~~~~~~~~~~~
+LL -     let _ = true.then(|| -> &[u8] { &[] });
+LL +     let _ = true.then_some({ &[] });
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/src/tools/clippy/tests/ui/unnecessary_literal_unwrap.stderr b/src/tools/clippy/tests/ui/unnecessary_literal_unwrap.stderr
index 37ee9195fce..631bf083726 100644
--- a/src/tools/clippy/tests/ui/unnecessary_literal_unwrap.stderr
+++ b/src/tools/clippy/tests/ui/unnecessary_literal_unwrap.stderr
@@ -62,8 +62,9 @@ LL |     let _val = None::<()>.expect("this always happens");
    |
 help: remove the `None` and `expect()`
    |
-LL |     let _val = panic!("this always happens");
-   |                ~~~~~~~
+LL -     let _val = None::<()>.expect("this always happens");
+LL +     let _val = panic!("this always happens");
+   |
 
 error: used `unwrap_or_default()` on `None` value
   --> tests/ui/unnecessary_literal_unwrap.rs:22:24
@@ -133,8 +134,9 @@ LL |     None::<()>.expect("this always happens");
    |
 help: remove the `None` and `expect()`
    |
-LL |     panic!("this always happens");
-   |     ~~~~~~~
+LL -     None::<()>.expect("this always happens");
+LL +     panic!("this always happens");
+   |
 
 error: used `unwrap_or_default()` on `None` value
   --> tests/ui/unnecessary_literal_unwrap.rs:30:5
@@ -222,8 +224,9 @@ LL |     let _val = Ok::<_, ()>(1).unwrap_err();
    |
 help: remove the `Ok` and `unwrap_err()`
    |
-LL |     let _val = panic!("{:?}", 1);
-   |                ~~~~~~~~~~~~~~  ~
+LL -     let _val = Ok::<_, ()>(1).unwrap_err();
+LL +     let _val = panic!("{:?}", 1);
+   |
 
 error: used `expect_err()` on `Ok` value
   --> tests/ui/unnecessary_literal_unwrap.rs:41:16
@@ -233,8 +236,9 @@ LL |     let _val = Ok::<_, ()>(1).expect_err("this always happens");
    |
 help: remove the `Ok` and `expect_err()`
    |
-LL |     let _val = panic!("{1}: {:?}", 1, "this always happens");
-   |                ~~~~~~~~~~~~~~~~~~~  ~
+LL -     let _val = Ok::<_, ()>(1).expect_err("this always happens");
+LL +     let _val = panic!("{1}: {:?}", 1, "this always happens");
+   |
 
 error: used `unwrap()` on `Ok` value
   --> tests/ui/unnecessary_literal_unwrap.rs:43:5
@@ -268,8 +272,9 @@ LL |     Ok::<_, ()>(1).unwrap_err();
    |
 help: remove the `Ok` and `unwrap_err()`
    |
-LL |     panic!("{:?}", 1);
-   |     ~~~~~~~~~~~~~~  ~
+LL -     Ok::<_, ()>(1).unwrap_err();
+LL +     panic!("{:?}", 1);
+   |
 
 error: used `expect_err()` on `Ok` value
   --> tests/ui/unnecessary_literal_unwrap.rs:46:5
@@ -279,8 +284,9 @@ LL |     Ok::<_, ()>(1).expect_err("this always happens");
    |
 help: remove the `Ok` and `expect_err()`
    |
-LL |     panic!("{1}: {:?}", 1, "this always happens");
-   |     ~~~~~~~~~~~~~~~~~~~  ~
+LL -     Ok::<_, ()>(1).expect_err("this always happens");
+LL +     panic!("{1}: {:?}", 1, "this always happens");
+   |
 
 error: used `unwrap_err()` on `Err` value
   --> tests/ui/unnecessary_literal_unwrap.rs:50:16
@@ -314,8 +320,9 @@ LL |     let _val = Err::<(), _>(1).unwrap();
    |
 help: remove the `Err` and `unwrap()`
    |
-LL |     let _val = panic!("{:?}", 1);
-   |                ~~~~~~~~~~~~~~  ~
+LL -     let _val = Err::<(), _>(1).unwrap();
+LL +     let _val = panic!("{:?}", 1);
+   |
 
 error: used `expect()` on `Err` value
   --> tests/ui/unnecessary_literal_unwrap.rs:53:16
@@ -325,8 +332,9 @@ LL |     let _val = Err::<(), _>(1).expect("this always happens");
    |
 help: remove the `Err` and `expect()`
    |
-LL |     let _val = panic!("{1}: {:?}", 1, "this always happens");
-   |                ~~~~~~~~~~~~~~~~~~~  ~
+LL -     let _val = Err::<(), _>(1).expect("this always happens");
+LL +     let _val = panic!("{1}: {:?}", 1, "this always happens");
+   |
 
 error: used `unwrap_err()` on `Err` value
   --> tests/ui/unnecessary_literal_unwrap.rs:55:5
@@ -360,8 +368,9 @@ LL |     Err::<(), _>(1).unwrap();
    |
 help: remove the `Err` and `unwrap()`
    |
-LL |     panic!("{:?}", 1);
-   |     ~~~~~~~~~~~~~~  ~
+LL -     Err::<(), _>(1).unwrap();
+LL +     panic!("{:?}", 1);
+   |
 
 error: used `expect()` on `Err` value
   --> tests/ui/unnecessary_literal_unwrap.rs:58:5
@@ -371,8 +380,9 @@ LL |     Err::<(), _>(1).expect("this always happens");
    |
 help: remove the `Err` and `expect()`
    |
-LL |     panic!("{1}: {:?}", 1, "this always happens");
-   |     ~~~~~~~~~~~~~~~~~~~  ~
+LL -     Err::<(), _>(1).expect("this always happens");
+LL +     panic!("{1}: {:?}", 1, "this always happens");
+   |
 
 error: used `unwrap_or()` on `Some` value
   --> tests/ui/unnecessary_literal_unwrap.rs:62:16
diff --git a/src/tools/clippy/tests/ui/unnecessary_map_or.stderr b/src/tools/clippy/tests/ui/unnecessary_map_or.stderr
index 2ae327f0bf8..9f38b8c8d93 100644
--- a/src/tools/clippy/tests/ui/unnecessary_map_or.stderr
+++ b/src/tools/clippy/tests/ui/unnecessary_map_or.stderr
@@ -8,8 +8,9 @@ LL |     let _ = Some(5).map_or(false, |n| n == 5);
    = help: to override `-D warnings` add `#[allow(clippy::unnecessary_map_or)]`
 help: use a standard comparison instead
    |
-LL |     let _ = Some(5) == Some(5);
-   |             ~~~~~~~~~~~~~~~~~~
+LL -     let _ = Some(5).map_or(false, |n| n == 5);
+LL +     let _ = Some(5) == Some(5);
+   |
 
 error: this `map_or` can be simplified
   --> tests/ui/unnecessary_map_or.rs:14:13
@@ -19,8 +20,9 @@ LL |     let _ = Some(5).map_or(true, |n| n != 5);
    |
 help: use a standard comparison instead
    |
-LL |     let _ = Some(5) != Some(5);
-   |             ~~~~~~~~~~~~~~~~~~
+LL -     let _ = Some(5).map_or(true, |n| n != 5);
+LL +     let _ = Some(5) != Some(5);
+   |
 
 error: this `map_or` can be simplified
   --> tests/ui/unnecessary_map_or.rs:15:13
@@ -34,8 +36,12 @@ LL | |     });
    |
 help: use a standard comparison instead
    |
-LL |     let _ = Some(5) == Some(5);
-   |             ~~~~~~~~~~~~~~~~~~
+LL -     let _ = Some(5).map_or(false, |n| {
+LL -         let _ = 1;
+LL -         n == 5
+LL -     });
+LL +     let _ = Some(5) == Some(5);
+   |
 
 error: this `map_or` can be simplified
   --> tests/ui/unnecessary_map_or.rs:19:13
@@ -121,8 +127,9 @@ LL |     let _ = Ok::<i32, i32>(5).map_or(false, |n| n == 5);
    |
 help: use a standard comparison instead
    |
-LL |     let _ = Ok::<i32, i32>(5) == Ok(5);
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = Ok::<i32, i32>(5).map_or(false, |n| n == 5);
+LL +     let _ = Ok::<i32, i32>(5) == Ok(5);
+   |
 
 error: this `map_or` can be simplified
   --> tests/ui/unnecessary_map_or.rs:29:13
@@ -132,8 +139,9 @@ LL |     let _ = Some(5).map_or(false, |n| n == 5).then(|| 1);
    |
 help: use a standard comparison instead
    |
-LL |     let _ = (Some(5) == Some(5)).then(|| 1);
-   |             ~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = Some(5).map_or(false, |n| n == 5).then(|| 1);
+LL +     let _ = (Some(5) == Some(5)).then(|| 1);
+   |
 
 error: this `map_or` can be simplified
   --> tests/ui/unnecessary_map_or.rs:30:13
@@ -167,8 +175,9 @@ LL |     let _ = !Some(5).map_or(false, |n| n == 5);
    |
 help: use a standard comparison instead
    |
-LL |     let _ = !(Some(5) == Some(5));
-   |              ~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = !Some(5).map_or(false, |n| n == 5);
+LL +     let _ = !(Some(5) == Some(5));
+   |
 
 error: this `map_or` can be simplified
   --> tests/ui/unnecessary_map_or.rs:33:13
@@ -178,8 +187,9 @@ LL |     let _ = Some(5).map_or(false, |n| n == 5) || false;
    |
 help: use a standard comparison instead
    |
-LL |     let _ = (Some(5) == Some(5)) || false;
-   |             ~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = Some(5).map_or(false, |n| n == 5) || false;
+LL +     let _ = (Some(5) == Some(5)) || false;
+   |
 
 error: this `map_or` can be simplified
   --> tests/ui/unnecessary_map_or.rs:34:13
@@ -189,8 +199,9 @@ LL |     let _ = Some(5).map_or(false, |n| n == 5) as usize;
    |
 help: use a standard comparison instead
    |
-LL |     let _ = (Some(5) == Some(5)) as usize;
-   |             ~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = Some(5).map_or(false, |n| n == 5) as usize;
+LL +     let _ = (Some(5) == Some(5)) as usize;
+   |
 
 error: this `map_or` can be simplified
   --> tests/ui/unnecessary_map_or.rs:58:13
@@ -248,8 +259,9 @@ LL |     let _ = r.map_or(false, |x| x == 8);
    |
 help: use a standard comparison instead
    |
-LL |     let _ = r == Ok(8);
-   |             ~~~~~~~~~~
+LL -     let _ = r.map_or(false, |x| x == 8);
+LL +     let _ = r == Ok(8);
+   |
 
 error: this `map_or` can be simplified
   --> tests/ui/unnecessary_map_or.rs:90:5
diff --git a/src/tools/clippy/tests/ui/unnecessary_wraps.stderr b/src/tools/clippy/tests/ui/unnecessary_wraps.stderr
index b304d4dce6e..b06ab91dc8d 100644
--- a/src/tools/clippy/tests/ui/unnecessary_wraps.stderr
+++ b/src/tools/clippy/tests/ui/unnecessary_wraps.stderr
@@ -13,8 +13,9 @@ LL | | }
    = help: to override `-D warnings` add `#[allow(clippy::unnecessary_wraps)]`
 help: remove `Option` from the return type...
    |
-LL | fn func1(a: bool, b: bool) -> i32 {
-   |                               ~~~
+LL - fn func1(a: bool, b: bool) -> Option<i32> {
+LL + fn func1(a: bool, b: bool) -> i32 {
+   |
 help: ...and then change returning expressions
    |
 LL ~         return 42;
@@ -40,8 +41,9 @@ LL | | }
    |
 help: remove `Option` from the return type...
    |
-LL | fn func2(a: bool, b: bool) -> i32 {
-   |                               ~~~
+LL - fn func2(a: bool, b: bool) -> Option<i32> {
+LL + fn func2(a: bool, b: bool) -> i32 {
+   |
 help: ...and then change returning expressions
    |
 LL ~         return 10;
@@ -60,11 +62,13 @@ LL | | }
    |
 help: remove `Option` from the return type...
    |
-LL | fn func5() -> i32 {
-   |               ~~~
+LL - fn func5() -> Option<i32> {
+LL + fn func5() -> i32 {
+   |
 help: ...and then change returning expressions
    |
-LL |     1
+LL -     Some(1)
+LL +     1
    |
 
 error: this function's return value is unnecessarily wrapped by `Result`
@@ -78,11 +82,13 @@ LL | | }
    |
 help: remove `Result` from the return type...
    |
-LL | fn func7() -> i32 {
-   |               ~~~
+LL - fn func7() -> Result<i32, ()> {
+LL + fn func7() -> i32 {
+   |
 help: ...and then change returning expressions
    |
-LL |     1
+LL -     Ok(1)
+LL +     1
    |
 
 error: this function's return value is unnecessarily wrapped by `Option`
@@ -96,11 +102,13 @@ LL | |     }
    |
 help: remove `Option` from the return type...
    |
-LL |     fn func12() -> i32 {
-   |                    ~~~
+LL -     fn func12() -> Option<i32> {
+LL +     fn func12() -> i32 {
+   |
 help: ...and then change returning expressions
    |
-LL |         1
+LL -         Some(1)
+LL +         1
    |
 
 error: this function's return value is unnecessary
@@ -116,8 +124,9 @@ LL | | }
    |
 help: remove the return type...
    |
-LL | fn issue_6640_1(a: bool, b: bool) -> () {
-   |                                      ~~
+LL - fn issue_6640_1(a: bool, b: bool) -> Option<()> {
+LL + fn issue_6640_1(a: bool, b: bool) -> () {
+   |
 help: ...and then remove returned values
    |
 LL ~         return ;
@@ -142,8 +151,9 @@ LL | | }
    |
 help: remove the return type...
    |
-LL | fn issue_6640_2(a: bool, b: bool) -> () {
-   |                                      ~~
+LL - fn issue_6640_2(a: bool, b: bool) -> Result<(), i32> {
+LL + fn issue_6640_2(a: bool, b: bool) -> () {
+   |
 help: ...and then remove returned values
    |
 LL ~         return ;
diff --git a/src/tools/clippy/tests/ui/unnested_or_patterns.stderr b/src/tools/clippy/tests/ui/unnested_or_patterns.stderr
index bd15ef62368..4325df14304 100644
--- a/src/tools/clippy/tests/ui/unnested_or_patterns.stderr
+++ b/src/tools/clippy/tests/ui/unnested_or_patterns.stderr
@@ -8,8 +8,9 @@ LL |     if let box 0 | box 2 = Box::new(0) {}
    = help: to override `-D warnings` add `#[allow(clippy::unnested_or_patterns)]`
 help: nest the patterns
    |
-LL |     if let box (0 | 2) = Box::new(0) {}
-   |            ~~~~~~~~~~~
+LL -     if let box 0 | box 2 = Box::new(0) {}
+LL +     if let box (0 | 2) = Box::new(0) {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns.rs:17:12
@@ -19,8 +20,9 @@ LL |     if let box ((0 | 1)) | box (2 | 3) | box 4 = Box::new(0) {}
    |
 help: nest the patterns
    |
-LL |     if let box (0 | 1 | 2 | 3 | 4) = Box::new(0) {}
-   |            ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     if let box ((0 | 1)) | box (2 | 3) | box 4 = Box::new(0) {}
+LL +     if let box (0 | 1 | 2 | 3 | 4) = Box::new(0) {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns.rs:19:12
@@ -30,8 +32,9 @@ LL |     if let Some(1) | C0 | Some(2) = None {}
    |
 help: nest the patterns
    |
-LL |     if let Some(1 | 2) | C0 = None {}
-   |            ~~~~~~~~~~~~~~~~
+LL -     if let Some(1) | C0 | Some(2) = None {}
+LL +     if let Some(1 | 2) | C0 = None {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns.rs:20:12
@@ -41,8 +44,9 @@ LL |     if let &mut 0 | &mut 2 = &mut 0 {}
    |
 help: nest the patterns
    |
-LL |     if let &mut (0 | 2) = &mut 0 {}
-   |            ~~~~~~~~~~~~
+LL -     if let &mut 0 | &mut 2 = &mut 0 {}
+LL +     if let &mut (0 | 2) = &mut 0 {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns.rs:21:12
@@ -52,8 +56,9 @@ LL |     if let x @ 0 | x @ 2 = 0 {}
    |
 help: nest the patterns
    |
-LL |     if let x @ (0 | 2) = 0 {}
-   |            ~~~~~~~~~~~
+LL -     if let x @ 0 | x @ 2 = 0 {}
+LL +     if let x @ (0 | 2) = 0 {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns.rs:22:12
@@ -63,8 +68,9 @@ LL |     if let (0, 1) | (0, 2) | (0, 3) = (0, 0) {}
    |
 help: nest the patterns
    |
-LL |     if let (0, 1 | 2 | 3) = (0, 0) {}
-   |            ~~~~~~~~~~~~~~
+LL -     if let (0, 1) | (0, 2) | (0, 3) = (0, 0) {}
+LL +     if let (0, 1 | 2 | 3) = (0, 0) {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns.rs:23:12
@@ -74,8 +80,9 @@ LL |     if let (1, 0) | (2, 0) | (3, 0) = (0, 0) {}
    |
 help: nest the patterns
    |
-LL |     if let (1 | 2 | 3, 0) = (0, 0) {}
-   |            ~~~~~~~~~~~~~~
+LL -     if let (1, 0) | (2, 0) | (3, 0) = (0, 0) {}
+LL +     if let (1 | 2 | 3, 0) = (0, 0) {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns.rs:24:12
@@ -85,8 +92,9 @@ LL |     if let (x, ..) | (x, 1) | (x, 2) = (0, 1) {}
    |
 help: nest the patterns
    |
-LL |     if let (x, ..) | (x, 1 | 2) = (0, 1) {}
-   |            ~~~~~~~~~~~~~~~~~~~~
+LL -     if let (x, ..) | (x, 1) | (x, 2) = (0, 1) {}
+LL +     if let (x, ..) | (x, 1 | 2) = (0, 1) {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns.rs:25:12
@@ -96,8 +104,9 @@ LL |     if let [0] | [1] = [0] {}
    |
 help: nest the patterns
    |
-LL |     if let [0 | 1] = [0] {}
-   |            ~~~~~~~
+LL -     if let [0] | [1] = [0] {}
+LL +     if let [0 | 1] = [0] {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns.rs:26:12
@@ -107,8 +116,9 @@ LL |     if let [x, 0] | [x, 1] = [0, 1] {}
    |
 help: nest the patterns
    |
-LL |     if let [x, 0 | 1] = [0, 1] {}
-   |            ~~~~~~~~~~
+LL -     if let [x, 0] | [x, 1] = [0, 1] {}
+LL +     if let [x, 0 | 1] = [0, 1] {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns.rs:27:12
@@ -118,8 +128,9 @@ LL |     if let [x, 0] | [x, 1] | [x, 2] = [0, 1] {}
    |
 help: nest the patterns
    |
-LL |     if let [x, 0 | 1 | 2] = [0, 1] {}
-   |            ~~~~~~~~~~~~~~
+LL -     if let [x, 0] | [x, 1] | [x, 2] = [0, 1] {}
+LL +     if let [x, 0 | 1 | 2] = [0, 1] {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns.rs:28:12
@@ -129,8 +140,9 @@ LL |     if let [x, ..] | [x, 1] | [x, 2] = [0, 1] {}
    |
 help: nest the patterns
    |
-LL |     if let [x, ..] | [x, 1 | 2] = [0, 1] {}
-   |            ~~~~~~~~~~~~~~~~~~~~
+LL -     if let [x, ..] | [x, 1] | [x, 2] = [0, 1] {}
+LL +     if let [x, ..] | [x, 1 | 2] = [0, 1] {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns.rs:30:12
@@ -140,8 +152,9 @@ LL |     if let TS(0, x) | TS(1, x) = TS(0, 0) {}
    |
 help: nest the patterns
    |
-LL |     if let TS(0 | 1, x) = TS(0, 0) {}
-   |            ~~~~~~~~~~~~
+LL -     if let TS(0, x) | TS(1, x) = TS(0, 0) {}
+LL +     if let TS(0 | 1, x) = TS(0, 0) {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns.rs:31:12
@@ -151,8 +164,9 @@ LL |     if let TS(1, 0) | TS(2, 0) | TS(3, 0) = TS(0, 0) {}
    |
 help: nest the patterns
    |
-LL |     if let TS(1 | 2 | 3, 0) = TS(0, 0) {}
-   |            ~~~~~~~~~~~~~~~~
+LL -     if let TS(1, 0) | TS(2, 0) | TS(3, 0) = TS(0, 0) {}
+LL +     if let TS(1 | 2 | 3, 0) = TS(0, 0) {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns.rs:32:12
@@ -162,8 +176,9 @@ LL |     if let TS(x, ..) | TS(x, 1) | TS(x, 2) = TS(0, 0) {}
    |
 help: nest the patterns
    |
-LL |     if let TS(x, ..) | TS(x, 1 | 2) = TS(0, 0) {}
-   |            ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     if let TS(x, ..) | TS(x, 1) | TS(x, 2) = TS(0, 0) {}
+LL +     if let TS(x, ..) | TS(x, 1 | 2) = TS(0, 0) {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns.rs:37:12
@@ -173,8 +188,9 @@ LL |     if let S { x: 0, y } | S { y, x: 1 } = (S { x: 0, y: 1 }) {}
    |
 help: nest the patterns
    |
-LL |     if let S { x: 0 | 1, y } = (S { x: 0, y: 1 }) {}
-   |            ~~~~~~~~~~~~~~~~~
+LL -     if let S { x: 0, y } | S { y, x: 1 } = (S { x: 0, y: 1 }) {}
+LL +     if let S { x: 0 | 1, y } = (S { x: 0, y: 1 }) {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns.rs:48:12
@@ -184,8 +200,9 @@ LL |     if let [1] | [53] = [0] {}
    |
 help: nest the patterns
    |
-LL |     if let [1 | 53] = [0] {}
-   |            ~~~~~~~~
+LL -     if let [1] | [53] = [0] {}
+LL +     if let [1 | 53] = [0] {}
+   |
 
 error: aborting due to 17 previous errors
 
diff --git a/src/tools/clippy/tests/ui/unnested_or_patterns2.stderr b/src/tools/clippy/tests/ui/unnested_or_patterns2.stderr
index 54f03937508..3d8968551b9 100644
--- a/src/tools/clippy/tests/ui/unnested_or_patterns2.stderr
+++ b/src/tools/clippy/tests/ui/unnested_or_patterns2.stderr
@@ -8,8 +8,9 @@ LL |     if let Some(Some(0)) | Some(Some(1)) = None {}
    = help: to override `-D warnings` add `#[allow(clippy::unnested_or_patterns)]`
 help: nest the patterns
    |
-LL |     if let Some(Some(0 | 1)) = None {}
-   |            ~~~~~~~~~~~~~~~~~
+LL -     if let Some(Some(0)) | Some(Some(1)) = None {}
+LL +     if let Some(Some(0 | 1)) = None {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns2.rs:13:12
@@ -19,8 +20,9 @@ LL |     if let Some(Some(0)) | Some(Some(1) | Some(2)) = None {}
    |
 help: nest the patterns
    |
-LL |     if let Some(Some(0 | 1 | 2)) = None {}
-   |            ~~~~~~~~~~~~~~~~~~~~~
+LL -     if let Some(Some(0)) | Some(Some(1) | Some(2)) = None {}
+LL +     if let Some(Some(0 | 1 | 2)) = None {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns2.rs:14:12
@@ -30,8 +32,9 @@ LL |     if let Some(Some(0 | 1) | Some(2)) | Some(Some(3) | Some(4)) = None {}
    |
 help: nest the patterns
    |
-LL |     if let Some(Some(0 | 1 | 2 | 3 | 4)) = None {}
-   |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     if let Some(Some(0 | 1) | Some(2)) | Some(Some(3) | Some(4)) = None {}
+LL +     if let Some(Some(0 | 1 | 2 | 3 | 4)) = None {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns2.rs:15:12
@@ -41,8 +44,9 @@ LL |     if let Some(Some(0) | Some(1 | 2)) = None {}
    |
 help: nest the patterns
    |
-LL |     if let Some(Some(0 | 1 | 2)) = None {}
-   |            ~~~~~~~~~~~~~~~~~~~~~
+LL -     if let Some(Some(0) | Some(1 | 2)) = None {}
+LL +     if let Some(Some(0 | 1 | 2)) = None {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns2.rs:16:12
@@ -52,8 +56,9 @@ LL |     if let ((0,),) | ((1,) | (2,),) = ((0,),) {}
    |
 help: nest the patterns
    |
-LL |     if let ((0 | 1 | 2,),) = ((0,),) {}
-   |            ~~~~~~~~~~~~~~~
+LL -     if let ((0,),) | ((1,) | (2,),) = ((0,),) {}
+LL +     if let ((0 | 1 | 2,),) = ((0,),) {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns2.rs:17:12
@@ -63,8 +68,9 @@ LL |     if let 0 | (1 | 2) = 0 {}
    |
 help: nest the patterns
    |
-LL |     if let 0 | 1 | 2 = 0 {}
-   |            ~~~~~~~~~
+LL -     if let 0 | (1 | 2) = 0 {}
+LL +     if let 0 | 1 | 2 = 0 {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns2.rs:18:12
@@ -74,8 +80,9 @@ LL |     if let box (0 | 1) | (box 2 | box (3 | 4)) = Box::new(0) {}
    |
 help: nest the patterns
    |
-LL |     if let box (0 | 1 | 2 | 3 | 4) = Box::new(0) {}
-   |            ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     if let box (0 | 1) | (box 2 | box (3 | 4)) = Box::new(0) {}
+LL +     if let box (0 | 1 | 2 | 3 | 4) = Box::new(0) {}
+   |
 
 error: unnested or-patterns
   --> tests/ui/unnested_or_patterns2.rs:19:12
@@ -85,8 +92,9 @@ LL |     if let box box 0 | box (box 2 | box 4) = Box::new(Box::new(0)) {}
    |
 help: nest the patterns
    |
-LL |     if let box box (0 | 2 | 4) = Box::new(Box::new(0)) {}
-   |            ~~~~~~~~~~~~~~~~~~~
+LL -     if let box box 0 | box (box 2 | box 4) = Box::new(Box::new(0)) {}
+LL +     if let box box (0 | 2 | 4) = Box::new(Box::new(0)) {}
+   |
 
 error: aborting due to 8 previous errors
 
diff --git a/src/tools/clippy/tests/ui/unused_enumerate_index.stderr b/src/tools/clippy/tests/ui/unused_enumerate_index.stderr
index 6ec07dcbff0..02d65f06430 100644
--- a/src/tools/clippy/tests/ui/unused_enumerate_index.stderr
+++ b/src/tools/clippy/tests/ui/unused_enumerate_index.stderr
@@ -8,8 +8,9 @@ LL |     for (_, x) in v.iter().enumerate() {
    = help: to override `-D warnings` add `#[allow(clippy::unused_enumerate_index)]`
 help: remove the `.enumerate()` call
    |
-LL |     for x in v.iter() {
-   |         ~    ~~~~~~~~
+LL -     for (_, x) in v.iter().enumerate() {
+LL +     for x in v.iter() {
+   |
 
 error: you seem to use `.enumerate()` and immediately discard the index
   --> tests/ui/unused_enumerate_index.rs:59:19
@@ -19,8 +20,9 @@ LL |     for (_, x) in dummy.enumerate() {
    |
 help: remove the `.enumerate()` call
    |
-LL |     for x in dummy {
-   |         ~    ~~~~~
+LL -     for (_, x) in dummy.enumerate() {
+LL +     for x in dummy {
+   |
 
 error: you seem to use `.enumerate()` and immediately discard the index
   --> tests/ui/unused_enumerate_index.rs:63:39
diff --git a/src/tools/clippy/tests/ui/unused_format_specs.stderr b/src/tools/clippy/tests/ui/unused_format_specs.stderr
index df61d59130e..d3c0530ced4 100644
--- a/src/tools/clippy/tests/ui/unused_format_specs.stderr
+++ b/src/tools/clippy/tests/ui/unused_format_specs.stderr
@@ -8,8 +8,9 @@ LL |     println!("{:5}.", format_args!(""));
    = help: to override `-D warnings` add `#[allow(clippy::unused_format_specs)]`
 help: for the width to apply consider using `format!()`
    |
-LL |     println!("{:5}.", format!(""));
-   |                       ~~~~~~
+LL -     println!("{:5}.", format_args!(""));
+LL +     println!("{:5}.", format!(""));
+   |
 help: if the current behavior is intentional, remove the format specifiers
    |
 LL -     println!("{:5}.", format_args!(""));
@@ -24,8 +25,9 @@ LL |     println!("{:.3}", format_args!("abcde"));
    |
 help: for the precision to apply consider using `format!()`
    |
-LL |     println!("{:.3}", format!("abcde"));
-   |                       ~~~~~~
+LL -     println!("{:.3}", format_args!("abcde"));
+LL +     println!("{:.3}", format!("abcde"));
+   |
 help: if the current behavior is intentional, remove the format specifiers
    |
 LL -     println!("{:.3}", format_args!("abcde"));
@@ -66,8 +68,9 @@ LL |     usr_println!(true, "{:5}.", format_args!(""));
    |
 help: for the width to apply consider using `format!()`
    |
-LL |     usr_println!(true, "{:5}.", format!(""));
-   |                                 ~~~~~~
+LL -     usr_println!(true, "{:5}.", format_args!(""));
+LL +     usr_println!(true, "{:5}.", format!(""));
+   |
 help: if the current behavior is intentional, remove the format specifiers
    |
 LL -     usr_println!(true, "{:5}.", format_args!(""));
@@ -82,8 +85,9 @@ LL |     usr_println!(true, "{:.3}", format_args!("abcde"));
    |
 help: for the precision to apply consider using `format!()`
    |
-LL |     usr_println!(true, "{:.3}", format!("abcde"));
-   |                                 ~~~~~~
+LL -     usr_println!(true, "{:.3}", format_args!("abcde"));
+LL +     usr_println!(true, "{:.3}", format!("abcde"));
+   |
 help: if the current behavior is intentional, remove the format specifiers
    |
 LL -     usr_println!(true, "{:.3}", format_args!("abcde"));
diff --git a/src/tools/clippy/tests/ui/unused_result_ok.stderr b/src/tools/clippy/tests/ui/unused_result_ok.stderr
index 241e0c71261..024aafa6bbb 100644
--- a/src/tools/clippy/tests/ui/unused_result_ok.stderr
+++ b/src/tools/clippy/tests/ui/unused_result_ok.stderr
@@ -8,8 +8,9 @@ LL |     x.parse::<u32>().ok();
    = help: to override `-D warnings` add `#[allow(clippy::unused_result_ok)]`
 help: consider using `let _ =` and removing the call to `.ok()` instead
    |
-LL |     let _ = x.parse::<u32>();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     x.parse::<u32>().ok();
+LL +     let _ = x.parse::<u32>();
+   |
 
 error: ignoring a result with `.ok()` is misleading
   --> tests/ui/unused_result_ok.rs:18:5
@@ -19,8 +20,9 @@ LL |     x   .   parse::<i32>()   .   ok   ();
    |
 help: consider using `let _ =` and removing the call to `.ok()` instead
    |
-LL |     let _ = x   .   parse::<i32>();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     x   .   parse::<i32>()   .   ok   ();
+LL +     let _ = x   .   parse::<i32>();
+   |
 
 error: ignoring a result with `.ok()` is misleading
   --> tests/ui/unused_result_ok.rs:34:5
@@ -30,8 +32,9 @@ LL |     v!().ok();
    |
 help: consider using `let _ =` and removing the call to `.ok()` instead
    |
-LL |     let _ = v!();
-   |     ~~~~~~~~~~~~
+LL -     v!().ok();
+LL +     let _ = v!();
+   |
 
 error: ignoring a result with `.ok()` is misleading
   --> tests/ui/unused_result_ok.rs:29:9
@@ -45,8 +48,9 @@ LL |     w!();
    = note: this error originates in the macro `w` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: consider using `let _ =` and removing the call to `.ok()` instead
    |
-LL |         let _ = Ok::<(), ()>(());
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -         Ok::<(), ()>(()).ok();
+LL +         let _ = Ok::<(), ()>(());
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/rustdoc-ui/intra-doc/disambiguator-mismatch.stderr b/tests/rustdoc-ui/intra-doc/disambiguator-mismatch.stderr
index ef7fec77b1e..3bba27e593c 100644
--- a/tests/rustdoc-ui/intra-doc/disambiguator-mismatch.stderr
+++ b/tests/rustdoc-ui/intra-doc/disambiguator-mismatch.stderr
@@ -11,8 +11,9 @@ LL | #![deny(rustdoc::broken_intra_doc_links)]
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: to link to the enum, prefix with `enum@`
    |
-LL | /// Link to [enum@S]
-   |              ~~~~~
+LL - /// Link to [struct@S]
+LL + /// Link to [enum@S]
+   |
 
 error: incompatible link kind for `S`
   --> $DIR/disambiguator-mismatch.rs:27:14
@@ -22,8 +23,9 @@ LL | /// Link to [mod@S]
    |
 help: to link to the enum, prefix with `enum@`
    |
-LL | /// Link to [enum@S]
-   |              ~~~~~
+LL - /// Link to [mod@S]
+LL + /// Link to [enum@S]
+   |
 
 error: incompatible link kind for `S`
   --> $DIR/disambiguator-mismatch.rs:32:14
@@ -33,8 +35,9 @@ LL | /// Link to [union@S]
    |
 help: to link to the enum, prefix with `enum@`
    |
-LL | /// Link to [enum@S]
-   |              ~~~~~
+LL - /// Link to [union@S]
+LL + /// Link to [enum@S]
+   |
 
 error: incompatible link kind for `S`
   --> $DIR/disambiguator-mismatch.rs:37:14
@@ -44,8 +47,9 @@ LL | /// Link to [trait@S]
    |
 help: to link to the enum, prefix with `enum@`
    |
-LL | /// Link to [enum@S]
-   |              ~~~~~
+LL - /// Link to [trait@S]
+LL + /// Link to [enum@S]
+   |
 
 error: incompatible link kind for `T`
   --> $DIR/disambiguator-mismatch.rs:42:14
@@ -55,8 +59,9 @@ LL | /// Link to [struct@T]
    |
 help: to link to the trait, prefix with `trait@`
    |
-LL | /// Link to [trait@T]
-   |              ~~~~~~
+LL - /// Link to [struct@T]
+LL + /// Link to [trait@T]
+   |
 
 error: incompatible link kind for `m`
   --> $DIR/disambiguator-mismatch.rs:47:14
@@ -89,8 +94,9 @@ LL | /// Link to [const@s]
    |
 help: to link to the static, prefix with `static@`
    |
-LL | /// Link to [static@s]
-   |              ~~~~~~~
+LL - /// Link to [const@s]
+LL + /// Link to [static@s]
+   |
 
 error: incompatible link kind for `c`
   --> $DIR/disambiguator-mismatch.rs:63:14
@@ -100,8 +106,9 @@ LL | /// Link to [static@c]
    |
 help: to link to the constant, prefix with `const@`
    |
-LL | /// Link to [const@c]
-   |              ~~~~~~
+LL - /// Link to [static@c]
+LL + /// Link to [const@c]
+   |
 
 error: incompatible link kind for `c`
   --> $DIR/disambiguator-mismatch.rs:68:14
@@ -111,8 +118,9 @@ LL | /// Link to [fn@c]
    |
 help: to link to the constant, prefix with `const@`
    |
-LL | /// Link to [const@c]
-   |              ~~~~~~
+LL - /// Link to [fn@c]
+LL + /// Link to [const@c]
+   |
 
 error: incompatible link kind for `c`
   --> $DIR/disambiguator-mismatch.rs:73:14
@@ -146,8 +154,9 @@ LL | /// Link to [fn@std]
    |
 help: to link to the crate, prefix with `mod@`
    |
-LL | /// Link to [mod@std]
-   |              ~~~~
+LL - /// Link to [fn@std]
+LL + /// Link to [mod@std]
+   |
 
 error: incompatible link kind for `X::y`
   --> $DIR/disambiguator-mismatch.rs:88:14
@@ -157,8 +166,9 @@ LL | /// Link to [method@X::y]
    |
 help: to link to the field, prefix with `field@`
    |
-LL | /// Link to [field@X::y]
-   |              ~~~~~~
+LL - /// Link to [method@X::y]
+LL + /// Link to [field@X::y]
+   |
 
 error: unresolved link to `S::A`
   --> $DIR/disambiguator-mismatch.rs:93:14
@@ -168,8 +178,9 @@ LL | /// Link to [field@S::A]
    |
 help: to link to the variant, prefix with `variant@`
    |
-LL | /// Link to [variant@S::A]
-   |              ~~~~~~~~
+LL - /// Link to [field@S::A]
+LL + /// Link to [variant@S::A]
+   |
 
 error: aborting due to 15 previous errors
 
diff --git a/tests/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.stderr b/tests/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.stderr
index b952517022b..2818b6b4bba 100644
--- a/tests/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.stderr
+++ b/tests/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.stderr
@@ -11,8 +11,9 @@ LL | #![deny(rustdoc::broken_intra_doc_links)]
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: to link to the associated constant, prefix with `const@`
    |
-LL | //! [const@u8::MIN]
-   |      ~~~~~~
+LL - //! [static@u8::MIN]
+LL + //! [const@u8::MIN]
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/rustdoc-ui/intra-doc/prim-conflict.stderr b/tests/rustdoc-ui/intra-doc/prim-conflict.stderr
index 03ce8f15f0a..c50f6bb9b87 100644
--- a/tests/rustdoc-ui/intra-doc/prim-conflict.stderr
+++ b/tests/rustdoc-ui/intra-doc/prim-conflict.stderr
@@ -26,12 +26,14 @@ LL | /// [type@char]
    |
 help: to link to the module, prefix with `mod@`
    |
-LL | /// [mod@char]
-   |      ~~~~
+LL - /// [type@char]
+LL + /// [mod@char]
+   |
 help: to link to the primitive type, prefix with `prim@`
    |
-LL | /// [prim@char]
-   |      ~~~~~
+LL - /// [type@char]
+LL + /// [prim@char]
+   |
 
 error: incompatible link kind for `char`
   --> $DIR/prim-conflict.rs:19:6
@@ -41,8 +43,9 @@ LL | /// [struct@char]
    |
 help: to link to the module, prefix with `mod@`
    |
-LL | /// [mod@char]
-   |      ~~~~
+LL - /// [struct@char]
+LL + /// [mod@char]
+   |
 
 error: incompatible link kind for `char`
   --> $DIR/prim-conflict.rs:26:10
@@ -52,8 +55,9 @@ LL |     //! [struct@char]
    |
 help: to link to the primitive type, prefix with `prim@`
    |
-LL |     //! [prim@char]
-   |          ~~~~~
+LL -     //! [struct@char]
+LL +     //! [prim@char]
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/rustdoc-ui/intra-doc/value-ctor.stderr b/tests/rustdoc-ui/intra-doc/value-ctor.stderr
index 8d2a6649f4c..cfc2bb67396 100644
--- a/tests/rustdoc-ui/intra-doc/value-ctor.stderr
+++ b/tests/rustdoc-ui/intra-doc/value-ctor.stderr
@@ -11,8 +11,9 @@ LL | #![deny(rustdoc::broken_intra_doc_links)]
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: to link to the variant, prefix with `variant@`
    |
-LL | /// [variant@Foo::X]
-   |      ~~~~~~~~
+LL - /// [value@Foo::X]
+LL + /// [variant@Foo::X]
+   |
 
 error: unresolved link to `MyStruct`
   --> $DIR/value-ctor.rs:10:11
@@ -22,8 +23,9 @@ LL | /// [tst][value@MyStruct]
    |
 help: to link to the struct, prefix with `struct@`
    |
-LL | /// [tst][struct@MyStruct]
-   |           ~~~~~~~
+LL - /// [tst][value@MyStruct]
+LL + /// [tst][struct@MyStruct]
+   |
 
 error: unresolved link to `Internals`
   --> $DIR/value-ctor.rs:20:15
@@ -33,8 +35,9 @@ LL | /// while [b][value@Internals] fails.
    |
 help: to link to the struct, prefix with `struct@`
    |
-LL | /// while [b][struct@Internals] fails.
-   |               ~~~~~~~
+LL - /// while [b][value@Internals] fails.
+LL + /// while [b][struct@Internals] fails.
+   |
 
 error: incompatible link kind for `Internals`
   --> $DIR/value-ctor.rs:22:15
@@ -44,8 +47,9 @@ LL | /// while [d][variant@Internals] fails.
    |
 help: to link to the struct, prefix with `struct@`
    |
-LL | /// while [d][struct@Internals] fails.
-   |               ~~~~~~~
+LL - /// while [d][variant@Internals] fails.
+LL + /// while [d][struct@Internals] fails.
+   |
 
 error: unresolved link to `Internals2`
   --> $DIR/value-ctor.rs:34:15
@@ -55,8 +59,9 @@ LL | /// while [b][value@Internals2] fails.
    |
 help: to link to the enum, prefix with `enum@`
    |
-LL | /// while [b][enum@Internals2] fails.
-   |               ~~~~~
+LL - /// while [b][value@Internals2] fails.
+LL + /// while [b][enum@Internals2] fails.
+   |
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/rustdoc-ui/intra-doc/weird-syntax.stderr b/tests/rustdoc-ui/intra-doc/weird-syntax.stderr
index 17bcbc783fd..1381c1b31eb 100644
--- a/tests/rustdoc-ui/intra-doc/weird-syntax.stderr
+++ b/tests/rustdoc-ui/intra-doc/weird-syntax.stderr
@@ -11,8 +11,9 @@ LL | #![deny(rustdoc::broken_intra_doc_links)]
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: to link to the trait, prefix with `trait@`
    |
-LL | /// [`trait@Clone`]
-   |       ~~~~~~
+LL - /// [`struct@Clone`]
+LL + /// [`trait@Clone`]
+   |
 
 error: incompatible link kind for `Clone`
   --> $DIR/weird-syntax.rs:21:9
@@ -22,8 +23,9 @@ LL | /// [```struct@Clone```]
    |
 help: to link to the trait, prefix with `trait@`
    |
-LL | /// [```trait@Clone```]
-   |         ~~~~~~
+LL - /// [```struct@Clone```]
+LL + /// [```trait@Clone```]
+   |
 
 error: incompatible link kind for `Clone`
   --> $DIR/weird-syntax.rs:24:11
@@ -33,8 +35,9 @@ LL | /// [  `  struct@Clone  `  ]
    |
 help: to link to the trait, prefix with `trait@`
    |
-LL | /// [  `  trait@Clone  `  ]
-   |           ~~~~~~
+LL - /// [  `  struct@Clone  `  ]
+LL + /// [  `  trait@Clone  `  ]
+   |
 
 error: unresolved link to `Clone`
   --> $DIR/weird-syntax.rs:27:9
@@ -104,8 +107,9 @@ LL | /// [x][ struct@Clone]
    |
 help: to link to the trait, prefix with `trait@`
    |
-LL | /// [x][ trait@Clone]
-   |          ~~~~~~
+LL - /// [x][ struct@Clone]
+LL + /// [x][ trait@Clone]
+   |
 
 error: incompatible link kind for `Clone`
   --> $DIR/weird-syntax.rs:65:9
@@ -115,8 +119,9 @@ LL | /// [x][struct@Clone ]
    |
 help: to link to the trait, prefix with `trait@`
    |
-LL | /// [x][trait@Clone ]
-   |         ~~~~~~
+LL - /// [x][struct@Clone ]
+LL + /// [x][trait@Clone ]
+   |
 
 error: unresolved link to `Clone`
   --> $DIR/weird-syntax.rs:74:9
@@ -158,8 +163,9 @@ LL | /// [w]( struct@Clone)
    |
 help: to link to the trait, prefix with `trait@`
    |
-LL | /// [w]( trait@Clone)
-   |          ~~~~~~
+LL - /// [w]( struct@Clone)
+LL + /// [w]( trait@Clone)
+   |
 
 error: incompatible link kind for `Clone`
   --> $DIR/weird-syntax.rs:94:9
@@ -169,8 +175,9 @@ LL | /// [w](struct@Clone )
    |
 help: to link to the trait, prefix with `trait@`
    |
-LL | /// [w](trait@Clone )
-   |         ~~~~~~
+LL - /// [w](struct@Clone )
+LL + /// [w](trait@Clone )
+   |
 
 error: unresolved link to `Clone`
   --> $DIR/weird-syntax.rs:97:9
diff --git a/tests/rustdoc-ui/issues/ice-generic-type-alias-105742.stderr b/tests/rustdoc-ui/issues/ice-generic-type-alias-105742.stderr
index 1e52b699820..e4a84655486 100644
--- a/tests/rustdoc-ui/issues/ice-generic-type-alias-105742.stderr
+++ b/tests/rustdoc-ui/issues/ice-generic-type-alias-105742.stderr
@@ -319,8 +319,9 @@ LL | |  > {
    | |__^ ...because it uses `Self` as a type parameter
 help: consider using an opaque type instead
    |
-LL | pub fn next<'a, T>(s: &'a mut impl SVec<Item = T, Output = T>) {
-   |                               ~~~~
+LL - pub fn next<'a, T>(s: &'a mut dyn SVec<Item = T, Output = T>) {
+LL + pub fn next<'a, T>(s: &'a mut impl SVec<Item = T, Output = T>) {
+   |
 
 error[E0107]: missing generics for associated type `SVec::Item`
   --> $DIR/ice-generic-type-alias-105742.rs:16:21
diff --git a/tests/rustdoc-ui/issues/ice-typeof-102986.stderr b/tests/rustdoc-ui/issues/ice-typeof-102986.stderr
index 20dbb2661bc..02e257a9163 100644
--- a/tests/rustdoc-ui/issues/ice-typeof-102986.stderr
+++ b/tests/rustdoc-ui/issues/ice-typeof-102986.stderr
@@ -6,8 +6,9 @@ LL |     y: (typeof("hey"),),
    |
 help: consider replacing `typeof(...)` with an actual type
    |
-LL |     y: (&str,),
-   |         ~~~~
+LL -     y: (typeof("hey"),),
+LL +     y: (&str,),
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/rustdoc-ui/issues/issue-120444-1.stderr b/tests/rustdoc-ui/issues/issue-120444-1.stderr
index 7bc56b4263f..aabdc91df2b 100644
--- a/tests/rustdoc-ui/issues/issue-120444-1.stderr
+++ b/tests/rustdoc-ui/issues/issue-120444-1.stderr
@@ -15,8 +15,9 @@ LL | #![deny(rustdoc::redundant_explicit_links)]
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: remove explicit link target
    |
-LL | /// [`Vfs`]
-   |     ~~~~~~~
+LL - /// [`Vfs`][crate::Vfs]
+LL + /// [`Vfs`]
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/rustdoc-ui/issues/issue-120444-2.stderr b/tests/rustdoc-ui/issues/issue-120444-2.stderr
index 310bf08e2b5..ee160736b4d 100644
--- a/tests/rustdoc-ui/issues/issue-120444-2.stderr
+++ b/tests/rustdoc-ui/issues/issue-120444-2.stderr
@@ -15,8 +15,9 @@ LL | #![deny(rustdoc::redundant_explicit_links)]
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: remove explicit link target
    |
-LL | /// [`Vfs`]
-   |     ~~~~~~~
+LL - /// [`Vfs`][crate::Vfs]
+LL + /// [`Vfs`]
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/rustdoc-ui/lints/redundant_explicit_links.stderr b/tests/rustdoc-ui/lints/redundant_explicit_links.stderr
index 34ec9be6646..f90c41af9f1 100644
--- a/tests/rustdoc-ui/lints/redundant_explicit_links.stderr
+++ b/tests/rustdoc-ui/lints/redundant_explicit_links.stderr
@@ -15,8 +15,9 @@ LL | #![deny(rustdoc::redundant_explicit_links)]
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: remove explicit link target
    |
-LL | /// [dummy_target]
-   |     ~~~~~~~~~~~~~~
+LL - /// [dummy_target](dummy_target)
+LL + /// [dummy_target]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:9:22
@@ -30,8 +31,9 @@ LL | /// [`dummy_target`](dummy_target)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`dummy_target`]
-   |     ~~~~~~~~~~~~~~~~
+LL - /// [`dummy_target`](dummy_target)
+LL + /// [`dummy_target`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:12:11
@@ -45,8 +47,9 @@ LL | /// [Vec](Vec)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [Vec]
-   |     ~~~~~
+LL - /// [Vec](Vec)
+LL + /// [Vec]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:14:13
@@ -60,8 +63,9 @@ LL | /// [`Vec`](Vec)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`Vec`]
-   |     ~~~~~~~
+LL - /// [`Vec`](Vec)
+LL + /// [`Vec`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:16:11
@@ -75,8 +79,9 @@ LL | /// [Vec](std::vec::Vec)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [Vec]
-   |     ~~~~~
+LL - /// [Vec](std::vec::Vec)
+LL + /// [Vec]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:18:13
@@ -90,8 +95,9 @@ LL | /// [`Vec`](std::vec::Vec)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`Vec`]
-   |     ~~~~~~~
+LL - /// [`Vec`](std::vec::Vec)
+LL + /// [`Vec`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:20:21
@@ -105,8 +111,9 @@ LL | /// [std::vec::Vec](Vec)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [std::vec::Vec]
-   |     ~~~~~~~~~~~~~~~
+LL - /// [std::vec::Vec](Vec)
+LL + /// [std::vec::Vec]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:22:23
@@ -120,8 +127,9 @@ LL | /// [`std::vec::Vec`](Vec)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`std::vec::Vec`]
-   |     ~~~~~~~~~~~~~~~~~
+LL - /// [`std::vec::Vec`](Vec)
+LL + /// [`std::vec::Vec`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:24:21
@@ -135,8 +143,9 @@ LL | /// [std::vec::Vec](std::vec::Vec)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [std::vec::Vec]
-   |     ~~~~~~~~~~~~~~~
+LL - /// [std::vec::Vec](std::vec::Vec)
+LL + /// [std::vec::Vec]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:26:23
@@ -150,8 +159,9 @@ LL | /// [`std::vec::Vec`](std::vec::Vec)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`std::vec::Vec`]
-   |     ~~~~~~~~~~~~~~~~~
+LL - /// [`std::vec::Vec`](std::vec::Vec)
+LL + /// [`std::vec::Vec`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:29:13
@@ -165,8 +175,9 @@ LL | /// [usize](usize)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [usize]
-   |     ~~~~~~~
+LL - /// [usize](usize)
+LL + /// [usize]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:31:15
@@ -180,8 +191,9 @@ LL | /// [`usize`](usize)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`usize`]
-   |     ~~~~~~~~~
+LL - /// [`usize`](usize)
+LL + /// [`usize`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:33:13
@@ -195,8 +207,9 @@ LL | /// [usize](std::primitive::usize)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [usize]
-   |     ~~~~~~~
+LL - /// [usize](std::primitive::usize)
+LL + /// [usize]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:35:15
@@ -210,8 +223,9 @@ LL | /// [`usize`](std::primitive::usize)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`usize`]
-   |     ~~~~~~~~~
+LL - /// [`usize`](std::primitive::usize)
+LL + /// [`usize`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:37:29
@@ -225,8 +239,9 @@ LL | /// [std::primitive::usize](usize)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [std::primitive::usize]
-   |     ~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// [std::primitive::usize](usize)
+LL + /// [std::primitive::usize]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:39:31
@@ -240,8 +255,9 @@ LL | /// [`std::primitive::usize`](usize)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`std::primitive::usize`]
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// [`std::primitive::usize`](usize)
+LL + /// [`std::primitive::usize`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:41:29
@@ -255,8 +271,9 @@ LL | /// [std::primitive::usize](std::primitive::usize)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [std::primitive::usize]
-   |     ~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// [std::primitive::usize](std::primitive::usize)
+LL + /// [std::primitive::usize]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:43:31
@@ -270,8 +287,9 @@ LL | /// [`std::primitive::usize`](std::primitive::usize)
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`std::primitive::usize`]
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// [`std::primitive::usize`](std::primitive::usize)
+LL + /// [`std::primitive::usize`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:46:20
@@ -285,8 +303,9 @@ LL | /// [dummy_target](dummy_target) TEXT
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [dummy_target] TEXT
-   |     ~~~~~~~~~~~~~~
+LL - /// [dummy_target](dummy_target) TEXT
+LL + /// [dummy_target] TEXT
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:48:22
@@ -300,8 +319,9 @@ LL | /// [`dummy_target`](dummy_target) TEXT
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`dummy_target`] TEXT
-   |     ~~~~~~~~~~~~~~~~
+LL - /// [`dummy_target`](dummy_target) TEXT
+LL + /// [`dummy_target`] TEXT
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:56:20
@@ -315,8 +335,9 @@ LL | /// [dummy_target][dummy_target]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [dummy_target]
-   |     ~~~~~~~~~~~~~~
+LL - /// [dummy_target][dummy_target]
+LL + /// [dummy_target]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:58:22
@@ -330,8 +351,9 @@ LL | /// [`dummy_target`][dummy_target]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`dummy_target`]
-   |     ~~~~~~~~~~~~~~~~
+LL - /// [`dummy_target`][dummy_target]
+LL + /// [`dummy_target`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:61:11
@@ -345,8 +367,9 @@ LL | /// [Vec][Vec]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [Vec]
-   |     ~~~~~
+LL - /// [Vec][Vec]
+LL + /// [Vec]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:63:13
@@ -360,8 +383,9 @@ LL | /// [`Vec`][Vec]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`Vec`]
-   |     ~~~~~~~
+LL - /// [`Vec`][Vec]
+LL + /// [`Vec`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:65:11
@@ -375,8 +399,9 @@ LL | /// [Vec][std::vec::Vec]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [Vec]
-   |     ~~~~~
+LL - /// [Vec][std::vec::Vec]
+LL + /// [Vec]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:67:13
@@ -390,8 +415,9 @@ LL | /// [`Vec`][std::vec::Vec]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`Vec`]
-   |     ~~~~~~~
+LL - /// [`Vec`][std::vec::Vec]
+LL + /// [`Vec`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:69:21
@@ -405,8 +431,9 @@ LL | /// [std::vec::Vec][Vec]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [std::vec::Vec]
-   |     ~~~~~~~~~~~~~~~
+LL - /// [std::vec::Vec][Vec]
+LL + /// [std::vec::Vec]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:71:23
@@ -420,8 +447,9 @@ LL | /// [`std::vec::Vec`][Vec]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`std::vec::Vec`]
-   |     ~~~~~~~~~~~~~~~~~
+LL - /// [`std::vec::Vec`][Vec]
+LL + /// [`std::vec::Vec`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:73:21
@@ -435,8 +463,9 @@ LL | /// [std::vec::Vec][std::vec::Vec]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [std::vec::Vec]
-   |     ~~~~~~~~~~~~~~~
+LL - /// [std::vec::Vec][std::vec::Vec]
+LL + /// [std::vec::Vec]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:75:23
@@ -450,8 +479,9 @@ LL | /// [`std::vec::Vec`][std::vec::Vec]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`std::vec::Vec`]
-   |     ~~~~~~~~~~~~~~~~~
+LL - /// [`std::vec::Vec`][std::vec::Vec]
+LL + /// [`std::vec::Vec`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:78:13
@@ -465,8 +495,9 @@ LL | /// [usize][usize]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [usize]
-   |     ~~~~~~~
+LL - /// [usize][usize]
+LL + /// [usize]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:80:15
@@ -480,8 +511,9 @@ LL | /// [`usize`][usize]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`usize`]
-   |     ~~~~~~~~~
+LL - /// [`usize`][usize]
+LL + /// [`usize`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:82:13
@@ -495,8 +527,9 @@ LL | /// [usize][std::primitive::usize]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [usize]
-   |     ~~~~~~~
+LL - /// [usize][std::primitive::usize]
+LL + /// [usize]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:84:15
@@ -510,8 +543,9 @@ LL | /// [`usize`][std::primitive::usize]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`usize`]
-   |     ~~~~~~~~~
+LL - /// [`usize`][std::primitive::usize]
+LL + /// [`usize`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:86:29
@@ -525,8 +559,9 @@ LL | /// [std::primitive::usize][usize]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [std::primitive::usize]
-   |     ~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// [std::primitive::usize][usize]
+LL + /// [std::primitive::usize]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:88:31
@@ -540,8 +575,9 @@ LL | /// [`std::primitive::usize`][usize]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`std::primitive::usize`]
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// [`std::primitive::usize`][usize]
+LL + /// [`std::primitive::usize`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:90:29
@@ -555,8 +591,9 @@ LL | /// [std::primitive::usize][std::primitive::usize]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [std::primitive::usize]
-   |     ~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// [std::primitive::usize][std::primitive::usize]
+LL + /// [std::primitive::usize]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:92:31
@@ -570,8 +607,9 @@ LL | /// [`std::primitive::usize`][std::primitive::usize]
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`std::primitive::usize`]
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// [`std::primitive::usize`][std::primitive::usize]
+LL + /// [`std::primitive::usize`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:95:20
@@ -585,8 +623,9 @@ LL | /// [dummy_target][dummy_target] TEXT
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [dummy_target] TEXT
-   |     ~~~~~~~~~~~~~~
+LL - /// [dummy_target][dummy_target] TEXT
+LL + /// [dummy_target] TEXT
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:97:22
@@ -600,8 +639,9 @@ LL | /// [`dummy_target`][dummy_target] TEXT
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`dummy_target`] TEXT
-   |     ~~~~~~~~~~~~~~~~
+LL - /// [`dummy_target`][dummy_target] TEXT
+LL + /// [`dummy_target`] TEXT
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:105:20
@@ -620,8 +660,9 @@ LL | /// [dummy_target]: dummy_target
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [dummy_target]
-   |     ~~~~~~~~~~~~~~
+LL - /// [dummy_target][dummy_target]
+LL + /// [dummy_target]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:107:22
@@ -640,8 +681,9 @@ LL | /// [dummy_target]: dummy_target
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`dummy_target`]
-   |     ~~~~~~~~~~~~~~~~
+LL - /// [`dummy_target`][dummy_target]
+LL + /// [`dummy_target`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:110:11
@@ -660,8 +702,9 @@ LL | /// [Vec]: Vec
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [Vec]
-   |     ~~~~~
+LL - /// [Vec][Vec]
+LL + /// [Vec]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:112:13
@@ -680,8 +723,9 @@ LL | /// [Vec]: Vec
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`Vec`]
-   |     ~~~~~~~
+LL - /// [`Vec`][Vec]
+LL + /// [`Vec`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:114:11
@@ -700,8 +744,9 @@ LL | /// [std::vec::Vec]: Vec
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [Vec]
-   |     ~~~~~
+LL - /// [Vec][std::vec::Vec]
+LL + /// [Vec]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:116:13
@@ -720,8 +765,9 @@ LL | /// [std::vec::Vec]: Vec
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`Vec`]
-   |     ~~~~~~~
+LL - /// [`Vec`][std::vec::Vec]
+LL + /// [`Vec`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:118:21
@@ -740,8 +786,9 @@ LL | /// [Vec]: Vec
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [std::vec::Vec]
-   |     ~~~~~~~~~~~~~~~
+LL - /// [std::vec::Vec][Vec]
+LL + /// [std::vec::Vec]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:120:23
@@ -760,8 +807,9 @@ LL | /// [Vec]: Vec
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`std::vec::Vec`]
-   |     ~~~~~~~~~~~~~~~~~
+LL - /// [`std::vec::Vec`][Vec]
+LL + /// [`std::vec::Vec`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:122:21
@@ -780,8 +828,9 @@ LL | /// [std::vec::Vec]: Vec
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [std::vec::Vec]
-   |     ~~~~~~~~~~~~~~~
+LL - /// [std::vec::Vec][std::vec::Vec]
+LL + /// [std::vec::Vec]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:124:23
@@ -800,8 +849,9 @@ LL | /// [std::vec::Vec]: Vec
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`std::vec::Vec`]
-   |     ~~~~~~~~~~~~~~~~~
+LL - /// [`std::vec::Vec`][std::vec::Vec]
+LL + /// [`std::vec::Vec`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:127:13
@@ -820,8 +870,9 @@ LL | /// [usize]: usize
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [usize]
-   |     ~~~~~~~
+LL - /// [usize][usize]
+LL + /// [usize]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:129:15
@@ -840,8 +891,9 @@ LL | /// [usize]: usize
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`usize`]
-   |     ~~~~~~~~~
+LL - /// [`usize`][usize]
+LL + /// [`usize`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:131:13
@@ -860,8 +912,9 @@ LL | /// [std::primitive::usize]: usize
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [usize]
-   |     ~~~~~~~
+LL - /// [usize][std::primitive::usize]
+LL + /// [usize]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:133:15
@@ -880,8 +933,9 @@ LL | /// [std::primitive::usize]: usize
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`usize`]
-   |     ~~~~~~~~~
+LL - /// [`usize`][std::primitive::usize]
+LL + /// [`usize`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:135:29
@@ -900,8 +954,9 @@ LL | /// [usize]: usize
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [std::primitive::usize]
-   |     ~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// [std::primitive::usize][usize]
+LL + /// [std::primitive::usize]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:137:31
@@ -920,8 +975,9 @@ LL | /// [usize]: usize
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`std::primitive::usize`]
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// [`std::primitive::usize`][usize]
+LL + /// [`std::primitive::usize`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:139:29
@@ -940,8 +996,9 @@ LL | /// [std::primitive::usize]: usize
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [std::primitive::usize]
-   |     ~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// [std::primitive::usize][std::primitive::usize]
+LL + /// [std::primitive::usize]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:141:31
@@ -960,8 +1017,9 @@ LL | /// [std::primitive::usize]: usize
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`std::primitive::usize`]
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - /// [`std::primitive::usize`][std::primitive::usize]
+LL + /// [`std::primitive::usize`]
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:144:20
@@ -980,8 +1038,9 @@ LL | /// [dummy_target]: dummy_target
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [dummy_target] TEXT
-   |     ~~~~~~~~~~~~~~
+LL - /// [dummy_target][dummy_target] TEXT
+LL + /// [dummy_target] TEXT
+   |
 
 error: redundant explicit link target
   --> $DIR/redundant_explicit_links.rs:146:22
@@ -1000,8 +1059,9 @@ LL | /// [dummy_target]: dummy_target
            the label is used to resolve intra-doc links
 help: remove explicit link target
    |
-LL | /// [`dummy_target`] TEXT
-   |     ~~~~~~~~~~~~~~~~
+LL - /// [`dummy_target`][dummy_target] TEXT
+LL + /// [`dummy_target`] TEXT
+   |
 
 error: aborting due to 60 previous errors
 
diff --git a/tests/ui/anon-params/anon-params-denied-2018.stderr b/tests/ui/anon-params/anon-params-denied-2018.stderr
index 2d6356ffcb1..0c38987ca6f 100644
--- a/tests/ui/anon-params/anon-params-denied-2018.stderr
+++ b/tests/ui/anon-params/anon-params-denied-2018.stderr
@@ -31,8 +31,9 @@ LL |     fn foo_with_ref(self: &mut i32);
    |                     +++++
 help: if this is a parameter name, give it a type
    |
-LL |     fn foo_with_ref(i32: &mut TypeName);
-   |                     ~~~~~~~~~~~~~~~~~~
+LL -     fn foo_with_ref(&mut i32);
+LL +     fn foo_with_ref(i32: &mut TypeName);
+   |
 help: if this is a type, explicitly ignore the parameter name
    |
 LL |     fn foo_with_ref(_: &mut i32);
diff --git a/tests/ui/argument-suggestions/basic.stderr b/tests/ui/argument-suggestions/basic.stderr
index 83f0f630fe8..9a639d4b5e4 100644
--- a/tests/ui/argument-suggestions/basic.stderr
+++ b/tests/ui/argument-suggestions/basic.stderr
@@ -42,8 +42,9 @@ LL | fn missing(_i: u32) {}
    |    ^^^^^^^ -------
 help: provide the argument
    |
-LL |     missing(/* u32 */);
-   |            ~~~~~~~~~~~
+LL -     missing();
+LL +     missing(/* u32 */);
+   |
 
 error[E0308]: arguments to this function are incorrect
   --> $DIR/basic.rs:23:5
@@ -60,8 +61,9 @@ LL | fn swapped(_i: u32, _s: &str) {}
    |    ^^^^^^^
 help: swap these arguments
    |
-LL |     swapped(1, "");
-   |            ~~~~~~~
+LL -     swapped("", 1);
+LL +     swapped(1, "");
+   |
 
 error[E0308]: arguments to this function are incorrect
   --> $DIR/basic.rs:24:5
@@ -79,8 +81,9 @@ LL | fn permuted(_x: X, _y: Y, _z: Z) {}
    |    ^^^^^^^^
 help: reorder these arguments
    |
-LL |     permuted(X {}, Y {}, Z {});
-   |             ~~~~~~~~~~~~~~~~~~
+LL -     permuted(Y {}, Z {}, X {});
+LL +     permuted(X {}, Y {}, Z {});
+   |
 
 error[E0057]: this function takes 1 argument but 0 arguments were supplied
   --> $DIR/basic.rs:27:5
@@ -95,8 +98,9 @@ LL |     let closure = |x| x;
    |                   ^^^
 help: provide the argument
    |
-LL |     closure(/* x */);
-   |            ~~~~~~~~~
+LL -     closure();
+LL +     closure(/* x */);
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/argument-suggestions/complex.stderr b/tests/ui/argument-suggestions/complex.stderr
index 20c7c2fd7a5..be8838f17d7 100644
--- a/tests/ui/argument-suggestions/complex.stderr
+++ b/tests/ui/argument-suggestions/complex.stderr
@@ -11,8 +11,9 @@ LL | fn complex(_i: u32, _s: &str, _e: E, _f: F, _g: G, _x: X, _y: Y, _z: Z ) {}
    |    ^^^^^^^ -------            -----
 help: did you mean
    |
-LL |   complex(/* u32 */, &"", /* E */, F::X2, G{}, X {}, Y {}, Z {});
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -   complex(1.0, H {}, &"", G{}, F::X2, Z {}, X {}, Y {});
+LL +   complex(/* u32 */, &"", /* E */, F::X2, G{}, X {}, Y {}, Z {});
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/argument-suggestions/display-is-suggestable.stderr b/tests/ui/argument-suggestions/display-is-suggestable.stderr
index eea88c3e78d..bb5df1ec234 100644
--- a/tests/ui/argument-suggestions/display-is-suggestable.stderr
+++ b/tests/ui/argument-suggestions/display-is-suggestable.stderr
@@ -11,8 +11,9 @@ LL | fn foo(x: &(dyn Display + Send)) {}
    |    ^^^ ------------------------
 help: provide the argument
    |
-LL |     foo(/* &dyn std::fmt::Display + Send */);
-   |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     foo();
+LL +     foo(/* &dyn std::fmt::Display + Send */);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/argument-suggestions/extern-fn-arg-names.stderr b/tests/ui/argument-suggestions/extern-fn-arg-names.stderr
index 2aa4983624c..62670316cd1 100644
--- a/tests/ui/argument-suggestions/extern-fn-arg-names.stderr
+++ b/tests/ui/argument-suggestions/extern-fn-arg-names.stderr
@@ -17,8 +17,9 @@ LL |     fn dstfn(src: i32, dst: err);
    |        ^^^^^           ---
 help: provide the argument
    |
-LL |     dstfn(1, /* dst */);
-   |          ~~~~~~~~~~~~~~
+LL -     dstfn(1);
+LL +     dstfn(1, /* dst */);
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/argument-suggestions/issue-100478.stderr b/tests/ui/argument-suggestions/issue-100478.stderr
index 6299571d998..8889a0ab5df 100644
--- a/tests/ui/argument-suggestions/issue-100478.stderr
+++ b/tests/ui/argument-suggestions/issue-100478.stderr
@@ -14,8 +14,9 @@ LL | fn three_diff(_a: T1, _b: T2, _c: T3) {}
    |    ^^^^^^^^^^ ------          ------
 help: provide the arguments
    |
-LL |     three_diff(/* T1 */, T2::new(0), /* T3 */);
-   |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     three_diff(T2::new(0));
+LL +     three_diff(/* T1 */, T2::new(0), /* T3 */);
+   |
 
 error[E0308]: arguments to this function are incorrect
   --> $DIR/issue-100478.rs:35:5
@@ -34,8 +35,9 @@ LL | fn four_shuffle(_a: T1, _b: T2, _c: T3, _d: T4) {}
    |    ^^^^^^^^^^^^
 help: did you mean
    |
-LL |     four_shuffle(T1::default(), T2::default(), T3::default(), T4::default());
-   |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     four_shuffle(T3::default(), T4::default(), T1::default(), T2::default());
+LL +     four_shuffle(T1::default(), T2::default(), T3::default(), T4::default());
+   |
 
 error[E0308]: arguments to this function are incorrect
   --> $DIR/issue-100478.rs:36:5
@@ -53,8 +55,9 @@ LL | fn four_shuffle(_a: T1, _b: T2, _c: T3, _d: T4) {}
    |    ^^^^^^^^^^^^                         ------
 help: swap these arguments
    |
-LL |     four_shuffle(T1::default(), T2::default(), T3::default(), /* T4 */);
-   |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     four_shuffle(T3::default(), T2::default(), T1::default(), T3::default());
+LL +     four_shuffle(T1::default(), T2::default(), T3::default(), /* T4 */);
+   |
 
 error[E0061]: this function takes 8 arguments but 7 arguments were supplied
   --> $DIR/issue-100478.rs:47:5
@@ -72,8 +75,13 @@ LL | fn foo(p1: T1, p2: Arc<T2>, p3: T3, p4: Arc<T4>, p5: T5, p6: T6, p7: T7, p8
    |    ^^^         -----------
 help: provide the argument
    |
-LL |     foo(p1, /* Arc<T2> */, p3, p4, p5, p6, p7, p8);
-   |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     foo(
+LL -
+LL -         p1, //p2,
+LL -         p3, p4, p5, p6, p7, p8,
+LL -     );
+LL +     foo(p1, /* Arc<T2> */, p3, p4, p5, p6, p7, p8);
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/argument-suggestions/issue-101097.stderr b/tests/ui/argument-suggestions/issue-101097.stderr
index 45aa2dba5d5..25770e36aa3 100644
--- a/tests/ui/argument-suggestions/issue-101097.stderr
+++ b/tests/ui/argument-suggestions/issue-101097.stderr
@@ -15,8 +15,9 @@ LL | fn f(
    |    ^
 help: did you mean
    |
-LL |     f(A, A, B, B, C, C);
-   |      ~~~~~~~~~~~~~~~~~~
+LL -     f(C, A, A, A, B, B, C);
+LL +     f(A, A, B, B, C, C);
+   |
 
 error[E0308]: arguments to this function are incorrect
   --> $DIR/issue-101097.rs:17:5
@@ -31,8 +32,9 @@ LL | fn f(
    |    ^
 help: did you mean
    |
-LL |     f(A, A, B, B, C, C);
-   |      ~~~~~~~~~~~~~~~~~~
+LL -     f(C, C, A, A, B, B);
+LL +     f(A, A, B, B, C, C);
+   |
 
 error[E0308]: arguments to this function are incorrect
   --> $DIR/issue-101097.rs:18:5
@@ -55,8 +57,9 @@ LL |     c2: C,
    |     -----
 help: did you mean
    |
-LL |     f(A, A, B, B, /* C */, /* C */);
-   |      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     f(A, A, D, D, B, B);
+LL +     f(A, A, B, B, /* C */, /* C */);
+   |
 
 error[E0308]: arguments to this function are incorrect
   --> $DIR/issue-101097.rs:19:5
@@ -75,8 +78,9 @@ LL | fn f(
    |    ^
 help: did you mean
    |
-LL |     f(A, A, B, B, C, C);
-   |      ~~~~~~~~~~~~~~~~~~
+LL -     f(C, C, B, B, A, A);
+LL +     f(A, A, B, B, C, C);
+   |
 
 error[E0308]: arguments to this function are incorrect
   --> $DIR/issue-101097.rs:20:5
@@ -99,8 +103,9 @@ LL |     b1: B,
    |     -----
 help: did you mean
    |
-LL |     f(A, A, /* B */, B, C, C);
-   |      ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     f(C, C, A, B, A, A);
+LL +     f(A, A, /* B */, B, C, C);
+   |
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/ui/argument-suggestions/issue-109831.stderr b/tests/ui/argument-suggestions/issue-109831.stderr
index cee87223866..1a3a597175d 100644
--- a/tests/ui/argument-suggestions/issue-109831.stderr
+++ b/tests/ui/argument-suggestions/issue-109831.stderr
@@ -9,8 +9,9 @@ LL | fn f(b1: B, b2: B, a2: C) {}
    |
 help: a struct with a similar name exists
    |
-LL | fn f(b1: B, b2: B, a2: A) {}
-   |                        ~
+LL - fn f(b1: B, b2: B, a2: C) {}
+LL + fn f(b1: B, b2: B, a2: A) {}
+   |
 help: you might be missing a type parameter
    |
 LL | fn f<C>(b1: B, b2: B, a2: C) {}
diff --git a/tests/ui/argument-suggestions/issue-96638.stderr b/tests/ui/argument-suggestions/issue-96638.stderr
index 509b2a157de..288a6853d05 100644
--- a/tests/ui/argument-suggestions/issue-96638.stderr
+++ b/tests/ui/argument-suggestions/issue-96638.stderr
@@ -13,8 +13,9 @@ LL | fn f(_: usize, _: &usize, _: usize) {}
    |    ^ --------             --------
 help: provide the argument
    |
-LL |     f(/* usize */, &x, /* usize */);
-   |      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     f(&x, "");
+LL +     f(/* usize */, &x, /* usize */);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/argument-suggestions/issue-97197.stderr b/tests/ui/argument-suggestions/issue-97197.stderr
index 1cf19fc1bc8..acaf4f15107 100644
--- a/tests/ui/argument-suggestions/issue-97197.stderr
+++ b/tests/ui/argument-suggestions/issue-97197.stderr
@@ -11,8 +11,9 @@ LL | pub fn g(a1: (), a2: bool, a3: bool, a4: bool, a5: bool, a6: ()) -> () {}
    |        ^         --------  --------  --------  --------
 help: provide the arguments
    |
-LL |     g((), /* bool */, /* bool */, /* bool */, /* bool */, ());
-   |      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     g((), ());
+LL +     g((), /* bool */, /* bool */, /* bool */, /* bool */, ());
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/argument-suggestions/issue-98894.stderr b/tests/ui/argument-suggestions/issue-98894.stderr
index 93e604c3101..44353cb3338 100644
--- a/tests/ui/argument-suggestions/issue-98894.stderr
+++ b/tests/ui/argument-suggestions/issue-98894.stderr
@@ -11,8 +11,9 @@ LL |     (|_, ()| ())(if true {} else {return;});
    |      ^^^^^^^
 help: provide the argument
    |
-LL |     (|_, ()| ())(if true {} else {return;}, ());
-   |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     (|_, ()| ())(if true {} else {return;});
+LL +     (|_, ()| ())(if true {} else {return;}, ());
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/argument-suggestions/issue-98897.stderr b/tests/ui/argument-suggestions/issue-98897.stderr
index 671e3d99d85..fd3ef467b1c 100644
--- a/tests/ui/argument-suggestions/issue-98897.stderr
+++ b/tests/ui/argument-suggestions/issue-98897.stderr
@@ -11,8 +11,9 @@ LL |     (|_, ()| ())([return, ()]);
    |      ^^^^^^^
 help: provide the argument
    |
-LL |     (|_, ()| ())([return, ()], ());
-   |                 ~~~~~~~~~~~~~~~~~~
+LL -     (|_, ()| ())([return, ()]);
+LL +     (|_, ()| ())([return, ()], ());
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/argument-suggestions/issue-99482.stderr b/tests/ui/argument-suggestions/issue-99482.stderr
index be407874615..b3c39604a99 100644
--- a/tests/ui/argument-suggestions/issue-99482.stderr
+++ b/tests/ui/argument-suggestions/issue-99482.stderr
@@ -11,8 +11,9 @@ LL |     let f = |_: (), f: fn()| f;
    |             ^^^^^^^^^^^^^^^^
 help: provide the argument
    |
-LL |     let _f = f((), main);
-   |               ~~~~~~~~~~
+LL -     let _f = f(main);
+LL +     let _f = f((), main);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/argument-suggestions/missing_arguments.stderr b/tests/ui/argument-suggestions/missing_arguments.stderr
index fc219b9ce2c..264c485cbe1 100644
--- a/tests/ui/argument-suggestions/missing_arguments.stderr
+++ b/tests/ui/argument-suggestions/missing_arguments.stderr
@@ -11,8 +11,9 @@ LL | fn one_arg(_a: i32) {}
    |    ^^^^^^^ -------
 help: provide the argument
    |
-LL |   one_arg(/* i32 */);
-   |          ~~~~~~~~~~~
+LL -   one_arg();
+LL +   one_arg(/* i32 */);
+   |
 
 error[E0061]: this function takes 2 arguments but 0 arguments were supplied
   --> $DIR/missing_arguments.rs:14:3
@@ -27,8 +28,9 @@ LL | fn two_same(_a: i32, _b: i32) {}
    |    ^^^^^^^^ -------  -------
 help: provide the arguments
    |
-LL |   two_same(/* i32 */, /* i32 */);
-   |           ~~~~~~~~~~~~~~~~~~~~~~
+LL -   two_same(               );
+LL +   two_same(/* i32 */, /* i32 */);
+   |
 
 error[E0061]: this function takes 2 arguments but 1 argument was supplied
   --> $DIR/missing_arguments.rs:15:3
@@ -43,8 +45,9 @@ LL | fn two_same(_a: i32, _b: i32) {}
    |    ^^^^^^^^          -------
 help: provide the argument
    |
-LL |   two_same(1, /* i32 */);
-   |           ~~~~~~~~~~~~~~
+LL -   two_same(   1           );
+LL +   two_same(1, /* i32 */);
+   |
 
 error[E0061]: this function takes 2 arguments but 0 arguments were supplied
   --> $DIR/missing_arguments.rs:16:3
@@ -59,8 +62,9 @@ LL | fn two_diff(_a: i32, _b: f32) {}
    |    ^^^^^^^^ -------  -------
 help: provide the arguments
    |
-LL |   two_diff(/* i32 */, /* f32 */);
-   |           ~~~~~~~~~~~~~~~~~~~~~~
+LL -   two_diff(               );
+LL +   two_diff(/* i32 */, /* f32 */);
+   |
 
 error[E0061]: this function takes 2 arguments but 1 argument was supplied
   --> $DIR/missing_arguments.rs:17:3
@@ -75,8 +79,9 @@ LL | fn two_diff(_a: i32, _b: f32) {}
    |    ^^^^^^^^          -------
 help: provide the argument
    |
-LL |   two_diff(1, /* f32 */);
-   |           ~~~~~~~~~~~~~~
+LL -   two_diff(   1           );
+LL +   two_diff(1, /* f32 */);
+   |
 
 error[E0061]: this function takes 2 arguments but 1 argument was supplied
   --> $DIR/missing_arguments.rs:18:3
@@ -91,8 +96,9 @@ LL | fn two_diff(_a: i32, _b: f32) {}
    |    ^^^^^^^^ -------
 help: provide the argument
    |
-LL |   two_diff(/* i32 */, 1.0);
-   |           ~~~~~~~~~~~~~~~~
+LL -   two_diff(          1.0  );
+LL +   two_diff(/* i32 */, 1.0);
+   |
 
 error[E0061]: this function takes 3 arguments but 0 arguments were supplied
   --> $DIR/missing_arguments.rs:21:3
@@ -107,8 +113,9 @@ LL | fn three_same(_a: i32, _b: i32, _c: i32) {}
    |    ^^^^^^^^^^ -------  -------  -------
 help: provide the arguments
    |
-LL |   three_same(/* i32 */, /* i32 */, /* i32 */);
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -   three_same(                       );
+LL +   three_same(/* i32 */, /* i32 */, /* i32 */);
+   |
 
 error[E0061]: this function takes 3 arguments but 1 argument was supplied
   --> $DIR/missing_arguments.rs:22:3
@@ -123,8 +130,9 @@ LL | fn three_same(_a: i32, _b: i32, _c: i32) {}
    |    ^^^^^^^^^^          -------  -------
 help: provide the arguments
    |
-LL |   three_same(1, /* i32 */, /* i32 */);
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -   three_same(   1                   );
+LL +   three_same(1, /* i32 */, /* i32 */);
+   |
 
 error[E0061]: this function takes 3 arguments but 2 arguments were supplied
   --> $DIR/missing_arguments.rs:23:3
@@ -139,8 +147,9 @@ LL | fn three_same(_a: i32, _b: i32, _c: i32) {}
    |    ^^^^^^^^^^                   -------
 help: provide the argument
    |
-LL |   three_same(1, 1, /* i32 */);
-   |             ~~~~~~~~~~~~~~~~~
+LL -   three_same(   1,      1           );
+LL +   three_same(1, 1, /* i32 */);
+   |
 
 error[E0061]: this function takes 3 arguments but 2 arguments were supplied
   --> $DIR/missing_arguments.rs:26:3
@@ -155,8 +164,9 @@ LL | fn three_diff(_a: i32, _b: f32, _c: &str) {}
    |    ^^^^^^^^^^ -------
 help: provide the argument
    |
-LL |   three_diff(/* i32 */, 1.0, "");
-   |             ~~~~~~~~~~~~~~~~~~~~
+LL -   three_diff(          1.0,     ""  );
+LL +   three_diff(/* i32 */, 1.0, "");
+   |
 
 error[E0061]: this function takes 3 arguments but 2 arguments were supplied
   --> $DIR/missing_arguments.rs:27:3
@@ -171,8 +181,9 @@ LL | fn three_diff(_a: i32, _b: f32, _c: &str) {}
    |    ^^^^^^^^^^          -------
 help: provide the argument
    |
-LL |   three_diff(1, /* f32 */, "");
-   |             ~~~~~~~~~~~~~~~~~~
+LL -   three_diff(   1,              ""  );
+LL +   three_diff(1, /* f32 */, "");
+   |
 
 error[E0061]: this function takes 3 arguments but 2 arguments were supplied
   --> $DIR/missing_arguments.rs:28:3
@@ -187,8 +198,9 @@ LL | fn three_diff(_a: i32, _b: f32, _c: &str) {}
    |    ^^^^^^^^^^                   --------
 help: provide the argument
    |
-LL |   three_diff(1, 1.0, /* &str */);
-   |             ~~~~~~~~~~~~~~~~~~~~
+LL -   three_diff(   1,     1.0          );
+LL +   three_diff(1, 1.0, /* &str */);
+   |
 
 error[E0061]: this function takes 3 arguments but 1 argument was supplied
   --> $DIR/missing_arguments.rs:29:3
@@ -203,8 +215,9 @@ LL | fn three_diff(_a: i32, _b: f32, _c: &str) {}
    |    ^^^^^^^^^^ -------  -------
 help: provide the arguments
    |
-LL |   three_diff(/* i32 */, /* f32 */, "");
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -   three_diff(                   ""  );
+LL +   three_diff(/* i32 */, /* f32 */, "");
+   |
 
 error[E0061]: this function takes 3 arguments but 1 argument was supplied
   --> $DIR/missing_arguments.rs:30:3
@@ -222,8 +235,9 @@ LL | fn three_diff(_a: i32, _b: f32, _c: &str) {}
    |    ^^^^^^^^^^ -------           --------
 help: provide the arguments
    |
-LL |   three_diff(/* i32 */, 1.0, /* &str */);
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -   three_diff(          1.0          );
+LL +   three_diff(/* i32 */, 1.0, /* &str */);
+   |
 
 error[E0061]: this function takes 3 arguments but 1 argument was supplied
   --> $DIR/missing_arguments.rs:31:3
@@ -238,8 +252,9 @@ LL | fn three_diff(_a: i32, _b: f32, _c: &str) {}
    |    ^^^^^^^^^^          -------  --------
 help: provide the arguments
    |
-LL |   three_diff(1, /* f32 */, /* &str */);
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -   three_diff(   1                   );
+LL +   three_diff(1, /* f32 */, /* &str */);
+   |
 
 error[E0061]: this function takes 4 arguments but 0 arguments were supplied
   --> $DIR/missing_arguments.rs:34:3
@@ -254,8 +269,9 @@ LL | fn four_repeated(_a: i32, _b: f32, _c: f32, _d: &str) {}
    |    ^^^^^^^^^^^^^ -------  -------  -------  --------
 help: provide the arguments
    |
-LL |   four_repeated(/* i32 */, /* f32 */, /* f32 */, /* &str */);
-   |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -   four_repeated(                               );
+LL +   four_repeated(/* i32 */, /* f32 */, /* f32 */, /* &str */);
+   |
 
 error[E0061]: this function takes 4 arguments but 2 arguments were supplied
   --> $DIR/missing_arguments.rs:35:3
@@ -270,8 +286,9 @@ LL | fn four_repeated(_a: i32, _b: f32, _c: f32, _d: &str) {}
    |    ^^^^^^^^^^^^^          -------  -------
 help: provide the arguments
    |
-LL |   four_repeated(1, /* f32 */, /* f32 */, "");
-   |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -   four_repeated(   1,                     ""   );
+LL +   four_repeated(1, /* f32 */, /* f32 */, "");
+   |
 
 error[E0061]: this function takes 5 arguments but 0 arguments were supplied
   --> $DIR/missing_arguments.rs:38:3
@@ -286,8 +303,9 @@ LL | fn complex(_a: i32, _b: f32, _c: i32, _d: f32, _e: &str) {}
    |    ^^^^^^^ -------  -------  -------  -------  --------
 help: provide the arguments
    |
-LL |   complex(/* i32 */, /* f32 */, /* i32 */, /* f32 */, /* &str */);
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -   complex(                               );
+LL +   complex(/* i32 */, /* f32 */, /* i32 */, /* f32 */, /* &str */);
+   |
 
 error[E0061]: this function takes 5 arguments but 2 arguments were supplied
   --> $DIR/missing_arguments.rs:39:3
@@ -302,8 +320,9 @@ LL | fn complex(_a: i32, _b: f32, _c: i32, _d: f32, _e: &str) {}
    |    ^^^^^^^          -------  -------  -------
 help: provide the arguments
    |
-LL |   complex(1, /* f32 */, /* i32 */, /* f32 */, "");
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -   complex(   1,                     ""   );
+LL +   complex(1, /* f32 */, /* i32 */, /* f32 */, "");
+   |
 
 error: aborting due to 19 previous errors
 
diff --git a/tests/ui/argument-suggestions/mixed_cases.stderr b/tests/ui/argument-suggestions/mixed_cases.stderr
index c19cd68c771..0dcb4337eb1 100644
--- a/tests/ui/argument-suggestions/mixed_cases.stderr
+++ b/tests/ui/argument-suggestions/mixed_cases.stderr
@@ -33,8 +33,9 @@ LL | fn three_args(_a: i32, _b: f32, _c: &str) {}
    |    ^^^^^^^^^^          -------
 help: did you mean
    |
-LL |   three_args(1, /* f32 */, "");
-   |             ~~~~~~~~~~~~~~~~~~
+LL -   three_args(1, "", X {}, "");
+LL +   three_args(1, /* f32 */, "");
+   |
 
 error[E0061]: this function takes 3 arguments but 2 arguments were supplied
   --> $DIR/mixed_cases.rs:14:3
@@ -52,8 +53,9 @@ LL | fn three_args(_a: i32, _b: f32, _c: &str) {}
    |    ^^^^^^^^^^          -------  --------
 help: provide the argument
    |
-LL |   three_args(1, /* f32 */, /* &str */);
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -   three_args(1, X {});
+LL +   three_args(1, /* f32 */, /* &str */);
+   |
 
 error[E0308]: arguments to this function are incorrect
   --> $DIR/mixed_cases.rs:17:3
@@ -70,8 +72,9 @@ LL | fn three_args(_a: i32, _b: f32, _c: &str) {}
    |    ^^^^^^^^^^          -------
 help: did you mean
    |
-LL |   three_args(1, /* f32 */, "");
-   |             ~~~~~~~~~~~~~~~~~~
+LL -   three_args(1, "", X {});
+LL +   three_args(1, /* f32 */, "");
+   |
 
 error[E0308]: arguments to this function are incorrect
   --> $DIR/mixed_cases.rs:20:3
@@ -89,8 +92,9 @@ LL | fn three_args(_a: i32, _b: f32, _c: &str) {}
    |    ^^^^^^^^^^          -------
 help: swap these arguments
    |
-LL |   three_args(1, /* f32 */, "");
-   |             ~~~~~~~~~~~~~~~~~~
+LL -   three_args("", X {}, 1);
+LL +   three_args(1, /* f32 */, "");
+   |
 
 error[E0061]: this function takes 3 arguments but 2 arguments were supplied
   --> $DIR/mixed_cases.rs:23:3
@@ -109,8 +113,9 @@ LL | fn three_args(_a: i32, _b: f32, _c: &str) {}
    |    ^^^^^^^^^^          -------
 help: did you mean
    |
-LL |   three_args(1, /* f32 */, "");
-   |             ~~~~~~~~~~~~~~~~~~
+LL -   three_args("", 1);
+LL +   three_args(1, /* f32 */, "");
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/argument-suggestions/permuted_arguments.stderr b/tests/ui/argument-suggestions/permuted_arguments.stderr
index f6bec520984..9592fc2801c 100644
--- a/tests/ui/argument-suggestions/permuted_arguments.stderr
+++ b/tests/ui/argument-suggestions/permuted_arguments.stderr
@@ -14,8 +14,9 @@ LL | fn three_args(_a: i32, _b: f32, _c: &str) {}
    |    ^^^^^^^^^^
 help: reorder these arguments
    |
-LL |   three_args(1, 1.0, "");
-   |             ~~~~~~~~~~~~
+LL -   three_args(1.0, "", 1);
+LL +   three_args(1, 1.0, "");
+   |
 
 error[E0308]: arguments to this function are incorrect
   --> $DIR/permuted_arguments.rs:12:3
@@ -35,8 +36,9 @@ LL | fn many_args(_a: i32, _b: f32, _c: &str, _d: X, _e: Y) {}
    |    ^^^^^^^^^
 help: reorder these arguments
    |
-LL |   many_args(1, 1.0, "", X {}, Y {});
-   |            ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -   many_args(X {}, Y {}, 1, 1.0, "");
+LL +   many_args(1, 1.0, "", X {}, Y {});
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/argument-suggestions/swapped_arguments.stderr b/tests/ui/argument-suggestions/swapped_arguments.stderr
index 22db77b3b93..f72659363ac 100644
--- a/tests/ui/argument-suggestions/swapped_arguments.stderr
+++ b/tests/ui/argument-suggestions/swapped_arguments.stderr
@@ -13,8 +13,9 @@ LL | fn two_args(_a: i32, _b: f32) {}
    |    ^^^^^^^^
 help: swap these arguments
    |
-LL |   two_args(1, 1.0);
-   |           ~~~~~~~~
+LL -   two_args(1.0, 1);
+LL +   two_args(1, 1.0);
+   |
 
 error[E0308]: arguments to this function are incorrect
   --> $DIR/swapped_arguments.rs:9:3
@@ -31,8 +32,9 @@ LL | fn three_args(_a: i32, _b: f32, _c: &str) {}
    |    ^^^^^^^^^^
 help: swap these arguments
    |
-LL |   three_args(1, 1.0, "");
-   |             ~~~~~~~~~~~~
+LL -   three_args(1.0,   1,  "");
+LL +   three_args(1, 1.0, "");
+   |
 
 error[E0308]: arguments to this function are incorrect
   --> $DIR/swapped_arguments.rs:10:3
@@ -49,8 +51,9 @@ LL | fn three_args(_a: i32, _b: f32, _c: &str) {}
    |    ^^^^^^^^^^
 help: swap these arguments
    |
-LL |   three_args(1, 1.0, "");
-   |             ~~~~~~~~~~~~
+LL -   three_args(  1,  "", 1.0);
+LL +   three_args(1, 1.0, "");
+   |
 
 error[E0308]: arguments to this function are incorrect
   --> $DIR/swapped_arguments.rs:11:3
@@ -67,8 +70,9 @@ LL | fn three_args(_a: i32, _b: f32, _c: &str) {}
    |    ^^^^^^^^^^
 help: swap these arguments
    |
-LL |   three_args(1, 1.0, "");
-   |             ~~~~~~~~~~~~
+LL -   three_args( "", 1.0,   1);
+LL +   three_args(1, 1.0, "");
+   |
 
 error[E0308]: arguments to this function are incorrect
   --> $DIR/swapped_arguments.rs:13:3
@@ -87,8 +91,9 @@ LL | fn four_args(_a: i32, _b: f32, _c: &str, _d: X) {}
    |    ^^^^^^^^^
 help: did you mean
    |
-LL |   four_args(1, 1.0, "", X {});
-   |            ~~~~~~~~~~~~~~~~~~
+LL -   four_args(1.0, 1, X {}, "");
+LL +   four_args(1, 1.0, "", X {});
+   |
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/ui/array-slice-vec/suggest-array-length.stderr b/tests/ui/array-slice-vec/suggest-array-length.stderr
index b71be306780..14d10832e36 100644
--- a/tests/ui/array-slice-vec/suggest-array-length.stderr
+++ b/tests/ui/array-slice-vec/suggest-array-length.stderr
@@ -6,8 +6,9 @@ LL |     const Foo: [i32; _] = [1, 2, 3];
    |
 help: replace this with a fully-specified type
    |
-LL |     const Foo: [i32; 3] = [1, 2, 3];
-   |                ~~~~~~~~
+LL -     const Foo: [i32; _] = [1, 2, 3];
+LL +     const Foo: [i32; 3] = [1, 2, 3];
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for constants
   --> $DIR/suggest-array-length.rs:7:26
@@ -17,8 +18,9 @@ LL |     const REF_FOO: &[u8; _] = &[1];
    |
 help: replace this with a fully-specified type
    |
-LL |     const REF_FOO: &[u8; 1] = &[1];
-   |                    ~~~~~~~~
+LL -     const REF_FOO: &[u8; _] = &[1];
+LL +     const REF_FOO: &[u8; 1] = &[1];
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for static variables
   --> $DIR/suggest-array-length.rs:9:26
@@ -28,8 +30,9 @@ LL |     static Statik: [i32; _] = [1, 2, 3];
    |
 help: replace this with a fully-specified type
    |
-LL |     static Statik: [i32; 3] = [1, 2, 3];
-   |                    ~~~~~~~~
+LL -     static Statik: [i32; _] = [1, 2, 3];
+LL +     static Statik: [i32; 3] = [1, 2, 3];
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for static variables
   --> $DIR/suggest-array-length.rs:11:30
@@ -39,8 +42,9 @@ LL |     static REF_STATIK: &[u8; _] = &[1];
    |
 help: replace this with a fully-specified type
    |
-LL |     static REF_STATIK: &[u8; 1] = &[1];
-   |                        ~~~~~~~~
+LL -     static REF_STATIK: &[u8; _] = &[1];
+LL +     static REF_STATIK: &[u8; 1] = &[1];
+   |
 
 error[E0658]: using `_` for array lengths is unstable
   --> $DIR/suggest-array-length.rs:13:20
diff --git a/tests/ui/asm/aarch64/parse-error.stderr b/tests/ui/asm/aarch64/parse-error.stderr
index 7b273282ee6..b5e1169e5f6 100644
--- a/tests/ui/asm/aarch64/parse-error.stderr
+++ b/tests/ui/asm/aarch64/parse-error.stderr
@@ -330,8 +330,9 @@ LL |         asm!("{}", options(), const foo);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const foo: /* Type */ = 0;
-   |     ~~~~~    ++++++++++++
+LL -     let mut foo = 0;
+LL +     const foo: /* Type */ = 0;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/parse-error.rs:45:44
@@ -341,8 +342,9 @@ LL |         asm!("{}", clobber_abi("C"), const foo);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const foo: /* Type */ = 0;
-   |     ~~~~~    ++++++++++++
+LL -     let mut foo = 0;
+LL +     const foo: /* Type */ = 0;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/parse-error.rs:48:55
@@ -352,8 +354,9 @@ LL |         asm!("{}", options(), clobber_abi("C"), const foo);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const foo: /* Type */ = 0;
-   |     ~~~~~    ++++++++++++
+LL -     let mut foo = 0;
+LL +     const foo: /* Type */ = 0;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/parse-error.rs:50:31
@@ -363,8 +366,9 @@ LL |         asm!("{a}", a = const foo, a = const bar);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const foo: /* Type */ = 0;
-   |     ~~~~~    ++++++++++++
+LL -     let mut foo = 0;
+LL +     const foo: /* Type */ = 0;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/parse-error.rs:50:46
@@ -374,8 +378,9 @@ LL |         asm!("{a}", a = const foo, a = const bar);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const bar: /* Type */ = 0;
-   |     ~~~~~    ++++++++++++
+LL -     let mut bar = 0;
+LL +     const bar: /* Type */ = 0;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/parse-error.rs:57:45
@@ -385,8 +390,9 @@ LL |         asm!("{a}", in("x0") foo, a = const bar);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const bar: /* Type */ = 0;
-   |     ~~~~~    ++++++++++++
+LL -     let mut bar = 0;
+LL +     const bar: /* Type */ = 0;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/parse-error.rs:59:45
@@ -396,8 +402,9 @@ LL |         asm!("{a}", in("x0") foo, a = const bar);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const bar: /* Type */ = 0;
-   |     ~~~~~    ++++++++++++
+LL -     let mut bar = 0;
+LL +     const bar: /* Type */ = 0;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/parse-error.rs:61:41
@@ -407,8 +414,9 @@ LL |         asm!("{1}", in("x0") foo, const bar);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const bar: /* Type */ = 0;
-   |     ~~~~~    ++++++++++++
+LL -     let mut bar = 0;
+LL +     const bar: /* Type */ = 0;
+   |
 
 error: aborting due to 59 previous errors
 
diff --git a/tests/ui/asm/invalid-const-operand.stderr b/tests/ui/asm/invalid-const-operand.stderr
index bda4b0355b7..13bb10e84a5 100644
--- a/tests/ui/asm/invalid-const-operand.stderr
+++ b/tests/ui/asm/invalid-const-operand.stderr
@@ -6,8 +6,9 @@ LL |         asm!("{}", const x);
    |
 help: consider using `const` instead of `let`
    |
-LL |         const x: /* Type */ = 0;
-   |         ~~~~~  ++++++++++++
+LL -         let x = 0;
+LL +         const x: /* Type */ = 0;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/invalid-const-operand.rs:43:36
@@ -17,8 +18,9 @@ LL |         asm!("{}", const const_foo(x));
    |
 help: consider using `const` instead of `let`
    |
-LL |         const x: /* Type */ = 0;
-   |         ~~~~~  ++++++++++++
+LL -         let x = 0;
+LL +         const x: /* Type */ = 0;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/invalid-const-operand.rs:46:36
@@ -28,8 +30,9 @@ LL |         asm!("{}", const const_bar(x));
    |
 help: consider using `const` instead of `let`
    |
-LL |         const x: /* Type */ = 0;
-   |         ~~~~~  ++++++++++++
+LL -         let x = 0;
+LL +         const x: /* Type */ = 0;
+   |
 
 error: invalid type for `const` operand
   --> $DIR/invalid-const-operand.rs:12:19
diff --git a/tests/ui/asm/parse-error.stderr b/tests/ui/asm/parse-error.stderr
index 6d0e629b937..74647372a35 100644
--- a/tests/ui/asm/parse-error.stderr
+++ b/tests/ui/asm/parse-error.stderr
@@ -424,8 +424,9 @@ LL |         asm!("{}", options(), const foo);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const foo: /* Type */ = 0;
-   |     ~~~~~    ++++++++++++
+LL -     let mut foo = 0;
+LL +     const foo: /* Type */ = 0;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/parse-error.rs:69:44
@@ -435,8 +436,9 @@ LL |         asm!("{}", clobber_abi("C"), const foo);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const foo: /* Type */ = 0;
-   |     ~~~~~    ++++++++++++
+LL -     let mut foo = 0;
+LL +     const foo: /* Type */ = 0;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/parse-error.rs:72:55
@@ -446,8 +448,9 @@ LL |         asm!("{}", options(), clobber_abi("C"), const foo);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const foo: /* Type */ = 0;
-   |     ~~~~~    ++++++++++++
+LL -     let mut foo = 0;
+LL +     const foo: /* Type */ = 0;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/parse-error.rs:74:31
@@ -457,8 +460,9 @@ LL |         asm!("{a}", a = const foo, a = const bar);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const foo: /* Type */ = 0;
-   |     ~~~~~    ++++++++++++
+LL -     let mut foo = 0;
+LL +     const foo: /* Type */ = 0;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/parse-error.rs:74:46
@@ -468,8 +472,9 @@ LL |         asm!("{a}", a = const foo, a = const bar);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const bar: /* Type */ = 0;
-   |     ~~~~~    ++++++++++++
+LL -     let mut bar = 0;
+LL +     const bar: /* Type */ = 0;
+   |
 
 error: aborting due to 72 previous errors
 
diff --git a/tests/ui/asm/x86_64/x86_64_parse_error.stderr b/tests/ui/asm/x86_64/x86_64_parse_error.stderr
index b64f6c1127e..dfa3e1d0ef2 100644
--- a/tests/ui/asm/x86_64/x86_64_parse_error.stderr
+++ b/tests/ui/asm/x86_64/x86_64_parse_error.stderr
@@ -20,8 +20,9 @@ LL |         asm!("{a}", in("eax") foo, a = const bar);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const bar: /* Type */ = 0;
-   |     ~~~~~    ++++++++++++
+LL -     let mut bar = 0;
+LL +     const bar: /* Type */ = 0;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/x86_64_parse_error.rs:13:46
@@ -31,8 +32,9 @@ LL |         asm!("{a}", in("eax") foo, a = const bar);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const bar: /* Type */ = 0;
-   |     ~~~~~    ++++++++++++
+LL -     let mut bar = 0;
+LL +     const bar: /* Type */ = 0;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/x86_64_parse_error.rs:15:42
@@ -42,8 +44,9 @@ LL |         asm!("{1}", in("eax") foo, const bar);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const bar: /* Type */ = 0;
-   |     ~~~~~    ++++++++++++
+LL -     let mut bar = 0;
+LL +     const bar: /* Type */ = 0;
+   |
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/ui/associated-consts/associated-const-ambiguity-report.stderr b/tests/ui/associated-consts/associated-const-ambiguity-report.stderr
index 35ee95d1215..e68ba503c50 100644
--- a/tests/ui/associated-consts/associated-const-ambiguity-report.stderr
+++ b/tests/ui/associated-consts/associated-const-ambiguity-report.stderr
@@ -16,10 +16,12 @@ LL |     const ID: i32 = 1;
    |     ^^^^^^^^^^^^^
 help: use fully-qualified syntax to disambiguate
    |
-LL | const X: i32 = <i32 as Bar>::ID;
-   |                ~~~~~~~~~~~~~~
-LL | const X: i32 = <i32 as Foo>::ID;
-   |                ~~~~~~~~~~~~~~
+LL - const X: i32 = <i32>::ID;
+LL + const X: i32 = <i32 as Bar>::ID;
+   |
+LL - const X: i32 = <i32>::ID;
+LL + const X: i32 = <i32 as Foo>::ID;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/associated-inherent-types/dont-select-if-disabled.stderr b/tests/ui/associated-inherent-types/dont-select-if-disabled.stderr
index edf54894cd4..d245659c209 100644
--- a/tests/ui/associated-inherent-types/dont-select-if-disabled.stderr
+++ b/tests/ui/associated-inherent-types/dont-select-if-disabled.stderr
@@ -6,8 +6,9 @@ LL | struct S(S::P);
    |
 help: if there were a trait named `Example` with associated type `P` implemented for `S`, you could use the fully-qualified path
    |
-LL | struct S(<S as Example>::P);
-   |          ~~~~~~~~~~~~~~~~~
+LL - struct S(S::P);
+LL + struct S(<S as Example>::P);
+   |
 
 error[E0658]: inherent associated types are unstable
   --> $DIR/dont-select-if-disabled.rs:15:10
diff --git a/tests/ui/associated-inherent-types/issue-109071.no_gate.stderr b/tests/ui/associated-inherent-types/issue-109071.no_gate.stderr
index 72d3f5c6d4d..d5e8fd69645 100644
--- a/tests/ui/associated-inherent-types/issue-109071.no_gate.stderr
+++ b/tests/ui/associated-inherent-types/issue-109071.no_gate.stderr
@@ -28,10 +28,12 @@ LL |     fn T() -> Option<Self::Item> {}
    |
 help: use fully-qualified syntax
    |
-LL |     fn T() -> Option<<Windows<T> as IntoAsyncIterator>::Item> {}
-   |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-LL |     fn T() -> Option<<Windows<T> as IntoIterator>::Item> {}
-   |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     fn T() -> Option<Self::Item> {}
+LL +     fn T() -> Option<<Windows<T> as IntoAsyncIterator>::Item> {}
+   |
+LL -     fn T() -> Option<Self::Item> {}
+LL +     fn T() -> Option<<Windows<T> as IntoIterator>::Item> {}
+   |
 
 error[E0658]: inherent associated types are unstable
   --> $DIR/issue-109071.rs:8:5
diff --git a/tests/ui/associated-inherent-types/issue-109768.stderr b/tests/ui/associated-inherent-types/issue-109768.stderr
index e71551f9e73..18455f4669e 100644
--- a/tests/ui/associated-inherent-types/issue-109768.stderr
+++ b/tests/ui/associated-inherent-types/issue-109768.stderr
@@ -43,8 +43,9 @@ LL | struct Wrapper<T>(T);
    |        ^^^^^^^
 help: provide the argument
    |
-LL |     const WRAPPED_ASSOC_3: Wrapper<Self::AssocType3> = Wrapper(/* value */);
-   |                                                               ~~~~~~~~~~~~~
+LL -     const WRAPPED_ASSOC_3: Wrapper<Self::AssocType3> = Wrapper();
+LL +     const WRAPPED_ASSOC_3: Wrapper<Self::AssocType3> = Wrapper(/* value */);
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/associated-item/associated-item-enum.stderr b/tests/ui/associated-item/associated-item-enum.stderr
index 3b00588f1d1..49f168b8544 100644
--- a/tests/ui/associated-item/associated-item-enum.stderr
+++ b/tests/ui/associated-item/associated-item-enum.stderr
@@ -9,8 +9,9 @@ LL |     Enum::mispellable();
    |
 help: there is an associated function `misspellable` with a similar name
    |
-LL |     Enum::misspellable();
-   |           ~~~~~~~~~~~~
+LL -     Enum::mispellable();
+LL +     Enum::misspellable();
+   |
 
 error[E0599]: no variant or associated item named `mispellable_trait` found for enum `Enum` in the current scope
   --> $DIR/associated-item-enum.rs:18:11
@@ -23,8 +24,9 @@ LL |     Enum::mispellable_trait();
    |
 help: there is an associated function `misspellable_trait` with a similar name
    |
-LL |     Enum::misspellable_trait();
-   |           ~~~~~~~~~~~~~~~~~~
+LL -     Enum::mispellable_trait();
+LL +     Enum::misspellable_trait();
+   |
 
 error[E0599]: no variant or associated item named `MISPELLABLE` found for enum `Enum` in the current scope
   --> $DIR/associated-item-enum.rs:19:11
@@ -37,8 +39,9 @@ LL |     Enum::MISPELLABLE;
    |
 help: there is an associated constant `MISSPELLABLE` with a similar name
    |
-LL |     Enum::MISSPELLABLE;
-   |           ~~~~~~~~~~~~
+LL -     Enum::MISPELLABLE;
+LL +     Enum::MISSPELLABLE;
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/associated-type-bounds/assoc-type-eq-with-dyn-atb-fail.stderr b/tests/ui/associated-type-bounds/assoc-type-eq-with-dyn-atb-fail.stderr
index b1575abe571..d5795e7ed7d 100644
--- a/tests/ui/associated-type-bounds/assoc-type-eq-with-dyn-atb-fail.stderr
+++ b/tests/ui/associated-type-bounds/assoc-type-eq-with-dyn-atb-fail.stderr
@@ -6,8 +6,9 @@ LL |     type Out = Box<dyn Bar<Assoc: Copy>>;
    |
 help: use `impl Trait` to introduce a type instead
    |
-LL |     type Out = Box<dyn Bar<Assoc = impl Copy>>;
-   |                                  ~~~~~~
+LL -     type Out = Box<dyn Bar<Assoc: Copy>>;
+LL +     type Out = Box<dyn Bar<Assoc = impl Copy>>;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/associated-type-bounds/elision.stderr b/tests/ui/associated-type-bounds/elision.stderr
index 36ca5a80024..75141080dbf 100644
--- a/tests/ui/associated-type-bounds/elision.stderr
+++ b/tests/ui/associated-type-bounds/elision.stderr
@@ -7,8 +7,9 @@ LL | fn f(x: &mut dyn Iterator<Item: Iterator<Item = &'_ ()>>) -> Option<&'_ ()>
    = help: this function's return type contains a borrowed value, but the signature does not say which one of `x`'s 2 lifetimes it is borrowed from
 help: consider introducing a named lifetime parameter
    |
-LL | fn f<'a>(x: &'a mut dyn Iterator<Item: Iterator<Item = &'a ()>>) -> Option<&'a ()> { x.next() }
-   |     ++++     ++                                         ~~                  ~~
+LL - fn f(x: &mut dyn Iterator<Item: Iterator<Item = &'_ ()>>) -> Option<&'_ ()> { x.next() }
+LL + fn f<'a>(x: &'a mut dyn Iterator<Item: Iterator<Item = &'a ()>>) -> Option<&'a ()> { x.next() }
+   |
 
 error: associated type bounds are not allowed in `dyn` types
   --> $DIR/elision.rs:4:27
@@ -18,8 +19,9 @@ LL | fn f(x: &mut dyn Iterator<Item: Iterator<Item = &'_ ()>>) -> Option<&'_ ()>
    |
 help: use `impl Trait` to introduce a type instead
    |
-LL | fn f(x: &mut dyn Iterator<Item = impl Iterator<Item = &'_ ()>>) -> Option<&'_ ()> { x.next() }
-   |                                ~~~~~~
+LL - fn f(x: &mut dyn Iterator<Item: Iterator<Item = &'_ ()>>) -> Option<&'_ ()> { x.next() }
+LL + fn f(x: &mut dyn Iterator<Item = impl Iterator<Item = &'_ ()>>) -> Option<&'_ ()> { x.next() }
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/associated-type-bounds/return-type-notation/path-ambiguous.stderr b/tests/ui/associated-type-bounds/return-type-notation/path-ambiguous.stderr
index 80705424035..12f6762cb51 100644
--- a/tests/ui/associated-type-bounds/return-type-notation/path-ambiguous.stderr
+++ b/tests/ui/associated-type-bounds/return-type-notation/path-ambiguous.stderr
@@ -12,12 +12,14 @@ LL |     T::method(..): Send,
    |
 help: use fully-qualified syntax to disambiguate
    |
-LL |     <T as B>::method(..): Send,
-   |     ~~~~~~~~~~
+LL -     T::method(..): Send,
+LL +     <T as B>::method(..): Send,
+   |
 help: use fully-qualified syntax to disambiguate
    |
-LL |     <T as A>::method(..): Send,
-   |     ~~~~~~~~~~
+LL -     T::method(..): Send,
+LL +     <T as A>::method(..): Send,
+   |
 
 error[E0221]: ambiguous associated function `method` in bounds of `T`
   --> $DIR/path-ambiguous.rs:21:5
@@ -33,12 +35,14 @@ LL |     T::method(..): Send,
    |
 help: use fully-qualified syntax to disambiguate
    |
-LL |     <T as B>::method(..): Send,
-   |     ~~~~~~~~~~
+LL -     T::method(..): Send,
+LL +     <T as B>::method(..): Send,
+   |
 help: use fully-qualified syntax to disambiguate
    |
-LL |     <T as A>::method(..): Send,
-   |     ~~~~~~~~~~
+LL -     T::method(..): Send,
+LL +     <T as A>::method(..): Send,
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/associated-type-bounds/return-type-notation/path-higher-ranked.stderr b/tests/ui/associated-type-bounds/return-type-notation/path-higher-ranked.stderr
index 2a9a1a1e899..b3a229c58c8 100644
--- a/tests/ui/associated-type-bounds/return-type-notation/path-higher-ranked.stderr
+++ b/tests/ui/associated-type-bounds/return-type-notation/path-higher-ranked.stderr
@@ -6,8 +6,9 @@ LL |     T::method(..): Send,
    |
 help: use a fully qualified path with inferred lifetimes
    |
-LL |     <T as A<'_>>::method(..): Send,
-   |     ~~~~~~~~~~~~~~
+LL -     T::method(..): Send,
+LL +     <T as A<'_>>::method(..): Send,
+   |
 
 error[E0212]: cannot use the associated function of a trait with uninferred generic parameters
   --> $DIR/path-higher-ranked.rs:19:5
@@ -17,8 +18,9 @@ LL |     T::method(..): Send,
    |
 help: use a fully qualified path with inferred lifetimes
    |
-LL |     <T as A<'_>>::method(..): Send,
-   |     ~~~~~~~~~~~~~~
+LL -     T::method(..): Send,
+LL +     <T as A<'_>>::method(..): Send,
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/associated-type-bounds/return-type-notation/path-no-qself.stderr b/tests/ui/associated-type-bounds/return-type-notation/path-no-qself.stderr
index 6dbb5dabc0e..aad6dfc496b 100644
--- a/tests/ui/associated-type-bounds/return-type-notation/path-no-qself.stderr
+++ b/tests/ui/associated-type-bounds/return-type-notation/path-no-qself.stderr
@@ -6,8 +6,9 @@ LL |     Trait::method(..): Send,
    |
 help: if there were a type named `Example` that implemented `Trait`, you could use the fully-qualified path
    |
-LL |     <Example as Trait>::method: Send,
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     Trait::method(..): Send,
+LL +     <Example as Trait>::method: Send,
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/associated-type-bounds/suggest-assoc-ty-bound-on-eq-bound.stderr b/tests/ui/associated-type-bounds/suggest-assoc-ty-bound-on-eq-bound.stderr
index dbe285c5310..6eb8fabb185 100644
--- a/tests/ui/associated-type-bounds/suggest-assoc-ty-bound-on-eq-bound.stderr
+++ b/tests/ui/associated-type-bounds/suggest-assoc-ty-bound-on-eq-bound.stderr
@@ -10,8 +10,9 @@ LL | fn f(_: impl Trait<T = dyn Copy>) {}
    |                        +++
 help: you might have meant to write a bound here
    |
-LL | fn f(_: impl Trait<T: Copy>) {}
-   |                     ~
+LL - fn f(_: impl Trait<T = Copy>) {}
+LL + fn f(_: impl Trait<T: Copy>) {}
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/suggest-assoc-ty-bound-on-eq-bound.rs:9:24
@@ -25,8 +26,9 @@ LL | fn g(_: impl Trait<T = dyn std::fmt::Debug + Eq>) {}
    |                        +++
 help: you might have meant to write a bound here
    |
-LL | fn g(_: impl Trait<T: std::fmt::Debug + Eq>) {}
-   |                     ~
+LL - fn g(_: impl Trait<T = std::fmt::Debug + Eq>) {}
+LL + fn g(_: impl Trait<T: std::fmt::Debug + Eq>) {}
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/suggest-assoc-ty-bound-on-eq-bound.rs:14:26
@@ -40,8 +42,9 @@ LL | fn h(_: impl Trait<T<> = dyn 'static + for<'a> Fn(&'a ())>) {}
    |                          +++
 help: you might have meant to write a bound here
    |
-LL | fn h(_: impl Trait<T<>: 'static + for<'a> Fn(&'a ())>) {}
-   |                       ~
+LL - fn h(_: impl Trait<T<> = 'static + for<'a> Fn(&'a ())>) {}
+LL + fn h(_: impl Trait<T<>: 'static + for<'a> Fn(&'a ())>) {}
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/suggest-assoc-ty-bound-on-eq-bound.rs:20:26
diff --git a/tests/ui/associated-types/associated-type-projection-ambig-between-bound-and-where-clause.stderr b/tests/ui/associated-types/associated-type-projection-ambig-between-bound-and-where-clause.stderr
index df01e1e3768..b828eb86b43 100644
--- a/tests/ui/associated-types/associated-type-projection-ambig-between-bound-and-where-clause.stderr
+++ b/tests/ui/associated-types/associated-type-projection-ambig-between-bound-and-where-clause.stderr
@@ -12,12 +12,14 @@ LL | fn a<C:Vehicle+Box>(_: C::Color) {
    |
 help: use fully-qualified syntax to disambiguate
    |
-LL | fn a<C:Vehicle+Box>(_: <C as Box>::Color) {
-   |                        ~~~~~~~~~~~~
+LL - fn a<C:Vehicle+Box>(_: C::Color) {
+LL + fn a<C:Vehicle+Box>(_: <C as Box>::Color) {
+   |
 help: use fully-qualified syntax to disambiguate
    |
-LL | fn a<C:Vehicle+Box>(_: <C as Vehicle>::Color) {
-   |                        ~~~~~~~~~~~~~~~~
+LL - fn a<C:Vehicle+Box>(_: C::Color) {
+LL + fn a<C:Vehicle+Box>(_: <C as Vehicle>::Color) {
+   |
 
 error[E0221]: ambiguous associated type `Color` in bounds of `C`
   --> $DIR/associated-type-projection-ambig-between-bound-and-where-clause.rs:20:12
@@ -33,12 +35,14 @@ LL | fn b<C>(_: C::Color) where C : Vehicle+Box {
    |
 help: use fully-qualified syntax to disambiguate
    |
-LL | fn b<C>(_: <C as Box>::Color) where C : Vehicle+Box {
-   |            ~~~~~~~~~~~~
+LL - fn b<C>(_: C::Color) where C : Vehicle+Box {
+LL + fn b<C>(_: <C as Box>::Color) where C : Vehicle+Box {
+   |
 help: use fully-qualified syntax to disambiguate
    |
-LL | fn b<C>(_: <C as Vehicle>::Color) where C : Vehicle+Box {
-   |            ~~~~~~~~~~~~~~~~
+LL - fn b<C>(_: C::Color) where C : Vehicle+Box {
+LL + fn b<C>(_: <C as Vehicle>::Color) where C : Vehicle+Box {
+   |
 
 error[E0221]: ambiguous associated type `Color` in bounds of `C`
   --> $DIR/associated-type-projection-ambig-between-bound-and-where-clause.rs:24:12
@@ -54,12 +58,14 @@ LL | fn c<C>(_: C::Color) where C : Vehicle, C : Box {
    |
 help: use fully-qualified syntax to disambiguate
    |
-LL | fn c<C>(_: <C as Box>::Color) where C : Vehicle, C : Box {
-   |            ~~~~~~~~~~~~
+LL - fn c<C>(_: C::Color) where C : Vehicle, C : Box {
+LL + fn c<C>(_: <C as Box>::Color) where C : Vehicle, C : Box {
+   |
 help: use fully-qualified syntax to disambiguate
    |
-LL | fn c<C>(_: <C as Vehicle>::Color) where C : Vehicle, C : Box {
-   |            ~~~~~~~~~~~~~~~~
+LL - fn c<C>(_: C::Color) where C : Vehicle, C : Box {
+LL + fn c<C>(_: <C as Vehicle>::Color) where C : Vehicle, C : Box {
+   |
 
 error[E0221]: ambiguous associated type `Color` in bounds of `X`
   --> $DIR/associated-type-projection-ambig-between-bound-and-where-clause.rs:35:20
@@ -75,12 +81,14 @@ LL |     fn e(&self, _: X::Color) where X : Box;
    |
 help: use fully-qualified syntax to disambiguate
    |
-LL |     fn e(&self, _: <X as Box>::Color) where X : Box;
-   |                    ~~~~~~~~~~~~
+LL -     fn e(&self, _: X::Color) where X : Box;
+LL +     fn e(&self, _: <X as Box>::Color) where X : Box;
+   |
 help: use fully-qualified syntax to disambiguate
    |
-LL |     fn e(&self, _: <X as Vehicle>::Color) where X : Box;
-   |                    ~~~~~~~~~~~~~~~~
+LL -     fn e(&self, _: X::Color) where X : Box;
+LL +     fn e(&self, _: <X as Vehicle>::Color) where X : Box;
+   |
 
 error[E0221]: ambiguous associated type `Color` in bounds of `X`
   --> $DIR/associated-type-projection-ambig-between-bound-and-where-clause.rs:38:20
@@ -96,12 +104,14 @@ LL |     fn f(&self, _: X::Color) where X : Box { }
    |
 help: use fully-qualified syntax to disambiguate
    |
-LL |     fn f(&self, _: <X as Box>::Color) where X : Box { }
-   |                    ~~~~~~~~~~~~
+LL -     fn f(&self, _: X::Color) where X : Box { }
+LL +     fn f(&self, _: <X as Box>::Color) where X : Box { }
+   |
 help: use fully-qualified syntax to disambiguate
    |
-LL |     fn f(&self, _: <X as Vehicle>::Color) where X : Box { }
-   |                    ~~~~~~~~~~~~~~~~
+LL -     fn f(&self, _: X::Color) where X : Box { }
+LL +     fn f(&self, _: <X as Vehicle>::Color) where X : Box { }
+   |
 
 error[E0221]: ambiguous associated type `Color` in bounds of `X`
   --> $DIR/associated-type-projection-ambig-between-bound-and-where-clause.rs:30:20
@@ -117,12 +127,14 @@ LL |     fn d(&self, _: X::Color) where X : Box { }
    |
 help: use fully-qualified syntax to disambiguate
    |
-LL |     fn d(&self, _: <X as Box>::Color) where X : Box { }
-   |                    ~~~~~~~~~~~~
+LL -     fn d(&self, _: X::Color) where X : Box { }
+LL +     fn d(&self, _: <X as Box>::Color) where X : Box { }
+   |
 help: use fully-qualified syntax to disambiguate
    |
-LL |     fn d(&self, _: <X as Vehicle>::Color) where X : Box { }
-   |                    ~~~~~~~~~~~~~~~~
+LL -     fn d(&self, _: X::Color) where X : Box { }
+LL +     fn d(&self, _: <X as Vehicle>::Color) where X : Box { }
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/associated-types/associated-type-projection-from-multiple-supertraits.stderr b/tests/ui/associated-types/associated-type-projection-from-multiple-supertraits.stderr
index a4874903285..063623ebd12 100644
--- a/tests/ui/associated-types/associated-type-projection-from-multiple-supertraits.stderr
+++ b/tests/ui/associated-types/associated-type-projection-from-multiple-supertraits.stderr
@@ -20,12 +20,14 @@ LL | fn dent<C:BoxCar>(c: C, color: C::Color) {
    |
 help: use fully-qualified syntax to disambiguate
    |
-LL | fn dent<C:BoxCar>(c: C, color: <C as Vehicle>::Color) {
-   |                                ~~~~~~~~~~~~~~~~
+LL - fn dent<C:BoxCar>(c: C, color: C::Color) {
+LL + fn dent<C:BoxCar>(c: C, color: <C as Vehicle>::Color) {
+   |
 help: use fully-qualified syntax to disambiguate
    |
-LL | fn dent<C:BoxCar>(c: C, color: <C as Box>::Color) {
-   |                                ~~~~~~~~~~~~
+LL - fn dent<C:BoxCar>(c: C, color: C::Color) {
+LL + fn dent<C:BoxCar>(c: C, color: <C as Box>::Color) {
+   |
 
 error[E0222]: ambiguous associated type `Color` in bounds of `BoxCar`
   --> $DIR/associated-type-projection-from-multiple-supertraits.rs:23:38
@@ -73,12 +75,14 @@ LL | fn paint<C:BoxCar>(c: C, d: C::Color) {
    |
 help: use fully-qualified syntax to disambiguate
    |
-LL | fn paint<C:BoxCar>(c: C, d: <C as Vehicle>::Color) {
-   |                             ~~~~~~~~~~~~~~~~
+LL - fn paint<C:BoxCar>(c: C, d: C::Color) {
+LL + fn paint<C:BoxCar>(c: C, d: <C as Vehicle>::Color) {
+   |
 help: use fully-qualified syntax to disambiguate
    |
-LL | fn paint<C:BoxCar>(c: C, d: <C as Box>::Color) {
-   |                             ~~~~~~~~~~~~
+LL - fn paint<C:BoxCar>(c: C, d: C::Color) {
+LL + fn paint<C:BoxCar>(c: C, d: <C as Box>::Color) {
+   |
 
 error[E0191]: the value of the associated types `Color` in `Box`, `Color` in `Vehicle` must be specified
   --> $DIR/associated-type-projection-from-multiple-supertraits.rs:32:33
diff --git a/tests/ui/associated-types/associated-types-eq-1.stderr b/tests/ui/associated-types/associated-types-eq-1.stderr
index 14ef3687674..581ad25d88a 100644
--- a/tests/ui/associated-types/associated-types-eq-1.stderr
+++ b/tests/ui/associated-types/associated-types-eq-1.stderr
@@ -8,8 +8,9 @@ LL |     let _: A = x.boo();
    |
 help: a type parameter with a similar name exists
    |
-LL |     let _: I = x.boo();
-   |            ~
+LL -     let _: A = x.boo();
+LL +     let _: I = x.boo();
+   |
 help: you might be missing a type parameter
    |
 LL | fn foo2<I: Foo, A>(x: I) {
diff --git a/tests/ui/associated-types/associated-types-eq-2.stderr b/tests/ui/associated-types/associated-types-eq-2.stderr
index ccd13123d70..19c34241e5f 100644
--- a/tests/ui/associated-types/associated-types-eq-2.stderr
+++ b/tests/ui/associated-types/associated-types-eq-2.stderr
@@ -100,8 +100,9 @@ LL | impl Tr2<i32, T2 = Qux, T3 = usize> for Bar {
    |
 help: to use `Qux` as a generic argument specify it directly
    |
-LL | impl Tr2<i32, Qux, T3 = usize> for Bar {
-   |               ~~~
+LL - impl Tr2<i32, T2 = Qux, T3 = usize> for Bar {
+LL + impl Tr2<i32, Qux, T3 = usize> for Bar {
+   |
 
 error[E0107]: trait takes 3 generic arguments but 1 generic argument was supplied
   --> $DIR/associated-types-eq-2.rs:47:6
@@ -189,8 +190,9 @@ LL | impl Tr2<i32, Qux, T3 = GenericTerm<i32>> for Bar {
    |
 help: to use `GenericTerm<i32>` as a generic argument specify it directly
    |
-LL | impl Tr2<i32, Qux, GenericTerm<i32>> for Bar {
-   |                    ~~~~~~~~~~~~~~~~
+LL - impl Tr2<i32, Qux, T3 = GenericTerm<i32>> for Bar {
+LL + impl Tr2<i32, Qux, GenericTerm<i32>> for Bar {
+   |
 
 error[E0229]: associated item constraints are not allowed here
   --> $DIR/associated-types-eq-2.rs:76:10
@@ -203,8 +205,12 @@ LL | | = 42, T2 = Qux, T3 = usize> for Bar {
    |
 help: to use `42` as a generic argument specify it directly
    |
-LL | impl Tr3<42, T2 = Qux, T3 = usize> for Bar {
-   |          ~~
+LL - impl Tr3<N
+LL -
+LL -
+LL - = 42, T2 = Qux, T3 = usize> for Bar {
+LL + impl Tr3<42, T2 = Qux, T3 = usize> for Bar {
+   |
 
 error[E0107]: trait takes 3 generic arguments but 0 generic arguments were supplied
   --> $DIR/associated-types-eq-2.rs:84:6
@@ -328,8 +334,9 @@ LL | impl<'a, T> St<'a , T = Qux> {
    |
 help: to use `Qux` as a generic argument specify it directly
    |
-LL | impl<'a, T> St<'a , Qux> {
-   |                     ~~~
+LL - impl<'a, T> St<'a , T = Qux> {
+LL + impl<'a, T> St<'a , Qux> {
+   |
 
 error: aborting due to 25 previous errors
 
diff --git a/tests/ui/associated-types/associated-types-in-ambiguous-context.stderr b/tests/ui/associated-types/associated-types-in-ambiguous-context.stderr
index 88db3611719..d7d2161e7ad 100644
--- a/tests/ui/associated-types/associated-types-in-ambiguous-context.stderr
+++ b/tests/ui/associated-types/associated-types-in-ambiguous-context.stderr
@@ -6,8 +6,9 @@ LL | fn get<T:Get,U:Get>(x: T, y: U) -> Get::Value {}
    |
 help: if there were a type named `Example` that implemented `Get`, you could use the fully-qualified path
    |
-LL | fn get<T:Get,U:Get>(x: T, y: U) -> <Example as Get>::Value {}
-   |                                    ~~~~~~~~~~~~~~~~~~~~~~~
+LL - fn get<T:Get,U:Get>(x: T, y: U) -> Get::Value {}
+LL + fn get<T:Get,U:Get>(x: T, y: U) -> <Example as Get>::Value {}
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/associated-types-in-ambiguous-context.rs:13:23
@@ -23,8 +24,9 @@ LL |     fn get(&self) -> Get::Value;
    |
 help: if there were a type named `Example` that implemented `Get`, you could use the fully-qualified path
    |
-LL |     fn get(&self) -> <Example as Get>::Value;
-   |                      ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     fn get(&self) -> Get::Value;
+LL +     fn get(&self) -> <Example as Get>::Value;
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/associated-types-in-ambiguous-context.rs:22:17
@@ -40,14 +42,18 @@ LL | type X = std::ops::Deref::Target;
    |
 help: use fully-qualified syntax
    |
-LL | type X = <ByteStr as Deref>::Target;
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~
-LL | type X = <ByteString as Deref>::Target;
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-LL | type X = <CString as Deref>::Target;
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~
-LL | type X = <IoSlice<'_> as Deref>::Target;
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - type X = std::ops::Deref::Target;
+LL + type X = <ByteStr as Deref>::Target;
+   |
+LL - type X = std::ops::Deref::Target;
+LL + type X = <ByteString as Deref>::Target;
+   |
+LL - type X = std::ops::Deref::Target;
+LL + type X = <CString as Deref>::Target;
+   |
+LL - type X = std::ops::Deref::Target;
+LL + type X = <IoSlice<'_> as Deref>::Target;
+   |
      and N other candidates
 
 error: aborting due to 5 previous errors
diff --git a/tests/ui/associated-types/associated-types-path-1.stderr b/tests/ui/associated-types/associated-types-path-1.stderr
index cab9dcec0b6..aea70e085c1 100644
--- a/tests/ui/associated-types/associated-types-path-1.stderr
+++ b/tests/ui/associated-types/associated-types-path-1.stderr
@@ -18,12 +18,14 @@ LL | pub fn f2<T: Foo + Bar>(a: T, x: T::A) {}
    |
 help: use fully-qualified syntax to disambiguate
    |
-LL | pub fn f2<T: Foo + Bar>(a: T, x: <T as Bar>::A) {}
-   |                                  ~~~~~~~~~~~~
+LL - pub fn f2<T: Foo + Bar>(a: T, x: T::A) {}
+LL + pub fn f2<T: Foo + Bar>(a: T, x: <T as Bar>::A) {}
+   |
 help: use fully-qualified syntax to disambiguate
    |
-LL | pub fn f2<T: Foo + Bar>(a: T, x: <T as Foo>::A) {}
-   |                                  ~~~~~~~~~~~~
+LL - pub fn f2<T: Foo + Bar>(a: T, x: T::A) {}
+LL + pub fn f2<T: Foo + Bar>(a: T, x: <T as Foo>::A) {}
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/associated-types/associated-types-path-2.stderr b/tests/ui/associated-types/associated-types-path-2.stderr
index 5edd5c864e1..897eb75e3e3 100644
--- a/tests/ui/associated-types/associated-types-path-2.stderr
+++ b/tests/ui/associated-types/associated-types-path-2.stderr
@@ -13,8 +13,9 @@ LL | pub fn f1<T: Foo>(a: T, x: T::A) {}
    |        ^^               -------
 help: change the type of the numeric literal from `i32` to `u32`
    |
-LL |     f1(2i32, 4u32);
-   |               ~~~
+LL -     f1(2i32, 4i32);
+LL +     f1(2i32, 4u32);
+   |
 
 error[E0277]: the trait bound `u32: Foo` is not satisfied
   --> $DIR/associated-types-path-2.rs:29:8
diff --git a/tests/ui/associated-types/associated-types-project-from-hrtb-in-fn.stderr b/tests/ui/associated-types/associated-types-project-from-hrtb-in-fn.stderr
index 83bad291e56..b0c904fe62b 100644
--- a/tests/ui/associated-types/associated-types-project-from-hrtb-in-fn.stderr
+++ b/tests/ui/associated-types/associated-types-project-from-hrtb-in-fn.stderr
@@ -6,8 +6,9 @@ LL |     x: I::A)
    |
 help: use a fully qualified path with inferred lifetimes
    |
-LL |     x: <I as Foo<&isize>>::A)
-   |        ~~~~~~~~~~~~~~~~~~~~
+LL -     x: I::A)
+LL +     x: <I as Foo<&isize>>::A)
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/associated-types/associated-types-project-from-hrtb-in-trait-method.stderr b/tests/ui/associated-types/associated-types-project-from-hrtb-in-trait-method.stderr
index 48433b15286..bd30c25c97b 100644
--- a/tests/ui/associated-types/associated-types-project-from-hrtb-in-trait-method.stderr
+++ b/tests/ui/associated-types/associated-types-project-from-hrtb-in-trait-method.stderr
@@ -6,8 +6,9 @@ LL |     fn some_method(&self, arg: I::A);
    |
 help: use a fully qualified path with inferred lifetimes
    |
-LL |     fn some_method(&self, arg: <I as Foo<&isize>>::A);
-   |                                ~~~~~~~~~~~~~~~~~~~~
+LL -     fn some_method(&self, arg: I::A);
+LL +     fn some_method(&self, arg: <I as Foo<&isize>>::A);
+   |
 
 error[E0212]: cannot use the associated type of a trait with uninferred generic parameters
   --> $DIR/associated-types-project-from-hrtb-in-trait-method.rs:32:24
@@ -17,8 +18,9 @@ LL |     fn mango(&self) -> X::Assoc {
    |
 help: use a fully qualified path with inferred lifetimes
    |
-LL |     fn mango(&self) -> <X as Banana<'_>>::Assoc {
-   |                        ~~~~~~~~~~~~~~~~~~~
+LL -     fn mango(&self) -> X::Assoc {
+LL +     fn mango(&self) -> <X as Banana<'_>>::Assoc {
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/associated-types/defaults-specialization.stderr b/tests/ui/associated-types/defaults-specialization.stderr
index b4ed99f36f4..fd2a1a0c2d1 100644
--- a/tests/ui/associated-types/defaults-specialization.stderr
+++ b/tests/ui/associated-types/defaults-specialization.stderr
@@ -23,8 +23,9 @@ LL |     fn make() -> Self::Ty {
               found signature `fn() -> u8`
 help: change the output type to match the trait
    |
-LL |     fn make() -> <A<T> as Tr>::Ty { 0 }
-   |                  ~~~~~~~~~~~~~~~~
+LL -     fn make() -> u8 { 0 }
+LL +     fn make() -> <A<T> as Tr>::Ty { 0 }
+   |
 
 error[E0053]: method `make` has an incompatible type for trait
   --> $DIR/defaults-specialization.rs:35:18
@@ -44,8 +45,9 @@ LL |     fn make() -> Self::Ty {
               found signature `fn() -> bool`
 help: change the output type to match the trait
    |
-LL |     fn make() -> <B<T> as Tr>::Ty { true }
-   |                  ~~~~~~~~~~~~~~~~
+LL -     fn make() -> bool { true }
+LL +     fn make() -> <B<T> as Tr>::Ty { true }
+   |
 
 error[E0308]: mismatched types
   --> $DIR/defaults-specialization.rs:10:9
diff --git a/tests/ui/associated-types/defaults-suitability.current.stderr b/tests/ui/associated-types/defaults-suitability.current.stderr
index 61247cee1f3..b9ea541e981 100644
--- a/tests/ui/associated-types/defaults-suitability.current.stderr
+++ b/tests/ui/associated-types/defaults-suitability.current.stderr
@@ -134,8 +134,9 @@ LL |     type Baz = T;
    |          --- required by a bound in this associated type
 help: consider further restricting type parameter `T` with trait `Clone`
    |
-LL |     Self::Baz: Clone, T: std::clone::Clone
-   |                     ~~~~~~~~~~~~~~~~~~~~~~
+LL -     Self::Baz: Clone,
+LL +     Self::Baz: Clone, T: std::clone::Clone
+   |
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/associated-types/defaults-suitability.next.stderr b/tests/ui/associated-types/defaults-suitability.next.stderr
index 61247cee1f3..b9ea541e981 100644
--- a/tests/ui/associated-types/defaults-suitability.next.stderr
+++ b/tests/ui/associated-types/defaults-suitability.next.stderr
@@ -134,8 +134,9 @@ LL |     type Baz = T;
    |          --- required by a bound in this associated type
 help: consider further restricting type parameter `T` with trait `Clone`
    |
-LL |     Self::Baz: Clone, T: std::clone::Clone
-   |                     ~~~~~~~~~~~~~~~~~~~~~~
+LL -     Self::Baz: Clone,
+LL +     Self::Baz: Clone, T: std::clone::Clone
+   |
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/associated-types/impl-wf-cycle-3.stderr b/tests/ui/associated-types/impl-wf-cycle-3.stderr
index d3ca06f890b..b97117a9aab 100644
--- a/tests/ui/associated-types/impl-wf-cycle-3.stderr
+++ b/tests/ui/associated-types/impl-wf-cycle-3.stderr
@@ -19,8 +19,9 @@ LL |     T: A<Self::Type>,
    |        ------------- unsatisfied trait bound introduced here
 help: replace the associated type with the type specified in this `impl`
    |
-LL |     T: A<bool>,
-   |          ~~~~
+LL -     T: A<Self::Type>,
+LL +     T: A<bool>,
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/associated-types/invalid-ctor.stderr b/tests/ui/associated-types/invalid-ctor.stderr
index b545c95a768..0b3bf316f60 100644
--- a/tests/ui/associated-types/invalid-ctor.stderr
+++ b/tests/ui/associated-types/invalid-ctor.stderr
@@ -6,8 +6,9 @@ LL |         Self::Out(1)
    |
 help: to construct a value of type `Constructor`, use the explicit path
    |
-LL |         Constructor(1)
-   |         ~~~~~~~~~~~
+LL -         Self::Out(1)
+LL +         Constructor(1)
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/associated-types/issue-38821.stderr b/tests/ui/associated-types/issue-38821.stderr
index 58f019704e7..b29e9cc16e2 100644
--- a/tests/ui/associated-types/issue-38821.stderr
+++ b/tests/ui/associated-types/issue-38821.stderr
@@ -13,8 +13,9 @@ LL | impl<T: NotNull> IntoNullable for T {
    |         unsatisfied trait bound introduced here
 help: consider extending the `where` clause, but there might be an alternative better way to express this requirement
    |
-LL |     Expr: Expression<SqlType=<Col::SqlType as IntoNullable>::Nullable>, <Col as Expression>::SqlType: NotNull
-   |                                                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     Expr: Expression<SqlType=<Col::SqlType as IntoNullable>::Nullable>,
+LL +     Expr: Expression<SqlType=<Col::SqlType as IntoNullable>::Nullable>, <Col as Expression>::SqlType: NotNull
+   |
 
 error[E0277]: the trait bound `<Col as Expression>::SqlType: NotNull` is not satisfied
   --> $DIR/issue-38821.rs:40:1
@@ -37,8 +38,9 @@ LL | impl<T: NotNull> IntoNullable for T {
    |         unsatisfied trait bound introduced here
 help: consider extending the `where` clause, but there might be an alternative better way to express this requirement
    |
-LL |     Expr: Expression<SqlType=<Col::SqlType as IntoNullable>::Nullable>, <Col as Expression>::SqlType: NotNull
-   |                                                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     Expr: Expression<SqlType=<Col::SqlType as IntoNullable>::Nullable>,
+LL +     Expr: Expression<SqlType=<Col::SqlType as IntoNullable>::Nullable>, <Col as Expression>::SqlType: NotNull
+   |
 
 error[E0277]: the trait bound `<Col as Expression>::SqlType: NotNull` is not satisfied
   --> $DIR/issue-38821.rs:23:10
diff --git a/tests/ui/associated-types/issue-54108.current.stderr b/tests/ui/associated-types/issue-54108.current.stderr
index 8850b4548e3..1b2285b214f 100644
--- a/tests/ui/associated-types/issue-54108.current.stderr
+++ b/tests/ui/associated-types/issue-54108.current.stderr
@@ -12,8 +12,9 @@ LL |     type Size: Add<Output = Self::Size>;
    |                ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Encoder::Size`
 help: consider further restricting the associated type
    |
-LL |     T: SubEncoder, <T as SubEncoder>::ActualSize: Add
-   |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     T: SubEncoder,
+LL +     T: SubEncoder, <T as SubEncoder>::ActualSize: Add
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/associated-types/issue-54108.next.stderr b/tests/ui/associated-types/issue-54108.next.stderr
index 5e2fa551afe..cc80ab63901 100644
--- a/tests/ui/associated-types/issue-54108.next.stderr
+++ b/tests/ui/associated-types/issue-54108.next.stderr
@@ -12,8 +12,9 @@ LL |     type Size: Add<Output = Self::Size>;
    |                    ^^^^^^^^^^^^^^^^^^^ required by this bound in `Encoder::Size`
 help: consider further restricting the associated type
    |
-LL |     T: SubEncoder, <T as SubEncoder>::ActualSize: Add
-   |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     T: SubEncoder,
+LL +     T: SubEncoder, <T as SubEncoder>::ActualSize: Add
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/associated-types/issue-59324.stderr b/tests/ui/associated-types/issue-59324.stderr
index 2abe337b69a..dc8f9cfe895 100644
--- a/tests/ui/associated-types/issue-59324.stderr
+++ b/tests/ui/associated-types/issue-59324.stderr
@@ -87,8 +87,9 @@ LL | fn with_factory<H>(factory: dyn ThriftService<()>) {}
    = help: unsized fn params are gated as an unstable feature
 help: you can use `impl Trait` as the argument type
    |
-LL | fn with_factory<H>(factory: impl ThriftService<()>) {}
-   |                             ~~~~
+LL - fn with_factory<H>(factory: dyn ThriftService<()>) {}
+LL + fn with_factory<H>(factory: impl ThriftService<()>) {}
+   |
 help: function arguments must have a statically known size, borrowed types always have a known size
    |
 LL | fn with_factory<H>(factory: &dyn ThriftService<()>) {}
diff --git a/tests/ui/async-await/async-closures/arg-mismatch.stderr b/tests/ui/async-await/async-closures/arg-mismatch.stderr
index 5c8e6650293..8c11fa15776 100644
--- a/tests/ui/async-await/async-closures/arg-mismatch.stderr
+++ b/tests/ui/async-await/async-closures/arg-mismatch.stderr
@@ -13,8 +13,9 @@ LL |         let c = async |x| {};
    |                        ^
 help: change the type of the numeric literal from `usize` to `i32`
    |
-LL |         c(2i32).await;
-   |            ~~~
+LL -         c(2usize).await;
+LL +         c(2i32).await;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/async-await/in-trait/async-example-desugared-boxed.stderr b/tests/ui/async-await/in-trait/async-example-desugared-boxed.stderr
index 36f90c7bcd5..b7f2879727f 100644
--- a/tests/ui/async-await/in-trait/async-example-desugared-boxed.stderr
+++ b/tests/ui/async-await/in-trait/async-example-desugared-boxed.stderr
@@ -17,8 +17,9 @@ LL |     #[warn(refining_impl_trait)]
    = note: `#[warn(refining_impl_trait_reachable)]` implied by `#[warn(refining_impl_trait)]`
 help: replace the return type so that it matches the trait
    |
-LL |     fn foo(&self) -> impl Future<Output = i32> {
-   |                      ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     fn foo(&self) -> Pin<Box<dyn Future<Output = i32> + '_>> {
+LL +     fn foo(&self) -> impl Future<Output = i32> {
+   |
 
 warning: 1 warning emitted
 
diff --git a/tests/ui/async-await/in-trait/async-example-desugared-manual.stderr b/tests/ui/async-await/in-trait/async-example-desugared-manual.stderr
index 8e39559071f..86546df88c1 100644
--- a/tests/ui/async-await/in-trait/async-example-desugared-manual.stderr
+++ b/tests/ui/async-await/in-trait/async-example-desugared-manual.stderr
@@ -17,8 +17,9 @@ LL |     #[warn(refining_impl_trait)]
    = note: `#[warn(refining_impl_trait_reachable)]` implied by `#[warn(refining_impl_trait)]`
 help: replace the return type so that it matches the trait
    |
-LL |     fn foo(&self) -> impl Future<Output = i32> {
-   |                      ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     fn foo(&self) -> MyFuture {
+LL +     fn foo(&self) -> impl Future<Output = i32> {
+   |
 
 warning: 1 warning emitted
 
diff --git a/tests/ui/async-await/incorrect-move-async-order-issue-79694.stderr b/tests/ui/async-await/incorrect-move-async-order-issue-79694.stderr
index 782fa4295fd..2a3d46cc97f 100644
--- a/tests/ui/async-await/incorrect-move-async-order-issue-79694.stderr
+++ b/tests/ui/async-await/incorrect-move-async-order-issue-79694.stderr
@@ -6,8 +6,9 @@ LL |     let _ = move async { };
    |
 help: try switching the order
    |
-LL |     let _ = async move { };
-   |             ~~~~~~~~~~
+LL -     let _ = move async { };
+LL +     let _ = async move { };
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/async-await/issue-65634-raw-ident-suggestion.edition2015.stderr b/tests/ui/async-await/issue-65634-raw-ident-suggestion.edition2015.stderr
index d4266814a7c..2bdc1347c81 100644
--- a/tests/ui/async-await/issue-65634-raw-ident-suggestion.edition2015.stderr
+++ b/tests/ui/async-await/issue-65634-raw-ident-suggestion.edition2015.stderr
@@ -16,12 +16,14 @@ LL |     fn r#struct(&self) {
    |     ^^^^^^^^^^^^^^^^^^
 help: disambiguate the method for candidate #1
    |
-LL |     async::r#struct(&r#fn {});
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     r#fn {}.r#struct();
+LL +     async::r#struct(&r#fn {});
+   |
 help: disambiguate the method for candidate #2
    |
-LL |     await::r#struct(&r#fn {});
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     r#fn {}.r#struct();
+LL +     await::r#struct(&r#fn {});
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/async-await/issue-65634-raw-ident-suggestion.edition2018.stderr b/tests/ui/async-await/issue-65634-raw-ident-suggestion.edition2018.stderr
index fe104bfe445..ab10ab749fe 100644
--- a/tests/ui/async-await/issue-65634-raw-ident-suggestion.edition2018.stderr
+++ b/tests/ui/async-await/issue-65634-raw-ident-suggestion.edition2018.stderr
@@ -16,12 +16,14 @@ LL |     fn r#struct(&self) {
    |     ^^^^^^^^^^^^^^^^^^
 help: disambiguate the method for candidate #1
    |
-LL |     r#async::r#struct(&r#fn {});
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     r#fn {}.r#struct();
+LL +     r#async::r#struct(&r#fn {});
+   |
 help: disambiguate the method for candidate #2
    |
-LL |     r#await::r#struct(&r#fn {});
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     r#fn {}.r#struct();
+LL +     r#await::r#struct(&r#fn {});
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/async-await/pin-ergonomics/sugar-no-const.stderr b/tests/ui/async-await/pin-ergonomics/sugar-no-const.stderr
index 822cfffcb8c..062b6d3f487 100644
--- a/tests/ui/async-await/pin-ergonomics/sugar-no-const.stderr
+++ b/tests/ui/async-await/pin-ergonomics/sugar-no-const.stderr
@@ -8,8 +8,9 @@ LL |     let _x: &pin i32 = todo!();
    |
 help: there is a keyword `in` with a similar name
    |
-LL |     let _x: &in i32 = todo!();
-   |              ~~
+LL -     let _x: &pin i32 = todo!();
+LL +     let _x: &in i32 = todo!();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/async-await/suggest-switching-edition-on-await-cargo.stderr b/tests/ui/async-await/suggest-switching-edition-on-await-cargo.stderr
index c8bbb3a243c..11f5825c232 100644
--- a/tests/ui/async-await/suggest-switching-edition-on-await-cargo.stderr
+++ b/tests/ui/async-await/suggest-switching-edition-on-await-cargo.stderr
@@ -19,8 +19,9 @@ LL |     x.await;
    = note: for more on editions, read https://doc.rust-lang.org/edition-guide
 help: a field with a similar name exists
    |
-LL |     x.awai;
-   |       ~~~~
+LL -     x.await;
+LL +     x.awai;
+   |
 
 error[E0609]: no field `await` on type `Pin<&mut dyn Future<Output = ()>>`
   --> $DIR/suggest-switching-edition-on-await-cargo.rs:34:7
diff --git a/tests/ui/async-await/suggest-switching-edition-on-await.stderr b/tests/ui/async-await/suggest-switching-edition-on-await.stderr
index ef5a5f81269..2ede8d5b7f4 100644
--- a/tests/ui/async-await/suggest-switching-edition-on-await.stderr
+++ b/tests/ui/async-await/suggest-switching-edition-on-await.stderr
@@ -19,8 +19,9 @@ LL |     x.await;
    = note: for more on editions, read https://doc.rust-lang.org/edition-guide
 help: a field with a similar name exists
    |
-LL |     x.awai;
-   |       ~~~~
+LL -     x.await;
+LL +     x.awai;
+   |
 
 error[E0609]: no field `await` on type `Pin<&mut dyn Future<Output = ()>>`
   --> $DIR/suggest-switching-edition-on-await.rs:32:7
diff --git a/tests/ui/attributes/key-value-non-ascii.stderr b/tests/ui/attributes/key-value-non-ascii.stderr
index cc01bc46ebd..fa87ad5ee6d 100644
--- a/tests/ui/attributes/key-value-non-ascii.stderr
+++ b/tests/ui/attributes/key-value-non-ascii.stderr
@@ -6,8 +6,9 @@ LL | #[rustc_dummy = b"ffi.rs"]
    |
 help: if you meant to use the UTF-8 encoding of 'ffi', use \xHH escapes
    |
-LL | #[rustc_dummy = b"/xEF/xAC/x83.rs"]
-   |                   ~~~~~~~~~~~~
+LL - #[rustc_dummy = b"ffi.rs"]
+LL + #[rustc_dummy = b"/xEF/xAC/x83.rs"]
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/attributes/rustc_confusables.stderr b/tests/ui/attributes/rustc_confusables.stderr
index 9e37d5f5083..f475e9c494e 100644
--- a/tests/ui/attributes/rustc_confusables.stderr
+++ b/tests/ui/attributes/rustc_confusables.stderr
@@ -35,8 +35,9 @@ LL |     x.inser();
    |
 help: there is a method `insert` with a similar name
    |
-LL |     x.insert();
-   |       ~~~~~~
+LL -     x.inser();
+LL +     x.insert();
+   |
 
 error[E0599]: no method named `foo` found for struct `rustc_confusables_across_crate::BTreeSet` in the current scope
   --> $DIR/rustc_confusables.rs:15:7
@@ -52,8 +53,9 @@ LL |     x.push();
    |
 help: you might have meant to use `insert`
    |
-LL |     x.insert();
-   |       ~~~~~~
+LL -     x.push();
+LL +     x.insert();
+   |
 
 error[E0599]: no method named `test` found for struct `rustc_confusables_across_crate::BTreeSet` in the current scope
   --> $DIR/rustc_confusables.rs:20:7
@@ -69,8 +71,9 @@ LL |     x.pulled();
    |
 help: you might have meant to use `pull`
    |
-LL |     x.pull();
-   |       ~~~~
+LL -     x.pulled();
+LL +     x.pull();
+   |
 
 error: aborting due to 9 previous errors
 
diff --git a/tests/ui/attributes/rustc_confusables_std_cases.stderr b/tests/ui/attributes/rustc_confusables_std_cases.stderr
index 7bf96241ca7..b9acf2d31ab 100644
--- a/tests/ui/attributes/rustc_confusables_std_cases.stderr
+++ b/tests/ui/attributes/rustc_confusables_std_cases.stderr
@@ -6,8 +6,9 @@ LL |     x.push(1);
    |
 help: you might have meant to use `insert`
    |
-LL |     x.insert(1);
-   |       ~~~~~~
+LL -     x.push(1);
+LL +     x.insert(1);
+   |
 
 error[E0599]: no method named `push_back` found for struct `Vec<_>` in the current scope
   --> $DIR/rustc_confusables_std_cases.rs:9:7
@@ -17,8 +18,9 @@ LL |     x.push_back(1);
    |
 help: you might have meant to use `push`
    |
-LL |     x.push(1);
-   |       ~~~~
+LL -     x.push_back(1);
+LL +     x.push(1);
+   |
 
 error[E0599]: no method named `push` found for struct `VecDeque` in the current scope
   --> $DIR/rustc_confusables_std_cases.rs:12:7
@@ -36,8 +38,9 @@ LL |     let mut x = VecDeque::new();
    |         ----- earlier `x` shadowed here with type `VecDeque`
 help: you might have meant to use `push_back`
    |
-LL |     x.push_back(1);
-   |       ~~~~~~~~~
+LL -     x.push(1);
+LL +     x.push_back(1);
+   |
 
 error[E0599]: no method named `length` found for struct `Vec<{integer}>` in the current scope
   --> $DIR/rustc_confusables_std_cases.rs:15:7
@@ -47,8 +50,9 @@ LL |     x.length();
    |
 help: you might have meant to use `len`
    |
-LL |     x.len();
-   |       ~~~
+LL -     x.length();
+LL +     x.len();
+   |
 
 error[E0599]: no method named `size` found for struct `Vec<{integer}>` in the current scope
   --> $DIR/rustc_confusables_std_cases.rs:17:7
@@ -60,8 +64,9 @@ help: there is a method `resize` with a similar name, but with different argumen
   --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
 help: you might have meant to use `len`
    |
-LL |     x.len();
-   |       ~~~
+LL -     x.size();
+LL +     x.len();
+   |
 
 error[E0308]: mismatched types
   --> $DIR/rustc_confusables_std_cases.rs:20:14
@@ -77,8 +82,9 @@ note: method defined here
   --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
 help: you might have meant to use `push`
    |
-LL |     x.push(42);
-   |       ~~~~
+LL -     x.append(42);
+LL +     x.push(42);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/rustc_confusables_std_cases.rs:22:24
@@ -92,8 +98,9 @@ note: method defined here
   --> $SRC_DIR/alloc/src/string.rs:LL:COL
 help: you might have meant to use `push_str`
    |
-LL |     String::new().push_str("");
-   |                   ~~~~~~~~
+LL -     String::new().push("");
+LL +     String::new().push_str("");
+   |
 
 error[E0599]: no method named `append` found for struct `String` in the current scope
   --> $DIR/rustc_confusables_std_cases.rs:24:19
@@ -103,8 +110,9 @@ LL |     String::new().append("");
    |
 help: you might have meant to use `push_str`
    |
-LL |     String::new().push_str("");
-   |                   ~~~~~~~~
+LL -     String::new().append("");
+LL +     String::new().push_str("");
+   |
 
 error[E0599]: no method named `get_line` found for struct `Stdin` in the current scope
   --> $DIR/rustc_confusables_std_cases.rs:28:11
@@ -114,8 +122,9 @@ LL |     stdin.get_line(&mut buffer).unwrap();
    |
 help: you might have meant to use `read_line`
    |
-LL |     stdin.read_line(&mut buffer).unwrap();
-   |           ~~~~~~~~~
+LL -     stdin.get_line(&mut buffer).unwrap();
+LL +     stdin.read_line(&mut buffer).unwrap();
+   |
 
 error: aborting due to 9 previous errors
 
diff --git a/tests/ui/binop/placement-syntax.stderr b/tests/ui/binop/placement-syntax.stderr
index b20a2ee6353..e398c0b0702 100644
--- a/tests/ui/binop/placement-syntax.stderr
+++ b/tests/ui/binop/placement-syntax.stderr
@@ -6,8 +6,9 @@ LL |     if x<-1 {
    |
 help: if you meant to write a comparison against a negative value, add a space in between `<` and `-`
    |
-LL |     if x< -1 {
-   |         ~~~
+LL -     if x<-1 {
+LL +     if x< -1 {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/block-result/issue-3563.stderr b/tests/ui/block-result/issue-3563.stderr
index 22606a52f85..e03453f3946 100644
--- a/tests/ui/block-result/issue-3563.stderr
+++ b/tests/ui/block-result/issue-3563.stderr
@@ -6,8 +6,9 @@ LL |         || self.b()
    |
 help: there is a method `a` with a similar name
    |
-LL |         || self.a()
-   |                 ~
+LL -         || self.b()
+LL +         || self.a()
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/borrowck/already-borrowed-as-mutable-if-let-133941.stderr b/tests/ui/borrowck/already-borrowed-as-mutable-if-let-133941.stderr
index bb21caccbaf..2f443797dfa 100644
--- a/tests/ui/borrowck/already-borrowed-as-mutable-if-let-133941.stderr
+++ b/tests/ui/borrowck/already-borrowed-as-mutable-if-let-133941.stderr
@@ -15,8 +15,9 @@ LL |     }
    |
 help: consider using the `matches!` macro
    |
-LL |     while matches!(foo.f(), Some(_)) {
-   |           ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     while let Some(_) = foo.f() {
+LL +     while matches!(foo.f(), Some(_)) {
+   |
 
 error[E0499]: cannot borrow `foo` as mutable more than once at a time
   --> $DIR/already-borrowed-as-mutable-if-let-133941.rs:29:9
@@ -35,8 +36,9 @@ LL |     }
    |
 help: consider using the `matches!` macro
    |
-LL |     if matches!(foo.f(), Some(_)) {
-   |        ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     if let Some(_) = foo.f() {
+LL +     if matches!(foo.f(), Some(_)) {
+   |
 
 error[E0499]: cannot borrow `foo` as mutable more than once at a time
   --> $DIR/already-borrowed-as-mutable-if-let-133941.rs:33:9
diff --git a/tests/ui/borrowck/borrowck-struct-update-with-dtor.stderr b/tests/ui/borrowck/borrowck-struct-update-with-dtor.stderr
index bc11204acf2..d953ed2ad3e 100644
--- a/tests/ui/borrowck/borrowck-struct-update-with-dtor.stderr
+++ b/tests/ui/borrowck/borrowck-struct-update-with-dtor.stderr
@@ -33,8 +33,9 @@ LL | struct B;
    | ^^^^^^^^
 help: if `B` implemented `Clone`, you could clone the value from the field instead of using the functional record update syntax
    |
-LL |         let _s2 = S { a: 2, b: s0.b.clone(), c: s0.c.clone() };
-   |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -         let _s2 = S { a: 2, ..s0 };
+LL +         let _s2 = S { a: 2, b: s0.b.clone(), c: s0.c.clone() };
+   |
 
 error[E0509]: cannot move out of type `S<B>`, which implements the `Drop` trait
   --> $DIR/borrowck-struct-update-with-dtor.rs:24:19
@@ -52,8 +53,9 @@ LL | struct B;
    | ^^^^^^^^
 help: if `B` implemented `Clone`, you could clone the value from the field instead of using the functional record update syntax
    |
-LL |         let _s2 = S { a: 2, b: s0.b.clone(), c: s0.c.clone() };
-   |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -         let _s2 = S { a: 2, ..s0 };
+LL +         let _s2 = S { a: 2, b: s0.b.clone(), c: s0.c.clone() };
+   |
 
 error[E0509]: cannot move out of type `S<K>`, which implements the `Drop` trait
   --> $DIR/borrowck-struct-update-with-dtor.rs:29:19
@@ -99,8 +101,9 @@ LL |         let _s2 = T { a: 2, ..s0 };
    |
 help: clone the value from the field instead of using the functional record update syntax
    |
-LL |         let _s2 = T { a: 2, b: s0.b.clone() };
-   |                           ~~~~~~~~~~~~~~~~~
+LL -         let _s2 = T { a: 2, ..s0 };
+LL +         let _s2 = T { a: 2, b: s0.b.clone() };
+   |
 
 error[E0509]: cannot move out of type `T`, which implements the `Drop` trait
   --> $DIR/borrowck-struct-update-with-dtor.rs:42:19
@@ -113,8 +116,9 @@ LL |         let _s2 = T { ..s0 };
    |
 help: clone the value from the field instead of using the functional record update syntax
    |
-LL |         let _s2 = T { b: s0.b.clone(), ..s0 };
-   |                     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -         let _s2 = T { ..s0 };
+LL +         let _s2 = T { b: s0.b.clone(), ..s0 };
+   |
 
 error[E0509]: cannot move out of type `T`, which implements the `Drop` trait
   --> $DIR/borrowck-struct-update-with-dtor.rs:47:32
diff --git a/tests/ui/borrowck/borrowck-unsafe-static-mutable-borrows.stderr b/tests/ui/borrowck/borrowck-unsafe-static-mutable-borrows.stderr
index e4dfa6d7fba..1e3570fc855 100644
--- a/tests/ui/borrowck/borrowck-unsafe-static-mutable-borrows.stderr
+++ b/tests/ui/borrowck/borrowck-unsafe-static-mutable-borrows.stderr
@@ -9,8 +9,9 @@ LL |         let sfoo: *mut Foo = &mut SFOO;
    = note: `#[warn(static_mut_refs)]` on by default
 help: use `&raw mut` instead to create a raw pointer
    |
-LL |         let sfoo: *mut Foo = &raw mut SFOO;
-   |                              ~~~~~~~~
+LL -         let sfoo: *mut Foo = &mut SFOO;
+LL +         let sfoo: *mut Foo = &raw mut SFOO;
+   |
 
 warning: 1 warning emitted
 
diff --git a/tests/ui/borrowck/index-mut-help.stderr b/tests/ui/borrowck/index-mut-help.stderr
index c4c9c1c5313..6c3bd0df20b 100644
--- a/tests/ui/borrowck/index-mut-help.stderr
+++ b/tests/ui/borrowck/index-mut-help.stderr
@@ -7,8 +7,9 @@ LL |     map["peter"].clear();
    = help: trait `IndexMut` is required to modify indexed content, but it is not implemented for `HashMap<&str, String>`
 help: to modify a `HashMap<&str, String>` use `.get_mut()`
    |
-LL |     if let Some(val) = map.get_mut("peter") { val.clear(); };
-   |     ++++++++++++++++++    ~~~~~~~~~       ~~~~~~~        +++
+LL -     map["peter"].clear();
+LL +     if let Some(val) = map.get_mut("peter") { val.clear(); };
+   |
 
 error[E0594]: cannot assign to data in an index of `HashMap<&str, String>`
   --> $DIR/index-mut-help.rs:11:5
@@ -19,12 +20,15 @@ LL |     map["peter"] = "0".to_string();
    = help: trait `IndexMut` is required to modify indexed content, but it is not implemented for `HashMap<&str, String>`
 help: use `.insert()` to insert a value into a `HashMap<&str, String>`, `.get_mut()` to modify it, or the entry API for more flexibility
    |
-LL |     map.insert("peter", "0".to_string());
-   |        ~~~~~~~~       ~                +
-LL |     if let Some(val) = map.get_mut("peter") { *val = "0".to_string(); };
-   |     ++++++++++++++++++    ~~~~~~~~~       ~~~~~~~~                  +++
-LL |     let val = map.entry("peter").or_insert("0".to_string());
-   |     +++++++++    ~~~~~~~       ~~~~~~~~~~~~               +
+LL -     map["peter"] = "0".to_string();
+LL +     map.insert("peter", "0".to_string());
+   |
+LL -     map["peter"] = "0".to_string();
+LL +     if let Some(val) = map.get_mut("peter") { *val = "0".to_string(); };
+   |
+LL -     map["peter"] = "0".to_string();
+LL +     let val = map.entry("peter").or_insert("0".to_string());
+   |
 
 error[E0596]: cannot borrow data in an index of `HashMap<&str, String>` as mutable
   --> $DIR/index-mut-help.rs:12:13
diff --git a/tests/ui/borrowck/issue-115259-suggest-iter-mut.stderr b/tests/ui/borrowck/issue-115259-suggest-iter-mut.stderr
index 40ab2e61d6a..53b833e7c91 100644
--- a/tests/ui/borrowck/issue-115259-suggest-iter-mut.stderr
+++ b/tests/ui/borrowck/issue-115259-suggest-iter-mut.stderr
@@ -8,8 +8,9 @@ LL |         self.layers.iter().fold(0, |result, mut layer| result + layer.proce
    |
 help: you may want to use `iter_mut` here
    |
-LL |         self.layers.iter_mut().fold(0, |result, mut layer| result + layer.process())
-   |                     ~~~~~~~~
+LL -         self.layers.iter().fold(0, |result, mut layer| result + layer.process())
+LL +         self.layers.iter_mut().fold(0, |result, mut layer| result + layer.process())
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/borrowck/issue-62387-suggest-iter-mut-2.stderr b/tests/ui/borrowck/issue-62387-suggest-iter-mut-2.stderr
index 466f19eb0ab..86d53012cf3 100644
--- a/tests/ui/borrowck/issue-62387-suggest-iter-mut-2.stderr
+++ b/tests/ui/borrowck/issue-62387-suggest-iter-mut-2.stderr
@@ -8,8 +8,9 @@ LL |             vec.iter().flat_map(|container| container.things()).cloned().co
    |
 help: you may want to use `iter_mut` here
    |
-LL |             vec.iter_mut().flat_map(|container| container.things()).cloned().collect::<Vec<PathBuf>>();
-   |                 ~~~~~~~~
+LL -             vec.iter().flat_map(|container| container.things()).cloned().collect::<Vec<PathBuf>>();
+LL +             vec.iter_mut().flat_map(|container| container.things()).cloned().collect::<Vec<PathBuf>>();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/borrowck/issue-62387-suggest-iter-mut.stderr b/tests/ui/borrowck/issue-62387-suggest-iter-mut.stderr
index fd58e433020..f0a17d76a67 100644
--- a/tests/ui/borrowck/issue-62387-suggest-iter-mut.stderr
+++ b/tests/ui/borrowck/issue-62387-suggest-iter-mut.stderr
@@ -8,8 +8,9 @@ LL |     v.iter().for_each(|a| a.double());
    |
 help: you may want to use `iter_mut` here
    |
-LL |     v.iter_mut().for_each(|a| a.double());
-   |       ~~~~~~~~
+LL -     v.iter().for_each(|a| a.double());
+LL +     v.iter_mut().for_each(|a| a.double());
+   |
 
 error[E0596]: cannot borrow `*a` as mutable, as it is behind a `&` reference
   --> $DIR/issue-62387-suggest-iter-mut.rs:25:39
@@ -21,8 +22,9 @@ LL |     v.iter().rev().rev().for_each(|a| a.double());
    |
 help: you may want to use `iter_mut` here
    |
-LL |     v.iter_mut().rev().rev().for_each(|a| a.double());
-   |       ~~~~~~~~
+LL -     v.iter().rev().rev().for_each(|a| a.double());
+LL +     v.iter_mut().rev().rev().for_each(|a| a.double());
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/borrowck/issue-85765-closure.stderr b/tests/ui/borrowck/issue-85765-closure.stderr
index 936ddd67bcd..fa4e5441508 100644
--- a/tests/ui/borrowck/issue-85765-closure.stderr
+++ b/tests/ui/borrowck/issue-85765-closure.stderr
@@ -6,8 +6,9 @@ LL |         rofl.push(Vec::new());
    |
 help: consider changing this binding's type
    |
-LL |         let rofl: &mut Vec<Vec<i32>> = &mut test;
-   |                   ~~~~~~~~~~~~~~~~~~
+LL -         let rofl: &Vec<Vec<i32>> = &mut test;
+LL +         let rofl: &mut Vec<Vec<i32>> = &mut test;
+   |
 
 error[E0594]: cannot assign to `*r`, which is behind a `&` reference
   --> $DIR/issue-85765-closure.rs:13:9
@@ -28,8 +29,9 @@ LL |         *x = 1;
    |
 help: consider changing this binding's type
    |
-LL |         let x: &mut usize = &mut{0};
-   |                ~~~~~~~~~~
+LL -         let x: &usize = &mut{0};
+LL +         let x: &mut usize = &mut{0};
+   |
 
 error[E0594]: cannot assign to `*y`, which is behind a `&` reference
   --> $DIR/issue-85765-closure.rs:27:9
@@ -39,8 +41,9 @@ LL |         *y = 1;
    |
 help: consider changing this binding's type
    |
-LL |         let y: &mut usize = &mut(0);
-   |                ~~~~~~~~~~
+LL -         let y: &usize = &mut(0);
+LL +         let y: &mut usize = &mut(0);
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/borrowck/issue-85765.stderr b/tests/ui/borrowck/issue-85765.stderr
index 57900bfb612..9354294f52b 100644
--- a/tests/ui/borrowck/issue-85765.stderr
+++ b/tests/ui/borrowck/issue-85765.stderr
@@ -6,8 +6,9 @@ LL |     rofl.push(Vec::new());
    |
 help: consider changing this binding's type
    |
-LL |     let rofl: &mut Vec<Vec<i32>> = &mut test;
-   |               ~~~~~~~~~~~~~~~~~~
+LL -     let rofl: &Vec<Vec<i32>> = &mut test;
+LL +     let rofl: &mut Vec<Vec<i32>> = &mut test;
+   |
 
 error[E0594]: cannot assign to `*r`, which is behind a `&` reference
   --> $DIR/issue-85765.rs:12:5
@@ -28,8 +29,9 @@ LL |     *x = 1;
    |
 help: consider changing this binding's type
    |
-LL |     let x: &mut usize = &mut{0};
-   |            ~~~~~~~~~~
+LL -     let x: &usize = &mut{0};
+LL +     let x: &mut usize = &mut{0};
+   |
 
 error[E0594]: cannot assign to `*y`, which is behind a `&` reference
   --> $DIR/issue-85765.rs:26:5
@@ -39,8 +41,9 @@ LL |     *y = 1;
    |
 help: consider changing this binding's type
    |
-LL |     let y: &mut usize = &mut(0);
-   |            ~~~~~~~~~~
+LL -     let y: &usize = &mut(0);
+LL +     let y: &mut usize = &mut(0);
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/borrowck/no-invalid-mut-suggestion-for-raw-pointer-issue-127562.stderr b/tests/ui/borrowck/no-invalid-mut-suggestion-for-raw-pointer-issue-127562.stderr
index dbe834b6b78..9bcfbd33795 100644
--- a/tests/ui/borrowck/no-invalid-mut-suggestion-for-raw-pointer-issue-127562.stderr
+++ b/tests/ui/borrowck/no-invalid-mut-suggestion-for-raw-pointer-issue-127562.stderr
@@ -6,8 +6,9 @@ LL |     unsafe { *ptr = 3; }
    |
 help: consider changing this to be a mutable pointer
    |
-LL |     let ptr = &raw mut val;
-   |                    ~~~
+LL -     let ptr = &raw const val;
+LL +     let ptr = &raw mut val;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/borrowck/suggest-lt-on-ty-alias-w-generics.stderr b/tests/ui/borrowck/suggest-lt-on-ty-alias-w-generics.stderr
index 28b4b4aa290..98fb49824ae 100644
--- a/tests/ui/borrowck/suggest-lt-on-ty-alias-w-generics.stderr
+++ b/tests/ui/borrowck/suggest-lt-on-ty-alias-w-generics.stderr
@@ -12,8 +12,9 @@ LL | |     })
    |
 help: to declare that the trait object captures data from argument `x`, you can add a lifetime parameter `'a` in the type alias
    |
-LL | type Lazy<'a, T> = Box<dyn Fn() -> T + 'a>;
-   |           +++                          ~~
+LL - type Lazy<T> = Box<dyn Fn() -> T + 'static>;
+LL + type Lazy<'a, T> = Box<dyn Fn() -> T + 'a>;
+   |
 
 error[E0373]: closure may outlive the current function, but it borrows `x`, which is owned by the current function
   --> $DIR/suggest-lt-on-ty-alias-w-generics.rs:4:14
diff --git a/tests/ui/borrowck/unmatched-arg-and-hir-arg-issue-126385.stderr b/tests/ui/borrowck/unmatched-arg-and-hir-arg-issue-126385.stderr
index 0ae301b2090..a18c4e72719 100644
--- a/tests/ui/borrowck/unmatched-arg-and-hir-arg-issue-126385.stderr
+++ b/tests/ui/borrowck/unmatched-arg-and-hir-arg-issue-126385.stderr
@@ -16,8 +16,9 @@ LL | impl MyStruct<'_> {
    | ----------------- `Self` is on type `MyStruct` in this `impl`
 help: the `Self` type doesn't accept type parameters, use the concrete type's name `MyStruct` instead if you want to specify its type parameters
    |
-LL |     pub fn f(field: &[u32]) -> MyStruct<u32> {
-   |                                ~~~~~~~~
+LL -     pub fn f(field: &[u32]) -> Self<u32> {
+LL +     pub fn f(field: &[u32]) -> MyStruct<u32> {
+   |
 
 error: lifetime may not live long enough
   --> $DIR/unmatched-arg-and-hir-arg-issue-126385.rs:10:9
diff --git a/tests/ui/btreemap/btreemap-index-mut-2.stderr b/tests/ui/btreemap/btreemap-index-mut-2.stderr
index c42462ee1eb..74a8aaf8aee 100644
--- a/tests/ui/btreemap/btreemap-index-mut-2.stderr
+++ b/tests/ui/btreemap/btreemap-index-mut-2.stderr
@@ -7,12 +7,15 @@ LL |         map[&0] = 1;
    = help: trait `IndexMut` is required to modify indexed content, but it is not implemented for `BTreeMap<u32, u32>`
 help: use `.insert()` to insert a value into a `BTreeMap<u32, u32>`, `.get_mut()` to modify it, or the entry API for more flexibility
    |
-LL |         map.insert(&0, 1);
-   |            ~~~~~~~~  ~  +
-LL |         if let Some(val) = map.get_mut(&0) { *val = 1; };
-   |         ++++++++++++++++++    ~~~~~~~~~  ~~~~~~~~    +++
-LL |         let val = map.entry(&0).or_insert(1);
-   |         +++++++++    ~~~~~~~  ~~~~~~~~~~~~ +
+LL -         map[&0] = 1;
+LL +         map.insert(&0, 1);
+   |
+LL -         map[&0] = 1;
+LL +         if let Some(val) = map.get_mut(&0) { *val = 1; };
+   |
+LL -         map[&0] = 1;
+LL +         let val = map.entry(&0).or_insert(1);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/btreemap/btreemap-index-mut.stderr b/tests/ui/btreemap/btreemap-index-mut.stderr
index f402f503c15..e8850ed2a17 100644
--- a/tests/ui/btreemap/btreemap-index-mut.stderr
+++ b/tests/ui/btreemap/btreemap-index-mut.stderr
@@ -7,12 +7,15 @@ LL |     map[&0] = 1;
    = help: trait `IndexMut` is required to modify indexed content, but it is not implemented for `BTreeMap<u32, u32>`
 help: use `.insert()` to insert a value into a `BTreeMap<u32, u32>`, `.get_mut()` to modify it, or the entry API for more flexibility
    |
-LL |     map.insert(&0, 1);
-   |        ~~~~~~~~  ~  +
-LL |     if let Some(val) = map.get_mut(&0) { *val = 1; };
-   |     ++++++++++++++++++    ~~~~~~~~~  ~~~~~~~~    +++
-LL |     let val = map.entry(&0).or_insert(1);
-   |     +++++++++    ~~~~~~~  ~~~~~~~~~~~~ +
+LL -     map[&0] = 1;
+LL +     map.insert(&0, 1);
+   |
+LL -     map[&0] = 1;
+LL +     if let Some(val) = map.get_mut(&0) { *val = 1; };
+   |
+LL -     map[&0] = 1;
+LL +     let val = map.entry(&0).or_insert(1);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/c-variadic/issue-86053-1.stderr b/tests/ui/c-variadic/issue-86053-1.stderr
index 67a619e46d5..4ad3b73fd66 100644
--- a/tests/ui/c-variadic/issue-86053-1.stderr
+++ b/tests/ui/c-variadic/issue-86053-1.stderr
@@ -63,8 +63,9 @@ LL |     self , ... ,   self ,   self , ... ) where F : FnOnce ( & 'a & 'b usize
    |
 help: a trait with a similar name exists
    |
-LL |     self , ... ,   self ,   self , ... ) where Fn : FnOnce ( & 'a & 'b usize ) {
-   |                                                ~~
+LL -     self , ... ,   self ,   self , ... ) where F : FnOnce ( & 'a & 'b usize ) {
+LL +     self , ... ,   self ,   self , ... ) where Fn : FnOnce ( & 'a & 'b usize ) {
+   |
 help: you might be missing a type parameter
    |
 LL | fn ordering4 < 'a , 'b, F     > ( a :            ,   self , self ,   self ,
diff --git a/tests/ui/c-variadic/variadic-ffi-1.stderr b/tests/ui/c-variadic/variadic-ffi-1.stderr
index 7eca4cb61bc..061eae9729e 100644
--- a/tests/ui/c-variadic/variadic-ffi-1.stderr
+++ b/tests/ui/c-variadic/variadic-ffi-1.stderr
@@ -17,8 +17,9 @@ LL |     fn foo(f: isize, x: u8, ...);
    |        ^^^ -         -
 help: provide the arguments
    |
-LL |         foo(/* isize */, /* u8 */);
-   |            ~~~~~~~~~~~~~~~~~~~~~~~
+LL -         foo();
+LL +         foo(/* isize */, /* u8 */);
+   |
 
 error[E0060]: this function takes at least 2 arguments but 1 argument was supplied
   --> $DIR/variadic-ffi-1.rs:23:9
@@ -33,8 +34,9 @@ LL |     fn foo(f: isize, x: u8, ...);
    |        ^^^           -
 help: provide the argument
    |
-LL |         foo(1, /* u8 */);
-   |            ~~~~~~~~~~~~~
+LL -         foo(1);
+LL +         foo(1, /* u8 */);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/variadic-ffi-1.rs:25:56
diff --git a/tests/ui/cast/cast-as-bool.stderr b/tests/ui/cast/cast-as-bool.stderr
index 4ff56a95e49..b2c9ae5c6ad 100644
--- a/tests/ui/cast/cast-as-bool.stderr
+++ b/tests/ui/cast/cast-as-bool.stderr
@@ -6,8 +6,9 @@ LL |     let u = 5 as bool;
    |
 help: compare with zero instead
    |
-LL |     let u = 5 != 0;
-   |               ~~~~
+LL -     let u = 5 as bool;
+LL +     let u = 5 != 0;
+   |
 
 error[E0054]: cannot cast `i32` as `bool`
   --> $DIR/cast-as-bool.rs:6:13
@@ -17,8 +18,9 @@ LL |     let t = (1 + 2) as bool;
    |
 help: compare with zero instead
    |
-LL |     let t = (1 + 2) != 0;
-   |                     ~~~~
+LL -     let t = (1 + 2) as bool;
+LL +     let t = (1 + 2) != 0;
+   |
 
 error[E0054]: cannot cast `u32` as `bool`
   --> $DIR/cast-as-bool.rs:10:13
@@ -28,8 +30,9 @@ LL |     let _ = 5_u32 as bool;
    |
 help: compare with zero instead
    |
-LL |     let _ = 5_u32 != 0;
-   |                   ~~~~
+LL -     let _ = 5_u32 as bool;
+LL +     let _ = 5_u32 != 0;
+   |
 
 error[E0054]: cannot cast `f64` as `bool`
   --> $DIR/cast-as-bool.rs:13:13
@@ -39,8 +42,9 @@ LL |     let _ = 64.0_f64 as bool;
    |
 help: compare with zero instead
    |
-LL |     let _ = 64.0_f64 != 0;
-   |                      ~~~~
+LL -     let _ = 64.0_f64 as bool;
+LL +     let _ = 64.0_f64 != 0;
+   |
 
 error[E0054]: cannot cast `IntEnum` as `bool`
   --> $DIR/cast-as-bool.rs:24:13
@@ -86,8 +90,9 @@ LL |     let v = "hello" as bool;
    |
 help: consider using the `is_empty` method on `&'static str` to determine if it contains anything
    |
-LL |     let v = !"hello".is_empty();
-   |             +       ~~~~~~~~~~~
+LL -     let v = "hello" as bool;
+LL +     let v = !"hello".is_empty();
+   |
 
 error: aborting due to 11 previous errors
 
diff --git a/tests/ui/cast/cast-rfc0401-2.stderr b/tests/ui/cast/cast-rfc0401-2.stderr
index b7fb420533e..f2956cdfa33 100644
--- a/tests/ui/cast/cast-rfc0401-2.stderr
+++ b/tests/ui/cast/cast-rfc0401-2.stderr
@@ -6,8 +6,9 @@ LL |     let _ = 3 as bool;
    |
 help: compare with zero instead
    |
-LL |     let _ = 3 != 0;
-   |               ~~~~
+LL -     let _ = 3 as bool;
+LL +     let _ = 3 != 0;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/cast/ice-cast-type-with-error-124848.stderr b/tests/ui/cast/ice-cast-type-with-error-124848.stderr
index 1e2adcc7d9e..402ee27386d 100644
--- a/tests/ui/cast/ice-cast-type-with-error-124848.stderr
+++ b/tests/ui/cast/ice-cast-type-with-error-124848.stderr
@@ -48,8 +48,9 @@ LL | struct MyType<'a>(Cell<Option<&'unpinned mut MyType<'a>>>, Pin);
    |        ^^^^^^
 help: provide the argument
    |
-LL |     let mut unpinned = MyType(Cell::new(None), /* value */);
-   |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let mut unpinned = MyType(Cell::new(None));
+LL +     let mut unpinned = MyType(Cell::new(None), /* value */);
+   |
 
 error[E0606]: casting `&MyType<'_>` as `*const Cell<Option<&mut MyType<'_>>>` is invalid
   --> $DIR/ice-cast-type-with-error-124848.rs:14:20
diff --git a/tests/ui/cast/issue-106883-is-empty.stderr b/tests/ui/cast/issue-106883-is-empty.stderr
index 7115c7704ca..5ebabc9ed83 100644
--- a/tests/ui/cast/issue-106883-is-empty.stderr
+++ b/tests/ui/cast/issue-106883-is-empty.stderr
@@ -6,8 +6,9 @@ LL |     let _ = "foo" as bool;
    |
 help: consider using the `is_empty` method on `&'static str` to determine if it contains anything
    |
-LL |     let _ = !"foo".is_empty();
-   |             +     ~~~~~~~~~~~
+LL -     let _ = "foo" as bool;
+LL +     let _ = !"foo".is_empty();
+   |
 
 error[E0605]: non-primitive cast: `String` as `bool`
   --> $DIR/issue-106883-is-empty.rs:17:13
@@ -22,8 +23,9 @@ LL |     let _ = String::from("foo") as bool;
    |             ^^^^^^^^^^^^^^^^^^^
 help: consider using the `is_empty` method on `String` to determine if it contains anything
    |
-LL |     let _ = !String::from("foo").is_empty();
-   |             +                   ~~~~~~~~~~~
+LL -     let _ = String::from("foo") as bool;
+LL +     let _ = !String::from("foo").is_empty();
+   |
 
 error[E0605]: non-primitive cast: `Foo` as `bool`
   --> $DIR/issue-106883-is-empty.rs:20:13
@@ -38,8 +40,9 @@ LL |     let _ = Foo as bool;
    |             ^^^
 help: consider using the `is_empty` method on `Foo` to determine if it contains anything
    |
-LL |     let _ = !Foo.is_empty();
-   |             +   ~~~~~~~~~~~
+LL -     let _ = Foo as bool;
+LL +     let _ = !Foo.is_empty();
+   |
 
 error[E0606]: casting `&[i32]` as `bool` is invalid
   --> $DIR/issue-106883-is-empty.rs:25:5
@@ -49,8 +52,9 @@ LL |     bar as bool
    |
 help: consider using the `is_empty` method on `&[i32]` to determine if it contains anything
    |
-LL |     !bar.is_empty()
-   |     +   ~~~~~~~~~~~
+LL -     bar as bool
+LL +     !bar.is_empty()
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/cfg/cfg-method-receiver.stderr b/tests/ui/cfg/cfg-method-receiver.stderr
index 5767a7c1b4b..639413b90fa 100644
--- a/tests/ui/cfg/cfg-method-receiver.stderr
+++ b/tests/ui/cfg/cfg-method-receiver.stderr
@@ -16,8 +16,9 @@ LL |     cbor_map! { #[cfg(test)] 4};
    = note: this error originates in the macro `cbor_map` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: you must specify a concrete type for this numeric value, like `i32`
    |
-LL |     cbor_map! { #[cfg(test)] 4_i32};
-   |                              ~~~~~
+LL -     cbor_map! { #[cfg(test)] 4};
+LL +     cbor_map! { #[cfg(test)] 4_i32};
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/check-cfg/cfg-value-for-cfg-name-multiple.stderr b/tests/ui/check-cfg/cfg-value-for-cfg-name-multiple.stderr
index 138c7fc7584..5279f3b0901 100644
--- a/tests/ui/check-cfg/cfg-value-for-cfg-name-multiple.stderr
+++ b/tests/ui/check-cfg/cfg-value-for-cfg-name-multiple.stderr
@@ -10,12 +10,14 @@ LL | #[cfg(my_value)]
    = note: `#[warn(unexpected_cfgs)]` on by default
 help: found config with similar value
    |
-LL | #[cfg(foo = "my_value")]
-   |       ~~~~~~~~~~~~~~~~
+LL - #[cfg(my_value)]
+LL + #[cfg(foo = "my_value")]
+   |
 help: found config with similar value
    |
-LL | #[cfg(bar = "my_value")]
-   |       ~~~~~~~~~~~~~~~~
+LL - #[cfg(my_value)]
+LL + #[cfg(bar = "my_value")]
+   |
 
 warning: 1 warning emitted
 
diff --git a/tests/ui/check-cfg/diagnotics.cargo.stderr b/tests/ui/check-cfg/diagnotics.cargo.stderr
index a440ccaaf58..ab7111eca24 100644
--- a/tests/ui/check-cfg/diagnotics.cargo.stderr
+++ b/tests/ui/check-cfg/diagnotics.cargo.stderr
@@ -17,8 +17,9 @@ LL | #[cfg(featur = "foo")]
    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
 help: there is a config with a similar name and value
    |
-LL | #[cfg(feature = "foo")]
-   |       ~~~~~~~
+LL - #[cfg(featur = "foo")]
+LL + #[cfg(feature = "foo")]
+   |
 
 warning: unexpected `cfg` condition name: `featur`
   --> $DIR/diagnotics.rs:17:7
@@ -30,8 +31,9 @@ LL | #[cfg(featur = "fo")]
    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
 help: there is a config with a similar name and different values
    |
-LL | #[cfg(feature = "foo")]
-   |       ~~~~~~~~~~~~~~~
+LL - #[cfg(featur = "fo")]
+LL + #[cfg(feature = "foo")]
+   |
 
 warning: unexpected `cfg` condition name: `no_value`
   --> $DIR/diagnotics.rs:24:7
@@ -60,8 +62,9 @@ LL | #[cfg(no_value = "foo")]
    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
 help: there is a config with a similar name and no value
    |
-LL | #[cfg(no_values)]
-   |       ~~~~~~~~~
+LL - #[cfg(no_value = "foo")]
+LL + #[cfg(no_values)]
+   |
 
 warning: unexpected `cfg` condition value: `bar`
   --> $DIR/diagnotics.rs:32:7
diff --git a/tests/ui/check-cfg/diagnotics.rustc.stderr b/tests/ui/check-cfg/diagnotics.rustc.stderr
index 6868be482d8..4aae1f00e70 100644
--- a/tests/ui/check-cfg/diagnotics.rustc.stderr
+++ b/tests/ui/check-cfg/diagnotics.rustc.stderr
@@ -19,8 +19,9 @@ LL | #[cfg(featur = "foo")]
    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
 help: there is a config with a similar name and value
    |
-LL | #[cfg(feature = "foo")]
-   |       ~~~~~~~
+LL - #[cfg(featur = "foo")]
+LL + #[cfg(feature = "foo")]
+   |
 
 warning: unexpected `cfg` condition name: `featur`
   --> $DIR/diagnotics.rs:17:7
@@ -33,8 +34,9 @@ LL | #[cfg(featur = "fo")]
    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
 help: there is a config with a similar name and different values
    |
-LL | #[cfg(feature = "foo")]
-   |       ~~~~~~~~~~~~~~~
+LL - #[cfg(featur = "fo")]
+LL + #[cfg(feature = "foo")]
+   |
 
 warning: unexpected `cfg` condition name: `no_value`
   --> $DIR/diagnotics.rs:24:7
@@ -55,8 +57,9 @@ LL | #[cfg(no_value = "foo")]
    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
 help: there is a config with a similar name and no value
    |
-LL | #[cfg(no_values)]
-   |       ~~~~~~~~~
+LL - #[cfg(no_value = "foo")]
+LL + #[cfg(no_values)]
+   |
 
 warning: unexpected `cfg` condition value: `bar`
   --> $DIR/diagnotics.rs:32:7
diff --git a/tests/ui/check-cfg/well-known-names.stderr b/tests/ui/check-cfg/well-known-names.stderr
index 000315443f8..4edf608589d 100644
--- a/tests/ui/check-cfg/well-known-names.stderr
+++ b/tests/ui/check-cfg/well-known-names.stderr
@@ -48,8 +48,9 @@ LL | #[cfg(target_oz = "linux")]
    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
 help: there is a config with a similar name and value
    |
-LL | #[cfg(target_os = "linux")]
-   |       ~~~~~~~~~
+LL - #[cfg(target_oz = "linux")]
+LL + #[cfg(target_os = "linux")]
+   |
 
 warning: unexpected `cfg` condition name: `features`
   --> $DIR/well-known-names.rs:19:7
diff --git a/tests/ui/closures/2229_closure_analysis/bad-pattern.stderr b/tests/ui/closures/2229_closure_analysis/bad-pattern.stderr
index b5ad8eb790f..f5cbecc5704 100644
--- a/tests/ui/closures/2229_closure_analysis/bad-pattern.stderr
+++ b/tests/ui/closures/2229_closure_analysis/bad-pattern.stderr
@@ -108,8 +108,9 @@ LL |         let PAT = v1;
    = note: the matched value is of type `u32`
 help: introduce a variable instead
    |
-LL |         let PAT_var = v1;
-   |             ~~~~~~~
+LL -         let PAT = v1;
+LL +         let PAT_var = v1;
+   |
 
 error: aborting due to 7 previous errors
 
diff --git a/tests/ui/closures/2229_closure_analysis/issue-118144.stderr b/tests/ui/closures/2229_closure_analysis/issue-118144.stderr
index 87084e60237..f717343122e 100644
--- a/tests/ui/closures/2229_closure_analysis/issue-118144.stderr
+++ b/tests/ui/closures/2229_closure_analysis/issue-118144.stderr
@@ -8,8 +8,9 @@ LL |         V(x) = func_arg;
    |
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |         V(x) = &*func_arg;
-   |                ~~~~~~~~~~
+LL -         V(x) = func_arg;
+LL +         V(x) = &*func_arg;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/closures/issue-78720.stderr b/tests/ui/closures/issue-78720.stderr
index 5d65c87b0fd..acce1dc191a 100644
--- a/tests/ui/closures/issue-78720.stderr
+++ b/tests/ui/closures/issue-78720.stderr
@@ -15,8 +15,9 @@ LL |     _func: F,
    |
 help: a trait with a similar name exists
    |
-LL |     _func: Fn,
-   |            ~~
+LL -     _func: F,
+LL +     _func: Fn,
+   |
 help: you might be missing a type parameter
    |
 LL | struct Map2<Segment2, F> {
diff --git a/tests/ui/closures/multiple-fn-bounds.stderr b/tests/ui/closures/multiple-fn-bounds.stderr
index 861b39b4d07..9b824fa0eef 100644
--- a/tests/ui/closures/multiple-fn-bounds.stderr
+++ b/tests/ui/closures/multiple-fn-bounds.stderr
@@ -21,8 +21,9 @@ LL | fn foo<F: Fn(&char) -> bool + Fn(char) -> bool>(f: F) {
    |                               ^^^^^^^^^^^^^^^^ required by this bound in `foo`
 help: consider adjusting the signature so it does not borrow its argument
    |
-LL |     foo(move |char| v);
-   |               ~~~~
+LL -     foo(move |x| v);
+LL +     foo(move |char| v);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.stderr b/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.stderr
index f20e67e3d94..0560f0eec1c 100644
--- a/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.stderr
+++ b/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.stderr
@@ -14,8 +14,9 @@ LL |     f1: extern "C-cmse-nonsecure-call" fn<U: Copy>(U, u32, u32, u32) -> u64
    |
 help: a type parameter with a similar name exists
    |
-LL |     f1: extern "C-cmse-nonsecure-call" fn<U: Copy>(T, u32, u32, u32) -> u64,
-   |                                                    ~
+LL -     f1: extern "C-cmse-nonsecure-call" fn<U: Copy>(U, u32, u32, u32) -> u64,
+LL +     f1: extern "C-cmse-nonsecure-call" fn<U: Copy>(T, u32, u32, u32) -> u64,
+   |
 help: you might be missing a type parameter
    |
 LL | struct Test<T: Copy, U> {
diff --git a/tests/ui/codemap_tests/two_files.stderr b/tests/ui/codemap_tests/two_files.stderr
index d833d4944bf..3b542fdbd33 100644
--- a/tests/ui/codemap_tests/two_files.stderr
+++ b/tests/ui/codemap_tests/two_files.stderr
@@ -7,7 +7,8 @@ LL | impl Bar for Baz { }
 help: you might have meant to use `#![feature(trait_alias)]` instead of a `type` alias
   --> $DIR/two_files_data.rs:5:1
    |
-LL | trait Bar = dyn Foo;
+LL - type Bar = dyn Foo;
+LL + trait Bar = dyn Foo;
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/compare-method/bad-self-type.stderr b/tests/ui/compare-method/bad-self-type.stderr
index a3a31f43447..f662b5a11cb 100644
--- a/tests/ui/compare-method/bad-self-type.stderr
+++ b/tests/ui/compare-method/bad-self-type.stderr
@@ -8,8 +8,9 @@ LL |     fn poll(self, _: &mut Context<'_>) -> Poll<()> {
               found signature `fn(MyFuture, &mut Context<'_>) -> Poll<_>`
 help: change the self-receiver type to match the trait
    |
-LL |     fn poll(self: Pin<&mut MyFuture>, _: &mut Context<'_>) -> Poll<()> {
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     fn poll(self, _: &mut Context<'_>) -> Poll<()> {
+LL +     fn poll(self: Pin<&mut MyFuture>, _: &mut Context<'_>) -> Poll<()> {
+   |
 
 error[E0053]: method `foo` has an incompatible type for trait
   --> $DIR/bad-self-type.rs:22:18
@@ -26,8 +27,9 @@ LL |     fn foo(self);
               found signature `fn(Box<MyFuture>)`
 help: change the self-receiver type to match the trait
    |
-LL |     fn foo(self) {}
-   |            ~~~~
+LL -     fn foo(self: Box<Self>) {}
+LL +     fn foo(self) {}
+   |
 
 error[E0053]: method `bar` has an incompatible type for trait
   --> $DIR/bad-self-type.rs:24:17
diff --git a/tests/ui/compare-method/issue-90444.stderr b/tests/ui/compare-method/issue-90444.stderr
index f05c9939c00..c69d63b3e30 100644
--- a/tests/ui/compare-method/issue-90444.stderr
+++ b/tests/ui/compare-method/issue-90444.stderr
@@ -8,8 +8,9 @@ LL |     fn from(_: fn((), (), &mut ())) -> Self {
               found signature `fn(for<'a> fn((), (), &'a mut ())) -> A`
 help: change the parameter type to match the trait
    |
-LL |     fn from(_: for<'a> fn((), (), &'a ())) -> Self {
-   |                ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     fn from(_: fn((), (), &mut ())) -> Self {
+LL +     fn from(_: for<'a> fn((), (), &'a ())) -> Self {
+   |
 
 error[E0053]: method `from` has an incompatible type for trait
   --> $DIR/issue-90444.rs:11:16
@@ -21,8 +22,9 @@ LL |     fn from(_: fn((), (), u64)) -> Self {
               found signature `fn(fn((), (), u64)) -> B`
 help: change the parameter type to match the trait
    |
-LL |     fn from(_: fn((), (), u32)) -> Self {
-   |                ~~~~~~~~~~~~~~~
+LL -     fn from(_: fn((), (), u64)) -> Self {
+LL +     fn from(_: fn((), (), u32)) -> Self {
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/compare-method/region-extra-2.stderr b/tests/ui/compare-method/region-extra-2.stderr
index 3f55f673117..d19d4f28f12 100644
--- a/tests/ui/compare-method/region-extra-2.stderr
+++ b/tests/ui/compare-method/region-extra-2.stderr
@@ -9,8 +9,9 @@ LL |     fn renew<'b: 'a>(self) -> &'b mut [T] where 'a: 'b {
    |
 help: copy the `where` clause predicates from the trait
    |
-LL |     fn renew<'b: 'a>(self) -> &'b mut [T] where 'b: 'a {
-   |                                           ~~~~~~~~~~~~
+LL -     fn renew<'b: 'a>(self) -> &'b mut [T] where 'a: 'b {
+LL +     fn renew<'b: 'a>(self) -> &'b mut [T] where 'b: 'a {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/compare-method/reordered-type-param.stderr b/tests/ui/compare-method/reordered-type-param.stderr
index 1e8266e213d..536364871a3 100644
--- a/tests/ui/compare-method/reordered-type-param.stderr
+++ b/tests/ui/compare-method/reordered-type-param.stderr
@@ -18,8 +18,9 @@ LL |   fn b<C:Clone,D>(&self, x: C) -> C;
    = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters
 help: change the parameter type to match the trait
    |
-LL |   fn b<F:Clone,G>(&self, _x: F) -> G { panic!() }
-   |                              ~
+LL -   fn b<F:Clone,G>(&self, _x: G) -> G { panic!() }
+LL +   fn b<F:Clone,G>(&self, _x: F) -> G { panic!() }
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/conditional-compilation/cfg-attr-parse.stderr b/tests/ui/conditional-compilation/cfg-attr-parse.stderr
index 759df3c90c6..1605761e591 100644
--- a/tests/ui/conditional-compilation/cfg-attr-parse.stderr
+++ b/tests/ui/conditional-compilation/cfg-attr-parse.stderr
@@ -7,8 +7,9 @@ LL | #[cfg_attr()]
    = note: for more information, visit <https://doc.rust-lang.org/reference/conditional-compilation.html#the-cfg_attr-attribute>
 help: missing condition and attribute
    |
-LL | #[cfg_attr(condition, attribute, other_attribute, ...)]
-   | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - #[cfg_attr()]
+LL + #[cfg_attr(condition, attribute, other_attribute, ...)]
+   |
 
 error: expected `,`, found end of `cfg_attr` input
   --> $DIR/cfg-attr-parse.rs:8:17
@@ -54,8 +55,9 @@ LL | #[cfg_attr[all(),,]]
    |
 help: the delimiters should be `(` and `)`
    |
-LL | #[cfg_attr(all(),,)]
-   |           ~       ~
+LL - #[cfg_attr[all(),,]]
+LL + #[cfg_attr(all(),,)]
+   |
 
 error: expected identifier, found `,`
   --> $DIR/cfg-attr-parse.rs:44:18
@@ -74,8 +76,9 @@ LL | #[cfg_attr{all(),,}]
    |
 help: the delimiters should be `(` and `)`
    |
-LL | #[cfg_attr(all(),,)]
-   |           ~       ~
+LL - #[cfg_attr{all(),,}]
+LL + #[cfg_attr(all(),,)]
+   |
 
 error: expected identifier, found `,`
   --> $DIR/cfg-attr-parse.rs:50:18
diff --git a/tests/ui/confuse-field-and-method/issue-33784.stderr b/tests/ui/confuse-field-and-method/issue-33784.stderr
index 59a6f4fccd8..69f569e09a4 100644
--- a/tests/ui/confuse-field-and-method/issue-33784.stderr
+++ b/tests/ui/confuse-field-and-method/issue-33784.stderr
@@ -10,8 +10,9 @@ LL |     (p.closure)();
    |     +         +
 help: there is a method `clone` with a similar name
    |
-LL |     p.clone();
-   |       ~~~~~
+LL -     p.closure();
+LL +     p.clone();
+   |
 
 error[E0599]: no method named `fn_ptr` found for reference `&&Obj<{closure@$DIR/issue-33784.rs:25:43: 25:45}>` in the current scope
   --> $DIR/issue-33784.rs:29:7
diff --git a/tests/ui/const-generics/adt_const_params/const_param_ty_dyn_compatibility.stderr b/tests/ui/const-generics/adt_const_params/const_param_ty_dyn_compatibility.stderr
index 6fa9b591ad2..c71ec24dda3 100644
--- a/tests/ui/const-generics/adt_const_params/const_param_ty_dyn_compatibility.stderr
+++ b/tests/ui/const-generics/adt_const_params/const_param_ty_dyn_compatibility.stderr
@@ -11,8 +11,9 @@ note: for a trait to be dyn compatible it needs to allow building a vtable
    = note: the trait is not dyn compatible because it uses `Self` as a type parameter
 help: consider using an opaque type instead
    |
-LL | fn foo(a: &impl ConstParamTy_) {}
-   |            ~~~~
+LL - fn foo(a: &dyn ConstParamTy_) {}
+LL + fn foo(a: &impl ConstParamTy_) {}
+   |
 
 error[E0038]: the trait `UnsizedConstParamTy` is not dyn compatible
   --> $DIR/const_param_ty_dyn_compatibility.rs:9:16
@@ -27,8 +28,9 @@ note: for a trait to be dyn compatible it needs to allow building a vtable
    = note: the trait is not dyn compatible because it uses `Self` as a type parameter
 help: consider using an opaque type instead
    |
-LL | fn bar(a: &impl UnsizedConstParamTy) {}
-   |            ~~~~
+LL - fn bar(a: &dyn UnsizedConstParamTy) {}
+LL + fn bar(a: &impl UnsizedConstParamTy) {}
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/const-generics/early/invalid-const-arguments.stderr b/tests/ui/const-generics/early/invalid-const-arguments.stderr
index cee34e3b715..86b4d006454 100644
--- a/tests/ui/const-generics/early/invalid-const-arguments.stderr
+++ b/tests/ui/const-generics/early/invalid-const-arguments.stderr
@@ -9,8 +9,9 @@ LL | impl Foo for A<N> {}
    |
 help: a struct with a similar name exists
    |
-LL | impl Foo for A<A> {}
-   |                ~
+LL - impl Foo for A<N> {}
+LL + impl Foo for A<A> {}
+   |
 help: you might be missing a type parameter
    |
 LL | impl<N> Foo for A<N> {}
@@ -27,8 +28,9 @@ LL | impl<const N: u8> Foo for C<N, T> {}
    |
 help: a struct with a similar name exists
    |
-LL | impl<const N: u8> Foo for C<N, A> {}
-   |                                ~
+LL - impl<const N: u8> Foo for C<N, T> {}
+LL + impl<const N: u8> Foo for C<N, A> {}
+   |
 help: you might be missing a type parameter
    |
 LL | impl<const N: u8, T> Foo for C<N, T> {}
diff --git a/tests/ui/const-generics/ensure_is_evaluatable.stderr b/tests/ui/const-generics/ensure_is_evaluatable.stderr
index 62f8bc34f2e..397902846ec 100644
--- a/tests/ui/const-generics/ensure_is_evaluatable.stderr
+++ b/tests/ui/const-generics/ensure_is_evaluatable.stderr
@@ -14,8 +14,9 @@ LL |     [(); N + 1]:,
    |          ^^^^^ required by this bound in `bar`
 help: try adding a `where` bound
    |
-LL |     [(); M + 1]:, [(); N + 1]:
-   |                 ~~~~~~~~~~~~~~
+LL -     [(); M + 1]:,
+LL +     [(); M + 1]:, [(); N + 1]:
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/const-generics/fn_with_two_const_inputs.stderr b/tests/ui/const-generics/fn_with_two_const_inputs.stderr
index c0a913a21fd..147a2c91fd0 100644
--- a/tests/ui/const-generics/fn_with_two_const_inputs.stderr
+++ b/tests/ui/const-generics/fn_with_two_const_inputs.stderr
@@ -14,8 +14,9 @@ LL |     [(); N + 1]:,
    |          ^^^^^ required by this bound in `bar`
 help: try adding a `where` bound
    |
-LL |     [(); both(N + 1, M + 1)]:, [(); N + 1]:
-   |                              ~~~~~~~~~~~~~~
+LL -     [(); both(N + 1, M + 1)]:,
+LL +     [(); both(N + 1, M + 1)]:, [(); N + 1]:
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/const-generics/forbid-non-structural_match-types.stderr b/tests/ui/const-generics/forbid-non-structural_match-types.stderr
index 94afded9469..8ef629329f1 100644
--- a/tests/ui/const-generics/forbid-non-structural_match-types.stderr
+++ b/tests/ui/const-generics/forbid-non-structural_match-types.stderr
@@ -6,8 +6,8 @@ LL | struct D<const X: C>;
    |
 help: add `#[derive(ConstParamTy, PartialEq, Eq)]` to the struct
    |
+LL - struct C;
 LL + #[derive(ConstParamTy, PartialEq, Eq)]
-LL | struct C;
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/const-generics/generic_arg_infer/in-signature.stderr b/tests/ui/const-generics/generic_arg_infer/in-signature.stderr
index 5999bc18204..12d84268f95 100644
--- a/tests/ui/const-generics/generic_arg_infer/in-signature.stderr
+++ b/tests/ui/const-generics/generic_arg_infer/in-signature.stderr
@@ -34,8 +34,9 @@ LL | const ARR_CT: [u8; _] = [0; 3];
    |
 help: replace this with a fully-specified type
    |
-LL | const ARR_CT: [u8; 3] = [0; 3];
-   |               ~~~~~~~
+LL - const ARR_CT: [u8; _] = [0; 3];
+LL + const ARR_CT: [u8; 3] = [0; 3];
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for static variables
   --> $DIR/in-signature.rs:24:25
@@ -45,8 +46,9 @@ LL | static ARR_STATIC: [u8; _] = [0; 3];
    |
 help: replace this with a fully-specified type
    |
-LL | static ARR_STATIC: [u8; 3] = [0; 3];
-   |                    ~~~~~~~
+LL - static ARR_STATIC: [u8; _] = [0; 3];
+LL + static ARR_STATIC: [u8; 3] = [0; 3];
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for constants
   --> $DIR/in-signature.rs:26:23
@@ -56,8 +58,9 @@ LL | const TY_CT: Bar<i32, _> = Bar::<i32, 3>(0);
    |
 help: replace this with a fully-specified type
    |
-LL | const TY_CT: Bar<i32, 3> = Bar::<i32, 3>(0);
-   |              ~~~~~~~~~~~
+LL - const TY_CT: Bar<i32, _> = Bar::<i32, 3>(0);
+LL + const TY_CT: Bar<i32, 3> = Bar::<i32, 3>(0);
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for static variables
   --> $DIR/in-signature.rs:28:28
@@ -67,8 +70,9 @@ LL | static TY_STATIC: Bar<i32, _> = Bar::<i32, 3>(0);
    |
 help: replace this with a fully-specified type
    |
-LL | static TY_STATIC: Bar<i32, 3> = Bar::<i32, 3>(0);
-   |                   ~~~~~~~~~~~
+LL - static TY_STATIC: Bar<i32, _> = Bar::<i32, 3>(0);
+LL + static TY_STATIC: Bar<i32, 3> = Bar::<i32, 3>(0);
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for constants
   --> $DIR/in-signature.rs:30:24
@@ -80,8 +84,9 @@ LL | const TY_CT_MIXED: Bar<_, _> = Bar::<i32, 3>(0);
    |
 help: replace this with a fully-specified type
    |
-LL | const TY_CT_MIXED: Bar<i32, 3> = Bar::<i32, 3>(0);
-   |                    ~~~~~~~~~~~
+LL - const TY_CT_MIXED: Bar<_, _> = Bar::<i32, 3>(0);
+LL + const TY_CT_MIXED: Bar<i32, 3> = Bar::<i32, 3>(0);
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for static variables
   --> $DIR/in-signature.rs:32:29
@@ -93,8 +98,9 @@ LL | static TY_STATIC_MIXED: Bar<_, _> = Bar::<i32, 3>(0);
    |
 help: replace this with a fully-specified type
    |
-LL | static TY_STATIC_MIXED: Bar<i32, 3> = Bar::<i32, 3>(0);
-   |                         ~~~~~~~~~~~
+LL - static TY_STATIC_MIXED: Bar<_, _> = Bar::<i32, 3>(0);
+LL + static TY_STATIC_MIXED: Bar<i32, 3> = Bar::<i32, 3>(0);
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for associated types
   --> $DIR/in-signature.rs:51:23
diff --git a/tests/ui/const-generics/generic_const_exprs/abstract-const-as-cast-3.stderr b/tests/ui/const-generics/generic_const_exprs/abstract-const-as-cast-3.stderr
index 3622ef16a96..9cb71ad8a09 100644
--- a/tests/ui/const-generics/generic_const_exprs/abstract-const-as-cast-3.stderr
+++ b/tests/ui/const-generics/generic_const_exprs/abstract-const-as-cast-3.stderr
@@ -16,8 +16,9 @@ LL |     fn assert_impl<T: Trait>() {}
    |                       ^^^^^ required by this bound in `assert_impl`
 help: try adding a `where` bound
    |
-LL |     EvaluatableU128<{N as u128}>:, [(); { O as u128 } as usize]: {
-   |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     EvaluatableU128<{N as u128}>:, {
+LL +     EvaluatableU128<{N as u128}>:, [(); { O as u128 } as usize]: {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/abstract-const-as-cast-3.rs:17:5
@@ -51,8 +52,9 @@ LL |     fn assert_impl<T: Trait>() {}
    |                       ^^^^^ required by this bound in `assert_impl`
 help: try adding a `where` bound
    |
-LL |     EvaluatableU128<{N as u128}>:, [(); { O as u128 } as usize]: {
-   |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     EvaluatableU128<{N as u128}>:, {
+LL +     EvaluatableU128<{N as u128}>:, [(); { O as u128 } as usize]: {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/abstract-const-as-cast-3.rs:20:5
@@ -114,8 +116,9 @@ LL |     fn assert_impl<T: Trait>() {}
    |                       ^^^^^ required by this bound in `assert_impl`
 help: try adding a `where` bound
    |
-LL |     EvaluatableU128<{N as _}>:, [(); { O as u128 } as usize]: {
-   |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     EvaluatableU128<{N as _}>:, {
+LL +     EvaluatableU128<{N as _}>:, [(); { O as u128 } as usize]: {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/abstract-const-as-cast-3.rs:35:5
@@ -149,8 +152,9 @@ LL |     fn assert_impl<T: Trait>() {}
    |                       ^^^^^ required by this bound in `assert_impl`
 help: try adding a `where` bound
    |
-LL |     EvaluatableU128<{N as _}>:, [(); { O as u128 } as usize]: {
-   |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     EvaluatableU128<{N as _}>:, {
+LL +     EvaluatableU128<{N as _}>:, [(); { O as u128 } as usize]: {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/abstract-const-as-cast-3.rs:38:5
diff --git a/tests/ui/const-generics/generic_const_exprs/assoc_const_unification/doesnt_unify_evaluatable.stderr b/tests/ui/const-generics/generic_const_exprs/assoc_const_unification/doesnt_unify_evaluatable.stderr
index f3a38fcc005..b43ce5eca43 100644
--- a/tests/ui/const-generics/generic_const_exprs/assoc_const_unification/doesnt_unify_evaluatable.stderr
+++ b/tests/ui/const-generics/generic_const_exprs/assoc_const_unification/doesnt_unify_evaluatable.stderr
@@ -6,8 +6,9 @@ LL |     bar::<{ T::ASSOC }>();
    |
 help: try adding a `where` bound
    |
-LL | fn foo<T: Trait, U: Trait>() where [(); U::ASSOC]:, [(); { T::ASSOC }]: {
-   |                                                   ~~~~~~~~~~~~~~~~~~~~~
+LL - fn foo<T: Trait, U: Trait>() where [(); U::ASSOC]:, {
+LL + fn foo<T: Trait, U: Trait>() where [(); U::ASSOC]:, [(); { T::ASSOC }]: {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/const-generics/generic_const_exprs/const_kind_expr/issue_114151.stderr b/tests/ui/const-generics/generic_const_exprs/const_kind_expr/issue_114151.stderr
index 4d1fb02b59e..86e35e17a07 100644
--- a/tests/ui/const-generics/generic_const_exprs/const_kind_expr/issue_114151.stderr
+++ b/tests/ui/const-generics/generic_const_exprs/const_kind_expr/issue_114151.stderr
@@ -26,8 +26,9 @@ LL |     foo::<_, L>([(); L + 1 + L]);
    |
 help: try adding a `where` bound
    |
-LL |     [(); (L - 1) + 1 + L]:, [(); L + 1 + L]:
-   |                           ~~~~~~~~~~~~~~~~~~
+LL -     [(); (L - 1) + 1 + L]:,
+LL +     [(); (L - 1) + 1 + L]:, [(); L + 1 + L]:
+   |
 
 error: unconstrained generic constant
   --> $DIR/issue_114151.rs:17:17
diff --git a/tests/ui/const-generics/generic_const_exprs/const_kind_expr/wf_obligation.stderr b/tests/ui/const-generics/generic_const_exprs/const_kind_expr/wf_obligation.stderr
index 99eab935a09..c63a79e64ed 100644
--- a/tests/ui/const-generics/generic_const_exprs/const_kind_expr/wf_obligation.stderr
+++ b/tests/ui/const-generics/generic_const_exprs/const_kind_expr/wf_obligation.stderr
@@ -15,8 +15,9 @@ LL |     foo::<_, L>([(); L + 1 + L]);
    |
 help: try adding a `where` bound
    |
-LL |     [(); (L - 1) + 1 + L]:, [(); L + 1 + L]:
-   |                           ~~~~~~~~~~~~~~~~~~
+LL -     [(); (L - 1) + 1 + L]:,
+LL +     [(); (L - 1) + 1 + L]:, [(); L + 1 + L]:
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/const-generics/generic_const_exprs/expected-type-of-closure-body-to-be-a-closure-or-coroutine-ice-113776.stderr b/tests/ui/const-generics/generic_const_exprs/expected-type-of-closure-body-to-be-a-closure-or-coroutine-ice-113776.stderr
index 80d711ca844..c63beeac367 100644
--- a/tests/ui/const-generics/generic_const_exprs/expected-type-of-closure-body-to-be-a-closure-or-coroutine-ice-113776.stderr
+++ b/tests/ui/const-generics/generic_const_exprs/expected-type-of-closure-body-to-be-a-closure-or-coroutine-ice-113776.stderr
@@ -9,8 +9,9 @@ LL |          let f: F = async { 1 };
    |
 help: a trait with a similar name exists
    |
-LL |          let f: Fn = async { 1 };
-   |                 ~~
+LL -          let f: F = async { 1 };
+LL +          let f: Fn = async { 1 };
+   |
 help: you might be missing a type parameter
    |
 LL | fn f<T, F>(
@@ -28,8 +29,9 @@ LL | ) -> impl Iterator<Item = dyn SubAssign> {
    |                           +++
 help: you might have meant to write a bound here
    |
-LL | ) -> impl Iterator<Item: SubAssign> {
-   |                        ~
+LL - ) -> impl Iterator<Item = SubAssign> {
+LL + ) -> impl Iterator<Item: SubAssign> {
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/expected-type-of-closure-body-to-be-a-closure-or-coroutine-ice-113776.rs:16:27
@@ -44,8 +46,9 @@ LL | ) -> impl Iterator<Item = dyn SubAssign> {
    |                           +++
 help: you might have meant to write a bound here
    |
-LL | ) -> impl Iterator<Item: SubAssign> {
-   |                        ~
+LL - ) -> impl Iterator<Item = SubAssign> {
+LL + ) -> impl Iterator<Item: SubAssign> {
+   |
 
 error[E0277]: `()` is not an iterator
   --> $DIR/expected-type-of-closure-body-to-be-a-closure-or-coroutine-ice-113776.rs:16:6
diff --git a/tests/ui/const-generics/invalid-const-arg-for-type-param.stderr b/tests/ui/const-generics/invalid-const-arg-for-type-param.stderr
index 4004ad19032..2b4c7f4bcff 100644
--- a/tests/ui/const-generics/invalid-const-arg-for-type-param.stderr
+++ b/tests/ui/const-generics/invalid-const-arg-for-type-param.stderr
@@ -6,8 +6,9 @@ LL |     let _: u32 = 5i32.try_into::<32>().unwrap();
    |
 help: consider moving this generic argument to the `TryInto` trait, which takes up to 1 argument
    |
-LL |     let _: u32 = TryInto::<32>::try_into(5i32).unwrap();
-   |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _: u32 = 5i32.try_into::<32>().unwrap();
+LL +     let _: u32 = TryInto::<32>::try_into(5i32).unwrap();
+   |
 help: remove the unnecessary generics
    |
 LL -     let _: u32 = 5i32.try_into::<32>().unwrap();
diff --git a/tests/ui/const-generics/issue-80471.stderr b/tests/ui/const-generics/issue-80471.stderr
index a8514c5cc07..8cf3d68e5d6 100644
--- a/tests/ui/const-generics/issue-80471.stderr
+++ b/tests/ui/const-generics/issue-80471.stderr
@@ -6,8 +6,8 @@ LL | fn foo<const N: Nat>() {}
    |
 help: add `#[derive(ConstParamTy)]` to the struct
    |
+LL - enum Nat {
 LL + #[derive(ConstParamTy)]
-LL | enum Nat {
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/const-generics/issues/issue-87493.stderr b/tests/ui/const-generics/issues/issue-87493.stderr
index 73bd6ed73e6..42d32a0ee05 100644
--- a/tests/ui/const-generics/issues/issue-87493.stderr
+++ b/tests/ui/const-generics/issues/issue-87493.stderr
@@ -6,8 +6,9 @@ LL |     T: MyTrait<Assoc == S::Assoc>,
    |
 help: if you meant to use an associated type binding, replace `==` with `=`
    |
-LL |     T: MyTrait<Assoc = S::Assoc>,
-   |                      ~
+LL -     T: MyTrait<Assoc == S::Assoc>,
+LL +     T: MyTrait<Assoc = S::Assoc>,
+   |
 
 error[E0107]: trait takes 0 generic arguments but 1 generic argument was supplied
   --> $DIR/issue-87493.rs:8:8
diff --git a/tests/ui/const-generics/issues/issue-97278.stderr b/tests/ui/const-generics/issues/issue-97278.stderr
index 47e6bf1df4d..4894ddb7b8d 100644
--- a/tests/ui/const-generics/issues/issue-97278.stderr
+++ b/tests/ui/const-generics/issues/issue-97278.stderr
@@ -6,8 +6,8 @@ LL | fn test<const BAR: Bar>() {}
    |
 help: add `#[derive(ConstParamTy)]` to the struct
    |
+LL - enum Bar {
 LL + #[derive(ConstParamTy)]
-LL | enum Bar {
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/const-generics/legacy-const-generics-bad.stderr b/tests/ui/const-generics/legacy-const-generics-bad.stderr
index e9ea22e472c..3a5fa417075 100644
--- a/tests/ui/const-generics/legacy-const-generics-bad.stderr
+++ b/tests/ui/const-generics/legacy-const-generics-bad.stderr
@@ -6,8 +6,9 @@ LL |     legacy_const_generics::foo(0, a, 2);
    |
 help: consider using `const` instead of `let`
    |
-LL |     const a: /* Type */ = 1;
-   |     ~~~~~  ++++++++++++
+LL -     let a = 1;
+LL +     const a: /* Type */ = 1;
+   |
 
 error: generic parameters may not be used in const operations
   --> $DIR/legacy-const-generics-bad.rs:12:35
diff --git a/tests/ui/const-generics/parser-error-recovery/issue-89013-no-kw.stderr b/tests/ui/const-generics/parser-error-recovery/issue-89013-no-kw.stderr
index 78cddcc234c..d435af07db2 100644
--- a/tests/ui/const-generics/parser-error-recovery/issue-89013-no-kw.stderr
+++ b/tests/ui/const-generics/parser-error-recovery/issue-89013-no-kw.stderr
@@ -16,8 +16,9 @@ LL | impl Foo<N = 3> for Bar {
    |
 help: to use `3` as a generic argument specify it directly
    |
-LL | impl Foo<3> for Bar {
-   |          ~
+LL - impl Foo<N = 3> for Bar {
+LL + impl Foo<3> for Bar {
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/const-generics/parser-error-recovery/issue-89013.stderr b/tests/ui/const-generics/parser-error-recovery/issue-89013.stderr
index 387eb226e70..f852c14b178 100644
--- a/tests/ui/const-generics/parser-error-recovery/issue-89013.stderr
+++ b/tests/ui/const-generics/parser-error-recovery/issue-89013.stderr
@@ -28,8 +28,9 @@ LL | impl Foo<N = const 3> for Bar {
    |
 help: to use `3` as a generic argument specify it directly
    |
-LL | impl Foo<3> for Bar {
-   |          ~
+LL - impl Foo<N = const 3> for Bar {
+LL + impl Foo<3> for Bar {
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/const-generics/type-dependent/type-mismatch.full.stderr b/tests/ui/const-generics/type-dependent/type-mismatch.full.stderr
index 4fce1aede95..95d20de1b43 100644
--- a/tests/ui/const-generics/type-dependent/type-mismatch.full.stderr
+++ b/tests/ui/const-generics/type-dependent/type-mismatch.full.stderr
@@ -6,8 +6,9 @@ LL |     assert_eq!(R.method::<1u16>(), 1);
    |
 help: change the type of the numeric literal from `u16` to `u8`
    |
-LL |     assert_eq!(R.method::<1u8>(), 1);
-   |                            ~~
+LL -     assert_eq!(R.method::<1u16>(), 1);
+LL +     assert_eq!(R.method::<1u8>(), 1);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/const-generics/type-dependent/type-mismatch.min.stderr b/tests/ui/const-generics/type-dependent/type-mismatch.min.stderr
index 4fce1aede95..95d20de1b43 100644
--- a/tests/ui/const-generics/type-dependent/type-mismatch.min.stderr
+++ b/tests/ui/const-generics/type-dependent/type-mismatch.min.stderr
@@ -6,8 +6,9 @@ LL |     assert_eq!(R.method::<1u16>(), 1);
    |
 help: change the type of the numeric literal from `u16` to `u8`
    |
-LL |     assert_eq!(R.method::<1u8>(), 1);
-   |                            ~~
+LL -     assert_eq!(R.method::<1u16>(), 1);
+LL +     assert_eq!(R.method::<1u8>(), 1);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/assoc-const-elided-lifetime.stderr b/tests/ui/consts/assoc-const-elided-lifetime.stderr
index 3e847298c35..0c3e455eb2d 100644
--- a/tests/ui/consts/assoc-const-elided-lifetime.stderr
+++ b/tests/ui/consts/assoc-const-elided-lifetime.stderr
@@ -18,8 +18,9 @@ LL | #![deny(elided_lifetimes_in_associated_constant)]
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: use the `'static` lifetime
    |
-LL |     const FOO: Foo<'static> = Foo { x: PhantomData::<&()> };
-   |                    ~~~~~~~
+LL -     const FOO: Foo<'_> = Foo { x: PhantomData::<&()> };
+LL +     const FOO: Foo<'static> = Foo { x: PhantomData::<&()> };
+   |
 
 error: `&` without an explicit lifetime name cannot be used here
   --> $DIR/assoc-const-elided-lifetime.rs:14:16
diff --git a/tests/ui/consts/const-blocks/fn-call-in-non-const.stderr b/tests/ui/consts/const-blocks/fn-call-in-non-const.stderr
index 272c2f045e1..a3d5054ced3 100644
--- a/tests/ui/consts/const-blocks/fn-call-in-non-const.stderr
+++ b/tests/ui/consts/const-blocks/fn-call-in-non-const.stderr
@@ -13,8 +13,9 @@ LL | struct Bar;
    |
 help: create an inline `const` block
    |
-LL |     let _: [Option<Bar>; 2] = [const { no_copy() }; 2];
-   |                                ~~~~~~~~~~~~~~~~~~~
+LL -     let _: [Option<Bar>; 2] = [no_copy(); 2];
+LL +     let _: [Option<Bar>; 2] = [const { no_copy() }; 2];
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-pattern-irrefutable.stderr b/tests/ui/consts/const-pattern-irrefutable.stderr
index 646426c9426..a97e35e385f 100644
--- a/tests/ui/consts/const-pattern-irrefutable.stderr
+++ b/tests/ui/consts/const-pattern-irrefutable.stderr
@@ -12,8 +12,9 @@ LL |     let a = 4;
    = note: the matched value is of type `u8`
 help: introduce a variable instead
    |
-LL |     let a_var = 4;
-   |         ~~~~~
+LL -     let a = 4;
+LL +     let a_var = 4;
+   |
 
 error[E0005]: refutable pattern in local binding
   --> $DIR/const-pattern-irrefutable.rs:28:9
@@ -29,8 +30,9 @@ LL |     let c = 4;
    = note: the matched value is of type `u8`
 help: introduce a variable instead
    |
-LL |     let b_var = 4;
-   |         ~~~~~
+LL -     let c = 4;
+LL +     let b_var = 4;
+   |
 
 error[E0005]: refutable pattern in local binding
   --> $DIR/const-pattern-irrefutable.rs:32:9
@@ -46,8 +48,9 @@ LL |     let d = (4, 4);
    = note: the matched value is of type `(u8, u8)`
 help: introduce a variable instead
    |
-LL |     let d_var = (4, 4);
-   |         ~~~~~
+LL -     let d = (4, 4);
+LL +     let d_var = (4, 4);
+   |
 
 error[E0005]: refutable pattern in local binding
   --> $DIR/const-pattern-irrefutable.rs:36:9
@@ -68,8 +71,9 @@ LL | struct S {
    = note: the matched value is of type `S`
 help: introduce a variable instead
    |
-LL |     let e_var = S {
-   |         ~~~~~
+LL -     let e = S {
+LL +     let e_var = S {
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/consts/const_let_assign2.stderr b/tests/ui/consts/const_let_assign2.stderr
index 9a1b84dbf09..be0ffefc80d 100644
--- a/tests/ui/consts/const_let_assign2.stderr
+++ b/tests/ui/consts/const_let_assign2.stderr
@@ -9,8 +9,9 @@ LL |     let ptr = unsafe { &mut BB };
    = note: `#[warn(static_mut_refs)]` on by default
 help: use `&raw mut` instead to create a raw pointer
    |
-LL |     let ptr = unsafe { &raw mut BB };
-   |                        ~~~~~~~~
+LL -     let ptr = unsafe { &mut BB };
+LL +     let ptr = unsafe { &raw mut BB };
+   |
 
 warning: 1 warning emitted
 
diff --git a/tests/ui/consts/ice-bad-input-type-for-cast-83056.stderr b/tests/ui/consts/ice-bad-input-type-for-cast-83056.stderr
index 115f1688520..4fc5972051c 100644
--- a/tests/ui/consts/ice-bad-input-type-for-cast-83056.stderr
+++ b/tests/ui/consts/ice-bad-input-type-for-cast-83056.stderr
@@ -8,8 +8,9 @@ LL | fn f() -> T {}
    |
 help: a struct with a similar name exists
    |
-LL | fn f() -> S {}
-   |           ~
+LL - fn f() -> T {}
+LL + fn f() -> S {}
+   |
 help: you might be missing a type parameter
    |
 LL | fn f<T>() -> T {}
diff --git a/tests/ui/consts/issue-104768.stderr b/tests/ui/consts/issue-104768.stderr
index 41a9bab0961..bd4a54de0ae 100644
--- a/tests/ui/consts/issue-104768.stderr
+++ b/tests/ui/consts/issue-104768.stderr
@@ -19,8 +19,9 @@ LL | const A: &_ = 0_u32;
    |
 help: replace this with a fully-specified type
    |
-LL | const A: u32 = 0_u32;
-   |          ~~~
+LL - const A: &_ = 0_u32;
+LL + const A: u32 = 0_u32;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/issue-3521.stderr b/tests/ui/consts/issue-3521.stderr
index c0e4cdc5a94..bddab2ebc05 100644
--- a/tests/ui/consts/issue-3521.stderr
+++ b/tests/ui/consts/issue-3521.stderr
@@ -6,8 +6,9 @@ LL |         Bar = foo
    |
 help: consider using `const` instead of `let`
    |
-LL |     const foo: isize = 100;
-   |     ~~~~~
+LL -     let foo: isize = 100;
+LL +     const foo: isize = 100;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/issue-91560.stderr b/tests/ui/consts/issue-91560.stderr
index 37c8f50d494..9b06f3775d9 100644
--- a/tests/ui/consts/issue-91560.stderr
+++ b/tests/ui/consts/issue-91560.stderr
@@ -6,8 +6,9 @@ LL |     let arr = [0; length];
    |
 help: consider using `const` instead of `let`
    |
-LL |     const length: usize = 2;
-   |     ~~~~~
+LL -     let mut length: usize = 2;
+LL +     const length: usize = 2;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/issue-91560.rs:17:19
@@ -17,8 +18,9 @@ LL |     let arr = [0; length];
    |
 help: consider using `const` instead of `let`
    |
-LL |     const length: usize = 2;
-   |     ~~~~~
+LL -     let   length: usize = 2;
+LL +     const length: usize = 2;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/non-const-value-in-const.stderr b/tests/ui/consts/non-const-value-in-const.stderr
index 654b573544c..201c310843b 100644
--- a/tests/ui/consts/non-const-value-in-const.stderr
+++ b/tests/ui/consts/non-const-value-in-const.stderr
@@ -6,8 +6,9 @@ LL |     const Y: i32 = x;
    |
 help: consider using `let` instead of `const`
    |
-LL |     let Y: i32 = x;
-   |     ~~~
+LL -     const Y: i32 = x;
+LL +     let Y: i32 = x;
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/non-const-value-in-const.rs:6:17
@@ -17,8 +18,9 @@ LL |     let _ = [0; x];
    |
 help: consider using `const` instead of `let`
    |
-LL |     const x: /* Type */ = 5;
-   |     ~~~~~  ++++++++++++
+LL -     let x = 5;
+LL +     const x: /* Type */ = 5;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/refs_check_const_eq-issue-88384.stderr b/tests/ui/consts/refs_check_const_eq-issue-88384.stderr
index 62c5c527641..65e4dc22c28 100644
--- a/tests/ui/consts/refs_check_const_eq-issue-88384.stderr
+++ b/tests/ui/consts/refs_check_const_eq-issue-88384.stderr
@@ -15,8 +15,8 @@ LL | struct Foo<const T: CompileTimeSettings>;
    |
 help: add `#[derive(ConstParamTy)]` to the struct
    |
+LL - struct CompileTimeSettings {
 LL + #[derive(ConstParamTy)]
-LL | struct CompileTimeSettings {
    |
 
 error[E0741]: `CompileTimeSettings` must implement `ConstParamTy` to be used as the type of a const generic parameter
@@ -27,8 +27,8 @@ LL | impl<const T: CompileTimeSettings> Foo<T> {
    |
 help: add `#[derive(ConstParamTy)]` to the struct
    |
+LL - struct CompileTimeSettings {
 LL + #[derive(ConstParamTy)]
-LL | struct CompileTimeSettings {
    |
 
 error: aborting due to 2 previous errors; 1 warning emitted
diff --git a/tests/ui/coroutine/issue-102645.stderr b/tests/ui/coroutine/issue-102645.stderr
index 1ef37d3f7d1..bec0518d8c6 100644
--- a/tests/ui/coroutine/issue-102645.stderr
+++ b/tests/ui/coroutine/issue-102645.stderr
@@ -8,8 +8,9 @@ note: method defined here
   --> $SRC_DIR/core/src/ops/coroutine.rs:LL:COL
 help: provide the argument
    |
-LL |     Pin::new(&mut b).resume(());
-   |                            ~~~~
+LL -     Pin::new(&mut b).resume();
+LL +     Pin::new(&mut b).resume(());
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/coroutine/resume-arg-outlives.stderr b/tests/ui/coroutine/resume-arg-outlives.stderr
index 2a6337b4945..0150009c8fa 100644
--- a/tests/ui/coroutine/resume-arg-outlives.stderr
+++ b/tests/ui/coroutine/resume-arg-outlives.stderr
@@ -9,12 +9,14 @@ LL |     generator
    |
 help: consider changing `impl Coroutine<&'not_static str> + 'static`'s explicit `'static` bound to the lifetime of argument `s`
    |
-LL | fn demo<'not_static>(s: &'not_static str) -> Pin<Box<impl Coroutine<&'not_static str> + 'not_static>> {
-   |                                                                                         ~~~~~~~~~~~
+LL - fn demo<'not_static>(s: &'not_static str) -> Pin<Box<impl Coroutine<&'not_static str> + 'static>> {
+LL + fn demo<'not_static>(s: &'not_static str) -> Pin<Box<impl Coroutine<&'not_static str> + 'not_static>> {
+   |
 help: alternatively, add an explicit `'static` bound to this reference
    |
-LL | fn demo<'not_static>(s: &'static str) -> Pin<Box<impl Coroutine<&'not_static str> + 'static>> {
-   |                         ~~~~~~~~~~~~
+LL - fn demo<'not_static>(s: &'not_static str) -> Pin<Box<impl Coroutine<&'not_static str> + 'static>> {
+LL + fn demo<'not_static>(s: &'static str) -> Pin<Box<impl Coroutine<&'not_static str> + 'static>> {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/coverage-attr/bad-attr-ice.feat.stderr b/tests/ui/coverage-attr/bad-attr-ice.feat.stderr
index 50e1c39d4f8..a8a70e363b7 100644
--- a/tests/ui/coverage-attr/bad-attr-ice.feat.stderr
+++ b/tests/ui/coverage-attr/bad-attr-ice.feat.stderr
@@ -6,9 +6,11 @@ LL | #[coverage]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
+LL - #[coverage]
+LL + #[coverage(off)]
    |
-LL | #[coverage(on)]
+LL - #[coverage]
+LL + #[coverage(on)]
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/coverage-attr/bad-attr-ice.nofeat.stderr b/tests/ui/coverage-attr/bad-attr-ice.nofeat.stderr
index e8bdd99c9b9..6443fafef3e 100644
--- a/tests/ui/coverage-attr/bad-attr-ice.nofeat.stderr
+++ b/tests/ui/coverage-attr/bad-attr-ice.nofeat.stderr
@@ -6,9 +6,11 @@ LL | #[coverage]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
+LL - #[coverage]
+LL + #[coverage(off)]
    |
-LL | #[coverage(on)]
+LL - #[coverage]
+LL + #[coverage(on)]
    |
 
 error[E0658]: the `#[coverage]` attribute is an experimental feature
diff --git a/tests/ui/coverage-attr/bad-syntax.stderr b/tests/ui/coverage-attr/bad-syntax.stderr
index 5592e89070d..3123066e7bf 100644
--- a/tests/ui/coverage-attr/bad-syntax.stderr
+++ b/tests/ui/coverage-attr/bad-syntax.stderr
@@ -6,10 +6,12 @@ LL | #[coverage]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
-   | ~~~~~~~~~~~~~~~~
-LL | #[coverage(on)]
-   | ~~~~~~~~~~~~~~~
+LL - #[coverage]
+LL + #[coverage(off)]
+   |
+LL - #[coverage]
+LL + #[coverage(on)]
+   |
 
 error: malformed `coverage` attribute input
   --> $DIR/bad-syntax.rs:20:1
@@ -19,10 +21,12 @@ LL | #[coverage = true]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
-   | ~~~~~~~~~~~~~~~~
-LL | #[coverage(on)]
-   | ~~~~~~~~~~~~~~~
+LL - #[coverage = true]
+LL + #[coverage(off)]
+   |
+LL - #[coverage = true]
+LL + #[coverage(on)]
+   |
 
 error: malformed `coverage` attribute input
   --> $DIR/bad-syntax.rs:23:1
@@ -32,10 +36,12 @@ LL | #[coverage()]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
-   | ~~~~~~~~~~~~~~~~
-LL | #[coverage(on)]
-   | ~~~~~~~~~~~~~~~
+LL - #[coverage()]
+LL + #[coverage(off)]
+   |
+LL - #[coverage()]
+LL + #[coverage(on)]
+   |
 
 error: malformed `coverage` attribute input
   --> $DIR/bad-syntax.rs:26:1
@@ -45,10 +51,12 @@ LL | #[coverage(off, off)]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
-   | ~~~~~~~~~~~~~~~~
-LL | #[coverage(on)]
-   | ~~~~~~~~~~~~~~~
+LL - #[coverage(off, off)]
+LL + #[coverage(off)]
+   |
+LL - #[coverage(off, off)]
+LL + #[coverage(on)]
+   |
 
 error: malformed `coverage` attribute input
   --> $DIR/bad-syntax.rs:29:1
@@ -58,10 +66,12 @@ LL | #[coverage(off, on)]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
-   | ~~~~~~~~~~~~~~~~
-LL | #[coverage(on)]
-   | ~~~~~~~~~~~~~~~
+LL - #[coverage(off, on)]
+LL + #[coverage(off)]
+   |
+LL - #[coverage(off, on)]
+LL + #[coverage(on)]
+   |
 
 error: malformed `coverage` attribute input
   --> $DIR/bad-syntax.rs:32:1
@@ -71,10 +81,12 @@ LL | #[coverage(bogus)]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
-   | ~~~~~~~~~~~~~~~~
-LL | #[coverage(on)]
-   | ~~~~~~~~~~~~~~~
+LL - #[coverage(bogus)]
+LL + #[coverage(off)]
+   |
+LL - #[coverage(bogus)]
+LL + #[coverage(on)]
+   |
 
 error: malformed `coverage` attribute input
   --> $DIR/bad-syntax.rs:35:1
@@ -84,10 +96,12 @@ LL | #[coverage(bogus, off)]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
-   | ~~~~~~~~~~~~~~~~
-LL | #[coverage(on)]
-   | ~~~~~~~~~~~~~~~
+LL - #[coverage(bogus, off)]
+LL + #[coverage(off)]
+   |
+LL - #[coverage(bogus, off)]
+LL + #[coverage(on)]
+   |
 
 error: malformed `coverage` attribute input
   --> $DIR/bad-syntax.rs:38:1
@@ -97,10 +111,12 @@ LL | #[coverage(off, bogus)]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
-   | ~~~~~~~~~~~~~~~~
-LL | #[coverage(on)]
-   | ~~~~~~~~~~~~~~~
+LL - #[coverage(off, bogus)]
+LL + #[coverage(off)]
+   |
+LL - #[coverage(off, bogus)]
+LL + #[coverage(on)]
+   |
 
 error: expected identifier, found `,`
   --> $DIR/bad-syntax.rs:44:12
diff --git a/tests/ui/coverage-attr/name-value.stderr b/tests/ui/coverage-attr/name-value.stderr
index bfd22ed5451..31a635b57e5 100644
--- a/tests/ui/coverage-attr/name-value.stderr
+++ b/tests/ui/coverage-attr/name-value.stderr
@@ -6,9 +6,11 @@ LL | #[coverage = "off"]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
+LL - #[coverage = "off"]
+LL + #[coverage(off)]
    |
-LL | #[coverage(on)]
+LL - #[coverage = "off"]
+LL + #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -19,9 +21,11 @@ LL |     #![coverage = "off"]
    |
 help: the following are the possible correct uses
    |
-LL |     #![coverage(off)]
+LL -     #![coverage = "off"]
+LL +     #![coverage(off)]
    |
-LL |     #![coverage(on)]
+LL -     #![coverage = "off"]
+LL +     #![coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -32,9 +36,11 @@ LL | #[coverage = "off"]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
+LL - #[coverage = "off"]
+LL + #[coverage(off)]
    |
-LL | #[coverage(on)]
+LL - #[coverage = "off"]
+LL + #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -45,9 +51,11 @@ LL |     #[coverage = "off"]
    |
 help: the following are the possible correct uses
    |
-LL |     #[coverage(off)]
+LL -     #[coverage = "off"]
+LL +     #[coverage(off)]
    |
-LL |     #[coverage(on)]
+LL -     #[coverage = "off"]
+LL +     #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -58,9 +66,11 @@ LL | #[coverage = "off"]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
+LL - #[coverage = "off"]
+LL + #[coverage(off)]
    |
-LL | #[coverage(on)]
+LL - #[coverage = "off"]
+LL + #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -71,9 +81,11 @@ LL |     #[coverage = "off"]
    |
 help: the following are the possible correct uses
    |
-LL |     #[coverage(off)]
+LL -     #[coverage = "off"]
+LL +     #[coverage(off)]
    |
-LL |     #[coverage(on)]
+LL -     #[coverage = "off"]
+LL +     #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -84,9 +96,11 @@ LL |     #[coverage = "off"]
    |
 help: the following are the possible correct uses
    |
-LL |     #[coverage(off)]
+LL -     #[coverage = "off"]
+LL +     #[coverage(off)]
    |
-LL |     #[coverage(on)]
+LL -     #[coverage = "off"]
+LL +     #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -97,9 +111,11 @@ LL | #[coverage = "off"]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
+LL - #[coverage = "off"]
+LL + #[coverage(off)]
    |
-LL | #[coverage(on)]
+LL - #[coverage = "off"]
+LL + #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -110,9 +126,11 @@ LL |     #[coverage = "off"]
    |
 help: the following are the possible correct uses
    |
-LL |     #[coverage(off)]
+LL -     #[coverage = "off"]
+LL +     #[coverage(off)]
    |
-LL |     #[coverage(on)]
+LL -     #[coverage = "off"]
+LL +     #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -123,9 +141,11 @@ LL |     #[coverage = "off"]
    |
 help: the following are the possible correct uses
    |
-LL |     #[coverage(off)]
+LL -     #[coverage = "off"]
+LL +     #[coverage(off)]
    |
-LL |     #[coverage(on)]
+LL -     #[coverage = "off"]
+LL +     #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -136,9 +156,11 @@ LL | #[coverage = "off"]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
+LL - #[coverage = "off"]
+LL + #[coverage(off)]
    |
-LL | #[coverage(on)]
+LL - #[coverage = "off"]
+LL + #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -149,9 +171,11 @@ LL | #[coverage = "off"]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
+LL - #[coverage = "off"]
+LL + #[coverage(off)]
    |
-LL | #[coverage(on)]
+LL - #[coverage = "off"]
+LL + #[coverage(on)]
    |
 
 error[E0788]: coverage attribute not allowed here
diff --git a/tests/ui/coverage-attr/subword.stderr b/tests/ui/coverage-attr/subword.stderr
index a672ff4ac41..a5d1a492181 100644
--- a/tests/ui/coverage-attr/subword.stderr
+++ b/tests/ui/coverage-attr/subword.stderr
@@ -6,10 +6,12 @@ LL | #[coverage(yes(milord))]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
-   | ~~~~~~~~~~~~~~~~
-LL | #[coverage(on)]
-   | ~~~~~~~~~~~~~~~
+LL - #[coverage(yes(milord))]
+LL + #[coverage(off)]
+   |
+LL - #[coverage(yes(milord))]
+LL + #[coverage(on)]
+   |
 
 error: malformed `coverage` attribute input
   --> $DIR/subword.rs:11:1
@@ -19,10 +21,12 @@ LL | #[coverage(no(milord))]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
-   | ~~~~~~~~~~~~~~~~
-LL | #[coverage(on)]
-   | ~~~~~~~~~~~~~~~
+LL - #[coverage(no(milord))]
+LL + #[coverage(off)]
+   |
+LL - #[coverage(no(milord))]
+LL + #[coverage(on)]
+   |
 
 error: malformed `coverage` attribute input
   --> $DIR/subword.rs:14:1
@@ -32,10 +36,12 @@ LL | #[coverage(yes = "milord")]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
-   | ~~~~~~~~~~~~~~~~
-LL | #[coverage(on)]
-   | ~~~~~~~~~~~~~~~
+LL - #[coverage(yes = "milord")]
+LL + #[coverage(off)]
+   |
+LL - #[coverage(yes = "milord")]
+LL + #[coverage(on)]
+   |
 
 error: malformed `coverage` attribute input
   --> $DIR/subword.rs:17:1
@@ -45,10 +51,12 @@ LL | #[coverage(no = "milord")]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
-   | ~~~~~~~~~~~~~~~~
-LL | #[coverage(on)]
-   | ~~~~~~~~~~~~~~~
+LL - #[coverage(no = "milord")]
+LL + #[coverage(off)]
+   |
+LL - #[coverage(no = "milord")]
+LL + #[coverage(on)]
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/coverage-attr/word-only.stderr b/tests/ui/coverage-attr/word-only.stderr
index bad50b0c961..c034149d8ec 100644
--- a/tests/ui/coverage-attr/word-only.stderr
+++ b/tests/ui/coverage-attr/word-only.stderr
@@ -6,9 +6,11 @@ LL | #[coverage]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
+LL - #[coverage]
+LL + #[coverage(off)]
    |
-LL | #[coverage(on)]
+LL - #[coverage]
+LL + #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -19,9 +21,11 @@ LL |     #![coverage]
    |
 help: the following are the possible correct uses
    |
-LL |     #![coverage(off)]
+LL -     #![coverage]
+LL +     #![coverage(off)]
    |
-LL |     #![coverage(on)]
+LL -     #![coverage]
+LL +     #![coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -32,9 +36,11 @@ LL | #[coverage]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
+LL - #[coverage]
+LL + #[coverage(off)]
    |
-LL | #[coverage(on)]
+LL - #[coverage]
+LL + #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -45,9 +51,11 @@ LL |     #[coverage]
    |
 help: the following are the possible correct uses
    |
-LL |     #[coverage(off)]
+LL -     #[coverage]
+LL +     #[coverage(off)]
    |
-LL |     #[coverage(on)]
+LL -     #[coverage]
+LL +     #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -58,9 +66,11 @@ LL | #[coverage]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
+LL - #[coverage]
+LL + #[coverage(off)]
    |
-LL | #[coverage(on)]
+LL - #[coverage]
+LL + #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -71,9 +81,11 @@ LL |     #[coverage]
    |
 help: the following are the possible correct uses
    |
-LL |     #[coverage(off)]
+LL -     #[coverage]
+LL +     #[coverage(off)]
    |
-LL |     #[coverage(on)]
+LL -     #[coverage]
+LL +     #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -84,9 +96,11 @@ LL |     #[coverage]
    |
 help: the following are the possible correct uses
    |
-LL |     #[coverage(off)]
+LL -     #[coverage]
+LL +     #[coverage(off)]
    |
-LL |     #[coverage(on)]
+LL -     #[coverage]
+LL +     #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -97,9 +111,11 @@ LL | #[coverage]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
+LL - #[coverage]
+LL + #[coverage(off)]
    |
-LL | #[coverage(on)]
+LL - #[coverage]
+LL + #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -110,9 +126,11 @@ LL |     #[coverage]
    |
 help: the following are the possible correct uses
    |
-LL |     #[coverage(off)]
+LL -     #[coverage]
+LL +     #[coverage(off)]
    |
-LL |     #[coverage(on)]
+LL -     #[coverage]
+LL +     #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -123,9 +141,11 @@ LL |     #[coverage]
    |
 help: the following are the possible correct uses
    |
-LL |     #[coverage(off)]
+LL -     #[coverage]
+LL +     #[coverage(off)]
    |
-LL |     #[coverage(on)]
+LL -     #[coverage]
+LL +     #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -136,9 +156,11 @@ LL | #[coverage]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
+LL - #[coverage]
+LL + #[coverage(off)]
    |
-LL | #[coverage(on)]
+LL - #[coverage]
+LL + #[coverage(on)]
    |
 
 error: malformed `coverage` attribute input
@@ -149,9 +171,11 @@ LL | #[coverage]
    |
 help: the following are the possible correct uses
    |
-LL | #[coverage(off)]
+LL - #[coverage]
+LL + #[coverage(off)]
    |
-LL | #[coverage(on)]
+LL - #[coverage]
+LL + #[coverage(on)]
    |
 
 error[E0788]: coverage attribute not allowed here
diff --git a/tests/ui/deprecation/atomic_initializers.stderr b/tests/ui/deprecation/atomic_initializers.stderr
index 30fcc9de618..3a2e6613818 100644
--- a/tests/ui/deprecation/atomic_initializers.stderr
+++ b/tests/ui/deprecation/atomic_initializers.stderr
@@ -7,8 +7,9 @@ LL | static FOO: AtomicIsize = ATOMIC_ISIZE_INIT;
    = note: `#[warn(deprecated)]` on by default
 help: replace the use of the deprecated constant
    |
-LL | static FOO: AtomicIsize = AtomicIsize::new(0);
-   |                           ~~~~~~~~~~~~~~~~~~~
+LL - static FOO: AtomicIsize = ATOMIC_ISIZE_INIT;
+LL + static FOO: AtomicIsize = AtomicIsize::new(0);
+   |
 
 warning: 1 warning emitted
 
diff --git a/tests/ui/deprecation/invalid-literal.stderr b/tests/ui/deprecation/invalid-literal.stderr
index ca827beda05..cbe1fcca023 100644
--- a/tests/ui/deprecation/invalid-literal.stderr
+++ b/tests/ui/deprecation/invalid-literal.stderr
@@ -6,12 +6,15 @@ LL | #[deprecated = b"test"]
    |
 help: the following are the possible correct uses
    |
-LL | #[deprecated = "reason"]
-   | ~~~~~~~~~~~~~~~~~~~~~~~~
-LL | #[deprecated(/*opt*/ since = "version", /*opt*/ note = "reason")]
-   | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-LL | #[deprecated]
-   | ~~~~~~~~~~~~~
+LL - #[deprecated = b"test"]
+LL + #[deprecated = "reason"]
+   |
+LL - #[deprecated = b"test"]
+LL + #[deprecated(/*opt*/ since = "version", /*opt*/ note = "reason")]
+   |
+LL - #[deprecated = b"test"]
+LL + #[deprecated]
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/deprecation/issue-84637-deprecated-associated-function.stderr b/tests/ui/deprecation/issue-84637-deprecated-associated-function.stderr
index d1f5ea3602a..a81143640a0 100644
--- a/tests/ui/deprecation/issue-84637-deprecated-associated-function.stderr
+++ b/tests/ui/deprecation/issue-84637-deprecated-associated-function.stderr
@@ -11,8 +11,9 @@ LL | #![deny(deprecated)]
    |         ^^^^^^^^^^
 help: replace the use of the deprecated method
    |
-LL |     let _foo = str::trim_start("   aoeu");
-   |                     ~~~~~~~~~~
+LL -     let _foo = str::trim_left("   aoeu");
+LL +     let _foo = str::trim_start("   aoeu");
+   |
 
 error: use of deprecated method `core::str::<impl str>::trim_left`: superseded by `trim_start`
   --> $DIR/issue-84637-deprecated-associated-function.rs:8:26
@@ -22,8 +23,9 @@ LL |     let _bar = "   aoeu".trim_left();
    |
 help: replace the use of the deprecated method
    |
-LL |     let _bar = "   aoeu".trim_start();
-   |                          ~~~~~~~~~~
+LL -     let _bar = "   aoeu".trim_left();
+LL +     let _bar = "   aoeu".trim_start();
+   |
 
 error: use of deprecated method `std::slice::<impl [T]>::connect`: renamed to join
   --> $DIR/issue-84637-deprecated-associated-function.rs:10:27
@@ -33,8 +35,9 @@ LL |     let _baz = ["a", "b"].connect(" ");
    |
 help: replace the use of the deprecated method
    |
-LL |     let _baz = ["a", "b"].join(" ");
-   |                           ~~~~
+LL -     let _baz = ["a", "b"].connect(" ");
+LL +     let _baz = ["a", "b"].join(" ");
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/deprecation/suggestion.stderr b/tests/ui/deprecation/suggestion.stderr
index 5584b6d2f8f..58e4219d37b 100644
--- a/tests/ui/deprecation/suggestion.stderr
+++ b/tests/ui/deprecation/suggestion.stderr
@@ -11,8 +11,9 @@ LL | #![deny(deprecated)]
    |         ^^^^^^^^^^
 help: replace the use of the deprecated function
    |
-LL |     bar::replacement();
-   |          ~~~~~~~~~~~
+LL -     bar::deprecated();
+LL +     bar::replacement();
+   |
 
 error: use of deprecated method `Foo::deprecated`: replaced by `replacement`
   --> $DIR/suggestion.rs:40:9
@@ -22,8 +23,9 @@ LL |     foo.deprecated();
    |
 help: replace the use of the deprecated method
    |
-LL |     foo.replacement();
-   |         ~~~~~~~~~~~
+LL -     foo.deprecated();
+LL +     foo.replacement();
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/deref-patterns/issue-71676-1.stderr b/tests/ui/deref-patterns/issue-71676-1.stderr
index 164641ff775..348a2c12ec4 100644
--- a/tests/ui/deref-patterns/issue-71676-1.stderr
+++ b/tests/ui/deref-patterns/issue-71676-1.stderr
@@ -40,8 +40,9 @@ LL |     let _: *const u8 = &mut a;
            found mutable reference `&mut Emm`
 help: consider dereferencing
    |
-LL |     let _: *const u8 = &***a;
-   |                         ~~~
+LL -     let _: *const u8 = &mut a;
+LL +     let _: *const u8 = &***a;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/issue-71676-1.rs:52:22
diff --git a/tests/ui/derived-errors/issue-30580.stderr b/tests/ui/derived-errors/issue-30580.stderr
index 05b55591729..e8659ea931d 100644
--- a/tests/ui/derived-errors/issue-30580.stderr
+++ b/tests/ui/derived-errors/issue-30580.stderr
@@ -6,8 +6,9 @@ LL |         b.c;
    |
 help: a field with a similar name exists
    |
-LL |         b.a;
-   |           ~
+LL -         b.c;
+LL +         b.a;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/destructuring-assignment/struct_destructure_fail.stderr b/tests/ui/destructuring-assignment/struct_destructure_fail.stderr
index 58f8e97dea0..7efc0b20e54 100644
--- a/tests/ui/destructuring-assignment/struct_destructure_fail.stderr
+++ b/tests/ui/destructuring-assignment/struct_destructure_fail.stderr
@@ -26,16 +26,19 @@ LL |     Struct { a, _ } = Struct { a: 1, b: 2 };
    |
 help: include the missing field in the pattern
    |
-LL |     Struct { a, b } = Struct { a: 1, b: 2 };
-   |               ~~~~~
+LL -     Struct { a, _ } = Struct { a: 1, b: 2 };
+LL +     Struct { a, b } = Struct { a: 1, b: 2 };
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |     Struct { a, b: _ } = Struct { a: 1, b: 2 };
-   |               ~~~~~~~~
+LL -     Struct { a, _ } = Struct { a: 1, b: 2 };
+LL +     Struct { a, b: _ } = Struct { a: 1, b: 2 };
+   |
 help: or always ignore missing fields here
    |
-LL |     Struct { a, .. } = Struct { a: 1, b: 2 };
-   |               ~~~~~~
+LL -     Struct { a, _ } = Struct { a: 1, b: 2 };
+LL +     Struct { a, .. } = Struct { a: 1, b: 2 };
+   |
 
 error[E0797]: base expression required after `..`
   --> $DIR/struct_destructure_fail.rs:15:19
diff --git a/tests/ui/destructuring-assignment/tuple_struct_destructure_fail.stderr b/tests/ui/destructuring-assignment/tuple_struct_destructure_fail.stderr
index 5cc7acba3f3..515d4cc7621 100644
--- a/tests/ui/destructuring-assignment/tuple_struct_destructure_fail.stderr
+++ b/tests/ui/destructuring-assignment/tuple_struct_destructure_fail.stderr
@@ -38,8 +38,9 @@ LL |     TupleStruct(_, _) = TupleStruct(1, 2);
    |                  +++
 help: use `..` to ignore all fields
    |
-LL |     TupleStruct(..) = TupleStruct(1, 2);
-   |                 ~~
+LL -     TupleStruct(_) = TupleStruct(1, 2);
+LL +     TupleStruct(..) = TupleStruct(1, 2);
+   |
 
 error[E0023]: this pattern has 3 fields, but the corresponding tuple variant has 2 fields
   --> $DIR/tuple_struct_destructure_fail.rs:32:25
@@ -65,8 +66,9 @@ LL |     Enum::SingleVariant(_, _) = Enum::SingleVariant(1, 2);
    |                          +++
 help: use `..` to ignore all fields
    |
-LL |     Enum::SingleVariant(..) = Enum::SingleVariant(1, 2);
-   |                         ~~
+LL -     Enum::SingleVariant(_) = Enum::SingleVariant(1, 2);
+LL +     Enum::SingleVariant(..) = Enum::SingleVariant(1, 2);
+   |
 
 error[E0070]: invalid left-hand side of assignment
   --> $DIR/tuple_struct_destructure_fail.rs:38:12
diff --git a/tests/ui/diagnostic_namespace/suggest_typos.stderr b/tests/ui/diagnostic_namespace/suggest_typos.stderr
index ff4ee9717d4..f41e2f65556 100644
--- a/tests/ui/diagnostic_namespace/suggest_typos.stderr
+++ b/tests/ui/diagnostic_namespace/suggest_typos.stderr
@@ -11,8 +11,9 @@ LL | #![deny(unknown_or_malformed_diagnostic_attributes)]
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: an attribute with a similar name exists
    |
-LL | #[diagnostic::on_unimplemented]
-   |               ~~~~~~~~~~~~~~~~
+LL - #[diagnostic::onunimplemented]
+LL + #[diagnostic::on_unimplemented]
+   |
 
 error: unknown diagnostic attribute
   --> $DIR/suggest_typos.rs:9:15
@@ -22,8 +23,9 @@ LL | #[diagnostic::un_onimplemented]
    |
 help: an attribute with a similar name exists
    |
-LL | #[diagnostic::on_unimplemented]
-   |               ~~~~~~~~~~~~~~~~
+LL - #[diagnostic::un_onimplemented]
+LL + #[diagnostic::on_unimplemented]
+   |
 
 error: unknown diagnostic attribute
   --> $DIR/suggest_typos.rs:14:15
@@ -33,8 +35,9 @@ LL | #[diagnostic::on_implemented]
    |
 help: an attribute with a similar name exists
    |
-LL | #[diagnostic::on_unimplemented]
-   |               ~~~~~~~~~~~~~~~~
+LL - #[diagnostic::on_implemented]
+LL + #[diagnostic::on_unimplemented]
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/did_you_mean/bad-assoc-ty.stderr b/tests/ui/did_you_mean/bad-assoc-ty.stderr
index 5fc2f7c1fe6..7e34f4d35b4 100644
--- a/tests/ui/did_you_mean/bad-assoc-ty.stderr
+++ b/tests/ui/did_you_mean/bad-assoc-ty.stderr
@@ -109,8 +109,9 @@ LL | type A = [u8; 4]::AssocTy;
    |
 help: if there were a trait named `Example` with associated type `AssocTy` implemented for `[u8; 4]`, you could use the fully-qualified path
    |
-LL | type A = <[u8; 4] as Example>::AssocTy;
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - type A = [u8; 4]::AssocTy;
+LL + type A = <[u8; 4] as Example>::AssocTy;
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/bad-assoc-ty.rs:5:10
@@ -120,8 +121,9 @@ LL | type B = [u8]::AssocTy;
    |
 help: if there were a trait named `Example` with associated type `AssocTy` implemented for `[u8]`, you could use the fully-qualified path
    |
-LL | type B = <[u8] as Example>::AssocTy;
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - type B = [u8]::AssocTy;
+LL + type B = <[u8] as Example>::AssocTy;
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/bad-assoc-ty.rs:9:10
@@ -131,8 +133,9 @@ LL | type C = (u8)::AssocTy;
    |
 help: if there were a trait named `Example` with associated type `AssocTy` implemented for `u8`, you could use the fully-qualified path
    |
-LL | type C = <u8 as Example>::AssocTy;
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~
+LL - type C = (u8)::AssocTy;
+LL + type C = <u8 as Example>::AssocTy;
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/bad-assoc-ty.rs:13:10
@@ -142,8 +145,9 @@ LL | type D = (u8, u8)::AssocTy;
    |
 help: if there were a trait named `Example` with associated type `AssocTy` implemented for `(u8, u8)`, you could use the fully-qualified path
    |
-LL | type D = <(u8, u8) as Example>::AssocTy;
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - type D = (u8, u8)::AssocTy;
+LL + type D = <(u8, u8) as Example>::AssocTy;
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for type aliases
   --> $DIR/bad-assoc-ty.rs:17:10
@@ -159,8 +163,9 @@ LL | type F = &'static (u8)::AssocTy;
    |
 help: if there were a trait named `Example` with associated type `AssocTy` implemented for `u8`, you could use the fully-qualified path
    |
-LL | type F = &'static <u8 as Example>::AssocTy;
-   |                   ~~~~~~~~~~~~~~~~~~~~~~~~
+LL - type F = &'static (u8)::AssocTy;
+LL + type F = &'static <u8 as Example>::AssocTy;
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/bad-assoc-ty.rs:27:10
@@ -170,8 +175,9 @@ LL | type G = dyn 'static + (Send)::AssocTy;
    |
 help: if there were a trait named `Example` with associated type `AssocTy` implemented for `(dyn Send + 'static)`, you could use the fully-qualified path
    |
-LL | type G = <(dyn Send + 'static) as Example>::AssocTy;
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - type G = dyn 'static + (Send)::AssocTy;
+LL + type G = <(dyn Send + 'static) as Example>::AssocTy;
+   |
 
 warning: trait objects without an explicit `dyn` are deprecated
   --> $DIR/bad-assoc-ty.rs:33:10
@@ -195,10 +201,12 @@ LL | type H = Fn(u8) -> (u8)::Output;
    |
 help: use fully-qualified syntax
    |
-LL | type H = <(dyn Fn(u8) -> u8 + 'static) as BitOr>::Output;
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-LL | type H = <(dyn Fn(u8) -> u8 + 'static) as IntoFuture>::Output;
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - type H = Fn(u8) -> (u8)::Output;
+LL + type H = <(dyn Fn(u8) -> u8 + 'static) as BitOr>::Output;
+   |
+LL - type H = Fn(u8) -> (u8)::Output;
+LL + type H = <(dyn Fn(u8) -> u8 + 'static) as IntoFuture>::Output;
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/bad-assoc-ty.rs:39:19
@@ -212,8 +220,9 @@ LL | type J = ty!(u8);
    = note: this error originates in the macro `ty` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: if there were a trait named `Example` with associated type `AssocTy` implemented for `u8`, you could use the fully-qualified path
    |
-LL |     ($ty: ty) => (<u8 as Example>::AssocTy);
-   |                   ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     ($ty: ty) => ($ty::AssocTy);
+LL +     ($ty: ty) => (<u8 as Example>::AssocTy);
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/bad-assoc-ty.rs:46:10
@@ -223,8 +232,9 @@ LL | type I = ty!()::AssocTy;
    |
 help: if there were a trait named `Example` with associated type `AssocTy` implemented for `u8`, you could use the fully-qualified path
    |
-LL | type I = <u8 as Example>::AssocTy;
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~
+LL - type I = ty!()::AssocTy;
+LL + type I = <u8 as Example>::AssocTy;
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/bad-assoc-ty.rs:51:13
@@ -242,8 +252,9 @@ LL | fn bar<F>(_: F) where F: Fn() -> _ {}
    |
 help: use type parameters instead
    |
-LL | fn bar<F, T>(_: F) where F: Fn() -> T {}
-   |         +++                         ~
+LL - fn bar<F>(_: F) where F: Fn() -> _ {}
+LL + fn bar<F, T>(_: F) where F: Fn() -> T {}
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/bad-assoc-ty.rs:57:19
@@ -253,8 +264,9 @@ LL | fn baz<F: Fn() -> _>(_: F) {}
    |
 help: use type parameters instead
    |
-LL | fn baz<F: Fn() -> T, T>(_: F) {}
-   |                   ~+++
+LL - fn baz<F: Fn() -> _>(_: F) {}
+LL + fn baz<F: Fn() -> T, T>(_: F) {}
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for structs
   --> $DIR/bad-assoc-ty.rs:60:33
@@ -264,8 +276,9 @@ LL | struct L<F>(F) where F: Fn() -> _;
    |
 help: use type parameters instead
    |
-LL | struct L<F, T>(F) where F: Fn() -> T;
-   |           +++                      ~
+LL - struct L<F>(F) where F: Fn() -> _;
+LL + struct L<F, T>(F) where F: Fn() -> T;
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/bad-assoc-ty.rs:82:38
@@ -275,8 +288,9 @@ LL |     fn foo<F>(_: F) where F: Fn() -> _ {}
    |
 help: use type parameters instead
    |
-LL |     fn foo<F, T>(_: F) where F: Fn() -> T {}
-   |             +++                         ~
+LL -     fn foo<F>(_: F) where F: Fn() -> _ {}
+LL +     fn foo<F, T>(_: F) where F: Fn() -> T {}
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for structs
   --> $DIR/bad-assoc-ty.rs:62:30
@@ -286,8 +300,9 @@ LL | struct M<F> where F: Fn() -> _ {
    |
 help: use type parameters instead
    |
-LL | struct M<F, T> where F: Fn() -> T {
-   |           +++                   ~
+LL - struct M<F> where F: Fn() -> _ {
+LL + struct M<F, T> where F: Fn() -> T {
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for enums
   --> $DIR/bad-assoc-ty.rs:66:28
@@ -297,8 +312,9 @@ LL | enum N<F> where F: Fn() -> _ {
    |
 help: use type parameters instead
    |
-LL | enum N<F, T> where F: Fn() -> T {
-   |         +++                   ~
+LL - enum N<F> where F: Fn() -> _ {
+LL + enum N<F, T> where F: Fn() -> T {
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for unions
   --> $DIR/bad-assoc-ty.rs:71:29
@@ -308,8 +324,9 @@ LL | union O<F> where F: Fn() -> _ {
    |
 help: use type parameters instead
    |
-LL | union O<F, T> where F: Fn() -> T {
-   |          +++                   ~
+LL - union O<F> where F: Fn() -> _ {
+LL + union O<F, T> where F: Fn() -> T {
+   |
 
 error[E0740]: field must implement `Copy` or be wrapped in `ManuallyDrop<...>` to be used in a union
   --> $DIR/bad-assoc-ty.rs:73:5
@@ -331,8 +348,9 @@ LL | trait P<F> where F: Fn() -> _ {
    |
 help: use type parameters instead
    |
-LL | trait P<F, T> where F: Fn() -> T {
-   |          +++                   ~
+LL - trait P<F> where F: Fn() -> _ {
+LL + trait P<F, T> where F: Fn() -> T {
+   |
 
 error: aborting due to 29 previous errors; 1 warning emitted
 
diff --git a/tests/ui/did_you_mean/brackets-to-braces-single-element.stderr b/tests/ui/did_you_mean/brackets-to-braces-single-element.stderr
index a7ec192592e..d4aeb1eee96 100644
--- a/tests/ui/did_you_mean/brackets-to-braces-single-element.stderr
+++ b/tests/ui/did_you_mean/brackets-to-braces-single-element.stderr
@@ -6,8 +6,9 @@ LL | const A: [&str; 1] = { "hello" };
    |
 help: to create an array, use square brackets instead of curly braces
    |
-LL | const A: [&str; 1] = [ "hello" ];
-   |                      ~         ~
+LL - const A: [&str; 1] = { "hello" };
+LL + const A: [&str; 1] = [ "hello" ];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/brackets-to-braces-single-element.rs:4:19
@@ -19,8 +20,9 @@ LL | const B: &[u32] = &{ 1 };
               found reference `&{integer}`
 help: to create an array, use square brackets instead of curly braces
    |
-LL | const B: &[u32] = &[ 1 ];
-   |                    ~   ~
+LL - const B: &[u32] = &{ 1 };
+LL + const B: &[u32] = &[ 1 ];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/brackets-to-braces-single-element.rs:7:27
@@ -30,8 +32,9 @@ LL | const C: &&[u32; 1] = &&{ 1 };
    |
 help: to create an array, use square brackets instead of curly braces
    |
-LL | const C: &&[u32; 1] = &&[ 1 ];
-   |                         ~   ~
+LL - const C: &&[u32; 1] = &&{ 1 };
+LL + const C: &&[u32; 1] = &&[ 1 ];
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/did_you_mean/compatible-variants-in-pat.stderr b/tests/ui/did_you_mean/compatible-variants-in-pat.stderr
index 5e48871bb01..09cf094e6bd 100644
--- a/tests/ui/did_you_mean/compatible-variants-in-pat.stderr
+++ b/tests/ui/did_you_mean/compatible-variants-in-pat.stderr
@@ -33,8 +33,9 @@ LL |         Some(S) => {
    |         +++++ +
 help: introduce a new binding instead
    |
-LL |         other_s => {
-   |         ~~~~~~~
+LL -         S => {
+LL +         other_s => {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/compatible-variants-in-pat.rs:32:9
@@ -60,8 +61,9 @@ LL |         Err(S) => {
    |         ++++ +
 help: introduce a new binding instead
    |
-LL |         other_s => {
-   |         ~~~~~~~
+LL -         S => {
+LL +         other_s => {
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/did_you_mean/dont-suggest-hygienic-fields.stderr b/tests/ui/did_you_mean/dont-suggest-hygienic-fields.stderr
index 473c9a339fc..72b65006a3f 100644
--- a/tests/ui/did_you_mean/dont-suggest-hygienic-fields.stderr
+++ b/tests/ui/did_you_mean/dont-suggest-hygienic-fields.stderr
@@ -10,8 +10,9 @@ LL |     const CRATE: Crate = Crate { fiel: () };
    = note: this error originates in the macro `environment` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: a field with a similar name exists
    |
-LL |     const CRATE: Crate = Crate { field: () };
-   |                                  ~~~~~
+LL -     const CRATE: Crate = Crate { fiel: () };
+LL +     const CRATE: Crate = Crate { field: () };
+   |
 
 error[E0609]: no field `field` on type `Compound`
   --> $DIR/dont-suggest-hygienic-fields.rs:24:16
diff --git a/tests/ui/did_you_mean/issue-36798.stderr b/tests/ui/did_you_mean/issue-36798.stderr
index 70aa3c32bfb..233cb1e3248 100644
--- a/tests/ui/did_you_mean/issue-36798.stderr
+++ b/tests/ui/did_you_mean/issue-36798.stderr
@@ -6,8 +6,9 @@ LL |     f.baz;
    |
 help: a field with a similar name exists
    |
-LL |     f.bar;
-   |       ~~~
+LL -     f.baz;
+LL +     f.bar;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/did_you_mean/issue-41679-tilde-bitwise-negation-attempt.stderr b/tests/ui/did_you_mean/issue-41679-tilde-bitwise-negation-attempt.stderr
index 952ac76a003..9893aad7486 100644
--- a/tests/ui/did_you_mean/issue-41679-tilde-bitwise-negation-attempt.stderr
+++ b/tests/ui/did_you_mean/issue-41679-tilde-bitwise-negation-attempt.stderr
@@ -6,8 +6,9 @@ LL |     let _x = ~1;
    |
 help: use `!` to perform bitwise not
    |
-LL |     let _x = !1;
-   |              ~
+LL -     let _x = ~1;
+LL +     let _x = !1;
+   |
 
 error: unexpected `1` after identifier
   --> $DIR/issue-41679-tilde-bitwise-negation-attempt.rs:5:18
@@ -17,8 +18,9 @@ LL |     let _y = not 1;
    |
 help: use `!` to perform bitwise not
    |
-LL |     let _y = !1;
-   |              ~
+LL -     let _y = not 1;
+LL +     let _y = !1;
+   |
 
 error: unexpected keyword `false` after identifier
   --> $DIR/issue-41679-tilde-bitwise-negation-attempt.rs:6:18
@@ -28,8 +30,9 @@ LL |     let _z = not false;
    |
 help: use `!` to perform logical negation
    |
-LL |     let _z = !false;
-   |              ~
+LL -     let _z = not false;
+LL +     let _z = !false;
+   |
 
 error: unexpected keyword `true` after identifier
   --> $DIR/issue-41679-tilde-bitwise-negation-attempt.rs:7:18
@@ -39,8 +42,9 @@ LL |     let _a = not true;
    |
 help: use `!` to perform logical negation
    |
-LL |     let _a = !true;
-   |              ~
+LL -     let _a = not true;
+LL +     let _a = !true;
+   |
 
 error: unexpected `v` after identifier
   --> $DIR/issue-41679-tilde-bitwise-negation-attempt.rs:9:18
@@ -50,8 +54,9 @@ LL |     let _v = not v;
    |
 help: use `!` to perform logical negation or bitwise not
    |
-LL |     let _v = !v;
-   |              ~
+LL -     let _v = not v;
+LL +     let _v = !v;
+   |
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/ui/did_you_mean/issue-42599_available_fields_note.stderr b/tests/ui/did_you_mean/issue-42599_available_fields_note.stderr
index d60db01a465..8fe46eb7ee1 100644
--- a/tests/ui/did_you_mean/issue-42599_available_fields_note.stderr
+++ b/tests/ui/did_you_mean/issue-42599_available_fields_note.stderr
@@ -6,8 +6,9 @@ LL |             Self { secret_integer: 2, inocently_mispellable: () }
    |
 help: a field with a similar name exists
    |
-LL |             Self { secret_integer: 2, innocently_misspellable: () }
-   |                                       ~~~~~~~~~~~~~~~~~~~~~~~
+LL -             Self { secret_integer: 2, inocently_mispellable: () }
+LL +             Self { secret_integer: 2, innocently_misspellable: () }
+   |
 
 error[E0560]: struct `Demo` has no field named `egregiously_nonexistent_field`
   --> $DIR/issue-42599_available_fields_note.rs:21:39
@@ -25,8 +26,9 @@ LL |     let innocent_field_misaccess = demo.inocently_mispellable;
    |
 help: a field with a similar name exists
    |
-LL |     let innocent_field_misaccess = demo.innocently_misspellable;
-   |                                         ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let innocent_field_misaccess = demo.inocently_mispellable;
+LL +     let innocent_field_misaccess = demo.innocently_misspellable;
+   |
 
 error[E0609]: no field `egregiously_nonexistent_field` on type `Demo`
   --> $DIR/issue-42599_available_fields_note.rs:35:42
diff --git a/tests/ui/did_you_mean/issue-46718-struct-pattern-dotdotdot.stderr b/tests/ui/did_you_mean/issue-46718-struct-pattern-dotdotdot.stderr
index 92cbc03e0dd..633f331a13a 100644
--- a/tests/ui/did_you_mean/issue-46718-struct-pattern-dotdotdot.stderr
+++ b/tests/ui/did_you_mean/issue-46718-struct-pattern-dotdotdot.stderr
@@ -6,8 +6,9 @@ LL |             PersonalityInventory { expressivity: exp, ... } => exp
    |
 help: to omit remaining fields, use `..`
    |
-LL |             PersonalityInventory { expressivity: exp, .. } => exp
-   |                                                       ~~
+LL -             PersonalityInventory { expressivity: exp, ... } => exp
+LL +             PersonalityInventory { expressivity: exp, .. } => exp
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/did_you_mean/issue-46836-identifier-not-instead-of-negation.stderr b/tests/ui/did_you_mean/issue-46836-identifier-not-instead-of-negation.stderr
index 6dea6a4fac8..3a25181d29c 100644
--- a/tests/ui/did_you_mean/issue-46836-identifier-not-instead-of-negation.stderr
+++ b/tests/ui/did_you_mean/issue-46836-identifier-not-instead-of-negation.stderr
@@ -6,8 +6,9 @@ LL |     if not for_you {
    |
 help: use `!` to perform logical negation or bitwise not
    |
-LL |     if !for_you {
-   |        ~
+LL -     if not for_you {
+LL +     if !for_you {
+   |
 
 error: unexpected `the_worst` after identifier
   --> $DIR/issue-46836-identifier-not-instead-of-negation.rs:11:15
@@ -17,8 +18,9 @@ LL |     while not the_worst {
    |
 help: use `!` to perform logical negation or bitwise not
    |
-LL |     while !the_worst {
-   |           ~
+LL -     while not the_worst {
+LL +     while !the_worst {
+   |
 
 error: unexpected `println` after identifier
   --> $DIR/issue-46836-identifier-not-instead-of-negation.rs:20:9
@@ -28,8 +30,9 @@ LL |         println!("Then when?");
    |
 help: use `!` to perform logical negation or bitwise not
    |
-LL |     if !// lack of braces is [sic]
-   |        ~
+LL -     if not  // lack of braces is [sic]
+LL +     if !// lack of braces is [sic]
+   |
 
 error: expected `{`, found `;`
   --> $DIR/issue-46836-identifier-not-instead-of-negation.rs:20:31
@@ -53,8 +56,9 @@ LL |     let resource = not 2;
    |
 help: use `!` to perform bitwise not
    |
-LL |     let resource = !2;
-   |                    ~
+LL -     let resource = not 2;
+LL +     let resource = !2;
+   |
 
 error: unexpected `be_smothered_out_before` after identifier
   --> $DIR/issue-46836-identifier-not-instead-of-negation.rs:32:27
@@ -64,8 +68,9 @@ LL |     let young_souls = not be_smothered_out_before;
    |
 help: use `!` to perform logical negation or bitwise not
    |
-LL |     let young_souls = !be_smothered_out_before;
-   |                       ~
+LL -     let young_souls = not be_smothered_out_before;
+LL +     let young_souls = !be_smothered_out_before;
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/did_you_mean/issue-48492-tuple-destructure-missing-parens.stderr b/tests/ui/did_you_mean/issue-48492-tuple-destructure-missing-parens.stderr
index 6d92fa5e14e..d4812d4831b 100644
--- a/tests/ui/did_you_mean/issue-48492-tuple-destructure-missing-parens.stderr
+++ b/tests/ui/did_you_mean/issue-48492-tuple-destructure-missing-parens.stderr
@@ -34,8 +34,9 @@ LL |         (Nucleotide::Adenine, Nucleotide::Cytosine, _) => true
    |         +                                            +
 help: ...or a vertical bar to match on multiple alternatives
    |
-LL |         Nucleotide::Adenine | Nucleotide::Cytosine | _ => true
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -         Nucleotide::Adenine, Nucleotide::Cytosine, _ => true
+LL +         Nucleotide::Adenine | Nucleotide::Cytosine | _ => true
+   |
 
 error: unexpected `,` in pattern
   --> $DIR/issue-48492-tuple-destructure-missing-parens.rs:67:10
diff --git a/tests/ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.stderr b/tests/ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.stderr
index 4b3d429c750..664bf69b9eb 100644
--- a/tests/ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.stderr
+++ b/tests/ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.stderr
@@ -12,8 +12,9 @@ LL | const UNIVERSAL_GRAVITATIONAL_CONSTANT: f64 = 6.674e−11; // m³⋅kg⁻¹
    |
 help: Unicode character '−' (Minus Sign) looks like '-' (Minus/Hyphen), but it is not
    |
-LL | const UNIVERSAL_GRAVITATIONAL_CONSTANT: f64 = 6.674e-11; // m³⋅kg⁻¹⋅s⁻²
-   |                                                     ~
+LL - const UNIVERSAL_GRAVITATIONAL_CONSTANT: f64 = 6.674e−11; // m³⋅kg⁻¹⋅s⁻²
+LL + const UNIVERSAL_GRAVITATIONAL_CONSTANT: f64 = 6.674e-11; // m³⋅kg⁻¹⋅s⁻²
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/did_you_mean/issue-54109-and_instead_of_ampersands.stderr b/tests/ui/did_you_mean/issue-54109-and_instead_of_ampersands.stderr
index c52102e2631..5dad6924dfd 100644
--- a/tests/ui/did_you_mean/issue-54109-and_instead_of_ampersands.stderr
+++ b/tests/ui/did_you_mean/issue-54109-and_instead_of_ampersands.stderr
@@ -7,8 +7,9 @@ LL |     let _ = a and b;
    = note: unlike in e.g., Python and PHP, `&&` and `||` are used for logical operators
 help: use `&&` to perform logical conjunction
    |
-LL |     let _ = a && b;
-   |               ~~
+LL -     let _ = a and b;
+LL +     let _ = a && b;
+   |
 
 error: `and` is not a logical operator
   --> $DIR/issue-54109-and_instead_of_ampersands.rs:9:10
@@ -19,8 +20,9 @@ LL |     if a and b {
    = note: unlike in e.g., Python and PHP, `&&` and `||` are used for logical operators
 help: use `&&` to perform logical conjunction
    |
-LL |     if a && b {
-   |          ~~
+LL -     if a and b {
+LL +     if a && b {
+   |
 
 error: `or` is not a logical operator
   --> $DIR/issue-54109-and_instead_of_ampersands.rs:20:15
@@ -31,8 +33,9 @@ LL |     let _ = a or b;
    = note: unlike in e.g., Python and PHP, `&&` and `||` are used for logical operators
 help: use `||` to perform logical disjunction
    |
-LL |     let _ = a || b;
-   |               ~~
+LL -     let _ = a or b;
+LL +     let _ = a || b;
+   |
 
 error: `or` is not a logical operator
   --> $DIR/issue-54109-and_instead_of_ampersands.rs:22:10
@@ -43,8 +46,9 @@ LL |     if a or b {
    = note: unlike in e.g., Python and PHP, `&&` and `||` are used for logical operators
 help: use `||` to perform logical disjunction
    |
-LL |     if a || b {
-   |          ~~
+LL -     if a or b {
+LL +     if a || b {
+   |
 
 error: `and` is not a logical operator
   --> $DIR/issue-54109-and_instead_of_ampersands.rs:30:11
@@ -55,8 +59,9 @@ LL |     if (a and b) {
    = note: unlike in e.g., Python and PHP, `&&` and `||` are used for logical operators
 help: use `&&` to perform logical conjunction
    |
-LL |     if (a && b) {
-   |           ~~
+LL -     if (a and b) {
+LL +     if (a && b) {
+   |
 
 error: `or` is not a logical operator
   --> $DIR/issue-54109-and_instead_of_ampersands.rs:38:11
@@ -67,8 +72,9 @@ LL |     if (a or b) {
    = note: unlike in e.g., Python and PHP, `&&` and `||` are used for logical operators
 help: use `||` to perform logical disjunction
    |
-LL |     if (a || b) {
-   |           ~~
+LL -     if (a or b) {
+LL +     if (a || b) {
+   |
 
 error: `and` is not a logical operator
   --> $DIR/issue-54109-and_instead_of_ampersands.rs:46:13
@@ -79,8 +85,9 @@ LL |     while a and b {
    = note: unlike in e.g., Python and PHP, `&&` and `||` are used for logical operators
 help: use `&&` to perform logical conjunction
    |
-LL |     while a && b {
-   |             ~~
+LL -     while a and b {
+LL +     while a && b {
+   |
 
 error: `or` is not a logical operator
   --> $DIR/issue-54109-and_instead_of_ampersands.rs:54:13
@@ -91,8 +98,9 @@ LL |     while a or b {
    = note: unlike in e.g., Python and PHP, `&&` and `||` are used for logical operators
 help: use `||` to perform logical disjunction
    |
-LL |     while a || b {
-   |             ~~
+LL -     while a or b {
+LL +     while a || b {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/issue-54109-and_instead_of_ampersands.rs:13:33
diff --git a/tests/ui/did_you_mean/issue-54109-without-witness.stderr b/tests/ui/did_you_mean/issue-54109-without-witness.stderr
index ee6d9901fcf..1ad88f0084c 100644
--- a/tests/ui/did_you_mean/issue-54109-without-witness.stderr
+++ b/tests/ui/did_you_mean/issue-54109-without-witness.stderr
@@ -7,8 +7,9 @@ LL |     let _ = a and b;
    = note: unlike in e.g., Python and PHP, `&&` and `||` are used for logical operators
 help: use `&&` to perform logical conjunction
    |
-LL |     let _ = a && b;
-   |               ~~
+LL -     let _ = a and b;
+LL +     let _ = a && b;
+   |
 
 error: `and` is not a logical operator
   --> $DIR/issue-54109-without-witness.rs:15:10
@@ -19,8 +20,9 @@ LL |     if a and b {
    = note: unlike in e.g., Python and PHP, `&&` and `||` are used for logical operators
 help: use `&&` to perform logical conjunction
    |
-LL |     if a && b {
-   |          ~~
+LL -     if a and b {
+LL +     if a && b {
+   |
 
 error: `or` is not a logical operator
   --> $DIR/issue-54109-without-witness.rs:24:15
@@ -31,8 +33,9 @@ LL |     let _ = a or b;
    = note: unlike in e.g., Python and PHP, `&&` and `||` are used for logical operators
 help: use `||` to perform logical disjunction
    |
-LL |     let _ = a || b;
-   |               ~~
+LL -     let _ = a or b;
+LL +     let _ = a || b;
+   |
 
 error: `or` is not a logical operator
   --> $DIR/issue-54109-without-witness.rs:26:10
@@ -43,8 +46,9 @@ LL |     if a or b {
    = note: unlike in e.g., Python and PHP, `&&` and `||` are used for logical operators
 help: use `||` to perform logical disjunction
    |
-LL |     if a || b {
-   |          ~~
+LL -     if a or b {
+LL +     if a || b {
+   |
 
 error: `and` is not a logical operator
   --> $DIR/issue-54109-without-witness.rs:34:11
@@ -55,8 +59,9 @@ LL |     if (a and b) {
    = note: unlike in e.g., Python and PHP, `&&` and `||` are used for logical operators
 help: use `&&` to perform logical conjunction
    |
-LL |     if (a && b) {
-   |           ~~
+LL -     if (a and b) {
+LL +     if (a && b) {
+   |
 
 error: `or` is not a logical operator
   --> $DIR/issue-54109-without-witness.rs:42:11
@@ -67,8 +72,9 @@ LL |     if (a or b) {
    = note: unlike in e.g., Python and PHP, `&&` and `||` are used for logical operators
 help: use `||` to perform logical disjunction
    |
-LL |     if (a || b) {
-   |           ~~
+LL -     if (a or b) {
+LL +     if (a || b) {
+   |
 
 error: `and` is not a logical operator
   --> $DIR/issue-54109-without-witness.rs:50:13
@@ -79,8 +85,9 @@ LL |     while a and b {
    = note: unlike in e.g., Python and PHP, `&&` and `||` are used for logical operators
 help: use `&&` to perform logical conjunction
    |
-LL |     while a && b {
-   |             ~~
+LL -     while a and b {
+LL +     while a && b {
+   |
 
 error: `or` is not a logical operator
   --> $DIR/issue-54109-without-witness.rs:58:13
@@ -91,8 +98,9 @@ LL |     while a or b {
    = note: unlike in e.g., Python and PHP, `&&` and `||` are used for logical operators
 help: use `||` to perform logical disjunction
    |
-LL |     while a || b {
-   |             ~~
+LL -     while a or b {
+LL +     while a || b {
+   |
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/did_you_mean/issue-56028-there-is-an-enum-variant.stderr b/tests/ui/did_you_mean/issue-56028-there-is-an-enum-variant.stderr
index b1a15b8594a..927f9e842e6 100644
--- a/tests/ui/did_you_mean/issue-56028-there-is-an-enum-variant.stderr
+++ b/tests/ui/did_you_mean/issue-56028-there-is-an-enum-variant.stderr
@@ -6,14 +6,18 @@ LL | fn setup() -> Set { Set }
    |
 help: there is an enum variant `AffixHeart::Set` and 7 others; try using the variant's enum
    |
-LL | fn setup() -> AffixHeart { Set }
-   |               ~~~~~~~~~~
-LL | fn setup() -> CauseToBe { Set }
-   |               ~~~~~~~~~
-LL | fn setup() -> Determine { Set }
-   |               ~~~~~~~~~
-LL | fn setup() -> PutDown { Set }
-   |               ~~~~~~~
+LL - fn setup() -> Set { Set }
+LL + fn setup() -> AffixHeart { Set }
+   |
+LL - fn setup() -> Set { Set }
+LL + fn setup() -> CauseToBe { Set }
+   |
+LL - fn setup() -> Set { Set }
+LL + fn setup() -> Determine { Set }
+   |
+LL - fn setup() -> Set { Set }
+LL + fn setup() -> PutDown { Set }
+   |
      and 3 other candidates
 
 error[E0425]: cannot find value `Set` in this scope
diff --git a/tests/ui/did_you_mean/issue-87830-try-brackets-for-arrays.stderr b/tests/ui/did_you_mean/issue-87830-try-brackets-for-arrays.stderr
index d5ad1a72b82..58232e2307d 100644
--- a/tests/ui/did_you_mean/issue-87830-try-brackets-for-arrays.stderr
+++ b/tests/ui/did_you_mean/issue-87830-try-brackets-for-arrays.stderr
@@ -24,8 +24,9 @@ LL | const BAR: [&str; 3] = {"one", "two", "three"};
    |
 help: to make an array, use square brackets instead of curly braces
    |
-LL | const BAR: [&str; 3] = ["one", "two", "three"];
-   |                        ~                     ~
+LL - const BAR: [&str; 3] = {"one", "two", "three"};
+LL + const BAR: [&str; 3] = ["one", "two", "three"];
+   |
 
 error: this is a block expression, not an array
   --> $DIR/issue-87830-try-brackets-for-arrays.rs:12:5
@@ -35,8 +36,9 @@ LL |     {1, 2, 3};
    |
 help: to make an array, use square brackets instead of curly braces
    |
-LL |     [1, 2, 3];
-   |     ~       ~
+LL -     {1, 2, 3};
+LL +     [1, 2, 3];
+   |
 
 error: expected one of `.`, `;`, `?`, `}`, or an operator, found `,`
   --> $DIR/issue-87830-try-brackets-for-arrays.rs:17:6
diff --git a/tests/ui/did_you_mean/pub-macro-rules.stderr b/tests/ui/did_you_mean/pub-macro-rules.stderr
index fb9148748ca..a91d419d96b 100644
--- a/tests/ui/did_you_mean/pub-macro-rules.stderr
+++ b/tests/ui/did_you_mean/pub-macro-rules.stderr
@@ -6,8 +6,9 @@ LL |     pub macro_rules! foo {
    |
 help: try exporting the macro
    |
-LL |     #[macro_export] macro_rules! foo {
-   |     ~~~~~~~~~~~~~~~
+LL -     pub macro_rules! foo {
+LL +     #[macro_export] macro_rules! foo {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/did_you_mean/replace-impl-infer-ty-from-trait.stderr b/tests/ui/did_you_mean/replace-impl-infer-ty-from-trait.stderr
index 96742f8bf47..6c24a5899ea 100644
--- a/tests/ui/did_you_mean/replace-impl-infer-ty-from-trait.stderr
+++ b/tests/ui/did_you_mean/replace-impl-infer-ty-from-trait.stderr
@@ -10,8 +10,9 @@ LL |     fn bar(i: _, t: _, s: _) -> _ {
    |
 help: try replacing `_` with the types in the corresponding trait method signature
    |
-LL |     fn bar(i: i32, t: usize, s: &()) -> (usize, i32) {
-   |               ~~~     ~~~~~     ~~~     ~~~~~~~~~~~~
+LL -     fn bar(i: _, t: _, s: _) -> _ {
+LL +     fn bar(i: i32, t: usize, s: &()) -> (usize, i32) {
+   |
 
 error[E0282]: type annotations needed
   --> $DIR/replace-impl-infer-ty-from-trait.rs:9:15
diff --git a/tests/ui/did_you_mean/use_instead_of_import.stderr b/tests/ui/did_you_mean/use_instead_of_import.stderr
index f8d6de8a117..aadd7524ec6 100644
--- a/tests/ui/did_you_mean/use_instead_of_import.stderr
+++ b/tests/ui/did_you_mean/use_instead_of_import.stderr
@@ -6,8 +6,9 @@ LL | import std::{
    |
 help: items are imported using the `use` keyword
    |
-LL | use std::{
-   | ~~~
+LL - import std::{
+LL + use std::{
+   |
 
 error: expected item, found `require`
   --> $DIR/use_instead_of_import.rs:9:1
@@ -17,8 +18,9 @@ LL | require std::time::Duration;
    |
 help: items are imported using the `use` keyword
    |
-LL | use std::time::Duration;
-   | ~~~
+LL - require std::time::Duration;
+LL + use std::time::Duration;
+   |
 
 error: expected item, found `include`
   --> $DIR/use_instead_of_import.rs:12:1
@@ -28,8 +30,9 @@ LL | include std::time::Instant;
    |
 help: items are imported using the `use` keyword
    |
-LL | use std::time::Instant;
-   | ~~~
+LL - include std::time::Instant;
+LL + use std::time::Instant;
+   |
 
 error: expected item, found `using`
   --> $DIR/use_instead_of_import.rs:15:5
@@ -39,8 +42,9 @@ LL | pub using std::io;
    |
 help: items are imported using the `use` keyword
    |
-LL | pub use std::io;
-   |     ~~~
+LL - pub using std::io;
+LL + pub use std::io;
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/drop/if-let-rescope-borrowck-suggestions.stderr b/tests/ui/drop/if-let-rescope-borrowck-suggestions.stderr
index 3c87e196af6..b418ff4684d 100644
--- a/tests/ui/drop/if-let-rescope-borrowck-suggestions.stderr
+++ b/tests/ui/drop/if-let-rescope-borrowck-suggestions.stderr
@@ -18,8 +18,9 @@ LL ~     do_something(if let Some(value) = binding.get_ref() { value } else { &0
    |
 help: consider rewriting the `if` into `match` which preserves the extended lifetime
    |
-LL |     do_something({ match Droppy.get_ref()  { Some(value) => { value } _ => { &0 }}});
-   |                  ~~~~~~~                   ++++++++++++++++           ~~~~       ++
+LL -     do_something(if let Some(value) = Droppy.get_ref() { value } else { &0 });
+LL +     do_something({ match Droppy.get_ref()  { Some(value) => { value } _ => { &0 }}});
+   |
 
 error[E0716]: temporary value dropped while borrowed
   --> $DIR/if-let-rescope-borrowck-suggestions.rs:23:39
diff --git a/tests/ui/drop/lint-if-let-rescope.stderr b/tests/ui/drop/lint-if-let-rescope.stderr
index f6715dbae05..2b0fcb7a938 100644
--- a/tests/ui/drop/lint-if-let-rescope.stderr
+++ b/tests/ui/drop/lint-if-let-rescope.stderr
@@ -108,8 +108,9 @@ LL |     if let Some(1) = { if let Some(_value) = Droppy.get() { Some(1) } else
    |                                                                     ^
 help: a `match` with a single arm can preserve the drop order up to Edition 2021
    |
-LL |     if let Some(1) = { match Droppy.get() { Some(_value) => { Some(1) } _ => { None }} } {
-   |                        ~~~~~              +++++++++++++++++             ~~~~         +
+LL -     if let Some(1) = { if let Some(_value) = Droppy.get() { Some(1) } else { None } } {
+LL +     if let Some(1) = { match Droppy.get() { Some(_value) => { Some(1) } _ => { None }} } {
+   |
 
 error: `if let` assigns a shorter lifetime since Edition 2024
   --> $DIR/lint-if-let-rescope.rs:72:12
@@ -128,8 +129,9 @@ LL |     if (if let Some(_value) = droppy().get() { true } else { false }) {
    |                                                     ^
 help: a `match` with a single arm can preserve the drop order up to Edition 2021
    |
-LL |     if (match droppy().get() { Some(_value) => { true } _ => { false }}) {
-   |         ~~~~~                +++++++++++++++++          ~~~~          +
+LL -     if (if let Some(_value) = droppy().get() { true } else { false }) {
+LL +     if (match droppy().get() { Some(_value) => { true } _ => { false }}) {
+   |
 
 error: `if let` assigns a shorter lifetime since Edition 2024
   --> $DIR/lint-if-let-rescope.rs:78:21
@@ -148,8 +150,9 @@ LL |     } else if (((if let Some(_value) = droppy().get() { true } else { false
    |                                                              ^
 help: a `match` with a single arm can preserve the drop order up to Edition 2021
    |
-LL |     } else if (((match droppy().get() { Some(_value) => { true } _ => { false }}))) {
-   |                  ~~~~~                +++++++++++++++++          ~~~~          +
+LL -     } else if (((if let Some(_value) = droppy().get() { true } else { false }))) {
+LL +     } else if (((match droppy().get() { Some(_value) => { true } _ => { false }}))) {
+   |
 
 error: `if let` assigns a shorter lifetime since Edition 2024
   --> $DIR/lint-if-let-rescope.rs:90:15
@@ -168,8 +171,9 @@ LL |     while (if let Some(_value) = droppy().get() { false } else { true }) {
    |                                                         ^
 help: a `match` with a single arm can preserve the drop order up to Edition 2021
    |
-LL |     while (match droppy().get() { Some(_value) => { false } _ => { true }}) {
-   |            ~~~~~                +++++++++++++++++           ~~~~         +
+LL -     while (if let Some(_value) = droppy().get() { false } else { true }) {
+LL +     while (match droppy().get() { Some(_value) => { false } _ => { true }}) {
+   |
 
 error: aborting due to 7 previous errors
 
diff --git a/tests/ui/dropck/explicit-drop-bounds.bad1.stderr b/tests/ui/dropck/explicit-drop-bounds.bad1.stderr
index 2caa779ffab..650244ac02a 100644
--- a/tests/ui/dropck/explicit-drop-bounds.bad1.stderr
+++ b/tests/ui/dropck/explicit-drop-bounds.bad1.stderr
@@ -11,8 +11,9 @@ LL | struct DropMe<T: Copy>(T);
    |                  ^^^^ required by this bound in `DropMe`
 help: consider further restricting type parameter `T` with trait `Copy`
    |
-LL |     [T; 1]: Copy, T: std::marker::Copy // But `[T; 1]: Copy` does not imply `T: Copy`
-   |                 ~~~~~~~~~~~~~~~~~~~~~~
+LL -     [T; 1]: Copy, // But `[T; 1]: Copy` does not imply `T: Copy`
+LL +     [T; 1]: Copy, T: std::marker::Copy // But `[T; 1]: Copy` does not imply `T: Copy`
+   |
 
 error[E0277]: the trait bound `T: Copy` is not satisfied
   --> $DIR/explicit-drop-bounds.rs:32:18
@@ -27,8 +28,9 @@ LL | struct DropMe<T: Copy>(T);
    |                  ^^^^ required by this bound in `DropMe`
 help: consider further restricting type parameter `T` with trait `Copy`
    |
-LL |     [T; 1]: Copy, T: std::marker::Copy // But `[T; 1]: Copy` does not imply `T: Copy`
-   |                 ~~~~~~~~~~~~~~~~~~~~~~
+LL -     [T; 1]: Copy, // But `[T; 1]: Copy` does not imply `T: Copy`
+LL +     [T; 1]: Copy, T: std::marker::Copy // But `[T; 1]: Copy` does not imply `T: Copy`
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/dst/issue-90528-unsizing-suggestion-3.stderr b/tests/ui/dst/issue-90528-unsizing-suggestion-3.stderr
index 774d5ba3c89..c54cc858129 100644
--- a/tests/ui/dst/issue-90528-unsizing-suggestion-3.stderr
+++ b/tests/ui/dst/issue-90528-unsizing-suggestion-3.stderr
@@ -67,8 +67,9 @@ LL | fn wants_write(_: impl Write) {}
    |                        ^^^^^ required by this bound in `wants_write`
 help: consider changing this borrow's mutability
    |
-LL |     wants_write(&mut [0u8][..]);
-   |                 ~~~~
+LL -     wants_write(&[0u8][..]);
+LL +     wants_write(&mut [0u8][..]);
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/dyn-compatibility/avoid-ice-on-warning-2.new.stderr b/tests/ui/dyn-compatibility/avoid-ice-on-warning-2.new.stderr
index 83795f3128e..87207d607e2 100644
--- a/tests/ui/dyn-compatibility/avoid-ice-on-warning-2.new.stderr
+++ b/tests/ui/dyn-compatibility/avoid-ice-on-warning-2.new.stderr
@@ -7,8 +7,9 @@ LL | fn id<F>(f: Copy) -> usize {
    = note: `Copy` it is dyn-incompatible, so it can't be `dyn`
 help: use a new generic type parameter, constrained by `Copy`
    |
-LL | fn id<F, T: Copy>(f: T) -> usize {
-   |        +++++++++     ~
+LL - fn id<F>(f: Copy) -> usize {
+LL + fn id<F, T: Copy>(f: T) -> usize {
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL | fn id<F>(f: impl Copy) -> usize {
diff --git a/tests/ui/dyn-compatibility/avoid-ice-on-warning-3.new.stderr b/tests/ui/dyn-compatibility/avoid-ice-on-warning-3.new.stderr
index 813b5863738..6075e313f4e 100644
--- a/tests/ui/dyn-compatibility/avoid-ice-on-warning-3.new.stderr
+++ b/tests/ui/dyn-compatibility/avoid-ice-on-warning-3.new.stderr
@@ -7,8 +7,9 @@ LL | trait A { fn g(b: B) -> B; }
    = note: `B` it is dyn-incompatible, so it can't be `dyn`
 help: use a new generic type parameter, constrained by `B`
    |
-LL | trait A { fn g<T: B>(b: T) -> B; }
-   |               ++++++    ~
+LL - trait A { fn g(b: B) -> B; }
+LL + trait A { fn g<T: B>(b: T) -> B; }
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL | trait A { fn g(b: impl B) -> B; }
@@ -34,8 +35,9 @@ LL | trait B { fn f(a: A) -> A; }
    = note: `A` it is dyn-incompatible, so it can't be `dyn`
 help: use a new generic type parameter, constrained by `A`
    |
-LL | trait B { fn f<T: A>(a: T) -> A; }
-   |               ++++++    ~
+LL - trait B { fn f(a: A) -> A; }
+LL + trait B { fn f<T: A>(a: T) -> A; }
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL | trait B { fn f(a: impl A) -> A; }
diff --git a/tests/ui/dyn-compatibility/avoid-ice-on-warning.new.stderr b/tests/ui/dyn-compatibility/avoid-ice-on-warning.new.stderr
index e9eb1cdd0c2..3ba4aa12e6d 100644
--- a/tests/ui/dyn-compatibility/avoid-ice-on-warning.new.stderr
+++ b/tests/ui/dyn-compatibility/avoid-ice-on-warning.new.stderr
@@ -6,8 +6,9 @@ LL | fn call_this<F>(f: F) : Fn(&str) + call_that {}
    |
 help: use `->` instead
    |
-LL | fn call_this<F>(f: F) -> Fn(&str) + call_that {}
-   |                       ~~
+LL - fn call_this<F>(f: F) : Fn(&str) + call_that {}
+LL + fn call_this<F>(f: F) -> Fn(&str) + call_that {}
+   |
 
 error[E0405]: cannot find trait `call_that` in this scope
   --> $DIR/avoid-ice-on-warning.rs:4:36
diff --git a/tests/ui/dyn-compatibility/avoid-ice-on-warning.old.stderr b/tests/ui/dyn-compatibility/avoid-ice-on-warning.old.stderr
index 646fb57af9e..dbfe91e1811 100644
--- a/tests/ui/dyn-compatibility/avoid-ice-on-warning.old.stderr
+++ b/tests/ui/dyn-compatibility/avoid-ice-on-warning.old.stderr
@@ -6,8 +6,9 @@ LL | fn call_this<F>(f: F) : Fn(&str) + call_that {}
    |
 help: use `->` instead
    |
-LL | fn call_this<F>(f: F) -> Fn(&str) + call_that {}
-   |                       ~~
+LL - fn call_this<F>(f: F) : Fn(&str) + call_that {}
+LL + fn call_this<F>(f: F) -> Fn(&str) + call_that {}
+   |
 
 error[E0405]: cannot find trait `call_that` in this scope
   --> $DIR/avoid-ice-on-warning.rs:4:36
diff --git a/tests/ui/dyn-compatibility/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.stderr b/tests/ui/dyn-compatibility/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.stderr
index 4c6d84f0534..832e7ef4dc3 100644
--- a/tests/ui/dyn-compatibility/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.stderr
+++ b/tests/ui/dyn-compatibility/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.stderr
@@ -195,8 +195,9 @@ LL |     fn foo(_: &Trait);
    |
 help: use a new generic type parameter, constrained by `Trait`
    |
-LL |     fn foo<T: Trait>(_: &T);
-   |           ++++++++++     ~
+LL -     fn foo(_: &Trait);
+LL +     fn foo<T: Trait>(_: &T);
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL |     fn foo(_: &impl Trait);
@@ -214,8 +215,9 @@ LL |     fn bar(_: &'a Trait);
    |
 help: use a new generic type parameter, constrained by `Trait`
    |
-LL |     fn bar<T: Trait>(_: &'a T);
-   |           ++++++++++        ~
+LL -     fn bar(_: &'a Trait);
+LL +     fn bar<T: Trait>(_: &'a T);
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL |     fn bar(_: &'a impl Trait);
@@ -233,8 +235,9 @@ LL |     fn alice<'a>(_: &Trait);
    |
 help: use a new generic type parameter, constrained by `Trait`
    |
-LL |     fn alice<'a, T: Trait>(_: &T);
-   |                ++++++++++      ~
+LL -     fn alice<'a>(_: &Trait);
+LL +     fn alice<'a, T: Trait>(_: &T);
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL |     fn alice<'a>(_: &impl Trait);
@@ -252,8 +255,9 @@ LL |     fn bob<'a>(_: &'a Trait);
    |
 help: use a new generic type parameter, constrained by `Trait`
    |
-LL |     fn bob<'a, T: Trait>(_: &'a T);
-   |              ++++++++++         ~
+LL -     fn bob<'a>(_: &'a Trait);
+LL +     fn bob<'a, T: Trait>(_: &'a T);
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL |     fn bob<'a>(_: &'a impl Trait);
@@ -275,8 +279,9 @@ LL |     fn cat() -> &impl Trait;
    |                  ++++
 help: alternatively, you can return an owned trait object
    |
-LL |     fn cat() -> Box<dyn Trait>;
-   |                 ~~~~~~~~~~~~~~
+LL -     fn cat() -> &Trait;
+LL +     fn cat() -> Box<dyn Trait>;
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.rs:69:22
@@ -290,8 +295,9 @@ LL |     fn dog<'a>() -> &impl Trait {
    |                      ++++
 help: alternatively, you can return an owned trait object
    |
-LL |     fn dog<'a>() -> Box<dyn Trait> {
-   |                     ~~~~~~~~~~~~~~
+LL -     fn dog<'a>() -> &Trait {
+LL +     fn dog<'a>() -> Box<dyn Trait> {
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.rs:75:24
@@ -305,8 +311,9 @@ LL |     fn kitten() -> &'a impl Trait {
    |                        ++++
 help: alternatively, you can return an owned trait object
    |
-LL |     fn kitten() -> Box<dyn Trait> {
-   |                    ~~~~~~~~~~~~~~
+LL -     fn kitten() -> &'a Trait {
+LL +     fn kitten() -> Box<dyn Trait> {
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.rs:81:27
@@ -320,8 +327,9 @@ LL |     fn puppy<'a>() -> &'a impl Trait {
    |                           ++++
 help: alternatively, you can return an owned trait object
    |
-LL |     fn puppy<'a>() -> Box<dyn Trait> {
-   |                       ~~~~~~~~~~~~~~
+LL -     fn puppy<'a>() -> &'a Trait {
+LL +     fn puppy<'a>() -> Box<dyn Trait> {
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.rs:86:25
@@ -335,8 +343,9 @@ LL |     fn parrot() -> &mut impl Trait {
    |                         ++++
 help: alternatively, you can return an owned trait object
    |
-LL |     fn parrot() -> Box<dyn Trait> {
-   |                    ~~~~~~~~~~~~~~
+LL -     fn parrot() -> &mut Trait {
+LL +     fn parrot() -> Box<dyn Trait> {
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.rs:93:12
@@ -346,8 +355,9 @@ LL | fn foo(_: &Trait) {}
    |
 help: use a new generic type parameter, constrained by `Trait`
    |
-LL | fn foo<T: Trait>(_: &T) {}
-   |       ++++++++++     ~
+LL - fn foo(_: &Trait) {}
+LL + fn foo<T: Trait>(_: &T) {}
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL | fn foo(_: &impl Trait) {}
@@ -365,8 +375,9 @@ LL | fn bar(_: &'a Trait) {}
    |
 help: use a new generic type parameter, constrained by `Trait`
    |
-LL | fn bar<T: Trait>(_: &'a T) {}
-   |       ++++++++++        ~
+LL - fn bar(_: &'a Trait) {}
+LL + fn bar<T: Trait>(_: &'a T) {}
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL | fn bar(_: &'a impl Trait) {}
@@ -384,8 +395,9 @@ LL | fn alice<'a>(_: &Trait) {}
    |
 help: use a new generic type parameter, constrained by `Trait`
    |
-LL | fn alice<'a, T: Trait>(_: &T) {}
-   |            ++++++++++      ~
+LL - fn alice<'a>(_: &Trait) {}
+LL + fn alice<'a, T: Trait>(_: &T) {}
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL | fn alice<'a>(_: &impl Trait) {}
@@ -403,8 +415,9 @@ LL | fn bob<'a>(_: &'a Trait) {}
    |
 help: use a new generic type parameter, constrained by `Trait`
    |
-LL | fn bob<'a, T: Trait>(_: &'a T) {}
-   |          ++++++++++         ~
+LL - fn bob<'a>(_: &'a Trait) {}
+LL + fn bob<'a, T: Trait>(_: &'a T) {}
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL | fn bob<'a>(_: &'a impl Trait) {}
@@ -426,8 +439,9 @@ LL | fn cat() -> &impl Trait {
    |              ++++
 help: alternatively, you can return an owned trait object
    |
-LL | fn cat() -> Box<dyn Trait> {
-   |             ~~~~~~~~~~~~~~
+LL - fn cat() -> &Trait {
+LL + fn cat() -> Box<dyn Trait> {
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.rs:116:18
@@ -441,8 +455,9 @@ LL | fn dog<'a>() -> &impl Trait {
    |                  ++++
 help: alternatively, you can return an owned trait object
    |
-LL | fn dog<'a>() -> Box<dyn Trait> {
-   |                 ~~~~~~~~~~~~~~
+LL - fn dog<'a>() -> &Trait {
+LL + fn dog<'a>() -> Box<dyn Trait> {
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.rs:122:20
@@ -456,8 +471,9 @@ LL | fn kitten() -> &'a impl Trait {
    |                    ++++
 help: alternatively, you can return an owned trait object
    |
-LL | fn kitten() -> Box<dyn Trait> {
-   |                ~~~~~~~~~~~~~~
+LL - fn kitten() -> &'a Trait {
+LL + fn kitten() -> Box<dyn Trait> {
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.rs:128:23
@@ -471,8 +487,9 @@ LL | fn puppy<'a>() -> &'a impl Trait {
    |                       ++++
 help: alternatively, you can return an owned trait object
    |
-LL | fn puppy<'a>() -> Box<dyn Trait> {
-   |                   ~~~~~~~~~~~~~~
+LL - fn puppy<'a>() -> &'a Trait {
+LL + fn puppy<'a>() -> Box<dyn Trait> {
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.rs:133:21
@@ -486,8 +503,9 @@ LL | fn parrot() -> &mut impl Trait {
    |                     ++++
 help: alternatively, you can return an owned trait object
    |
-LL | fn parrot() -> Box<dyn Trait> {
-   |                ~~~~~~~~~~~~~~
+LL - fn parrot() -> &mut Trait {
+LL + fn parrot() -> Box<dyn Trait> {
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.rs:8:16
@@ -497,8 +515,9 @@ LL |     fn foo(_: &Trait) {}
    |
 help: use a new generic type parameter, constrained by `Trait`
    |
-LL |     fn foo<T: Trait>(_: &T) {}
-   |           ++++++++++     ~
+LL -     fn foo(_: &Trait) {}
+LL +     fn foo<T: Trait>(_: &T) {}
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL |     fn foo(_: &impl Trait) {}
@@ -516,8 +535,9 @@ LL |     fn bar(self, _: &'a Trait) {}
    |
 help: use a new generic type parameter, constrained by `Trait`
    |
-LL |     fn bar<T: Trait>(self, _: &'a T) {}
-   |           ++++++++++              ~
+LL -     fn bar(self, _: &'a Trait) {}
+LL +     fn bar<T: Trait>(self, _: &'a T) {}
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL |     fn bar(self, _: &'a impl Trait) {}
@@ -535,8 +555,9 @@ LL |     fn alice<'a>(&self, _: &Trait) {}
    |
 help: use a new generic type parameter, constrained by `Trait`
    |
-LL |     fn alice<'a, T: Trait>(&self, _: &T) {}
-   |                ++++++++++             ~
+LL -     fn alice<'a>(&self, _: &Trait) {}
+LL +     fn alice<'a, T: Trait>(&self, _: &T) {}
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL |     fn alice<'a>(&self, _: &impl Trait) {}
@@ -554,8 +575,9 @@ LL |     fn bob<'a>(_: &'a Trait) {}
    |
 help: use a new generic type parameter, constrained by `Trait`
    |
-LL |     fn bob<'a, T: Trait>(_: &'a T) {}
-   |              ++++++++++         ~
+LL -     fn bob<'a>(_: &'a Trait) {}
+LL +     fn bob<'a, T: Trait>(_: &'a T) {}
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL |     fn bob<'a>(_: &'a impl Trait) {}
@@ -577,8 +599,9 @@ LL |     fn cat() -> &impl Trait {
    |                  ++++
 help: alternatively, you can return an owned trait object
    |
-LL |     fn cat() -> Box<dyn Trait> {
-   |                 ~~~~~~~~~~~~~~
+LL -     fn cat() -> &Trait {
+LL +     fn cat() -> Box<dyn Trait> {
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.rs:27:22
@@ -592,8 +615,9 @@ LL |     fn dog<'a>() -> &impl Trait {
    |                      ++++
 help: alternatively, you can return an owned trait object
    |
-LL |     fn dog<'a>() -> Box<dyn Trait> {
-   |                     ~~~~~~~~~~~~~~
+LL -     fn dog<'a>() -> &Trait {
+LL +     fn dog<'a>() -> Box<dyn Trait> {
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.rs:33:24
@@ -607,8 +631,9 @@ LL |     fn kitten() -> &'a impl Trait {
    |                        ++++
 help: alternatively, you can return an owned trait object
    |
-LL |     fn kitten() -> Box<dyn Trait> {
-   |                    ~~~~~~~~~~~~~~
+LL -     fn kitten() -> &'a Trait {
+LL +     fn kitten() -> Box<dyn Trait> {
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.rs:39:27
@@ -622,8 +647,9 @@ LL |     fn puppy<'a>() -> &'a impl Trait {
    |                           ++++
 help: alternatively, you can return an owned trait object
    |
-LL |     fn puppy<'a>() -> Box<dyn Trait> {
-   |                       ~~~~~~~~~~~~~~
+LL -     fn puppy<'a>() -> &'a Trait {
+LL +     fn puppy<'a>() -> Box<dyn Trait> {
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/reference-to-bare-trait-in-fn-inputs-and-outputs-issue-125139.rs:44:25
@@ -637,8 +663,9 @@ LL |     fn parrot() -> &mut impl Trait {
    |                         ++++
 help: alternatively, you can return an owned trait object
    |
-LL |     fn parrot() -> Box<dyn Trait> {
-   |                    ~~~~~~~~~~~~~~
+LL -     fn parrot() -> &mut Trait {
+LL +     fn parrot() -> Box<dyn Trait> {
+   |
 
 error: aborting due to 42 previous errors
 
diff --git a/tests/ui/dyn-compatibility/supertrait-mentions-GAT.stderr b/tests/ui/dyn-compatibility/supertrait-mentions-GAT.stderr
index 8e139ee6b48..582cf1af054 100644
--- a/tests/ui/dyn-compatibility/supertrait-mentions-GAT.stderr
+++ b/tests/ui/dyn-compatibility/supertrait-mentions-GAT.stderr
@@ -17,8 +17,9 @@ LL |     fn c(&self) -> dyn SuperTrait<T>;
    |
 help: you might have meant to use `Self` to refer to the implementing type
    |
-LL |     fn c(&self) -> Self;
-   |                    ~~~~
+LL -     fn c(&self) -> dyn SuperTrait<T>;
+LL +     fn c(&self) -> Self;
+   |
 
 error[E0038]: the trait `SuperTrait` is not dyn compatible
   --> $DIR/supertrait-mentions-GAT.rs:10:20
diff --git a/tests/ui/dyn-compatibility/supertrait-mentions-Self.stderr b/tests/ui/dyn-compatibility/supertrait-mentions-Self.stderr
index a763649e9c6..2ba8e4611cb 100644
--- a/tests/ui/dyn-compatibility/supertrait-mentions-Self.stderr
+++ b/tests/ui/dyn-compatibility/supertrait-mentions-Self.stderr
@@ -34,8 +34,9 @@ LL | trait Baz : Bar<Self> {
    |       this trait is not dyn compatible...
 help: consider using an opaque type instead
    |
-LL | fn make_baz<T:Baz>(t: &T) -> &impl Baz {
-   |                               ~~~~
+LL - fn make_baz<T:Baz>(t: &T) -> &dyn Baz {
+LL + fn make_baz<T:Baz>(t: &T) -> &impl Baz {
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/dyn-keyword/dyn-2021-edition-error.stderr b/tests/ui/dyn-keyword/dyn-2021-edition-error.stderr
index 6d1a1618ac0..8c4b809e76b 100644
--- a/tests/ui/dyn-keyword/dyn-2021-edition-error.stderr
+++ b/tests/ui/dyn-keyword/dyn-2021-edition-error.stderr
@@ -6,8 +6,9 @@ LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) {
    |
 help: use a new generic type parameter, constrained by `SomeTrait`
    |
-LL | fn function<T: SomeTrait>(x: &T, y: Box<SomeTrait>) {
-   |            ++++++++++++++     ~
+LL - fn function(x: &SomeTrait, y: Box<SomeTrait>) {
+LL + fn function<T: SomeTrait>(x: &T, y: Box<SomeTrait>) {
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL | fn function(x: &impl SomeTrait, y: Box<SomeTrait>) {
diff --git a/tests/ui/dyn-keyword/misspelled-associated-item.stderr b/tests/ui/dyn-keyword/misspelled-associated-item.stderr
index 4211889e524..0880100dc04 100644
--- a/tests/ui/dyn-keyword/misspelled-associated-item.stderr
+++ b/tests/ui/dyn-keyword/misspelled-associated-item.stderr
@@ -10,8 +10,9 @@ LL |     let () = <dyn Trait>::typoe();
    |              ++++      +
 help: you may have misspelled this associated item, causing `Trait` to be interpreted as a type rather than a trait
    |
-LL |     let () = Trait::typo();
-   |                     ~~~~
+LL -     let () = Trait::typoe();
+LL +     let () = Trait::typo();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/empty/empty-struct-braces-expr.stderr b/tests/ui/empty/empty-struct-braces-expr.stderr
index 28c701443de..3411702a12d 100644
--- a/tests/ui/empty/empty-struct-braces-expr.stderr
+++ b/tests/ui/empty/empty-struct-braces-expr.stderr
@@ -14,12 +14,14 @@ LL | pub struct XEmpty2;
    |
 help: use struct literal syntax instead
    |
-LL |     let e1 = Empty1 {};
-   |              ~~~~~~~~~
+LL -     let e1 = Empty1;
+LL +     let e1 = Empty1 {};
+   |
 help: a unit struct with a similar name exists
    |
-LL |     let e1 = XEmpty2;
-   |              ~~~~~~~
+LL -     let e1 = Empty1;
+LL +     let e1 = XEmpty2;
+   |
 
 error[E0423]: expected value, found struct `XEmpty1`
   --> $DIR/empty-struct-braces-expr.rs:22:15
@@ -36,12 +38,14 @@ LL | pub struct XEmpty2;
    |
 help: use struct literal syntax instead
    |
-LL |     let xe1 = XEmpty1 {};
-   |               ~~~~~~~~~~
+LL -     let xe1 = XEmpty1;
+LL +     let xe1 = XEmpty1 {};
+   |
 help: a unit struct with a similar name exists
    |
-LL |     let xe1 = XEmpty2;
-   |               ~~~~~~~
+LL -     let xe1 = XEmpty1;
+LL +     let xe1 = XEmpty2;
+   |
 
 error[E0423]: expected function, tuple struct or tuple variant, found struct `Empty1`
   --> $DIR/empty-struct-braces-expr.rs:16:14
@@ -59,12 +63,14 @@ LL | pub struct XEmpty2;
    |
 help: use struct literal syntax instead
    |
-LL |     let e1 = Empty1 {};
-   |              ~~~~~~~~~
+LL -     let e1 = Empty1();
+LL +     let e1 = Empty1 {};
+   |
 help: a unit struct with a similar name exists
    |
-LL |     let e1 = XEmpty2();
-   |              ~~~~~~~
+LL -     let e1 = Empty1();
+LL +     let e1 = XEmpty2();
+   |
 
 error[E0533]: expected value, found struct variant `E::Empty3`
   --> $DIR/empty-struct-braces-expr.rs:18:14
@@ -85,8 +91,9 @@ LL |     let e3 = E::Empty3();
    |
 help: you might have meant to create a new value of the struct
    |
-LL |     let e3 = E::Empty3 {};
-   |                        ~~
+LL -     let e3 = E::Empty3();
+LL +     let e3 = E::Empty3 {};
+   |
 
 error[E0423]: expected function, tuple struct or tuple variant, found struct `XEmpty1`
   --> $DIR/empty-struct-braces-expr.rs:23:15
@@ -103,12 +110,14 @@ LL | pub struct XEmpty2;
    |
 help: use struct literal syntax instead
    |
-LL |     let xe1 = XEmpty1 {};
-   |               ~~~~~~~~~~
+LL -     let xe1 = XEmpty1();
+LL +     let xe1 = XEmpty1 {};
+   |
 help: a unit struct with a similar name exists
    |
-LL |     let xe1 = XEmpty2();
-   |               ~~~~~~~
+LL -     let xe1 = XEmpty1();
+LL +     let xe1 = XEmpty2();
+   |
 
 error[E0599]: no variant or associated item named `Empty3` found for enum `empty_struct::XE` in the current scope
   --> $DIR/empty-struct-braces-expr.rs:25:19
@@ -118,8 +127,9 @@ LL |     let xe3 = XE::Empty3;
    |
 help: there is a variant with a similar name
    |
-LL |     let xe3 = XE::XEmpty3;
-   |                   ~~~~~~~
+LL -     let xe3 = XE::Empty3;
+LL +     let xe3 = XE::XEmpty3;
+   |
 
 error[E0599]: no variant or associated item named `Empty3` found for enum `empty_struct::XE` in the current scope
   --> $DIR/empty-struct-braces-expr.rs:26:19
@@ -129,8 +139,9 @@ LL |     let xe3 = XE::Empty3();
    |
 help: there is a variant with a similar name
    |
-LL |     let xe3 = XE::XEmpty3 {};
-   |                   ~~~~~~~~~~
+LL -     let xe3 = XE::Empty3();
+LL +     let xe3 = XE::XEmpty3 {};
+   |
 
 error[E0599]: no variant named `Empty1` found for enum `empty_struct::XE`
   --> $DIR/empty-struct-braces-expr.rs:28:9
@@ -140,8 +151,9 @@ LL |     XE::Empty1 {};
    |
 help: there is a variant with a similar name
    |
-LL |     XE::XEmpty3 {};
-   |         ~~~~~~~~~~
+LL -     XE::Empty1 {};
+LL +     XE::XEmpty3 {};
+   |
 
 error: aborting due to 9 previous errors
 
diff --git a/tests/ui/empty/empty-struct-braces-pat-2.stderr b/tests/ui/empty/empty-struct-braces-pat-2.stderr
index 7fb5cb2034a..497dc9601a7 100644
--- a/tests/ui/empty/empty-struct-braces-pat-2.stderr
+++ b/tests/ui/empty/empty-struct-braces-pat-2.stderr
@@ -14,12 +14,14 @@ LL | pub struct XEmpty6();
    |
 help: use struct pattern syntax instead
    |
-LL |         Empty1 {} => ()
-   |         ~~~~~~~~~
+LL -         Empty1() => ()
+LL +         Empty1 {} => ()
+   |
 help: a tuple struct with a similar name exists
    |
-LL |         XEmpty6() => ()
-   |         ~~~~~~~
+LL -         Empty1() => ()
+LL +         XEmpty6() => ()
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found struct `XEmpty1`
   --> $DIR/empty-struct-braces-pat-2.rs:18:9
@@ -37,12 +39,14 @@ LL | pub struct XEmpty6();
    |
 help: use struct pattern syntax instead
    |
-LL |         XEmpty1 {} => ()
-   |         ~~~~~~~~~~
+LL -         XEmpty1() => ()
+LL +         XEmpty1 {} => ()
+   |
 help: a tuple struct with a similar name exists
    |
-LL |         XEmpty6() => ()
-   |         ~~~~~~~
+LL -         XEmpty1() => ()
+LL +         XEmpty6() => ()
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found struct `Empty1`
   --> $DIR/empty-struct-braces-pat-2.rs:21:9
@@ -60,12 +64,14 @@ LL | pub struct XEmpty6();
    |
 help: use struct pattern syntax instead
    |
-LL |         Empty1 {} => ()
-   |         ~~~~~~~~~
+LL -         Empty1(..) => ()
+LL +         Empty1 {} => ()
+   |
 help: a tuple struct with a similar name exists
    |
-LL |         XEmpty6(..) => ()
-   |         ~~~~~~~
+LL -         Empty1(..) => ()
+LL +         XEmpty6(..) => ()
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found struct `XEmpty1`
   --> $DIR/empty-struct-braces-pat-2.rs:24:9
@@ -83,12 +89,14 @@ LL | pub struct XEmpty6();
    |
 help: use struct pattern syntax instead
    |
-LL |         XEmpty1 {} => ()
-   |         ~~~~~~~~~~
+LL -         XEmpty1(..) => ()
+LL +         XEmpty1 {} => ()
+   |
 help: a tuple struct with a similar name exists
    |
-LL |         XEmpty6(..) => ()
-   |         ~~~~~~~
+LL -         XEmpty1(..) => ()
+LL +         XEmpty6(..) => ()
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/empty/empty-struct-braces-pat-3.stderr b/tests/ui/empty/empty-struct-braces-pat-3.stderr
index b2ab7113347..6e9618da99d 100644
--- a/tests/ui/empty/empty-struct-braces-pat-3.stderr
+++ b/tests/ui/empty/empty-struct-braces-pat-3.stderr
@@ -6,8 +6,9 @@ LL |         E::Empty3() => ()
    |
 help: use the struct variant pattern syntax
    |
-LL |         E::Empty3 {} => ()
-   |                   ~~
+LL -         E::Empty3() => ()
+LL +         E::Empty3 {} => ()
+   |
 
 error[E0164]: expected tuple struct or tuple variant, found struct variant `XE::XEmpty3`
   --> $DIR/empty-struct-braces-pat-3.rs:21:9
@@ -17,8 +18,9 @@ LL |         XE::XEmpty3() => ()
    |
 help: use the struct variant pattern syntax
    |
-LL |         XE::XEmpty3 {} => ()
-   |                     ~~
+LL -         XE::XEmpty3() => ()
+LL +         XE::XEmpty3 {} => ()
+   |
 
 error[E0164]: expected tuple struct or tuple variant, found struct variant `E::Empty3`
   --> $DIR/empty-struct-braces-pat-3.rs:25:9
@@ -28,8 +30,9 @@ LL |         E::Empty3(..) => ()
    |
 help: use the struct variant pattern syntax
    |
-LL |         E::Empty3 {} => ()
-   |                   ~~
+LL -         E::Empty3(..) => ()
+LL +         E::Empty3 {} => ()
+   |
 
 error[E0164]: expected tuple struct or tuple variant, found struct variant `XE::XEmpty3`
   --> $DIR/empty-struct-braces-pat-3.rs:29:9
@@ -39,8 +42,9 @@ LL |         XE::XEmpty3(..) => ()
    |
 help: use the struct variant pattern syntax
    |
-LL |         XE::XEmpty3 {} => ()
-   |                     ~~
+LL -         XE::XEmpty3(..) => ()
+LL +         XE::XEmpty3 {} => ()
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/empty/empty-struct-tuple-pat.stderr b/tests/ui/empty/empty-struct-tuple-pat.stderr
index 45001c79753..3906a0e2060 100644
--- a/tests/ui/empty/empty-struct-tuple-pat.stderr
+++ b/tests/ui/empty/empty-struct-tuple-pat.stderr
@@ -46,12 +46,14 @@ LL |     XEmpty5(),
    |
 help: use the tuple variant pattern syntax instead
    |
-LL |         XE::XEmpty5() => (),
-   |         ~~~~~~~~~~~~~
+LL -         XE::XEmpty5 => (),
+LL +         XE::XEmpty5() => (),
+   |
 help: a unit variant with a similar name exists
    |
-LL |         XE::XEmpty4 => (),
-   |             ~~~~~~~
+LL -         XE::XEmpty5 => (),
+LL +         XE::XEmpty4 => (),
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/empty/empty-struct-unit-pat.stderr b/tests/ui/empty/empty-struct-unit-pat.stderr
index 5c0b4cffa94..09a476423c8 100644
--- a/tests/ui/empty/empty-struct-unit-pat.stderr
+++ b/tests/ui/empty/empty-struct-unit-pat.stderr
@@ -14,12 +14,14 @@ LL | pub struct XEmpty6();
    |
 help: use this syntax instead
    |
-LL |         Empty2 => ()
-   |         ~~~~~~
+LL -         Empty2() => ()
+LL +         Empty2 => ()
+   |
 help: a tuple struct with a similar name exists
    |
-LL |         XEmpty6() => ()
-   |         ~~~~~~~
+LL -         Empty2() => ()
+LL +         XEmpty6() => ()
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found unit struct `XEmpty2`
   --> $DIR/empty-struct-unit-pat.rs:24:9
@@ -36,12 +38,14 @@ LL | pub struct XEmpty6();
    |
 help: use this syntax instead
    |
-LL |         XEmpty2 => ()
-   |         ~~~~~~~
+LL -         XEmpty2() => ()
+LL +         XEmpty2 => ()
+   |
 help: a tuple struct with a similar name exists
    |
-LL |         XEmpty6() => ()
-   |         ~~~~~~~
+LL -         XEmpty2() => ()
+LL +         XEmpty6() => ()
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found unit struct `Empty2`
   --> $DIR/empty-struct-unit-pat.rs:28:9
@@ -59,12 +63,14 @@ LL | pub struct XEmpty6();
    |
 help: use this syntax instead
    |
-LL |         Empty2 => ()
-   |         ~~~~~~
+LL -         Empty2(..) => ()
+LL +         Empty2 => ()
+   |
 help: a tuple struct with a similar name exists
    |
-LL |         XEmpty6(..) => ()
-   |         ~~~~~~~
+LL -         Empty2(..) => ()
+LL +         XEmpty6(..) => ()
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found unit struct `XEmpty2`
   --> $DIR/empty-struct-unit-pat.rs:32:9
@@ -81,12 +87,14 @@ LL | pub struct XEmpty6();
    |
 help: use this syntax instead
    |
-LL |         XEmpty2 => ()
-   |         ~~~~~~~
+LL -         XEmpty2(..) => ()
+LL +         XEmpty2 => ()
+   |
 help: a tuple struct with a similar name exists
    |
-LL |         XEmpty6(..) => ()
-   |         ~~~~~~~
+LL -         XEmpty2(..) => ()
+LL +         XEmpty6(..) => ()
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found unit variant `E::Empty4`
   --> $DIR/empty-struct-unit-pat.rs:37:9
@@ -112,12 +120,14 @@ LL |     XEmpty5(),
    |
 help: use this syntax instead
    |
-LL |         XE::XEmpty4 => (),
-   |         ~~~~~~~~~~~
+LL -         XE::XEmpty4() => (),
+LL +         XE::XEmpty4 => (),
+   |
 help: a tuple variant with a similar name exists
    |
-LL |         XE::XEmpty5() => (),
-   |             ~~~~~~~
+LL -         XE::XEmpty4() => (),
+LL +         XE::XEmpty5() => (),
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found unit variant `E::Empty4`
   --> $DIR/empty-struct-unit-pat.rs:46:9
@@ -143,12 +153,14 @@ LL |     XEmpty5(),
    |
 help: use this syntax instead
    |
-LL |         XE::XEmpty4 => (),
-   |         ~~~~~~~~~~~
+LL -         XE::XEmpty4(..) => (),
+LL +         XE::XEmpty4 => (),
+   |
 help: a tuple variant with a similar name exists
    |
-LL |         XE::XEmpty5(..) => (),
-   |             ~~~~~~~
+LL -         XE::XEmpty4(..) => (),
+LL +         XE::XEmpty5(..) => (),
+   |
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/enum-discriminant/discriminant-ill-typed.stderr b/tests/ui/enum-discriminant/discriminant-ill-typed.stderr
index 2757145285c..e9508b7fe96 100644
--- a/tests/ui/enum-discriminant/discriminant-ill-typed.stderr
+++ b/tests/ui/enum-discriminant/discriminant-ill-typed.stderr
@@ -6,8 +6,9 @@ LL |         OhNo = 0_u8,
    |
 help: change the type of the numeric literal from `u8` to `i8`
    |
-LL |         OhNo = 0_i8,
-   |                  ~~
+LL -         OhNo = 0_u8,
+LL +         OhNo = 0_i8,
+   |
 
 error[E0308]: mismatched types
   --> $DIR/discriminant-ill-typed.rs:28:16
@@ -17,8 +18,9 @@ LL |         OhNo = 0_i8,
    |
 help: change the type of the numeric literal from `i8` to `u8`
    |
-LL |         OhNo = 0_u8,
-   |                  ~~
+LL -         OhNo = 0_i8,
+LL +         OhNo = 0_u8,
+   |
 
 error[E0308]: mismatched types
   --> $DIR/discriminant-ill-typed.rs:41:16
@@ -28,8 +30,9 @@ LL |         OhNo = 0_u16,
    |
 help: change the type of the numeric literal from `u16` to `i16`
    |
-LL |         OhNo = 0_i16,
-   |                  ~~~
+LL -         OhNo = 0_u16,
+LL +         OhNo = 0_i16,
+   |
 
 error[E0308]: mismatched types
   --> $DIR/discriminant-ill-typed.rs:54:16
@@ -39,8 +42,9 @@ LL |         OhNo = 0_i16,
    |
 help: change the type of the numeric literal from `i16` to `u16`
    |
-LL |         OhNo = 0_u16,
-   |                  ~~~
+LL -         OhNo = 0_i16,
+LL +         OhNo = 0_u16,
+   |
 
 error[E0308]: mismatched types
   --> $DIR/discriminant-ill-typed.rs:67:16
@@ -50,8 +54,9 @@ LL |         OhNo = 0_u32,
    |
 help: change the type of the numeric literal from `u32` to `i32`
    |
-LL |         OhNo = 0_i32,
-   |                  ~~~
+LL -         OhNo = 0_u32,
+LL +         OhNo = 0_i32,
+   |
 
 error[E0308]: mismatched types
   --> $DIR/discriminant-ill-typed.rs:80:16
@@ -61,8 +66,9 @@ LL |         OhNo = 0_i32,
    |
 help: change the type of the numeric literal from `i32` to `u32`
    |
-LL |         OhNo = 0_u32,
-   |                  ~~~
+LL -         OhNo = 0_i32,
+LL +         OhNo = 0_u32,
+   |
 
 error[E0308]: mismatched types
   --> $DIR/discriminant-ill-typed.rs:93:16
@@ -72,8 +78,9 @@ LL |         OhNo = 0_u64,
    |
 help: change the type of the numeric literal from `u64` to `i64`
    |
-LL |         OhNo = 0_i64,
-   |                  ~~~
+LL -         OhNo = 0_u64,
+LL +         OhNo = 0_i64,
+   |
 
 error[E0308]: mismatched types
   --> $DIR/discriminant-ill-typed.rs:106:16
@@ -83,8 +90,9 @@ LL |         OhNo = 0_i64,
    |
 help: change the type of the numeric literal from `i64` to `u64`
    |
-LL |         OhNo = 0_u64,
-   |                  ~~~
+LL -         OhNo = 0_i64,
+LL +         OhNo = 0_u64,
+   |
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/enum/assoc-fn-call-on-variant.stderr b/tests/ui/enum/assoc-fn-call-on-variant.stderr
index 47fc630c923..5318025f554 100644
--- a/tests/ui/enum/assoc-fn-call-on-variant.stderr
+++ b/tests/ui/enum/assoc-fn-call-on-variant.stderr
@@ -6,8 +6,9 @@ LL |     E::A::f();
    |
 help: there is an enum variant `E::A`; try using the variant's enum
    |
-LL |     E::f();
-   |     ~
+LL -     E::A::f();
+LL +     E::f();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/env-macro/error-recovery-issue-55897.stderr b/tests/ui/env-macro/error-recovery-issue-55897.stderr
index 5a20bf8b168..cda9aa330d2 100644
--- a/tests/ui/env-macro/error-recovery-issue-55897.stderr
+++ b/tests/ui/env-macro/error-recovery-issue-55897.stderr
@@ -30,8 +30,9 @@ LL |     use env;
    |
 help: consider importing this module instead
    |
-LL |     use std::env;
-   |         ~~~~~~~~
+LL -     use env;
+LL +     use std::env;
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/error-codes/E0027.stderr b/tests/ui/error-codes/E0027.stderr
index 7bbafcf0a27..701e636dc58 100644
--- a/tests/ui/error-codes/E0027.stderr
+++ b/tests/ui/error-codes/E0027.stderr
@@ -6,16 +6,19 @@ LL |         Dog { age: x } => {}
    |
 help: include the missing field in the pattern
    |
-LL |         Dog { age: x, name } => {}
-   |                     ~~~~~~~~
+LL -         Dog { age: x } => {}
+LL +         Dog { age: x, name } => {}
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |         Dog { age: x, name: _ } => {}
-   |                     ~~~~~~~~~~~
+LL -         Dog { age: x } => {}
+LL +         Dog { age: x, name: _ } => {}
+   |
 help: or always ignore missing fields here
    |
-LL |         Dog { age: x, .. } => {}
-   |                     ~~~~~~
+LL -         Dog { age: x } => {}
+LL +         Dog { age: x, .. } => {}
+   |
 
 error[E0027]: pattern does not mention field `age`
   --> $DIR/E0027.rs:15:9
@@ -25,16 +28,19 @@ LL |         Dog { name: x, } => {}
    |
 help: include the missing field in the pattern
    |
-LL |         Dog { name: x, age } => {}
-   |                      ~~~~~~~
+LL -         Dog { name: x, } => {}
+LL +         Dog { name: x, age } => {}
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |         Dog { name: x, age: _ } => {}
-   |                      ~~~~~~~~~~
+LL -         Dog { name: x, } => {}
+LL +         Dog { name: x, age: _ } => {}
+   |
 help: or always ignore missing fields here
    |
-LL |         Dog { name: x, .. } => {}
-   |                      ~~~~~~
+LL -         Dog { name: x, } => {}
+LL +         Dog { name: x, .. } => {}
+   |
 
 error[E0027]: pattern does not mention field `age`
   --> $DIR/E0027.rs:19:9
@@ -44,16 +50,19 @@ LL |         Dog { name: x  , } => {}
    |
 help: include the missing field in the pattern
    |
-LL |         Dog { name: x, age } => {}
-   |                      ~~~~~~~
+LL -         Dog { name: x  , } => {}
+LL +         Dog { name: x, age } => {}
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |         Dog { name: x, age: _ } => {}
-   |                      ~~~~~~~~~~
+LL -         Dog { name: x  , } => {}
+LL +         Dog { name: x, age: _ } => {}
+   |
 help: or always ignore missing fields here
    |
-LL |         Dog { name: x, .. } => {}
-   |                      ~~~~~~
+LL -         Dog { name: x  , } => {}
+LL +         Dog { name: x, .. } => {}
+   |
 
 error[E0027]: pattern does not mention fields `name`, `age`
   --> $DIR/E0027.rs:22:9
@@ -63,16 +72,19 @@ LL |         Dog {} => {}
    |
 help: include the missing fields in the pattern
    |
-LL |         Dog { name, age } => {}
-   |             ~~~~~~~~~~~~~
+LL -         Dog {} => {}
+LL +         Dog { name, age } => {}
+   |
 help: if you don't care about these missing fields, you can explicitly ignore them
    |
-LL |         Dog { name: _, age: _ } => {}
-   |             ~~~~~~~~~~~~~~~~~~~
+LL -         Dog {} => {}
+LL +         Dog { name: _, age: _ } => {}
+   |
 help: or always ignore missing fields here
    |
-LL |         Dog { .. } => {}
-   |             ~~~~~~
+LL -         Dog {} => {}
+LL +         Dog { .. } => {}
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/error-codes/E0034.stderr b/tests/ui/error-codes/E0034.stderr
index 48b8efcf8a2..434518741fc 100644
--- a/tests/ui/error-codes/E0034.stderr
+++ b/tests/ui/error-codes/E0034.stderr
@@ -16,10 +16,12 @@ LL |     fn foo() {}
    |     ^^^^^^^^
 help: use fully-qualified syntax to disambiguate
    |
-LL |     <Test as Trait1>::foo()
-   |     ~~~~~~~~~~~~~~~~~~
-LL |     <Test as Trait2>::foo()
-   |     ~~~~~~~~~~~~~~~~~~
+LL -     Test::foo()
+LL +     <Test as Trait1>::foo()
+   |
+LL -     Test::foo()
+LL +     <Test as Trait2>::foo()
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/error-codes/E0040.stderr b/tests/ui/error-codes/E0040.stderr
index 00cccb07c0f..674c2b70b03 100644
--- a/tests/ui/error-codes/E0040.stderr
+++ b/tests/ui/error-codes/E0040.stderr
@@ -6,8 +6,9 @@ LL |     x.drop();
    |
 help: consider using `drop` function
    |
-LL |     drop(x);
-   |     +++++ ~
+LL -     x.drop();
+LL +     drop(x);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/error-codes/E0054.stderr b/tests/ui/error-codes/E0054.stderr
index be35242ad72..a2e618d9b06 100644
--- a/tests/ui/error-codes/E0054.stderr
+++ b/tests/ui/error-codes/E0054.stderr
@@ -6,8 +6,9 @@ LL |     let x_is_nonzero = x as bool;
    |
 help: compare with zero instead
    |
-LL |     let x_is_nonzero = x != 0;
-   |                          ~~~~
+LL -     let x_is_nonzero = x as bool;
+LL +     let x_is_nonzero = x != 0;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/error-codes/E0057.stderr b/tests/ui/error-codes/E0057.stderr
index ef6e2908b93..35bd842b2cf 100644
--- a/tests/ui/error-codes/E0057.stderr
+++ b/tests/ui/error-codes/E0057.stderr
@@ -11,8 +11,9 @@ LL |     let f = |x| x * 3;
    |             ^^^
 help: provide the argument
    |
-LL |     let a = f(/* x */);
-   |              ~~~~~~~~~
+LL -     let a = f();
+LL +     let a = f(/* x */);
+   |
 
 error[E0057]: this function takes 1 argument but 2 arguments were supplied
   --> $DIR/E0057.rs:5:13
diff --git a/tests/ui/error-codes/E0060.stderr b/tests/ui/error-codes/E0060.stderr
index aadf1ea93cb..fc52c6fc5ea 100644
--- a/tests/ui/error-codes/E0060.stderr
+++ b/tests/ui/error-codes/E0060.stderr
@@ -11,8 +11,9 @@ LL |     fn printf(_: *const u8, ...) -> u32;
    |        ^^^^^^ -
 help: provide the argument
    |
-LL |     unsafe { printf(/* *const u8 */); }
-   |                    ~~~~~~~~~~~~~~~~~
+LL -     unsafe { printf(); }
+LL +     unsafe { printf(/* *const u8 */); }
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/error-codes/E0061.stderr b/tests/ui/error-codes/E0061.stderr
index 4a420cd118a..b70d607ebeb 100644
--- a/tests/ui/error-codes/E0061.stderr
+++ b/tests/ui/error-codes/E0061.stderr
@@ -11,8 +11,9 @@ LL | fn f(a: u16, b: &str) {}
    |    ^         -------
 help: provide the argument
    |
-LL |     f(0, /* &str */);
-   |      ~~~~~~~~~~~~~~~
+LL -     f(0);
+LL +     f(0, /* &str */);
+   |
 
 error[E0061]: this function takes 1 argument but 0 arguments were supplied
   --> $DIR/E0061.rs:9:5
@@ -27,8 +28,9 @@ LL | fn f2(a: u16) {}
    |    ^^ ------
 help: provide the argument
    |
-LL |     f2(/* u16 */);
-   |       ~~~~~~~~~~~
+LL -     f2();
+LL +     f2(/* u16 */);
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/error-codes/E0121.stderr b/tests/ui/error-codes/E0121.stderr
index 5f5df0fd0ae..b169373f643 100644
--- a/tests/ui/error-codes/E0121.stderr
+++ b/tests/ui/error-codes/E0121.stderr
@@ -15,8 +15,9 @@ LL | static BAR: _ = "test";
    |
 help: replace this with a fully-specified type
    |
-LL | static BAR: &str = "test";
-   |             ~~~~
+LL - static BAR: _ = "test";
+LL + static BAR: &str = "test";
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/error-codes/E0214.stderr b/tests/ui/error-codes/E0214.stderr
index 76b11f30996..71ae62d64e3 100644
--- a/tests/ui/error-codes/E0214.stderr
+++ b/tests/ui/error-codes/E0214.stderr
@@ -6,8 +6,9 @@ LL |     let v: Vec(&str) = vec!["foo"];
    |
 help: use angle brackets instead
    |
-LL |     let v: Vec<&str> = vec!["foo"];
-   |               ~    ~
+LL -     let v: Vec(&str) = vec!["foo"];
+LL +     let v: Vec<&str> = vec!["foo"];
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/error-codes/E0221.stderr b/tests/ui/error-codes/E0221.stderr
index 07e7485b67e..a18e91806d7 100644
--- a/tests/ui/error-codes/E0221.stderr
+++ b/tests/ui/error-codes/E0221.stderr
@@ -12,12 +12,14 @@ LL |         let _: Self::A;
    |
 help: use fully-qualified syntax to disambiguate
    |
-LL |         let _: <Self as Foo>::A;
-   |                ~~~~~~~~~~~~~~~
+LL -         let _: Self::A;
+LL +         let _: <Self as Foo>::A;
+   |
 help: use fully-qualified syntax to disambiguate
    |
-LL |         let _: <Self as Bar>::A;
-   |                ~~~~~~~~~~~~~~~
+LL -         let _: Self::A;
+LL +         let _: <Self as Bar>::A;
+   |
 
 error[E0221]: ambiguous associated type `Err` in bounds of `Self`
   --> $DIR/E0221.rs:21:16
@@ -31,8 +33,9 @@ LL |         let _: Self::Err;
    = note: associated type `Err` could derive from `FromStr`
 help: use fully-qualified syntax to disambiguate
    |
-LL |         let _: <Self as My>::Err;
-   |                ~~~~~~~~~~~~~~
+LL -         let _: Self::Err;
+LL +         let _: <Self as My>::Err;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/error-codes/E0259.stderr b/tests/ui/error-codes/E0259.stderr
index 975d1a161a0..08d3deb68d2 100644
--- a/tests/ui/error-codes/E0259.stderr
+++ b/tests/ui/error-codes/E0259.stderr
@@ -10,7 +10,8 @@ LL | extern crate test as alloc;
    = note: `alloc` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | extern crate test as other_alloc;
+LL - extern crate test as alloc;
+LL + extern crate test as other_alloc;
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/error-codes/E0260.stderr b/tests/ui/error-codes/E0260.stderr
index 35698c65359..cb47b77904a 100644
--- a/tests/ui/error-codes/E0260.stderr
+++ b/tests/ui/error-codes/E0260.stderr
@@ -10,7 +10,8 @@ LL | mod alloc {
    = note: `alloc` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | extern crate alloc as other_alloc;
+LL - extern crate alloc;
+LL + extern crate alloc as other_alloc;
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/error-codes/E0283.stderr b/tests/ui/error-codes/E0283.stderr
index 381eca5f2a4..29baae5f133 100644
--- a/tests/ui/error-codes/E0283.stderr
+++ b/tests/ui/error-codes/E0283.stderr
@@ -30,8 +30,9 @@ LL | impl Into<u32> for Impl {
              where U: From<T>;
 help: try using a fully qualified path to specify the expected types
    |
-LL |     let bar = <Impl as Into<T>>::into(foo_impl) * 1u32;
-   |               ++++++++++++++++++++++++        ~
+LL -     let bar = foo_impl.into() * 1u32;
+LL +     let bar = <Impl as Into<T>>::into(foo_impl) * 1u32;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/error-codes/E0423.stderr b/tests/ui/error-codes/E0423.stderr
index dd7a5b034c5..e50b8bd820c 100644
--- a/tests/ui/error-codes/E0423.stderr
+++ b/tests/ui/error-codes/E0423.stderr
@@ -51,12 +51,14 @@ LL | fn foo() {
    |
 help: use struct literal syntax instead
    |
-LL |     let f = Foo { a: val };
-   |             ~~~~~~~~~~~~~~
+LL -     let f = Foo();
+LL +     let f = Foo { a: val };
+   |
 help: a function with a similar name exists (notice the capitalization difference)
    |
-LL |     let f = foo();
-   |             ~~~
+LL -     let f = Foo();
+LL +     let f = foo();
+   |
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/ui/error-codes/E0435.stderr b/tests/ui/error-codes/E0435.stderr
index 1ebb9976394..13187472e60 100644
--- a/tests/ui/error-codes/E0435.stderr
+++ b/tests/ui/error-codes/E0435.stderr
@@ -6,8 +6,9 @@ LL |     let _: [u8; foo];
    |
 help: consider using `const` instead of `let`
    |
-LL |     const foo: usize = 42;
-   |     ~~~~~
+LL -     let foo: usize = 42;
+LL +     const foo: usize = 42;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/error-codes/E0516.stderr b/tests/ui/error-codes/E0516.stderr
index 62e70a4668d..f4127678d5b 100644
--- a/tests/ui/error-codes/E0516.stderr
+++ b/tests/ui/error-codes/E0516.stderr
@@ -6,8 +6,9 @@ LL |     let x: typeof(92) = 92;
    |
 help: consider replacing `typeof(...)` with an actual type
    |
-LL |     let x: i32 = 92;
-   |            ~~~
+LL -     let x: typeof(92) = 92;
+LL +     let x: i32 = 92;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/error-codes/E0637.stderr b/tests/ui/error-codes/E0637.stderr
index d9db89ddb0c..95a5a58ab85 100644
--- a/tests/ui/error-codes/E0637.stderr
+++ b/tests/ui/error-codes/E0637.stderr
@@ -13,8 +13,9 @@ LL | fn underscore_lifetime<'_>(str1: &'_ str, str2: &'_ str) -> &'_ str {
    = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `str1` or `str2`
 help: consider introducing a named lifetime parameter
    |
-LL | fn underscore_lifetime<'a, '_>(str1: &'a str, str2: &'a str) -> &'a str {
-   |                        +++            ~~             ~~          ~~
+LL - fn underscore_lifetime<'_>(str1: &'_ str, str2: &'_ str) -> &'_ str {
+LL + fn underscore_lifetime<'a, '_>(str1: &'a str, str2: &'a str) -> &'a str {
+   |
 
 error[E0637]: `&` without an explicit lifetime name cannot be used here
   --> $DIR/E0637.rs:13:13
diff --git a/tests/ui/error-codes/E0642.stderr b/tests/ui/error-codes/E0642.stderr
index dd9e28ad492..97309e95b6b 100644
--- a/tests/ui/error-codes/E0642.stderr
+++ b/tests/ui/error-codes/E0642.stderr
@@ -6,8 +6,9 @@ LL |     fn foo((x, y): (i32, i32));
    |
 help: give this argument a name or use an underscore to ignore it
    |
-LL |     fn foo(_: (i32, i32));
-   |            ~
+LL -     fn foo((x, y): (i32, i32));
+LL +     fn foo(_: (i32, i32));
+   |
 
 error[E0642]: patterns aren't allowed in methods without bodies
   --> $DIR/E0642.rs:11:12
@@ -17,8 +18,9 @@ LL |     fn bar((x, y): (i32, i32)) {}
    |
 help: give this argument a name or use an underscore to ignore it
    |
-LL |     fn bar(_: (i32, i32)) {}
-   |            ~
+LL -     fn bar((x, y): (i32, i32)) {}
+LL +     fn bar(_: (i32, i32)) {}
+   |
 
 error[E0642]: patterns aren't allowed in methods without bodies
   --> $DIR/E0642.rs:13:15
@@ -28,8 +30,9 @@ LL |     fn method(S { .. }: S) {}
    |
 help: give this argument a name or use an underscore to ignore it
    |
-LL |     fn method(_: S) {}
-   |               ~
+LL -     fn method(S { .. }: S) {}
+LL +     fn method(_: S) {}
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/error-codes/E0746.stderr b/tests/ui/error-codes/E0746.stderr
index ec785561415..07d6b285f76 100644
--- a/tests/ui/error-codes/E0746.stderr
+++ b/tests/ui/error-codes/E0746.stderr
@@ -6,8 +6,9 @@ LL | fn foo() -> dyn Trait { Struct }
    |
 help: consider returning an `impl Trait` instead of a `dyn Trait`
    |
-LL | fn foo() -> impl Trait { Struct }
-   |             ~~~~
+LL - fn foo() -> dyn Trait { Struct }
+LL + fn foo() -> impl Trait { Struct }
+   |
 help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
    |
 LL | fn foo() -> Box<dyn Trait> { Box::new(Struct) }
@@ -21,8 +22,9 @@ LL | fn bar() -> dyn Trait {
    |
 help: consider returning an `impl Trait` instead of a `dyn Trait`
    |
-LL | fn bar() -> impl Trait {
-   |             ~~~~
+LL - fn bar() -> dyn Trait {
+LL + fn bar() -> impl Trait {
+   |
 help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
    |
 LL ~ fn bar() -> Box<dyn Trait> {
diff --git a/tests/ui/error-codes/ex-E0612.stderr b/tests/ui/error-codes/ex-E0612.stderr
index 23c1697b9b2..54451d3d452 100644
--- a/tests/ui/error-codes/ex-E0612.stderr
+++ b/tests/ui/error-codes/ex-E0612.stderr
@@ -6,8 +6,9 @@ LL |    y.1;
    |
 help: a field with a similar name exists
    |
-LL |    y.0;
-   |      ~
+LL -    y.1;
+LL +    y.0;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/error-festival.stderr b/tests/ui/error-festival.stderr
index f71fa7e685c..9db95363791 100644
--- a/tests/ui/error-festival.stderr
+++ b/tests/ui/error-festival.stderr
@@ -6,8 +6,9 @@ LL |     y = 2;
    |
 help: a local variable with a similar name exists
    |
-LL |     x = 2;
-   |     ~
+LL -     y = 2;
+LL +     x = 2;
+   |
 help: you might have meant to introduce a new binding
    |
 LL |     let y = 2;
@@ -76,8 +77,9 @@ LL |     let x_is_nonzero = x as bool;
    |
 help: compare with zero instead
    |
-LL |     let x_is_nonzero = x != 0;
-   |                          ~~~~
+LL -     let x_is_nonzero = x as bool;
+LL +     let x_is_nonzero = x != 0;
+   |
 
 error[E0606]: casting `&u8` as `u32` is invalid
   --> $DIR/error-festival.rs:37:18
diff --git a/tests/ui/explicit-tail-calls/become-operator.stderr b/tests/ui/explicit-tail-calls/become-operator.stderr
index 26e4343faae..9741fbfca6d 100644
--- a/tests/ui/explicit-tail-calls/become-operator.stderr
+++ b/tests/ui/explicit-tail-calls/become-operator.stderr
@@ -16,8 +16,9 @@ LL |     become a + b;
    |
 help: try using the method directly
    |
-LL |     become (a).add(b);
-   |            + ~~~~~~ +
+LL -     become a + b;
+LL +     become (a).add(b);
+   |
 
 error: `become` does not support operators
   --> $DIR/become-operator.rs:19:12
@@ -37,8 +38,9 @@ LL |     become !x;
    |
 help: try using the method directly
    |
-LL |     become (x).not();
-   |            ~ +++++++
+LL -     become !x;
+LL +     become (x).not();
+   |
 
 error: `become` does not support operators
   --> $DIR/become-operator.rs:27:12
@@ -68,8 +70,9 @@ LL |     become *b ^= 1;
    |
 help: try using the method directly
    |
-LL |     become (*b).bitxor_assign(1);
-   |            +  ~~~~~~~~~~~~~~~~ +
+LL -     become *b ^= 1;
+LL +     become (*b).bitxor_assign(1);
+   |
 
 error: aborting due to 7 previous errors
 
diff --git a/tests/ui/explicit/explicit-call-to-dtor.stderr b/tests/ui/explicit/explicit-call-to-dtor.stderr
index 6f40f3998a9..47d2823c82d 100644
--- a/tests/ui/explicit/explicit-call-to-dtor.stderr
+++ b/tests/ui/explicit/explicit-call-to-dtor.stderr
@@ -6,8 +6,9 @@ LL |     x.drop();
    |
 help: consider using `drop` function
    |
-LL |     drop(x);
-   |     +++++ ~
+LL -     x.drop();
+LL +     drop(x);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/explicit/explicit-call-to-supertrait-dtor.stderr b/tests/ui/explicit/explicit-call-to-supertrait-dtor.stderr
index 13b6ee9987e..9f98fb5f26c 100644
--- a/tests/ui/explicit/explicit-call-to-supertrait-dtor.stderr
+++ b/tests/ui/explicit/explicit-call-to-supertrait-dtor.stderr
@@ -6,8 +6,9 @@ LL |         self.drop();
    |
 help: consider using `drop` function
    |
-LL |         drop(self);
-   |         +++++    ~
+LL -         self.drop();
+LL +         drop(self);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/expr/if/if-branch-types.stderr b/tests/ui/expr/if/if-branch-types.stderr
index 0e86a24f31b..587d2f10a8c 100644
--- a/tests/ui/expr/if/if-branch-types.stderr
+++ b/tests/ui/expr/if/if-branch-types.stderr
@@ -8,8 +8,9 @@ LL |     let x = if true { 10i32 } else { 10u32 };
    |
 help: change the type of the numeric literal from `u32` to `i32`
    |
-LL |     let x = if true { 10i32 } else { 10i32 };
-   |                                        ~~~
+LL -     let x = if true { 10i32 } else { 10u32 };
+LL +     let x = if true { 10i32 } else { 10i32 };
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/expr/if/if-else-type-mismatch.stderr b/tests/ui/expr/if/if-else-type-mismatch.stderr
index f1fffdb1e7e..1cf94c98800 100644
--- a/tests/ui/expr/if/if-else-type-mismatch.stderr
+++ b/tests/ui/expr/if/if-else-type-mismatch.stderr
@@ -13,8 +13,9 @@ LL | |     };
    |
 help: change the type of the numeric literal from `u32` to `i32`
    |
-LL |         2i32
-   |          ~~~
+LL -         2u32
+LL +         2i32
+   |
 
 error[E0308]: `if` and `else` have incompatible types
   --> $DIR/if-else-type-mismatch.rs:8:38
@@ -26,8 +27,9 @@ LL |     let _ = if true { 42i32 } else { 42u32 };
    |
 help: change the type of the numeric literal from `u32` to `i32`
    |
-LL |     let _ = if true { 42i32 } else { 42i32 };
-   |                                        ~~~
+LL -     let _ = if true { 42i32 } else { 42u32 };
+LL +     let _ = if true { 42i32 } else { 42i32 };
+   |
 
 error[E0308]: `if` and `else` have incompatible types
   --> $DIR/if-else-type-mismatch.rs:13:9
diff --git a/tests/ui/expr/issue-22933-2.stderr b/tests/ui/expr/issue-22933-2.stderr
index dadc3121362..07f095f643e 100644
--- a/tests/ui/expr/issue-22933-2.stderr
+++ b/tests/ui/expr/issue-22933-2.stderr
@@ -9,8 +9,9 @@ LL |     ApplePie = Delicious::Apple as isize | Delicious::PIE as isize,
    |
 help: there is a variant with a similar name
    |
-LL |     ApplePie = Delicious::Apple as isize | Delicious::Pie as isize,
-   |                                                       ~~~
+LL -     ApplePie = Delicious::Apple as isize | Delicious::PIE as isize,
+LL +     ApplePie = Delicious::Apple as isize | Delicious::Pie as isize,
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/extern/extern-const.stderr b/tests/ui/extern/extern-const.stderr
index 441495866cd..c48eca8c36d 100644
--- a/tests/ui/extern/extern-const.stderr
+++ b/tests/ui/extern/extern-const.stderr
@@ -7,8 +7,9 @@ LL |     const rust_dbg_static_mut: c_int;
    = note: for more information, visit https://doc.rust-lang.org/std/keyword.extern.html
 help: try using a static value
    |
-LL |     static rust_dbg_static_mut: c_int;
-   |     ~~~~~~
+LL -     const rust_dbg_static_mut: c_int;
+LL +     static rust_dbg_static_mut: c_int;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/extern/extern-crate-rename.stderr b/tests/ui/extern/extern-crate-rename.stderr
index 43f6e56ab0e..4d4a585de60 100644
--- a/tests/ui/extern/extern-crate-rename.stderr
+++ b/tests/ui/extern/extern-crate-rename.stderr
@@ -9,8 +9,9 @@ LL | extern crate m2 as m1;
    = note: `m1` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | extern crate m2 as other_m1;
-   | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - extern crate m2 as m1;
+LL + extern crate m2 as other_m1;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/extern/extern-crate-visibility.stderr b/tests/ui/extern/extern-crate-visibility.stderr
index b239727092a..c037da41b5e 100644
--- a/tests/ui/extern/extern-crate-visibility.stderr
+++ b/tests/ui/extern/extern-crate-visibility.stderr
@@ -11,8 +11,9 @@ LL |     extern crate core;
    |     ^^^^^^^^^^^^^^^^^^
 help: consider importing this module instead
    |
-LL | use std::cell;
-   |     ~~~~~~~~~
+LL - use foo::core::cell;
+LL + use std::cell;
+   |
 
 error[E0603]: crate import `core` is private
   --> $DIR/extern-crate-visibility.rs:9:10
@@ -27,8 +28,9 @@ LL |     extern crate core;
    |     ^^^^^^^^^^^^^^^^^^
 help: consider importing this struct instead
    |
-LL |     std::cell::Cell::new(0);
-   |     ~~~~~~~~~~~~~~~
+LL -     foo::core::cell::Cell::new(0);
+LL +     std::cell::Cell::new(0);
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/extern/issue-18819.stderr b/tests/ui/extern/issue-18819.stderr
index 6de0ebfe9ae..566bf6a1f64 100644
--- a/tests/ui/extern/issue-18819.stderr
+++ b/tests/ui/extern/issue-18819.stderr
@@ -22,8 +22,9 @@ LL |     print_x(&X);
    |             +
 help: provide the argument
    |
-LL |     print_x(/* &dyn Foo<Item = bool> */, /* &str */);
-   |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     print_x(X);
+LL +     print_x(/* &dyn Foo<Item = bool> */, /* &str */);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/extern/not-in-block.stderr b/tests/ui/extern/not-in-block.stderr
index f86c279a234..f35d98e9948 100644
--- a/tests/ui/extern/not-in-block.stderr
+++ b/tests/ui/extern/not-in-block.stderr
@@ -6,12 +6,14 @@ LL | extern fn none_fn(x: bool) -> i32;
    |
 help: provide a definition for the function
    |
-LL | extern fn none_fn(x: bool) -> i32 { <body> }
-   |                                   ~~~~~~~~~~
+LL - extern fn none_fn(x: bool) -> i32;
+LL + extern fn none_fn(x: bool) -> i32 { <body> }
+   |
 help: if you meant to declare an externally defined function, use an `extern` block
    |
-LL | extern { fn none_fn(x: bool) -> i32; }
-   | ~~~~~~~~                             +
+LL - extern fn none_fn(x: bool) -> i32;
+LL + extern { fn none_fn(x: bool) -> i32; }
+   |
 
 error: free function without a body
   --> $DIR/not-in-block.rs:6:1
@@ -21,12 +23,14 @@ LL | extern "C" fn c_fn(x: bool) -> i32;
    |
 help: provide a definition for the function
    |
-LL | extern "C" fn c_fn(x: bool) -> i32 { <body> }
-   |                                    ~~~~~~~~~~
+LL - extern "C" fn c_fn(x: bool) -> i32;
+LL + extern "C" fn c_fn(x: bool) -> i32 { <body> }
+   |
 help: if you meant to declare an externally defined function, use an `extern` block
    |
-LL | extern "C" { fn c_fn(x: bool) -> i32; }
-   | ~~~~~~~~~~~~                          +
+LL - extern "C" fn c_fn(x: bool) -> i32;
+LL + extern "C" { fn c_fn(x: bool) -> i32; }
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/feature-gates/feature-gate-extern_absolute_paths.stderr b/tests/ui/feature-gates/feature-gate-extern_absolute_paths.stderr
index 0234480ac5a..2f5e3650734 100644
--- a/tests/ui/feature-gates/feature-gate-extern_absolute_paths.stderr
+++ b/tests/ui/feature-gates/feature-gate-extern_absolute_paths.stderr
@@ -15,8 +15,9 @@ LL |     let _: u8 = ::core::default::Default();
    |
 help: try using `std` instead of `core`
    |
-LL |     let _: u8 = ::std::default::Default();
-   |                   ~~~
+LL -     let _: u8 = ::core::default::Default();
+LL +     let _: u8 = ::std::default::Default();
+   |
 help: consider importing this module
    |
 LL + use std::default;
diff --git a/tests/ui/feature-gates/feature-gate-negate-unsigned.stderr b/tests/ui/feature-gates/feature-gate-negate-unsigned.stderr
index 696326157ce..a6e0e668261 100644
--- a/tests/ui/feature-gates/feature-gate-negate-unsigned.stderr
+++ b/tests/ui/feature-gates/feature-gate-negate-unsigned.stderr
@@ -7,8 +7,9 @@ LL |     let _max: usize = -1;
    = note: unsigned values cannot be negated
 help: you may have meant the maximum value of `usize`
    |
-LL |     let _max: usize = usize::MAX;
-   |                       ~~~~~~~~~~
+LL -     let _max: usize = -1;
+LL +     let _max: usize = usize::MAX;
+   |
 
 error[E0600]: cannot apply unary operator `-` to type `u8`
   --> $DIR/feature-gate-negate-unsigned.rs:14:14
diff --git a/tests/ui/feature-gates/feature-gate-never_patterns.stderr b/tests/ui/feature-gates/feature-gate-never_patterns.stderr
index 9f94e962035..dcd5db56da8 100644
--- a/tests/ui/feature-gates/feature-gate-never_patterns.stderr
+++ b/tests/ui/feature-gates/feature-gate-never_patterns.stderr
@@ -10,7 +10,8 @@ LL |         (Some(_),)
    |         +        +
 help: ...or a vertical bar to match on multiple alternatives
    |
-LL |         Some(_) |
+LL -         Some(_),
+LL +         Some(_) |
    |
 
 error[E0658]: `!` patterns are experimental
diff --git a/tests/ui/feature-gates/feature-gate-unboxed-closures-manual-impls.stderr b/tests/ui/feature-gates/feature-gate-unboxed-closures-manual-impls.stderr
index 584724dfe59..e427665fbc3 100644
--- a/tests/ui/feature-gates/feature-gate-unboxed-closures-manual-impls.stderr
+++ b/tests/ui/feature-gates/feature-gate-unboxed-closures-manual-impls.stderr
@@ -95,8 +95,9 @@ LL |     extern "rust-call" fn call(self, args: ()) -> () {}
               found signature `extern "rust-call" fn(Foo, ()) -> ()`
 help: change the self-receiver type to match the trait
    |
-LL |     extern "rust-call" fn call(&self, args: ()) -> () {}
-   |                                ~~~~~
+LL -     extern "rust-call" fn call(self, args: ()) -> () {}
+LL +     extern "rust-call" fn call(&self, args: ()) -> () {}
+   |
 
 error[E0183]: manual implementations of `FnOnce` are experimental
   --> $DIR/feature-gate-unboxed-closures-manual-impls.rs:18:6
@@ -165,8 +166,9 @@ LL |     extern "rust-call" fn call_mut(&self, args: ()) -> () {}
               found signature `extern "rust-call" fn(&Bar, ()) -> ()`
 help: change the self-receiver type to match the trait
    |
-LL |     extern "rust-call" fn call_mut(&mut self, args: ()) -> () {}
-   |                                    ~~~~~~~~~
+LL -     extern "rust-call" fn call_mut(&self, args: ()) -> () {}
+LL +     extern "rust-call" fn call_mut(&mut self, args: ()) -> () {}
+   |
 
 error[E0046]: not all trait items implemented, missing: `Output`
   --> $DIR/feature-gate-unboxed-closures-manual-impls.rs:35:1
diff --git a/tests/ui/feature-gates/feature-gate-unsized_fn_params.stderr b/tests/ui/feature-gates/feature-gate-unsized_fn_params.stderr
index 360c73ae2d7..30f95851768 100644
--- a/tests/ui/feature-gates/feature-gate-unsized_fn_params.stderr
+++ b/tests/ui/feature-gates/feature-gate-unsized_fn_params.stderr
@@ -8,8 +8,9 @@ LL | fn foo(x: dyn Foo) {
    = help: unsized fn params are gated as an unstable feature
 help: you can use `impl Trait` as the argument type
    |
-LL | fn foo(x: impl Foo) {
-   |           ~~~~
+LL - fn foo(x: dyn Foo) {
+LL + fn foo(x: impl Foo) {
+   |
 help: function arguments must have a statically known size, borrowed types always have a known size
    |
 LL | fn foo(x: &dyn Foo) {
diff --git a/tests/ui/feature-gates/feature-gate-unsized_locals.stderr b/tests/ui/feature-gates/feature-gate-unsized_locals.stderr
index f48565b922b..ce0f423fb5c 100644
--- a/tests/ui/feature-gates/feature-gate-unsized_locals.stderr
+++ b/tests/ui/feature-gates/feature-gate-unsized_locals.stderr
@@ -8,8 +8,9 @@ LL | fn f(f: dyn FnOnce()) {}
    = help: unsized fn params are gated as an unstable feature
 help: you can use `impl Trait` as the argument type
    |
-LL | fn f(f: impl FnOnce()) {}
-   |         ~~~~
+LL - fn f(f: dyn FnOnce()) {}
+LL + fn f(f: impl FnOnce()) {}
+   |
 help: function arguments must have a statically known size, borrowed types always have a known size
    |
 LL | fn f(f: &dyn FnOnce()) {}
diff --git a/tests/ui/feature-gates/issue-43106-gating-of-macro_use.stderr b/tests/ui/feature-gates/issue-43106-gating-of-macro_use.stderr
index 9a12851f20e..8987b87f84e 100644
--- a/tests/ui/feature-gates/issue-43106-gating-of-macro_use.stderr
+++ b/tests/ui/feature-gates/issue-43106-gating-of-macro_use.stderr
@@ -24,10 +24,12 @@ LL |     #[macro_use = "2700"] struct S;
    |
 help: the following are the possible correct uses
    |
-LL |     #[macro_use(name1, name2, ...)] struct S;
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-LL |     #[macro_use] struct S;
-   |     ~~~~~~~~~~~~
+LL -     #[macro_use = "2700"] struct S;
+LL +     #[macro_use(name1, name2, ...)] struct S;
+   |
+LL -     #[macro_use = "2700"] struct S;
+LL +     #[macro_use] struct S;
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/fmt/format-args-non-identifier-diagnostics.stderr b/tests/ui/fmt/format-args-non-identifier-diagnostics.stderr
index 08abba2854e..af6bb58071f 100644
--- a/tests/ui/fmt/format-args-non-identifier-diagnostics.stderr
+++ b/tests/ui/fmt/format-args-non-identifier-diagnostics.stderr
@@ -6,8 +6,9 @@ LL |     println!("{x.0}");
    |
 help: consider using a positional formatting argument instead
    |
-LL |     println!("{0}", x.0);
-   |                ~  +++++
+LL -     println!("{x.0}");
+LL +     println!("{0}", x.0);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/fmt/format-string-error-2.stderr b/tests/ui/fmt/format-string-error-2.stderr
index a2d142e0bab..6d8c34fdb70 100644
--- a/tests/ui/fmt/format-string-error-2.stderr
+++ b/tests/ui/fmt/format-string-error-2.stderr
@@ -6,8 +6,9 @@ LL |     println!("\x7B}\u8 {", 1);
    |
 help: format of unicode escape sequences uses braces
    |
-LL |     println!("\x7B}\u{8} {", 1);
-   |                    ~~~~~
+LL -     println!("\x7B}\u8 {", 1);
+LL +     println!("\x7B}\u{8} {", 1);
+   |
 
 error: invalid format string: expected `}`, found `a`
   --> $DIR/format-string-error-2.rs:5:5
diff --git a/tests/ui/fmt/no-inline-literals-out-of-range.stderr b/tests/ui/fmt/no-inline-literals-out-of-range.stderr
index 78ec4888c27..78047eabf49 100644
--- a/tests/ui/fmt/no-inline-literals-out-of-range.stderr
+++ b/tests/ui/fmt/no-inline-literals-out-of-range.stderr
@@ -8,12 +8,14 @@ LL |     format_args!("{}", 0x8f_i8); // issue #115423
    = note: `#[deny(overflowing_literals)]` on by default
 help: consider using the type `u8` instead
    |
-LL |     format_args!("{}", 0x8f_u8); // issue #115423
-   |                        ~~~~~~~
+LL -     format_args!("{}", 0x8f_i8); // issue #115423
+LL +     format_args!("{}", 0x8f_u8); // issue #115423
+   |
 help: to use as a negative number (decimal `-113`), consider using the type `u8` for the literal and cast it to `i8`
    |
-LL |     format_args!("{}", 0x8f_u8 as i8); // issue #115423
-   |                        ~~~~~~~~~~~~~
+LL -     format_args!("{}", 0x8f_i8); // issue #115423
+LL +     format_args!("{}", 0x8f_u8 as i8); // issue #115423
+   |
 
 error: literal out of range for `u8`
   --> $DIR/no-inline-literals-out-of-range.rs:6:24
@@ -49,8 +51,9 @@ LL |     format_args!("{}", 0xffff_ffff); // treat unsuffixed literals as i32
    = help: consider using the type `u32` instead
 help: to use as a negative number (decimal `-1`), consider using the type `u32` for the literal and cast it to `i32`
    |
-LL |     format_args!("{}", 0xffff_ffffu32 as i32); // treat unsuffixed literals as i32
-   |                        ~~~~~~~~~~~~~~~~~~~~~
+LL -     format_args!("{}", 0xffff_ffff); // treat unsuffixed literals as i32
+LL +     format_args!("{}", 0xffff_ffffu32 as i32); // treat unsuffixed literals as i32
+   |
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/ui/fmt/struct-field-as-captured-argument.stderr b/tests/ui/fmt/struct-field-as-captured-argument.stderr
index 4ef022cecb0..388c14f932b 100644
--- a/tests/ui/fmt/struct-field-as-captured-argument.stderr
+++ b/tests/ui/fmt/struct-field-as-captured-argument.stderr
@@ -6,8 +6,9 @@ LL |     let _ = format!("{foo.field}");
    |
 help: consider using a positional formatting argument instead
    |
-LL |     let _ = format!("{0}", foo.field);
-   |                       ~  +++++++++++
+LL -     let _ = format!("{foo.field}");
+LL +     let _ = format!("{0}", foo.field);
+   |
 
 error: invalid format string: field access isn't supported
   --> $DIR/struct-field-as-captured-argument.rs:12:23
@@ -17,8 +18,9 @@ LL |     let _ = format!("{foo.field} {} {bar}", "aa");
    |
 help: consider using a positional formatting argument instead
    |
-LL |     let _ = format!("{1} {} {bar}", "aa", foo.field);
-   |                       ~                 +++++++++++
+LL -     let _ = format!("{foo.field} {} {bar}", "aa");
+LL +     let _ = format!("{1} {} {bar}", "aa", foo.field);
+   |
 
 error: invalid format string: field access isn't supported
   --> $DIR/struct-field-as-captured-argument.rs:13:23
@@ -28,8 +30,9 @@ LL |     let _ = format!("{foo.field} {} {1} {bar}", "aa", "bb");
    |
 help: consider using a positional formatting argument instead
    |
-LL |     let _ = format!("{2} {} {1} {bar}", "aa", "bb", foo.field);
-   |                       ~                           +++++++++++
+LL -     let _ = format!("{foo.field} {} {1} {bar}", "aa", "bb");
+LL +     let _ = format!("{2} {} {1} {bar}", "aa", "bb", foo.field);
+   |
 
 error: invalid format string: field access isn't supported
   --> $DIR/struct-field-as-captured-argument.rs:14:23
@@ -39,8 +42,9 @@ LL |     let _ = format!("{foo.field} {} {baz}", "aa", baz = 3);
    |
 help: consider using a positional formatting argument instead
    |
-LL |     let _ = format!("{1} {} {baz}", "aa", foo.field, baz = 3);
-   |                       ~                 +++++++++++
+LL -     let _ = format!("{foo.field} {} {baz}", "aa", baz = 3);
+LL +     let _ = format!("{1} {} {baz}", "aa", foo.field, baz = 3);
+   |
 
 error: invalid format string: field access isn't supported
   --> $DIR/struct-field-as-captured-argument.rs:15:23
@@ -50,8 +54,9 @@ LL |     let _ = format!("{foo.field:?} {} {baz}", "aa", baz = 3);
    |
 help: consider using a positional formatting argument instead
    |
-LL |     let _ = format!("{1:?} {} {baz}", "aa", foo.field, baz = 3);
-   |                       ~                   +++++++++++
+LL -     let _ = format!("{foo.field:?} {} {baz}", "aa", baz = 3);
+LL +     let _ = format!("{1:?} {} {baz}", "aa", foo.field, baz = 3);
+   |
 
 error: invalid format string: field access isn't supported
   --> $DIR/struct-field-as-captured-argument.rs:16:23
@@ -61,8 +66,9 @@ LL |     let _ = format!("{foo.field:#?} {} {baz}", "aa", baz = 3);
    |
 help: consider using a positional formatting argument instead
    |
-LL |     let _ = format!("{1:#?} {} {baz}", "aa", foo.field, baz = 3);
-   |                       ~                    +++++++++++
+LL -     let _ = format!("{foo.field:#?} {} {baz}", "aa", baz = 3);
+LL +     let _ = format!("{1:#?} {} {baz}", "aa", foo.field, baz = 3);
+   |
 
 error: invalid format string: field access isn't supported
   --> $DIR/struct-field-as-captured-argument.rs:17:23
@@ -72,8 +78,9 @@ LL |     let _ = format!("{foo.field:.3} {} {baz}", "aa", baz = 3);
    |
 help: consider using a positional formatting argument instead
    |
-LL |     let _ = format!("{1:.3} {} {baz}", "aa", foo.field, baz = 3);
-   |                       ~                    +++++++++++
+LL -     let _ = format!("{foo.field:.3} {} {baz}", "aa", baz = 3);
+LL +     let _ = format!("{1:.3} {} {baz}", "aa", foo.field, baz = 3);
+   |
 
 error: aborting due to 7 previous errors
 
diff --git a/tests/ui/fmt/suggest-wrongly-order-format-parameter.stderr b/tests/ui/fmt/suggest-wrongly-order-format-parameter.stderr
index fe693d2e904..516fb870a56 100644
--- a/tests/ui/fmt/suggest-wrongly-order-format-parameter.stderr
+++ b/tests/ui/fmt/suggest-wrongly-order-format-parameter.stderr
@@ -6,8 +6,9 @@ LL |     println!("{f:?#}");
    |
 help: did you mean `#?`?
    |
-LL |     println!("{f:#?}");
-   |                  ~~
+LL -     println!("{f:?#}");
+LL +     println!("{f:#?}");
+   |
 
 error: invalid format string: expected `}`, found `x`
   --> $DIR/suggest-wrongly-order-format-parameter.rs:18:19
@@ -17,8 +18,9 @@ LL |     println!("{f:?x}");
    |
 help: did you mean `x?`?
    |
-LL |     println!("{f:x?}");
-   |                  ~~
+LL -     println!("{f:?x}");
+LL +     println!("{f:x?}");
+   |
 
 error: invalid format string: expected `}`, found `X`
   --> $DIR/suggest-wrongly-order-format-parameter.rs:22:19
@@ -28,8 +30,9 @@ LL |     println!("{f:?X}");
    |
 help: did you mean `X?`?
    |
-LL |     println!("{f:X?}");
-   |                  ~~
+LL -     println!("{f:?X}");
+LL +     println!("{f:X?}");
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/fn/error-recovery-mismatch.stderr b/tests/ui/fn/error-recovery-mismatch.stderr
index ad4652c11c1..f281e77f13b 100644
--- a/tests/ui/fn/error-recovery-mismatch.stderr
+++ b/tests/ui/fn/error-recovery-mismatch.stderr
@@ -37,8 +37,9 @@ LL |     fn fold<T>(&self, _: T, &self._) {}
    |
 help: use type parameters instead
    |
-LL |     fn fold<T, U>(&self, _: T, &self.U) {}
-   |              +++                     ~
+LL -     fn fold<T>(&self, _: T, &self._) {}
+LL +     fn fold<T, U>(&self, _: T, &self.U) {}
+   |
 
 error: aborting due to 4 previous errors; 1 warning emitted
 
diff --git a/tests/ui/fn/fn-pointer-mismatch.stderr b/tests/ui/fn/fn-pointer-mismatch.stderr
index 2aa840911f6..051eb945467 100644
--- a/tests/ui/fn/fn-pointer-mismatch.stderr
+++ b/tests/ui/fn/fn-pointer-mismatch.stderr
@@ -51,8 +51,9 @@ LL |     let c: fn(u32) -> u32 = &foo;
                found reference `&fn(_) -> _ {foo}`
 help: consider removing the reference
    |
-LL |     let c: fn(u32) -> u32 = foo;
-   |                             ~~~
+LL -     let c: fn(u32) -> u32 = &foo;
+LL +     let c: fn(u32) -> u32 = foo;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/fn-pointer-mismatch.rs:42:30
@@ -82,8 +83,9 @@ LL |     let e: &fn(u32) -> u32 = &foo;
    = note: fn items are distinct from fn pointers
 help: consider casting to a fn pointer
    |
-LL |     let e: &fn(u32) -> u32 = &(foo as fn(u32) -> u32);
-   |                              ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let e: &fn(u32) -> u32 = &foo;
+LL +     let e: &fn(u32) -> u32 = &(foo as fn(u32) -> u32);
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/fn/fn-recover-return-sign.stderr b/tests/ui/fn/fn-recover-return-sign.stderr
index e6012f3f950..96aa96f00ad 100644
--- a/tests/ui/fn/fn-recover-return-sign.stderr
+++ b/tests/ui/fn/fn-recover-return-sign.stderr
@@ -6,8 +6,9 @@ LL | fn a() => usize { 0 }
    |
 help: use `->` instead
    |
-LL | fn a() -> usize { 0 }
-   |        ~~
+LL - fn a() => usize { 0 }
+LL + fn a() -> usize { 0 }
+   |
 
 error: return types are denoted using `->`
   --> $DIR/fn-recover-return-sign.rs:6:7
@@ -17,8 +18,9 @@ LL | fn b(): usize { 0 }
    |
 help: use `->` instead
    |
-LL | fn b() -> usize { 0 }
-   |        ~~
+LL - fn b(): usize { 0 }
+LL + fn b() -> usize { 0 }
+   |
 
 error: return types are denoted using `->`
   --> $DIR/fn-recover-return-sign.rs:21:25
@@ -28,8 +30,9 @@ LL |     let foo = |a: bool| => bool { a };
    |
 help: use `->` instead
    |
-LL |     let foo = |a: bool| -> bool { a };
-   |                         ~~
+LL -     let foo = |a: bool| => bool { a };
+LL +     let foo = |a: bool| -> bool { a };
+   |
 
 error: return types are denoted using `->`
   --> $DIR/fn-recover-return-sign.rs:25:24
@@ -39,8 +42,9 @@ LL |     let bar = |a: bool|: bool { a };
    |
 help: use `->` instead
    |
-LL |     let bar = |a: bool| -> bool { a };
-   |                         ~~
+LL -     let bar = |a: bool|: bool { a };
+LL +     let bar = |a: bool| -> bool { a };
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/fn/fn-recover-return-sign2.stderr b/tests/ui/fn/fn-recover-return-sign2.stderr
index fb88ff7b950..ba6662b0d46 100644
--- a/tests/ui/fn/fn-recover-return-sign2.stderr
+++ b/tests/ui/fn/fn-recover-return-sign2.stderr
@@ -6,8 +6,9 @@ LL | fn foo() => impl Fn() => bool {
    |
 help: use `->` instead
    |
-LL | fn foo() -> impl Fn() => bool {
-   |          ~~
+LL - fn foo() => impl Fn() => bool {
+LL + fn foo() -> impl Fn() => bool {
+   |
 
 error: expected one of `+`, `->`, `::`, `where`, or `{`, found `=>`
   --> $DIR/fn-recover-return-sign2.rs:4:23
diff --git a/tests/ui/fn/param-mismatch-foreign.stderr b/tests/ui/fn/param-mismatch-foreign.stderr
index 1182908891c..88aa3cd0368 100644
--- a/tests/ui/fn/param-mismatch-foreign.stderr
+++ b/tests/ui/fn/param-mismatch-foreign.stderr
@@ -11,8 +11,9 @@ LL |     fn foo(x: i32, y: u32, z: i32);
    |        ^^^         -
 help: provide the argument
    |
-LL |     foo(1i32, /* u32 */, 2i32);
-   |        ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     foo(1i32, 2i32);
+LL +     foo(1i32, /* u32 */, 2i32);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/force-inlining/invalid.stderr b/tests/ui/force-inlining/invalid.stderr
index 5d280124129..92b3c314bad 100644
--- a/tests/ui/force-inlining/invalid.stderr
+++ b/tests/ui/force-inlining/invalid.stderr
@@ -6,9 +6,11 @@ LL | #[rustc_force_inline("foo")]
    |
 help: the following are the possible correct uses
    |
-LL | #[rustc_force_inline = "reason"]
+LL - #[rustc_force_inline("foo")]
+LL + #[rustc_force_inline = "reason"]
    |
-LL | #[rustc_force_inline]
+LL - #[rustc_force_inline("foo")]
+LL + #[rustc_force_inline]
    |
 
 error: malformed `rustc_force_inline` attribute input
@@ -19,9 +21,11 @@ LL | #[rustc_force_inline(bar, baz)]
    |
 help: the following are the possible correct uses
    |
-LL | #[rustc_force_inline = "reason"]
+LL - #[rustc_force_inline(bar, baz)]
+LL + #[rustc_force_inline = "reason"]
    |
-LL | #[rustc_force_inline]
+LL - #[rustc_force_inline(bar, baz)]
+LL + #[rustc_force_inline]
    |
 
 error: malformed `rustc_force_inline` attribute input
@@ -32,9 +36,11 @@ LL | #[rustc_force_inline(2)]
    |
 help: the following are the possible correct uses
    |
-LL | #[rustc_force_inline = "reason"]
+LL - #[rustc_force_inline(2)]
+LL + #[rustc_force_inline = "reason"]
    |
-LL | #[rustc_force_inline]
+LL - #[rustc_force_inline(2)]
+LL + #[rustc_force_inline]
    |
 
 error: malformed `rustc_force_inline` attribute input
@@ -45,9 +51,11 @@ LL | #[rustc_force_inline = 2]
    |
 help: the following are the possible correct uses
    |
-LL | #[rustc_force_inline = "reason"]
+LL - #[rustc_force_inline = 2]
+LL + #[rustc_force_inline = "reason"]
    |
-LL | #[rustc_force_inline]
+LL - #[rustc_force_inline = 2]
+LL + #[rustc_force_inline]
    |
 
 error: allow, cfg, cfg_attr, deny, expect, forbid, and warn are the only allowed built-in attributes in function parameters
diff --git a/tests/ui/functional-struct-update/functional-struct-update-noncopyable.stderr b/tests/ui/functional-struct-update/functional-struct-update-noncopyable.stderr
index d167a60dad3..b09ffb10673 100644
--- a/tests/ui/functional-struct-update/functional-struct-update-noncopyable.stderr
+++ b/tests/ui/functional-struct-update/functional-struct-update-noncopyable.stderr
@@ -9,8 +9,9 @@ LL |     let _b = A { y: Arc::new(3), ..a };
    |
 help: clone the value from the field instead of using the functional record update syntax
    |
-LL |     let _b = A { y: Arc::new(3), x: a.x.clone() };
-   |                                ~~~~~~~~~~~~~~~~
+LL -     let _b = A { y: Arc::new(3), ..a };
+LL +     let _b = A { y: Arc::new(3), x: a.x.clone() };
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr b/tests/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr
index 52fed354edf..99300ea1cb7 100644
--- a/tests/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr
+++ b/tests/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr
@@ -12,8 +12,9 @@ LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {}
    |
 help: use angle brackets instead
    |
-LL | fn foo<'a>(arg: Box<dyn X<Y<'a> = &'a ()>>) {}
-   |                            ~  ~
+LL - fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {}
+LL + fn foo<'a>(arg: Box<dyn X<Y<'a> = &'a ()>>) {}
+   |
 
 error: parenthesized generic arguments cannot be used in associated type constraints
   --> $DIR/gat-trait-path-parenthesised-args.rs:18:27
diff --git a/tests/ui/generic-associated-types/impl_bounds.stderr b/tests/ui/generic-associated-types/impl_bounds.stderr
index aa56505dd30..291f0ade439 100644
--- a/tests/ui/generic-associated-types/impl_bounds.stderr
+++ b/tests/ui/generic-associated-types/impl_bounds.stderr
@@ -18,8 +18,9 @@ LL |     type B<'a, 'b> = (&'a(), &'b ()) where 'b: 'a;
    |
 help: copy the `where` clause predicates from the trait
    |
-LL |     type B<'a, 'b> = (&'a(), &'b ()) where 'a: 'b;
-   |                                      ~~~~~~~~~~~~
+LL -     type B<'a, 'b> = (&'a(), &'b ()) where 'b: 'a;
+LL +     type B<'a, 'b> = (&'a(), &'b ()) where 'a: 'b;
+   |
 
 error[E0277]: the trait bound `T: Copy` is not satisfied
   --> $DIR/impl_bounds.rs:18:33
diff --git a/tests/ui/generic-associated-types/issue-70304.stderr b/tests/ui/generic-associated-types/issue-70304.stderr
index 9b02c1b0768..a181b1035b7 100644
--- a/tests/ui/generic-associated-types/issue-70304.stderr
+++ b/tests/ui/generic-associated-types/issue-70304.stderr
@@ -13,8 +13,9 @@ LL | fn create_doc() -> impl Document<Cursor<'_> = DocCursorImpl<'_>> {
    = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
 help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values
    |
-LL | fn create_doc() -> impl Document<Cursor<'_> = DocCursorImpl<'static>> {
-   |                                                             ~~~~~~~
+LL - fn create_doc() -> impl Document<Cursor<'_> = DocCursorImpl<'_>> {
+LL + fn create_doc() -> impl Document<Cursor<'_> = DocCursorImpl<'static>> {
+   |
 
 error: missing required bound on `Cursor`
   --> $DIR/issue-70304.rs:2:5
diff --git a/tests/ui/generic-associated-types/mismatched-where-clause-regions.stderr b/tests/ui/generic-associated-types/mismatched-where-clause-regions.stderr
index ee90f61aabc..9ff343c255b 100644
--- a/tests/ui/generic-associated-types/mismatched-where-clause-regions.stderr
+++ b/tests/ui/generic-associated-types/mismatched-where-clause-regions.stderr
@@ -9,8 +9,9 @@ LL |     type T<'a2, 'b2> = () where 'b2: 'a2;
    |
 help: copy the `where` clause predicates from the trait
    |
-LL |     type T<'a2, 'b2> = () where 'a2: 'b2;
-   |                           ~~~~~~~~~~~~~~
+LL -     type T<'a2, 'b2> = () where 'b2: 'a2;
+LL +     type T<'a2, 'b2> = () where 'a2: 'b2;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/generic-associated-types/missing-bounds.stderr b/tests/ui/generic-associated-types/missing-bounds.stderr
index 6e0700639e9..13e4d249876 100644
--- a/tests/ui/generic-associated-types/missing-bounds.stderr
+++ b/tests/ui/generic-associated-types/missing-bounds.stderr
@@ -7,8 +7,9 @@ LL | impl<B: Add> Add for E<B> where <B as Add>::Output = B {
    = note: see issue #20041 <https://github.com/rust-lang/rust/issues/20041> for more information
 help: if `Output` is an associated type you're trying to set, use the associated type binding syntax
    |
-LL | impl<B: Add> Add for E<B> where B: Add<Output = B> {
-   |                                 ~~~~~~~~~~~~~~~~~~
+LL - impl<B: Add> Add for E<B> where <B as Add>::Output = B {
+LL + impl<B: Add> Add for E<B> where B: Add<Output = B> {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/missing-bounds.rs:11:11
diff --git a/tests/ui/generic-const-items/duplicate-where-clause.stderr b/tests/ui/generic-const-items/duplicate-where-clause.stderr
index 5fa61b01ee9..6b742dfafed 100644
--- a/tests/ui/generic-const-items/duplicate-where-clause.stderr
+++ b/tests/ui/generic-const-items/duplicate-where-clause.stderr
@@ -9,8 +9,10 @@ LL |         P: Eq;
    |
 help: consider joining the two `where` clauses into one
    |
-LL |         P: Copy,
-   |                ~
+LL -         P: Copy
+LL -     where
+LL +         P: Copy,
+   |
 
 error: where clauses are not allowed before const item bodies
   --> $DIR/duplicate-where-clause.rs:19:5
diff --git a/tests/ui/generics/issue-95208-ignore-qself.stderr b/tests/ui/generics/issue-95208-ignore-qself.stderr
index 7d91fbc14a1..b9a5ffac274 100644
--- a/tests/ui/generics/issue-95208-ignore-qself.stderr
+++ b/tests/ui/generics/issue-95208-ignore-qself.stderr
@@ -6,8 +6,9 @@ LL | impl<T: Iterator> Struct<T> where <T as std:: iter::Iterator>::Item:: std::
    |
 help: use single colon
    |
-LL | impl<T: Iterator> Struct<T> where <T as std:: iter::Iterator>::Item: std::fmt::Display {
-   |                                                                    ~
+LL - impl<T: Iterator> Struct<T> where <T as std:: iter::Iterator>::Item:: std::fmt::Display {
+LL + impl<T: Iterator> Struct<T> where <T as std:: iter::Iterator>::Item: std::fmt::Display {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/generics/issue-95208.stderr b/tests/ui/generics/issue-95208.stderr
index e047f1265e2..0ff6c8be9fd 100644
--- a/tests/ui/generics/issue-95208.stderr
+++ b/tests/ui/generics/issue-95208.stderr
@@ -6,8 +6,9 @@ LL | impl<T> Struct<T> where T:: std::fmt::Display {
    |
 help: use single colon
    |
-LL | impl<T> Struct<T> where T: std::fmt::Display {
-   |                          ~
+LL - impl<T> Struct<T> where T:: std::fmt::Display {
+LL + impl<T> Struct<T> where T: std::fmt::Display {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/generics/overlapping-errors-span-issue-123861.stderr b/tests/ui/generics/overlapping-errors-span-issue-123861.stderr
index e0a49343b0e..9622dffda9f 100644
--- a/tests/ui/generics/overlapping-errors-span-issue-123861.stderr
+++ b/tests/ui/generics/overlapping-errors-span-issue-123861.stderr
@@ -33,8 +33,9 @@ LL | fn mainIterator<_ = _> {}
    |
 help: use type parameters instead
    |
-LL | fn mainIterator<T = T> {}
-   |                 ~   ~
+LL - fn mainIterator<_ = _> {}
+LL + fn mainIterator<T = T> {}
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/half-open-range-patterns/half-open-range-pats-inclusive-dotdotdot-bad-syntax.stderr b/tests/ui/half-open-range-patterns/half-open-range-pats-inclusive-dotdotdot-bad-syntax.stderr
index aa3d2cd2d90..ec0e09a302e 100644
--- a/tests/ui/half-open-range-patterns/half-open-range-pats-inclusive-dotdotdot-bad-syntax.stderr
+++ b/tests/ui/half-open-range-patterns/half-open-range-pats-inclusive-dotdotdot-bad-syntax.stderr
@@ -6,8 +6,9 @@ LL |         ...X => {}
    |
 help: use `..=` instead
    |
-LL |         ..=X => {}
-   |         ~~~
+LL -         ...X => {}
+LL +         ..=X => {}
+   |
 
 error: range-to patterns with `...` are not allowed
   --> $DIR/half-open-range-pats-inclusive-dotdotdot-bad-syntax.rs:16:9
@@ -17,8 +18,9 @@ LL |         ...0 => {}
    |
 help: use `..=` instead
    |
-LL |         ..=0 => {}
-   |         ~~~
+LL -         ...0 => {}
+LL +         ..=0 => {}
+   |
 
 error: range-to patterns with `...` are not allowed
   --> $DIR/half-open-range-pats-inclusive-dotdotdot-bad-syntax.rs:17:9
@@ -28,8 +30,9 @@ LL |         ...'a' => {}
    |
 help: use `..=` instead
    |
-LL |         ..='a' => {}
-   |         ~~~
+LL -         ...'a' => {}
+LL +         ..='a' => {}
+   |
 
 error: range-to patterns with `...` are not allowed
   --> $DIR/half-open-range-pats-inclusive-dotdotdot-bad-syntax.rs:18:9
@@ -39,8 +42,9 @@ LL |         ...0.0f32 => {}
    |
 help: use `..=` instead
    |
-LL |         ..=0.0f32 => {}
-   |         ~~~
+LL -         ...0.0f32 => {}
+LL +         ..=0.0f32 => {}
+   |
 
 error: range-to patterns with `...` are not allowed
   --> $DIR/half-open-range-pats-inclusive-dotdotdot-bad-syntax.rs:25:17
@@ -54,8 +58,9 @@ LL |     mac!(0);
    = note: this error originates in the macro `mac` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: use `..=` instead
    |
-LL |             let ..=$e;
-   |                 ~~~
+LL -             let ...$e;
+LL +             let ..=$e;
+   |
 
 error[E0005]: refutable pattern in local binding
   --> $DIR/half-open-range-pats-inclusive-dotdotdot-bad-syntax.rs:25:17
diff --git a/tests/ui/half-open-range-patterns/half-open-range-pats-ref-ambiguous-interp.stderr b/tests/ui/half-open-range-patterns/half-open-range-pats-ref-ambiguous-interp.stderr
index 83a374c3d65..2d70f75f2c6 100644
--- a/tests/ui/half-open-range-patterns/half-open-range-pats-ref-ambiguous-interp.stderr
+++ b/tests/ui/half-open-range-patterns/half-open-range-pats-ref-ambiguous-interp.stderr
@@ -76,8 +76,9 @@ LL |         &...0 | _ => {}
    |
 help: use `..=` instead
    |
-LL |         &..=0 | _ => {}
-   |          ~~~
+LL -         &...0 | _ => {}
+LL +         &..=0 | _ => {}
+   |
 
 error: the range pattern here has ambiguous interpretation
   --> $DIR/half-open-range-pats-ref-ambiguous-interp.rs:20:10
diff --git a/tests/ui/hashmap/hashmap-index-mut.stderr b/tests/ui/hashmap/hashmap-index-mut.stderr
index ad33c6f9b15..e8b22350c59 100644
--- a/tests/ui/hashmap/hashmap-index-mut.stderr
+++ b/tests/ui/hashmap/hashmap-index-mut.stderr
@@ -7,12 +7,15 @@ LL |     map[&0] = 1;
    = help: trait `IndexMut` is required to modify indexed content, but it is not implemented for `HashMap<u32, u32>`
 help: use `.insert()` to insert a value into a `HashMap<u32, u32>`, `.get_mut()` to modify it, or the entry API for more flexibility
    |
-LL |     map.insert(&0, 1);
-   |        ~~~~~~~~  ~  +
-LL |     if let Some(val) = map.get_mut(&0) { *val = 1; };
-   |     ++++++++++++++++++    ~~~~~~~~~  ~~~~~~~~    +++
-LL |     let val = map.entry(&0).or_insert(1);
-   |     +++++++++    ~~~~~~~  ~~~~~~~~~~~~ +
+LL -     map[&0] = 1;
+LL +     map.insert(&0, 1);
+   |
+LL -     map[&0] = 1;
+LL +     if let Some(val) = map.get_mut(&0) { *val = 1; };
+   |
+LL -     map[&0] = 1;
+LL +     let val = map.entry(&0).or_insert(1);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/higher-ranked/trait-bounds/issue-58451.stderr b/tests/ui/higher-ranked/trait-bounds/issue-58451.stderr
index 34d7db9b3cf..4f9fc0ac649 100644
--- a/tests/ui/higher-ranked/trait-bounds/issue-58451.stderr
+++ b/tests/ui/higher-ranked/trait-bounds/issue-58451.stderr
@@ -11,8 +11,9 @@ LL | fn f<I>(i: I)
    |    ^    ----
 help: provide the argument
    |
-LL |     f(&[f(/* i */)]);
-   |          ~~~~~~~~~
+LL -     f(&[f()]);
+LL +     f(&[f(/* i */)]);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/hygiene/globs.stderr b/tests/ui/hygiene/globs.stderr
index 18017264440..3f7a0ae7efa 100644
--- a/tests/ui/hygiene/globs.stderr
+++ b/tests/ui/hygiene/globs.stderr
@@ -9,8 +9,9 @@ LL |         f();
    |
 help: a function with a similar name exists
    |
-LL |         g();
-   |         ~
+LL -         f();
+LL +         g();
+   |
 help: consider importing this function
    |
 LL + use foo::f;
@@ -35,8 +36,9 @@ LL | |     }
    = note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: a function with a similar name exists
    |
-LL |     f();
-   |     ~
+LL -     g();
+LL +     f();
+   |
 help: consider importing this function
    |
 LL + use bar::g;
diff --git a/tests/ui/impl-trait/dyn-incompatible-trait-in-return-position-dyn-trait.stderr b/tests/ui/impl-trait/dyn-incompatible-trait-in-return-position-dyn-trait.stderr
index c2fd11fe23d..2c314b07bce 100644
--- a/tests/ui/impl-trait/dyn-incompatible-trait-in-return-position-dyn-trait.stderr
+++ b/tests/ui/impl-trait/dyn-incompatible-trait-in-return-position-dyn-trait.stderr
@@ -34,8 +34,9 @@ LL | fn car() -> dyn DynIncompatible {
    |
 help: consider returning an `impl Trait` instead of a `dyn Trait`
    |
-LL | fn car() -> impl DynIncompatible {
-   |             ~~~~
+LL - fn car() -> dyn DynIncompatible {
+LL + fn car() -> impl DynIncompatible {
+   |
 help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
    |
 LL ~ fn car() -> Box<dyn DynIncompatible> {
diff --git a/tests/ui/impl-trait/dyn-trait-return-should-be-impl-trait.stderr b/tests/ui/impl-trait/dyn-trait-return-should-be-impl-trait.stderr
index 11491a55738..304d7d43b78 100644
--- a/tests/ui/impl-trait/dyn-trait-return-should-be-impl-trait.stderr
+++ b/tests/ui/impl-trait/dyn-trait-return-should-be-impl-trait.stderr
@@ -41,8 +41,9 @@ LL | fn ban() -> dyn Trait { Struct }
    |
 help: consider returning an `impl Trait` instead of a `dyn Trait`
    |
-LL | fn ban() -> impl Trait { Struct }
-   |             ~~~~
+LL - fn ban() -> dyn Trait { Struct }
+LL + fn ban() -> impl Trait { Struct }
+   |
 help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
    |
 LL | fn ban() -> Box<dyn Trait> { Box::new(Struct) }
@@ -56,8 +57,9 @@ LL | fn bak() -> dyn Trait { unimplemented!() }
    |
 help: consider returning an `impl Trait` instead of a `dyn Trait`
    |
-LL | fn bak() -> impl Trait { unimplemented!() }
-   |             ~~~~
+LL - fn bak() -> dyn Trait { unimplemented!() }
+LL + fn bak() -> impl Trait { unimplemented!() }
+   |
 help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
    |
 LL | fn bak() -> Box<dyn Trait> { Box::new(unimplemented!()) }
@@ -71,8 +73,9 @@ LL | fn bal() -> dyn Trait {
    |
 help: consider returning an `impl Trait` instead of a `dyn Trait`
    |
-LL | fn bal() -> impl Trait {
-   |             ~~~~
+LL - fn bal() -> dyn Trait {
+LL + fn bal() -> impl Trait {
+   |
 help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
    |
 LL ~ fn bal() -> Box<dyn Trait> {
@@ -90,8 +93,9 @@ LL | fn bax() -> dyn Trait {
    |
 help: consider returning an `impl Trait` instead of a `dyn Trait`
    |
-LL | fn bax() -> impl Trait {
-   |             ~~~~
+LL - fn bax() -> dyn Trait {
+LL + fn bax() -> impl Trait {
+   |
 help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
    |
 LL ~ fn bax() -> Box<dyn Trait> {
@@ -109,8 +113,9 @@ LL | fn bat() -> dyn Trait {
    |
 help: consider returning an `impl Trait` instead of a `dyn Trait`
    |
-LL | fn bat() -> impl Trait {
-   |             ~~~~
+LL - fn bat() -> dyn Trait {
+LL + fn bat() -> impl Trait {
+   |
 help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
    |
 LL ~ fn bat() -> Box<dyn Trait> {
@@ -128,8 +133,9 @@ LL | fn bay() -> dyn Trait {
    |
 help: consider returning an `impl Trait` instead of a `dyn Trait`
    |
-LL | fn bay() -> impl Trait {
-   |             ~~~~
+LL - fn bay() -> dyn Trait {
+LL + fn bay() -> impl Trait {
+   |
 help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
    |
 LL ~ fn bay() -> Box<dyn Trait> {
diff --git a/tests/ui/impl-trait/equality.stderr b/tests/ui/impl-trait/equality.stderr
index fd6f4b34241..8106bab9878 100644
--- a/tests/ui/impl-trait/equality.stderr
+++ b/tests/ui/impl-trait/equality.stderr
@@ -19,8 +19,9 @@ LL |     0_u32
    |
 help: change the type of the numeric literal from `u32` to `i32`
    |
-LL |     0_i32
-   |       ~~~
+LL -     0_u32
+LL +     0_i32
+   |
 
 error[E0277]: cannot add `impl Foo` to `u32`
   --> $DIR/equality.rs:24:11
diff --git a/tests/ui/impl-trait/impl-fn-hrtb-bounds.stderr b/tests/ui/impl-trait/impl-fn-hrtb-bounds.stderr
index d0f8f7689d1..31f39eb9004 100644
--- a/tests/ui/impl-trait/impl-fn-hrtb-bounds.stderr
+++ b/tests/ui/impl-trait/impl-fn-hrtb-bounds.stderr
@@ -7,8 +7,9 @@ LL | fn d() -> impl Fn() -> (impl Debug + '_) {
    = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
 help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values
    |
-LL | fn d() -> impl Fn() -> (impl Debug + 'static) {
-   |                                      ~~~~~~~
+LL - fn d() -> impl Fn() -> (impl Debug + '_) {
+LL + fn d() -> impl Fn() -> (impl Debug + 'static) {
+   |
 
 warning: elided lifetime has a name
   --> $DIR/impl-fn-hrtb-bounds.rs:14:52
diff --git a/tests/ui/impl-trait/impl-generic-mismatch-ab.stderr b/tests/ui/impl-trait/impl-generic-mismatch-ab.stderr
index 90c31c9e3fc..9db996cf9ce 100644
--- a/tests/ui/impl-trait/impl-generic-mismatch-ab.stderr
+++ b/tests/ui/impl-trait/impl-generic-mismatch-ab.stderr
@@ -17,8 +17,9 @@ LL |     fn foo<A: Debug>(&self, a: &A, b: &impl Debug);
    = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters
 help: change the parameter type to match the trait
    |
-LL |     fn foo<B: Debug>(&self, a: &B, b: &B) { }
-   |                                ~~
+LL -     fn foo<B: Debug>(&self, a: &impl Debug, b: &B) { }
+LL +     fn foo<B: Debug>(&self, a: &B, b: &B) { }
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/impl-trait/impl-generic-mismatch.stderr b/tests/ui/impl-trait/impl-generic-mismatch.stderr
index 973b65bfd62..18347bd0f97 100644
--- a/tests/ui/impl-trait/impl-generic-mismatch.stderr
+++ b/tests/ui/impl-trait/impl-generic-mismatch.stderr
@@ -24,8 +24,9 @@ LL |     fn bar(&self, _: &impl Debug) { }
    |
 help: try changing the `impl Trait` argument to a generic parameter
    |
-LL |     fn bar<U: Debug>(&self, _: &U) { }
-   |           ++++++++++            ~
+LL -     fn bar(&self, _: &impl Debug) { }
+LL +     fn bar<U: Debug>(&self, _: &U) { }
+   |
 
 error[E0643]: method `baz` has incompatible signature for trait
   --> $DIR/impl-generic-mismatch.rs:26:33
@@ -38,8 +39,9 @@ LL |     fn baz<T: Debug>(&self, _: &impl Debug, _: &T) { }
    |
 help: try changing the `impl Trait` argument to a generic parameter
    |
-LL |     fn baz<U: Debug, T: Debug>(&self, _: &T, _: &T) { }
-   |           ~~~~~~~~~~~~~~~~~~~~            ~
+LL -     fn baz<T: Debug>(&self, _: &impl Debug, _: &T) { }
+LL +     fn baz<U: Debug, T: Debug>(&self, _: &T, _: &T) { }
+   |
 
 error[E0643]: method `hash` has incompatible signature for trait
   --> $DIR/impl-generic-mismatch.rs:37:33
diff --git a/tests/ui/impl-trait/in-assoc-type-unconstrained.stderr b/tests/ui/impl-trait/in-assoc-type-unconstrained.stderr
index 75cbe43eeb4..8351175099c 100644
--- a/tests/ui/impl-trait/in-assoc-type-unconstrained.stderr
+++ b/tests/ui/impl-trait/in-assoc-type-unconstrained.stderr
@@ -43,8 +43,9 @@ LL |         fn method() -> () {}
    |            ^^^^^^
 help: change the output type to match the trait
    |
-LL |         fn method() -> <() as compare_method::Trait>::Ty {}
-   |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -         fn method() -> () {}
+LL +         fn method() -> <() as compare_method::Trait>::Ty {}
+   |
 
 error: unconstrained opaque type
   --> $DIR/in-assoc-type-unconstrained.rs:20:19
diff --git a/tests/ui/impl-trait/in-trait/bad-item-bound-within-rpitit.stderr b/tests/ui/impl-trait/in-trait/bad-item-bound-within-rpitit.stderr
index 022df6f906c..d3729b6c973 100644
--- a/tests/ui/impl-trait/in-trait/bad-item-bound-within-rpitit.stderr
+++ b/tests/ui/impl-trait/in-trait/bad-item-bound-within-rpitit.stderr
@@ -9,8 +9,10 @@ LL |         'b: 'a;
    |
 help: copy the `where` clause predicates from the trait
    |
-LL |     where Self: 'b;
-   |     ~~~~~~~~~~~~~~
+LL -     where
+LL -         'b: 'a;
+LL +     where Self: 'b;
+   |
 
 warning: impl trait in impl method signature does not match trait method signature
   --> $DIR/bad-item-bound-within-rpitit.rs:18:28
@@ -26,8 +28,9 @@ LL |     fn iter(&self) -> impl 'a + Iterator<Item = I::Item<'a>> {
    = note: `#[warn(refining_impl_trait_reachable)]` on by default
 help: replace the return type so that it matches the trait
    |
-LL |     fn iter(&self) -> impl Iterator<Item = <Self as Iterable>::Item<'_>> + '_ {
-   |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     fn iter(&self) -> impl 'a + Iterator<Item = I::Item<'a>> {
+LL +     fn iter(&self) -> impl Iterator<Item = <Self as Iterable>::Item<'_>> + '_ {
+   |
 
 error: aborting due to 1 previous error; 1 warning emitted
 
diff --git a/tests/ui/impl-trait/in-trait/expeced-refree-to-map-to-reearlybound-ice-108580.stderr b/tests/ui/impl-trait/in-trait/expeced-refree-to-map-to-reearlybound-ice-108580.stderr
index 94f068cabaa..b7797317ea6 100644
--- a/tests/ui/impl-trait/in-trait/expeced-refree-to-map-to-reearlybound-ice-108580.stderr
+++ b/tests/ui/impl-trait/in-trait/expeced-refree-to-map-to-reearlybound-ice-108580.stderr
@@ -12,8 +12,9 @@ LL |     fn bar(&self) -> impl Iterator + '_ {
    = note: `#[warn(refining_impl_trait_internal)]` on by default
 help: replace the return type so that it matches the trait
    |
-LL |     fn bar(&self) -> impl Iterator<Item = impl Sized> + '_ {
-   |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     fn bar(&self) -> impl Iterator + '_ {
+LL +     fn bar(&self) -> impl Iterator<Item = impl Sized> + '_ {
+   |
 
 warning: 1 warning emitted
 
diff --git a/tests/ui/impl-trait/in-trait/foreign.stderr b/tests/ui/impl-trait/in-trait/foreign.stderr
index 36114dcf02b..8801ccc68b3 100644
--- a/tests/ui/impl-trait/in-trait/foreign.stderr
+++ b/tests/ui/impl-trait/in-trait/foreign.stderr
@@ -14,8 +14,9 @@ LL |     #[warn(refining_impl_trait)]
    = note: `#[warn(refining_impl_trait_internal)]` implied by `#[warn(refining_impl_trait)]`
 help: replace the return type so that it matches the trait
    |
-LL |     fn bar(self) -> impl Deref<Target = impl Sized> {
-   |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     fn bar(self) -> Arc<String> {
+LL +     fn bar(self) -> impl Deref<Target = impl Sized> {
+   |
 
 warning: impl trait in impl method signature does not match trait method signature
   --> $DIR/foreign.rs:31:21
@@ -32,8 +33,9 @@ LL |     #[warn(refining_impl_trait)]
    |            ^^^^^^^^^^^^^^^^^^^
 help: replace the return type so that it matches the trait
    |
-LL |     fn bar(self) -> impl Deref<Target = impl Sized> {
-   |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     fn bar(self) -> Arc<String> {
+LL +     fn bar(self) -> impl Deref<Target = impl Sized> {
+   |
 
 warning: 2 warnings emitted
 
diff --git a/tests/ui/impl-trait/in-trait/method-signature-matches.lt.stderr b/tests/ui/impl-trait/in-trait/method-signature-matches.lt.stderr
index a23879eb6c3..97f5b2af862 100644
--- a/tests/ui/impl-trait/in-trait/method-signature-matches.lt.stderr
+++ b/tests/ui/impl-trait/in-trait/method-signature-matches.lt.stderr
@@ -15,8 +15,9 @@ LL |     fn early<'early, T>(x: &'early T) -> impl Sized;
               found signature `fn(&())`
 help: change the parameter type to match the trait
    |
-LL |     fn early<'late, T>(_: &'early T) {}
-   |                           ~~~~~~~~~
+LL -     fn early<'late, T>(_: &'late ()) {}
+LL +     fn early<'late, T>(_: &'early T) {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/impl-trait/in-trait/method-signature-matches.mismatch.stderr b/tests/ui/impl-trait/in-trait/method-signature-matches.mismatch.stderr
index 9e18517e48c..588b4537610 100644
--- a/tests/ui/impl-trait/in-trait/method-signature-matches.mismatch.stderr
+++ b/tests/ui/impl-trait/in-trait/method-signature-matches.mismatch.stderr
@@ -13,8 +13,9 @@ LL |     fn owo(x: ()) -> impl Sized;
               found signature `fn(u8)`
 help: change the parameter type to match the trait
    |
-LL |     fn owo(_: ()) {}
-   |               ~~
+LL -     fn owo(_: u8) {}
+LL +     fn owo(_: ()) {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/impl-trait/in-trait/method-signature-matches.mismatch_async.stderr b/tests/ui/impl-trait/in-trait/method-signature-matches.mismatch_async.stderr
index c01d7322d11..b0530045bea 100644
--- a/tests/ui/impl-trait/in-trait/method-signature-matches.mismatch_async.stderr
+++ b/tests/ui/impl-trait/in-trait/method-signature-matches.mismatch_async.stderr
@@ -13,8 +13,9 @@ LL |     async fn owo(x: ()) {}
               found signature `fn(u8) -> _`
 help: change the parameter type to match the trait
    |
-LL |     async fn owo(_: ()) {}
-   |                     ~~
+LL -     async fn owo(_: u8) {}
+LL +     async fn owo(_: ()) {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/impl-trait/in-trait/opaque-and-lifetime-mismatch.stderr b/tests/ui/impl-trait/in-trait/opaque-and-lifetime-mismatch.stderr
index 81570781b27..d575fedbb58 100644
--- a/tests/ui/impl-trait/in-trait/opaque-and-lifetime-mismatch.stderr
+++ b/tests/ui/impl-trait/in-trait/opaque-and-lifetime-mismatch.stderr
@@ -86,8 +86,9 @@ LL |     fn bar() -> Wrapper<impl Sized>;
               found signature `fn() -> i32`
 help: change the output type to match the trait
    |
-LL |     fn bar() -> Wrapper<'static> {
-   |                 ~~~~~~~~~~~~~~~~
+LL -     fn bar() -> i32 {
+LL +     fn bar() -> Wrapper<'static> {
+   |
 
 error[E0107]: struct takes 0 generic arguments but 1 generic argument was supplied
   --> $DIR/opaque-and-lifetime-mismatch.rs:24:17
diff --git a/tests/ui/impl-trait/in-trait/refine-captures.stderr b/tests/ui/impl-trait/in-trait/refine-captures.stderr
index ad2c2a11601..8a5c8d3c77b 100644
--- a/tests/ui/impl-trait/in-trait/refine-captures.stderr
+++ b/tests/ui/impl-trait/in-trait/refine-captures.stderr
@@ -9,8 +9,9 @@ LL |     fn test() -> impl Sized + use<> {}
    = note: `#[warn(refining_impl_trait_internal)]` on by default
 help: modify the `use<..>` bound to capture the same lifetimes that the trait does
    |
-LL |     fn test() -> impl Sized + use<'a> {}
-   |                               ~~~~~~~
+LL -     fn test() -> impl Sized + use<> {}
+LL +     fn test() -> impl Sized + use<'a> {}
+   |
 
 warning: impl trait in impl method captures fewer lifetimes than in trait
   --> $DIR/refine-captures.rs:22:31
@@ -22,8 +23,9 @@ LL |     fn test() -> impl Sized + use<> {}
    = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
 help: modify the `use<..>` bound to capture the same lifetimes that the trait does
    |
-LL |     fn test() -> impl Sized + use<'a> {}
-   |                               ~~~~~~~
+LL -     fn test() -> impl Sized + use<> {}
+LL +     fn test() -> impl Sized + use<'a> {}
+   |
 
 warning: impl trait in impl method captures fewer lifetimes than in trait
   --> $DIR/refine-captures.rs:27:31
@@ -35,8 +37,9 @@ LL |     fn test() -> impl Sized + use<'b> {}
    = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
 help: modify the `use<..>` bound to capture the same lifetimes that the trait does
    |
-LL |     fn test() -> impl Sized + use<'a, 'b> {}
-   |                               ~~~~~~~~~~~
+LL -     fn test() -> impl Sized + use<'b> {}
+LL +     fn test() -> impl Sized + use<'a, 'b> {}
+   |
 
 error: `impl Trait` must mention all type parameters in scope in `use<...>`
   --> $DIR/refine-captures.rs:32:18
diff --git a/tests/ui/impl-trait/in-trait/refine.stderr b/tests/ui/impl-trait/in-trait/refine.stderr
index 8d30b035921..e381ef8c3f7 100644
--- a/tests/ui/impl-trait/in-trait/refine.stderr
+++ b/tests/ui/impl-trait/in-trait/refine.stderr
@@ -17,8 +17,9 @@ LL | #![deny(refining_impl_trait)]
    = note: `#[deny(refining_impl_trait_reachable)]` implied by `#[deny(refining_impl_trait)]`
 help: replace the return type so that it matches the trait
    |
-LL |     fn bar() -> impl Sized {}
-   |                 ~~~~~~~~~~
+LL -     fn bar() -> impl Copy {}
+LL +     fn bar() -> impl Sized {}
+   |
 
 error: impl trait in impl method signature does not match trait method signature
   --> $DIR/refine.rs:15:5
@@ -49,8 +50,9 @@ LL |     fn bar() -> () {}
    = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
 help: replace the return type so that it matches the trait
    |
-LL |     fn bar() -> impl Sized {}
-   |                 ~~~~~~~~~~
+LL -     fn bar() -> () {}
+LL +     fn bar() -> impl Sized {}
+   |
 
 error: impl trait in impl method signature does not match trait method signature
   --> $DIR/refine.rs:27:17
@@ -66,8 +68,9 @@ LL |     fn bar() -> () {}
    = note: `#[deny(refining_impl_trait_internal)]` implied by `#[deny(refining_impl_trait)]`
 help: replace the return type so that it matches the trait
    |
-LL |     fn bar() -> impl Sized {}
-   |                 ~~~~~~~~~~
+LL -     fn bar() -> () {}
+LL +     fn bar() -> impl Sized {}
+   |
 
 error: impl trait in impl method signature does not match trait method signature
   --> $DIR/refine.rs:35:17
@@ -82,8 +85,9 @@ LL |     fn bar() -> () {}
    = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
 help: replace the return type so that it matches the trait
    |
-LL |     fn bar() -> impl Sized {}
-   |                 ~~~~~~~~~~
+LL -     fn bar() -> () {}
+LL +     fn bar() -> impl Sized {}
+   |
 
 error: impl trait in impl method signature does not match trait method signature
   --> $DIR/refine.rs:45:27
@@ -98,8 +102,9 @@ LL |     fn bar(&self) -> impl Copy + '_ {}
    = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
 help: replace the return type so that it matches the trait
    |
-LL |     fn bar(&self) -> impl Sized + '_ {}
-   |                      ~~~~~~~~~~~~~~~
+LL -     fn bar(&self) -> impl Copy + '_ {}
+LL +     fn bar(&self) -> impl Sized + '_ {}
+   |
 
 error: impl trait in impl method signature does not match trait method signature
   --> $DIR/refine.rs:56:9
diff --git a/tests/ui/impl-trait/in-trait/rpitit-hidden-types-self-implied-wf-via-param.stderr b/tests/ui/impl-trait/in-trait/rpitit-hidden-types-self-implied-wf-via-param.stderr
index 15bef5c78b0..dfcf11c57dd 100644
--- a/tests/ui/impl-trait/in-trait/rpitit-hidden-types-self-implied-wf-via-param.stderr
+++ b/tests/ui/impl-trait/in-trait/rpitit-hidden-types-self-implied-wf-via-param.stderr
@@ -9,7 +9,9 @@ LL |         'a: 'static,
    |
 help: copy the `where` clause predicates from the trait
    |
-LL |     where 'a: 'a
+LL -     where
+LL -         'a: 'static,
+LL +     where 'a: 'a
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/impl-trait/in-trait/specialization-broken.stderr b/tests/ui/impl-trait/in-trait/specialization-broken.stderr
index 8c9f2656015..fbbe1ac40b9 100644
--- a/tests/ui/impl-trait/in-trait/specialization-broken.stderr
+++ b/tests/ui/impl-trait/in-trait/specialization-broken.stderr
@@ -16,8 +16,9 @@ LL |     fn bar(&self) -> impl Sized;
               found signature `fn(&_) -> U`
 help: change the output type to match the trait
    |
-LL |     fn bar(&self) -> impl Sized {
-   |                      ~~~~~~~~~~
+LL -     fn bar(&self) -> U {
+LL +     fn bar(&self) -> impl Sized {
+   |
 
 error: method with return-position `impl Trait` in trait cannot be specialized
   --> $DIR/specialization-broken.rs:15:5
diff --git a/tests/ui/impl-trait/must_outlive_least_region_or_bound.stderr b/tests/ui/impl-trait/must_outlive_least_region_or_bound.stderr
index f620bf6dc38..46561b66c8e 100644
--- a/tests/ui/impl-trait/must_outlive_least_region_or_bound.stderr
+++ b/tests/ui/impl-trait/must_outlive_least_region_or_bound.stderr
@@ -36,12 +36,14 @@ LL | fn elided2(x: &i32) -> impl Copy + 'static { x }
    |
 help: consider changing `impl Copy + 'static`'s explicit `'static` bound to the lifetime of argument `x`
    |
-LL | fn elided2(x: &i32) -> impl Copy + '_ { x }
-   |                                    ~~
+LL - fn elided2(x: &i32) -> impl Copy + 'static { x }
+LL + fn elided2(x: &i32) -> impl Copy + '_ { x }
+   |
 help: alternatively, add an explicit `'static` bound to this reference
    |
-LL | fn elided2(x: &'static i32) -> impl Copy + 'static { x }
-   |               ~~~~~~~~~~~~
+LL - fn elided2(x: &i32) -> impl Copy + 'static { x }
+LL + fn elided2(x: &'static i32) -> impl Copy + 'static { x }
+   |
 
 error: lifetime may not live long enough
   --> $DIR/must_outlive_least_region_or_bound.rs:12:55
@@ -51,12 +53,14 @@ LL | fn explicit2<'a>(x: &'a i32) -> impl Copy + 'static { x }
    |
 help: consider changing `impl Copy + 'static`'s explicit `'static` bound to the lifetime of argument `x`
    |
-LL | fn explicit2<'a>(x: &'a i32) -> impl Copy + 'a { x }
-   |                                             ~~
+LL - fn explicit2<'a>(x: &'a i32) -> impl Copy + 'static { x }
+LL + fn explicit2<'a>(x: &'a i32) -> impl Copy + 'a { x }
+   |
 help: alternatively, add an explicit `'static` bound to this reference
    |
-LL | fn explicit2<'a>(x: &'static i32) -> impl Copy + 'static { x }
-   |                     ~~~~~~~~~~~~
+LL - fn explicit2<'a>(x: &'a i32) -> impl Copy + 'static { x }
+LL + fn explicit2<'a>(x: &'static i32) -> impl Copy + 'static { x }
+   |
 
 error[E0621]: explicit lifetime required in the type of `x`
   --> $DIR/must_outlive_least_region_or_bound.rs:15:41
@@ -91,12 +95,14 @@ LL | fn with_bound<'a>(x: &'a i32) -> impl LifetimeTrait<'a> + 'static { x }
    |
 help: consider changing `impl LifetimeTrait<'a> + 'static`'s explicit `'static` bound to the lifetime of argument `x`
    |
-LL | fn with_bound<'a>(x: &'a i32) -> impl LifetimeTrait<'a> + 'a { x }
-   |                                                           ~~
+LL - fn with_bound<'a>(x: &'a i32) -> impl LifetimeTrait<'a> + 'static { x }
+LL + fn with_bound<'a>(x: &'a i32) -> impl LifetimeTrait<'a> + 'a { x }
+   |
 help: alternatively, add an explicit `'static` bound to this reference
    |
-LL | fn with_bound<'a>(x: &'static i32) -> impl LifetimeTrait<'a> + 'static { x }
-   |                      ~~~~~~~~~~~~
+LL - fn with_bound<'a>(x: &'a i32) -> impl LifetimeTrait<'a> + 'static { x }
+LL + fn with_bound<'a>(x: &'static i32) -> impl LifetimeTrait<'a> + 'static { x }
+   |
 
 error[E0700]: hidden type for `impl Fn(&'a u32)` captures lifetime that does not appear in bounds
   --> $DIR/must_outlive_least_region_or_bound.rs:42:5
@@ -161,12 +167,14 @@ LL | fn elided4(x: &i32) -> Box<dyn Debug + 'static> { Box::new(x) }
    |
 help: consider changing the trait object's explicit `'static` bound to the lifetime of argument `x`
    |
-LL | fn elided4(x: &i32) -> Box<dyn Debug + '_> { Box::new(x) }
-   |                                        ~~
+LL - fn elided4(x: &i32) -> Box<dyn Debug + 'static> { Box::new(x) }
+LL + fn elided4(x: &i32) -> Box<dyn Debug + '_> { Box::new(x) }
+   |
 help: alternatively, add an explicit `'static` bound to this reference
    |
-LL | fn elided4(x: &'static i32) -> Box<dyn Debug + 'static> { Box::new(x) }
-   |               ~~~~~~~~~~~~
+LL - fn elided4(x: &i32) -> Box<dyn Debug + 'static> { Box::new(x) }
+LL + fn elided4(x: &'static i32) -> Box<dyn Debug + 'static> { Box::new(x) }
+   |
 
 error: lifetime may not live long enough
   --> $DIR/must_outlive_least_region_or_bound.rs:27:60
@@ -176,12 +184,14 @@ LL | fn explicit4<'a>(x: &'a i32) -> Box<dyn Debug + 'static> { Box::new(x) }
    |
 help: consider changing the trait object's explicit `'static` bound to the lifetime of argument `x`
    |
-LL | fn explicit4<'a>(x: &'a i32) -> Box<dyn Debug + 'a> { Box::new(x) }
-   |                                                 ~~
+LL - fn explicit4<'a>(x: &'a i32) -> Box<dyn Debug + 'static> { Box::new(x) }
+LL + fn explicit4<'a>(x: &'a i32) -> Box<dyn Debug + 'a> { Box::new(x) }
+   |
 help: alternatively, add an explicit `'static` bound to this reference
    |
-LL | fn explicit4<'a>(x: &'static i32) -> Box<dyn Debug + 'static> { Box::new(x) }
-   |                     ~~~~~~~~~~~~
+LL - fn explicit4<'a>(x: &'a i32) -> Box<dyn Debug + 'static> { Box::new(x) }
+LL + fn explicit4<'a>(x: &'static i32) -> Box<dyn Debug + 'static> { Box::new(x) }
+   |
 
 error: aborting due to 13 previous errors
 
diff --git a/tests/ui/impl-trait/no-method-suggested-traits.stderr b/tests/ui/impl-trait/no-method-suggested-traits.stderr
index 676247d1a42..af6d492c74d 100644
--- a/tests/ui/impl-trait/no-method-suggested-traits.stderr
+++ b/tests/ui/impl-trait/no-method-suggested-traits.stderr
@@ -17,8 +17,9 @@ LL + use no_method_suggested_traits::qux::PrivPub;
    |
 help: there is a method `method2` with a similar name
    |
-LL |     1u32.method2();
-   |          ~~~~~~~
+LL -     1u32.method();
+LL +     1u32.method2();
+   |
 
 error[E0599]: no method named `method` found for struct `Rc<&mut Box<&u32>>` in the current scope
   --> $DIR/no-method-suggested-traits.rs:26:44
@@ -39,8 +40,9 @@ LL + use no_method_suggested_traits::qux::PrivPub;
    |
 help: there is a method `method2` with a similar name
    |
-LL |     std::rc::Rc::new(&mut Box::new(&1u32)).method2();
-   |                                            ~~~~~~~
+LL -     std::rc::Rc::new(&mut Box::new(&1u32)).method();
+LL +     std::rc::Rc::new(&mut Box::new(&1u32)).method2();
+   |
 
 error[E0599]: no method named `method` found for type `char` in the current scope
   --> $DIR/no-method-suggested-traits.rs:30:9
@@ -58,8 +60,9 @@ LL + use foo::Bar;
    |
 help: there is a method `method2` with a similar name
    |
-LL |     'a'.method2();
-   |         ~~~~~~~
+LL -     'a'.method();
+LL +     'a'.method2();
+   |
 
 error[E0599]: no method named `method` found for struct `Rc<&mut Box<&char>>` in the current scope
   --> $DIR/no-method-suggested-traits.rs:32:43
@@ -74,8 +77,9 @@ LL + use foo::Bar;
    |
 help: there is a method `method2` with a similar name
    |
-LL |     std::rc::Rc::new(&mut Box::new(&'a')).method2();
-   |                                           ~~~~~~~
+LL -     std::rc::Rc::new(&mut Box::new(&'a')).method();
+LL +     std::rc::Rc::new(&mut Box::new(&'a')).method2();
+   |
 
 error[E0599]: no method named `method` found for type `i32` in the current scope
   --> $DIR/no-method-suggested-traits.rs:35:10
@@ -95,8 +99,9 @@ LL + use no_method_suggested_traits::foo::PubPub;
    |
 help: there is a method `method3` with a similar name
    |
-LL |     1i32.method3();
-   |          ~~~~~~~
+LL -     1i32.method();
+LL +     1i32.method3();
+   |
 
 error[E0599]: no method named `method` found for struct `Rc<&mut Box<&i32>>` in the current scope
   --> $DIR/no-method-suggested-traits.rs:37:44
@@ -111,8 +116,9 @@ LL + use no_method_suggested_traits::foo::PubPub;
    |
 help: there is a method `method3` with a similar name
    |
-LL |     std::rc::Rc::new(&mut Box::new(&1i32)).method3();
-   |                                            ~~~~~~~
+LL -     std::rc::Rc::new(&mut Box::new(&1i32)).method();
+LL +     std::rc::Rc::new(&mut Box::new(&1i32)).method3();
+   |
 
 error[E0599]: no method named `method` found for struct `Foo` in the current scope
   --> $DIR/no-method-suggested-traits.rs:40:9
diff --git a/tests/ui/impl-trait/opaque-used-in-extraneous-argument.stderr b/tests/ui/impl-trait/opaque-used-in-extraneous-argument.stderr
index 6f0f287fe12..4198095db65 100644
--- a/tests/ui/impl-trait/opaque-used-in-extraneous-argument.stderr
+++ b/tests/ui/impl-trait/opaque-used-in-extraneous-argument.stderr
@@ -7,8 +7,9 @@ LL | fn frob() -> impl Fn<P, Output = T> + '_ {}
    = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
 help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values
    |
-LL | fn frob() -> impl Fn<P, Output = T> + 'static {}
-   |                                       ~~~~~~~
+LL - fn frob() -> impl Fn<P, Output = T> + '_ {}
+LL + fn frob() -> impl Fn<P, Output = T> + 'static {}
+   |
 
 error[E0412]: cannot find type `P` in this scope
   --> $DIR/opaque-used-in-extraneous-argument.rs:5:22
diff --git a/tests/ui/impl-trait/point-to-type-err-cause-on-impl-trait-return.stderr b/tests/ui/impl-trait/point-to-type-err-cause-on-impl-trait-return.stderr
index 17eaed436df..b2aa0e592df 100644
--- a/tests/ui/impl-trait/point-to-type-err-cause-on-impl-trait-return.stderr
+++ b/tests/ui/impl-trait/point-to-type-err-cause-on-impl-trait-return.stderr
@@ -6,8 +6,9 @@ LL | fn hat() -> dyn std::fmt::Display {
    |
 help: consider returning an `impl Trait` instead of a `dyn Trait`
    |
-LL | fn hat() -> impl std::fmt::Display {
-   |             ~~~~
+LL - fn hat() -> dyn std::fmt::Display {
+LL + fn hat() -> impl std::fmt::Display {
+   |
 help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
    |
 LL ~ fn hat() -> Box<dyn std::fmt::Display> {
@@ -27,8 +28,9 @@ LL | fn pug() -> dyn std::fmt::Display {
    |
 help: consider returning an `impl Trait` instead of a `dyn Trait`
    |
-LL | fn pug() -> impl std::fmt::Display {
-   |             ~~~~
+LL - fn pug() -> dyn std::fmt::Display {
+LL + fn pug() -> impl std::fmt::Display {
+   |
 help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
    |
 LL ~ fn pug() -> Box<dyn std::fmt::Display> {
@@ -46,8 +48,9 @@ LL | fn man() -> dyn std::fmt::Display {
    |
 help: consider returning an `impl Trait` instead of a `dyn Trait`
    |
-LL | fn man() -> impl std::fmt::Display {
-   |             ~~~~
+LL - fn man() -> dyn std::fmt::Display {
+LL + fn man() -> impl std::fmt::Display {
+   |
 help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
    |
 LL ~ fn man() -> Box<dyn std::fmt::Display> {
@@ -68,8 +71,9 @@ LL |     1u32
    |
 help: change the type of the numeric literal from `u32` to `i32`
    |
-LL |     1i32
-   |      ~~~
+LL -     1u32
+LL +     1i32
+   |
 
 error[E0308]: mismatched types
   --> $DIR/point-to-type-err-cause-on-impl-trait-return.rs:12:16
@@ -82,8 +86,9 @@ LL |         return 1u32;
    |
 help: change the type of the numeric literal from `u32` to `i32`
    |
-LL |         return 1i32;
-   |                 ~~~
+LL -         return 1u32;
+LL +         return 1i32;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/point-to-type-err-cause-on-impl-trait-return.rs:20:9
@@ -113,8 +118,9 @@ LL | |     }
    |
 help: you could change the return type to be a boxed trait object
    |
-LL | fn qux() -> Box<dyn std::fmt::Display> {
-   |             ~~~~~~~                  +
+LL - fn qux() -> impl std::fmt::Display {
+LL + fn qux() -> Box<dyn std::fmt::Display> {
+   |
 help: if you change the return type to expect trait objects, box the returned expressions
    |
 LL ~         Box::new(0i32)
@@ -123,8 +129,9 @@ LL ~         Box::new(1u32)
    |
 help: change the type of the numeric literal from `u32` to `i32`
    |
-LL |         1i32
-   |          ~~~
+LL -         1u32
+LL +         1i32
+   |
 
 error[E0308]: mismatched types
   --> $DIR/point-to-type-err-cause-on-impl-trait-return.rs:35:14
@@ -185,8 +192,9 @@ LL | |     }
    |
 help: you could change the return type to be a boxed trait object
    |
-LL | fn dog() -> Box<dyn std::fmt::Display> {
-   |             ~~~~~~~                  +
+LL - fn dog() -> impl std::fmt::Display {
+LL + fn dog() -> Box<dyn std::fmt::Display> {
+   |
 help: if you change the return type to expect trait objects, box the returned expressions
    |
 LL ~         0 => Box::new(0i32),
@@ -194,8 +202,9 @@ LL ~         1 => Box::new(1u32),
    |
 help: change the type of the numeric literal from `u32` to `i32`
    |
-LL |         1 => 1i32,
-   |               ~~~
+LL -         1 => 1u32,
+LL +         1 => 1i32,
+   |
 
 error[E0308]: `if` and `else` have incompatible types
   --> $DIR/point-to-type-err-cause-on-impl-trait-return.rs:97:9
@@ -211,8 +220,9 @@ LL | |     }
    |
 help: you could change the return type to be a boxed trait object
    |
-LL | fn apt() -> Box<dyn std::fmt::Display> {
-   |             ~~~~~~~                  +
+LL - fn apt() -> impl std::fmt::Display {
+LL + fn apt() -> Box<dyn std::fmt::Display> {
+   |
 help: if you change the return type to expect trait objects, box the returned expressions
    |
 LL ~         Box::new(0i32)
@@ -221,8 +231,9 @@ LL ~         Box::new(1u32)
    |
 help: change the type of the numeric literal from `u32` to `i32`
    |
-LL |         1i32
-   |          ~~~
+LL -         1u32
+LL +         1i32
+   |
 
 error: aborting due to 12 previous errors
 
diff --git a/tests/ui/impl-trait/precise-capturing/bad-lifetimes.stderr b/tests/ui/impl-trait/precise-capturing/bad-lifetimes.stderr
index a8acecf10c7..c8dac3a69cd 100644
--- a/tests/ui/impl-trait/precise-capturing/bad-lifetimes.stderr
+++ b/tests/ui/impl-trait/precise-capturing/bad-lifetimes.stderr
@@ -7,8 +7,9 @@ LL | fn no_elided_lt() -> impl Sized + use<'_> {}
    = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
 help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values
    |
-LL | fn no_elided_lt() -> impl Sized + use<'static> {}
-   |                                       ~~~~~~~
+LL - fn no_elided_lt() -> impl Sized + use<'_> {}
+LL + fn no_elided_lt() -> impl Sized + use<'static> {}
+   |
 
 error[E0261]: use of undeclared lifetime name `'missing`
   --> $DIR/bad-lifetimes.rs:8:37
diff --git a/tests/ui/impl-trait/precise-capturing/hidden-type-suggestion.stderr b/tests/ui/impl-trait/precise-capturing/hidden-type-suggestion.stderr
index b0c4cc2fea0..0d8fa650df4 100644
--- a/tests/ui/impl-trait/precise-capturing/hidden-type-suggestion.stderr
+++ b/tests/ui/impl-trait/precise-capturing/hidden-type-suggestion.stderr
@@ -80,8 +80,9 @@ LL | fn no_params_yet(_: impl Sized, y: &()) -> impl Sized {
    |                     ^^^^^^^^^^
 help: add a `use<...>` bound to explicitly capture `'_` after turning all argument-position `impl Trait` into type parameters, noting that this possibly affects the API of this crate
    |
-LL | fn no_params_yet<T: Sized>(_: T, y: &()) -> impl Sized + use<'_, T> {
-   |                 ++++++++++    ~                        ++++++++++++
+LL - fn no_params_yet(_: impl Sized, y: &()) -> impl Sized {
+LL + fn no_params_yet<T: Sized>(_: T, y: &()) -> impl Sized + use<'_, T> {
+   |
 
 error[E0700]: hidden type for `impl Sized` captures lifetime that does not appear in bounds
   --> $DIR/hidden-type-suggestion.rs:36:5
@@ -101,8 +102,9 @@ LL | fn yes_params_yet<'a, T>(_: impl Sized, y: &'a ()) -> impl Sized {
    |                             ^^^^^^^^^^
 help: add a `use<...>` bound to explicitly capture `'a` after turning all argument-position `impl Trait` into type parameters, noting that this possibly affects the API of this crate
    |
-LL | fn yes_params_yet<'a, T, U: Sized>(_: U, y: &'a ()) -> impl Sized + use<'a, T, U> {
-   |                        ++++++++++     ~                           +++++++++++++++
+LL - fn yes_params_yet<'a, T>(_: impl Sized, y: &'a ()) -> impl Sized {
+LL + fn yes_params_yet<'a, T, U: Sized>(_: U, y: &'a ()) -> impl Sized + use<'a, T, U> {
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/impl-trait/precise-capturing/migration-note.stderr b/tests/ui/impl-trait/precise-capturing/migration-note.stderr
index 9caf7a201ef..676b6c12f52 100644
--- a/tests/ui/impl-trait/precise-capturing/migration-note.stderr
+++ b/tests/ui/impl-trait/precise-capturing/migration-note.stderr
@@ -305,8 +305,9 @@ LL | fn capture_apit(x: &impl Sized) -> impl Sized {}
    |                     ^^^^^^^^^^
 help: use the precise capturing `use<...>` syntax to make the captures explicit
    |
-LL | fn capture_apit<T: Sized>(x: &T) -> impl Sized + use<T> {}
-   |                ++++++++++     ~                ++++++++
+LL - fn capture_apit(x: &impl Sized) -> impl Sized {}
+LL + fn capture_apit<T: Sized>(x: &T) -> impl Sized + use<T> {}
+   |
 help: consider cloning the value if the performance cost is acceptable
    |
 LL |     let y = capture_apit(&x.clone());
diff --git a/tests/ui/impl-trait/precise-capturing/overcaptures-2024.stderr b/tests/ui/impl-trait/precise-capturing/overcaptures-2024.stderr
index 965f8e7b672..3f8511a21a0 100644
--- a/tests/ui/impl-trait/precise-capturing/overcaptures-2024.stderr
+++ b/tests/ui/impl-trait/precise-capturing/overcaptures-2024.stderr
@@ -100,8 +100,9 @@ LL | fn apit(_: &impl Sized) -> impl Sized {}
    |             ^^^^^^^^^^
 help: use the precise capturing `use<...>` syntax to make the captures explicit
    |
-LL | fn apit<T: Sized>(_: &T) -> impl Sized + use<T> {}
-   |        ++++++++++     ~                ++++++++
+LL - fn apit(_: &impl Sized) -> impl Sized {}
+LL + fn apit<T: Sized>(_: &T) -> impl Sized + use<T> {}
+   |
 
 error: `impl Sized` will capture more lifetimes than possibly intended in edition 2024
   --> $DIR/overcaptures-2024.rs:37:38
@@ -124,8 +125,9 @@ LL | fn apit2<U>(_: &impl Sized, _: U) -> impl Sized {}
    |                 ^^^^^^^^^^
 help: use the precise capturing `use<...>` syntax to make the captures explicit
    |
-LL | fn apit2<U, T: Sized>(_: &T, _: U) -> impl Sized + use<U, T> {}
-   |           ++++++++++      ~                      +++++++++++
+LL - fn apit2<U>(_: &impl Sized, _: U) -> impl Sized {}
+LL + fn apit2<U, T: Sized>(_: &T, _: U) -> impl Sized + use<U, T> {}
+   |
 
 error: `impl Sized` will capture more lifetimes than possibly intended in edition 2024
   --> $DIR/overcaptures-2024.rs:41:37
diff --git a/tests/ui/impl-trait/recursive-type-alias-impl-trait-declaration-too-subtle.stderr b/tests/ui/impl-trait/recursive-type-alias-impl-trait-declaration-too-subtle.stderr
index b127bf41800..767bd312407 100644
--- a/tests/ui/impl-trait/recursive-type-alias-impl-trait-declaration-too-subtle.stderr
+++ b/tests/ui/impl-trait/recursive-type-alias-impl-trait-declaration-too-subtle.stderr
@@ -11,8 +11,9 @@ LL |         fn eq(&self, _other: &(Foo, i32)) -> bool {
               found signature `fn(&a::Bar, &(a::Foo, _)) -> _`
 help: change the parameter type to match the trait
    |
-LL |         fn eq(&self, _other: &(a::Bar, i32)) -> bool {
-   |                              ~~~~~~~~~~~~~~
+LL -         fn eq(&self, _other: &(Foo, i32)) -> bool {
+LL +         fn eq(&self, _other: &(a::Bar, i32)) -> bool {
+   |
 
 error: item does not constrain `a::Foo::{opaque#0}`, but has it in its signature
   --> $DIR/recursive-type-alias-impl-trait-declaration-too-subtle.rs:9:12
@@ -45,8 +46,9 @@ LL |         fn eq(&self, _other: &(Bar, i32)) -> bool {
    |            ^^
 help: change the parameter type to match the trait
    |
-LL |         fn eq(&self, _other: &(b::Foo, i32)) -> bool {
-   |                              ~~~~~~~~~~~~~~
+LL -         fn eq(&self, _other: &(Bar, i32)) -> bool {
+LL +         fn eq(&self, _other: &(b::Foo, i32)) -> bool {
+   |
 
 error: unconstrained opaque type
   --> $DIR/recursive-type-alias-impl-trait-declaration-too-subtle.rs:18:16
diff --git a/tests/ui/impl-trait/trait_type.stderr b/tests/ui/impl-trait/trait_type.stderr
index 989779a6178..ce5b2f1cca6 100644
--- a/tests/ui/impl-trait/trait_type.stderr
+++ b/tests/ui/impl-trait/trait_type.stderr
@@ -8,8 +8,9 @@ LL |    fn fmt(&self, x: &str) -> () { }
               found signature `fn(&MyType, &str) -> ()`
 help: change the parameter type to match the trait
    |
-LL |    fn fmt(&self, x: &mut Formatter<'_>) -> () { }
-   |                     ~~~~~~~~~~~~~~~~~~
+LL -    fn fmt(&self, x: &str) -> () { }
+LL +    fn fmt(&self, x: &mut Formatter<'_>) -> () { }
+   |
 
 error[E0050]: method `fmt` has 1 parameter but the declaration in trait `std::fmt::Display::fmt` has 2
   --> $DIR/trait_type.rs:12:11
diff --git a/tests/ui/impl-trait/where-allowed.stderr b/tests/ui/impl-trait/where-allowed.stderr
index 400df87ca3f..ebce9b7e445 100644
--- a/tests/ui/impl-trait/where-allowed.stderr
+++ b/tests/ui/impl-trait/where-allowed.stderr
@@ -364,8 +364,9 @@ LL |     fn in_trait_impl_return() -> Self::Out;
    = note: distinct uses of `impl Trait` result in different opaque types
 help: change the output type to match the trait
    |
-LL |     fn in_trait_impl_return() -> <() as DummyTrait>::Out { () }
-   |                                  ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     fn in_trait_impl_return() -> impl Debug { () }
+LL +     fn in_trait_impl_return() -> <() as DummyTrait>::Out { () }
+   |
 
 error: defaults for type parameters are only allowed in `struct`, `enum`, `type`, or `trait` definitions
   --> $DIR/where-allowed.rs:245:36
diff --git a/tests/ui/imports/bad-import-with-rename.stderr b/tests/ui/imports/bad-import-with-rename.stderr
index f9c5cf920e1..a8e97d13c55 100644
--- a/tests/ui/imports/bad-import-with-rename.stderr
+++ b/tests/ui/imports/bad-import-with-rename.stderr
@@ -6,8 +6,9 @@ LL |     use crate::D::B as _;
    |
 help: consider importing this type alias instead
    |
-LL |     use A::B as _;
-   |         ~~~~~~~~~
+LL -     use crate::D::B as _;
+LL +     use A::B as _;
+   |
 
 error[E0432]: unresolved import `crate::D::B2`
   --> $DIR/bad-import-with-rename.rs:10:9
@@ -17,8 +18,9 @@ LL |     use crate::D::B2;
    |
 help: consider importing this type alias instead
    |
-LL |     use A::B2;
-   |         ~~~~~
+LL -     use crate::D::B2;
+LL +     use A::B2;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/imports/extern-crate-self/extern-crate-self-fail.stderr b/tests/ui/imports/extern-crate-self/extern-crate-self-fail.stderr
index 127765727b4..9a3ebfddc49 100644
--- a/tests/ui/imports/extern-crate-self/extern-crate-self-fail.stderr
+++ b/tests/ui/imports/extern-crate-self/extern-crate-self-fail.stderr
@@ -6,8 +6,9 @@ LL | extern crate self;
    |
 help: rename the `self` crate to be able to import it
    |
-LL | extern crate self as name;
-   | ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - extern crate self;
+LL + extern crate self as name;
+   |
 
 error: `#[macro_use]` is not supported on `extern crate self`
   --> $DIR/extern-crate-self-fail.rs:3:1
diff --git a/tests/ui/imports/glob-resolve1.stderr b/tests/ui/imports/glob-resolve1.stderr
index 4401ef58732..6a48e36d378 100644
--- a/tests/ui/imports/glob-resolve1.stderr
+++ b/tests/ui/imports/glob-resolve1.stderr
@@ -37,8 +37,9 @@ LL | |     }
    | |_____^
 help: you might have meant to use the following enum variant
    |
-LL |     B::B1;
-   |     ~~~~~
+LL -     B;
+LL +     B::B1;
+   |
 
 error[E0425]: cannot find value `C` in this scope
   --> $DIR/glob-resolve1.rs:29:5
diff --git a/tests/ui/imports/issue-45799-bad-extern-crate-rename-suggestion-formatting.stderr b/tests/ui/imports/issue-45799-bad-extern-crate-rename-suggestion-formatting.stderr
index 80cea1a83d9..def0676a0f8 100644
--- a/tests/ui/imports/issue-45799-bad-extern-crate-rename-suggestion-formatting.stderr
+++ b/tests/ui/imports/issue-45799-bad-extern-crate-rename-suggestion-formatting.stderr
@@ -7,7 +7,8 @@ LL | extern crate std;
    = note: `std` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | extern crate std as other_std;
+LL - extern crate std;
+LL + extern crate std as other_std;
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/imports/issue-45829/import-self.stderr b/tests/ui/imports/issue-45829/import-self.stderr
index 3c9d4fe6ba6..62bc559b778 100644
--- a/tests/ui/imports/issue-45829/import-self.stderr
+++ b/tests/ui/imports/issue-45829/import-self.stderr
@@ -32,8 +32,9 @@ LL | use foo::{self};
    = note: `foo` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | use foo::{self as other_foo};
-   |           ~~~~~~~~~~~~~~~~~
+LL - use foo::{self};
+LL + use foo::{self as other_foo};
+   |
 
 error[E0255]: the name `foo` is defined multiple times
   --> $DIR/import-self.rs:12:5
@@ -47,8 +48,9 @@ LL | use foo::self;
    = note: `foo` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | use foo as other_foo;
-   |         ~~~~~~~~~~~~
+LL - use foo::self;
+LL + use foo as other_foo;
+   |
 
 error[E0252]: the name `A` is defined multiple times
   --> $DIR/import-self.rs:16:11
@@ -61,8 +63,9 @@ LL | use foo::{self as A};
    = note: `A` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | use foo::{self as OtherA};
-   |           ~~~~~~~~~~~~~~
+LL - use foo::{self as A};
+LL + use foo::{self as OtherA};
+   |
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/ui/imports/issue-45829/issue-45829.stderr b/tests/ui/imports/issue-45829/issue-45829.stderr
index c6835c3bd7a..9fd0e5a7672 100644
--- a/tests/ui/imports/issue-45829/issue-45829.stderr
+++ b/tests/ui/imports/issue-45829/issue-45829.stderr
@@ -9,8 +9,9 @@ LL | use foo::{A, B as A};
    = note: `A` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | use foo::{A, B as OtherA};
-   |                ~~~~~~~~~
+LL - use foo::{A, B as A};
+LL + use foo::{A, B as OtherA};
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/imports/issue-45829/rename-extern-vs-use.stderr b/tests/ui/imports/issue-45829/rename-extern-vs-use.stderr
index 8f2f7bbac0c..98fe16824ff 100644
--- a/tests/ui/imports/issue-45829/rename-extern-vs-use.stderr
+++ b/tests/ui/imports/issue-45829/rename-extern-vs-use.stderr
@@ -9,7 +9,8 @@ LL | extern crate issue_45829_b as bar;
    = note: `bar` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | extern crate issue_45829_b as other_bar;
+LL - extern crate issue_45829_b as bar;
+LL + extern crate issue_45829_b as other_bar;
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/imports/issue-45829/rename-extern-with-tab.stderr b/tests/ui/imports/issue-45829/rename-extern-with-tab.stderr
index ae26d1fd0bb..346f2481c21 100644
--- a/tests/ui/imports/issue-45829/rename-extern-with-tab.stderr
+++ b/tests/ui/imports/issue-45829/rename-extern-with-tab.stderr
@@ -9,7 +9,8 @@ LL | extern  crate    issue_45829_b  as  issue_45829_a;
    = note: `issue_45829_a` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | extern crate issue_45829_b as other_issue_45829_a;
+LL - extern  crate    issue_45829_b  as  issue_45829_a;
+LL + extern crate issue_45829_b as other_issue_45829_a;
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/imports/issue-45829/rename-extern.stderr b/tests/ui/imports/issue-45829/rename-extern.stderr
index 46560ef9244..f99f433c642 100644
--- a/tests/ui/imports/issue-45829/rename-extern.stderr
+++ b/tests/ui/imports/issue-45829/rename-extern.stderr
@@ -9,7 +9,8 @@ LL | extern crate issue_45829_b as issue_45829_a;
    = note: `issue_45829_a` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | extern crate issue_45829_b as other_issue_45829_a;
+LL - extern crate issue_45829_b as issue_45829_a;
+LL + extern crate issue_45829_b as other_issue_45829_a;
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/imports/issue-45829/rename-use-vs-extern.stderr b/tests/ui/imports/issue-45829/rename-use-vs-extern.stderr
index fd4fb9db0b6..e0647cd3ab6 100644
--- a/tests/ui/imports/issue-45829/rename-use-vs-extern.stderr
+++ b/tests/ui/imports/issue-45829/rename-use-vs-extern.stderr
@@ -9,8 +9,9 @@ LL | use std as issue_45829_b;
    = note: `issue_45829_b` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | use std as other_issue_45829_b;
-   |         ~~~~~~~~~~~~~~~~~~~~~~
+LL - use std as issue_45829_b;
+LL + use std as other_issue_45829_b;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/imports/issue-45829/rename-use-with-tabs.stderr b/tests/ui/imports/issue-45829/rename-use-with-tabs.stderr
index 178303bbc1d..c2e63ffa91e 100644
--- a/tests/ui/imports/issue-45829/rename-use-with-tabs.stderr
+++ b/tests/ui/imports/issue-45829/rename-use-with-tabs.stderr
@@ -9,8 +9,9 @@ LL | use foo::{A, bar::B    as    A};
    = note: `A` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | use foo::{A, bar::B as OtherA};
-   |                     ~~~~~~~~~
+LL - use foo::{A, bar::B    as    A};
+LL + use foo::{A, bar::B as OtherA};
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/imports/issue-45829/rename-with-path.stderr b/tests/ui/imports/issue-45829/rename-with-path.stderr
index a83fdb37324..45fdd46850e 100644
--- a/tests/ui/imports/issue-45829/rename-with-path.stderr
+++ b/tests/ui/imports/issue-45829/rename-with-path.stderr
@@ -9,8 +9,9 @@ LL | use std::{collections::HashMap as A, sync::Arc as A};
    = note: `A` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | use std::{collections::HashMap as A, sync::Arc as OtherA};
-   |                                                ~~~~~~~~~
+LL - use std::{collections::HashMap as A, sync::Arc as A};
+LL + use std::{collections::HashMap as A, sync::Arc as OtherA};
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/imports/issue-45829/rename.stderr b/tests/ui/imports/issue-45829/rename.stderr
index 4977909487c..dc5775e3d56 100644
--- a/tests/ui/imports/issue-45829/rename.stderr
+++ b/tests/ui/imports/issue-45829/rename.stderr
@@ -9,8 +9,9 @@ LL | use std as core;
    = note: `core` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | use std as other_core;
-   |         ~~~~~~~~~~~~~
+LL - use std as core;
+LL + use std as other_core;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/imports/issue-56125.stderr b/tests/ui/imports/issue-56125.stderr
index 0c4a569c7ea..81336d51df4 100644
--- a/tests/ui/imports/issue-56125.stderr
+++ b/tests/ui/imports/issue-56125.stderr
@@ -6,14 +6,18 @@ LL |     use empty::issue_56125;
    |
 help: consider importing one of these modules instead
    |
-LL |     use crate::m3::last_segment::issue_56125;
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-LL |     use crate::m3::non_last_segment::non_last_segment::issue_56125;
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-LL |     use ::issue_56125::issue_56125;
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
-LL |     use ::issue_56125::last_segment::issue_56125;
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     use empty::issue_56125;
+LL +     use crate::m3::last_segment::issue_56125;
+   |
+LL -     use empty::issue_56125;
+LL +     use crate::m3::non_last_segment::non_last_segment::issue_56125;
+   |
+LL -     use empty::issue_56125;
+LL +     use ::issue_56125::issue_56125;
+   |
+LL -     use empty::issue_56125;
+LL +     use ::issue_56125::last_segment::issue_56125;
+   |
      and 1 other candidate
 
 error[E0659]: `issue_56125` is ambiguous
diff --git a/tests/ui/imports/issue-57015.stderr b/tests/ui/imports/issue-57015.stderr
index f1ae7845241..d3b9cd21fba 100644
--- a/tests/ui/imports/issue-57015.stderr
+++ b/tests/ui/imports/issue-57015.stderr
@@ -6,8 +6,9 @@ LL | use single_err::something;
    |
 help: consider importing this module instead
    |
-LL | use glob_ok::something;
-   |     ~~~~~~~~~~~~~~~~~~
+LL - use single_err::something;
+LL + use glob_ok::something;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/imports/issue-59764.stderr b/tests/ui/imports/issue-59764.stderr
index 74525c9c88f..1d31e3bda0d 100644
--- a/tests/ui/imports/issue-59764.stderr
+++ b/tests/ui/imports/issue-59764.stderr
@@ -182,8 +182,9 @@ LL |     use issue_59764::foo::makro as baz;
    = note: this could be because a macro annotated with `#[macro_export]` will be exported at the root of the crate instead of the module where it is defined
 help: a macro with this name exists at the root of the crate
    |
-LL |     use issue_59764::makro as baz;
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     use issue_59764::foo::makro as baz;
+LL +     use issue_59764::makro as baz;
+   |
 
 error[E0432]: unresolved import `issue_59764::foo::makro`
   --> $DIR/issue-59764.rs:107:33
@@ -223,8 +224,9 @@ LL | use issue_59764::foo::makro;
    = note: this could be because a macro annotated with `#[macro_export]` will be exported at the root of the crate instead of the module where it is defined
 help: a macro with this name exists at the root of the crate
    |
-LL | use issue_59764::makro;
-   |     ~~~~~~~~~~~~~~~~~~
+LL - use issue_59764::foo::makro;
+LL + use issue_59764::makro;
+   |
 
 error[E0425]: cannot find function `bar` in this scope
   --> $DIR/issue-59764.rs:133:5
diff --git a/tests/ui/imports/multiple-extern-by-macro-for-buitlin.stderr b/tests/ui/imports/multiple-extern-by-macro-for-buitlin.stderr
index a84a6c42aa8..4a5c85479d3 100644
--- a/tests/ui/imports/multiple-extern-by-macro-for-buitlin.stderr
+++ b/tests/ui/imports/multiple-extern-by-macro-for-buitlin.stderr
@@ -14,7 +14,8 @@ LL | m!();
    = note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: you can use `as` to change the binding name of the import
    |
-LL |         extern crate std as other_core;
+LL -         extern crate std as core;
+LL +         extern crate std as other_core;
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/imports/multiple-extern-by-macro-for-custom.stderr b/tests/ui/imports/multiple-extern-by-macro-for-custom.stderr
index 556d75a4dbb..8b87ae93b4d 100644
--- a/tests/ui/imports/multiple-extern-by-macro-for-custom.stderr
+++ b/tests/ui/imports/multiple-extern-by-macro-for-custom.stderr
@@ -14,7 +14,8 @@ LL | m!();
    = note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: you can use `as` to change the binding name of the import
    |
-LL |         extern crate std as other_empty;
+LL -         extern crate std as empty;
+LL +         extern crate std as other_empty;
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/imports/multiple-extern-by-macro-for-inexist.stderr b/tests/ui/imports/multiple-extern-by-macro-for-inexist.stderr
index ec34489f232..9a9e538740d 100644
--- a/tests/ui/imports/multiple-extern-by-macro-for-inexist.stderr
+++ b/tests/ui/imports/multiple-extern-by-macro-for-inexist.stderr
@@ -20,7 +20,8 @@ LL | m!();
    = note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: you can use `as` to change the binding name of the import
    |
-LL |         extern crate std as other_non_existent;
+LL -         extern crate std as non_existent;
+LL +         extern crate std as other_non_existent;
    |
 
 error: aborting due to 2 previous errors
diff --git a/tests/ui/imports/no-std-inject.stderr b/tests/ui/imports/no-std-inject.stderr
index 597ecdce9eb..d3952a50cd3 100644
--- a/tests/ui/imports/no-std-inject.stderr
+++ b/tests/ui/imports/no-std-inject.stderr
@@ -7,8 +7,9 @@ LL | extern crate core;
    = note: `core` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | extern crate core as other_core;
-   | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - extern crate core;
+LL + extern crate core as other_core;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/imports/private-std-reexport-suggest-public.stderr b/tests/ui/imports/private-std-reexport-suggest-public.stderr
index 222553235aa..90d84bb4f5b 100644
--- a/tests/ui/imports/private-std-reexport-suggest-public.stderr
+++ b/tests/ui/imports/private-std-reexport-suggest-public.stderr
@@ -15,8 +15,9 @@ note: ...and refers to the module `mem` which is defined here
    = note: you could import this directly
 help: import `mem` through the re-export
    |
-LL |     use std::mem;
-   |         ~~~~~~~~
+LL -     use foo::mem;
+LL +     use std::mem;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/imports/suggest-import-issue-120074.edition2015.stderr b/tests/ui/imports/suggest-import-issue-120074.edition2015.stderr
index 414eeee0fed..c9cfe769aeb 100644
--- a/tests/ui/imports/suggest-import-issue-120074.edition2015.stderr
+++ b/tests/ui/imports/suggest-import-issue-120074.edition2015.stderr
@@ -6,8 +6,9 @@ LL |     println!("Hello, {}!", crate::bar::do_the_thing);
    |
 help: a similar path exists
    |
-LL |     println!("Hello, {}!", crate::foo::bar::do_the_thing);
-   |                                   ~~~~~~~~
+LL -     println!("Hello, {}!", crate::bar::do_the_thing);
+LL +     println!("Hello, {}!", crate::foo::bar::do_the_thing);
+   |
 help: consider importing this module
    |
 LL + use foo::bar;
diff --git a/tests/ui/imports/suggest-import-issue-120074.edition2021.stderr b/tests/ui/imports/suggest-import-issue-120074.edition2021.stderr
index 414eeee0fed..c9cfe769aeb 100644
--- a/tests/ui/imports/suggest-import-issue-120074.edition2021.stderr
+++ b/tests/ui/imports/suggest-import-issue-120074.edition2021.stderr
@@ -6,8 +6,9 @@ LL |     println!("Hello, {}!", crate::bar::do_the_thing);
    |
 help: a similar path exists
    |
-LL |     println!("Hello, {}!", crate::foo::bar::do_the_thing);
-   |                                   ~~~~~~~~
+LL -     println!("Hello, {}!", crate::bar::do_the_thing);
+LL +     println!("Hello, {}!", crate::foo::bar::do_the_thing);
+   |
 help: consider importing this module
    |
 LL + use foo::bar;
diff --git a/tests/ui/include-macros/parent_dir.stderr b/tests/ui/include-macros/parent_dir.stderr
index 0470d5b1f1e..23029e91120 100644
--- a/tests/ui/include-macros/parent_dir.stderr
+++ b/tests/ui/include-macros/parent_dir.stderr
@@ -7,8 +7,9 @@ LL |     let _ = include_str!("include-macros/file.txt");
    = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: there is a file with the same name in a different directory
    |
-LL |     let _ = include_str!("file.txt");
-   |                          ~~~~~~~~~~
+LL -     let _ = include_str!("include-macros/file.txt");
+LL +     let _ = include_str!("file.txt");
+   |
 
 error: couldn't read `$DIR/hello.rs`: $FILE_NOT_FOUND_MSG
   --> $DIR/parent_dir.rs:6:13
@@ -19,8 +20,9 @@ LL |     let _ = include_str!("hello.rs");
    = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: there is a file with the same name in a different directory
    |
-LL |     let _ = include_str!("../hello.rs");
-   |                          ~~~~~~~~~~~~~
+LL -     let _ = include_str!("hello.rs");
+LL +     let _ = include_str!("../hello.rs");
+   |
 
 error: couldn't read `$DIR/../../data.bin`: $FILE_NOT_FOUND_MSG
   --> $DIR/parent_dir.rs:8:13
@@ -31,8 +33,9 @@ LL |     let _ = include_bytes!("../../data.bin");
    = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: there is a file with the same name in a different directory
    |
-LL |     let _ = include_bytes!("data.bin");
-   |                            ~~~~~~~~~~
+LL -     let _ = include_bytes!("../../data.bin");
+LL +     let _ = include_bytes!("data.bin");
+   |
 
 error: couldn't read `$DIR/tests/ui/include-macros/file.txt`: $FILE_NOT_FOUND_MSG
   --> $DIR/parent_dir.rs:10:13
@@ -43,8 +46,9 @@ LL |     let _ = include_str!("tests/ui/include-macros/file.txt");
    = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: there is a file with the same name in a different directory
    |
-LL |     let _ = include_str!("file.txt");
-   |                          ~~~~~~~~~~
+LL -     let _ = include_str!("tests/ui/include-macros/file.txt");
+LL +     let _ = include_str!("file.txt");
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/inference/ambiguous_type_parameter.stderr b/tests/ui/inference/ambiguous_type_parameter.stderr
index 0674deb63ba..835999121d6 100644
--- a/tests/ui/inference/ambiguous_type_parameter.stderr
+++ b/tests/ui/inference/ambiguous_type_parameter.stderr
@@ -6,8 +6,9 @@ LL |     InMemoryStore.get_raw(&String::default());
    |
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <InMemoryStore as Store<String, HashMap<K, String>>>::get_raw(&InMemoryStore, &String::default());
-   |     +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++             ~
+LL -     InMemoryStore.get_raw(&String::default());
+LL +     <InMemoryStore as Store<String, HashMap<K, String>>>::get_raw(&InMemoryStore, &String::default());
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/inference/char-as-str-single.stderr b/tests/ui/inference/char-as-str-single.stderr
index 9149efe3240..5455a0fd7ee 100644
--- a/tests/ui/inference/char-as-str-single.stderr
+++ b/tests/ui/inference/char-as-str-single.stderr
@@ -8,8 +8,9 @@ LL |     let _: char = "a";
    |
 help: if you meant to write a `char` literal, use single quotes
    |
-LL |     let _: char = 'a';
-   |                   ~~~
+LL -     let _: char = "a";
+LL +     let _: char = 'a';
+   |
 
 error[E0308]: mismatched types
   --> $DIR/char-as-str-single.rs:10:19
@@ -21,8 +22,9 @@ LL |     let _: char = "人";
    |
 help: if you meant to write a `char` literal, use single quotes
    |
-LL |     let _: char = '人';
-   |                   ~~~~
+LL -     let _: char = "人";
+LL +     let _: char = '人';
+   |
 
 error[E0308]: mismatched types
   --> $DIR/char-as-str-single.rs:11:19
@@ -34,8 +36,9 @@ LL |     let _: char = "'";
    |
 help: if you meant to write a `char` literal, use single quotes
    |
-LL |     let _: char = '\'';
-   |                   ~~~~
+LL -     let _: char = "'";
+LL +     let _: char = '\'';
+   |
 
 error[E0308]: mismatched types
   --> $DIR/char-as-str-single.rs:18:9
@@ -47,8 +50,9 @@ LL |         "A" => {}
    |
 help: if you meant to write a `char` literal, use single quotes
    |
-LL |         'A' => {}
-   |         ~~~
+LL -         "A" => {}
+LL +         'A' => {}
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/inference/inference_unstable.stderr b/tests/ui/inference/inference_unstable.stderr
index 51f086177db..395dcb2661f 100644
--- a/tests/ui/inference/inference_unstable.stderr
+++ b/tests/ui/inference/inference_unstable.stderr
@@ -65,8 +65,9 @@ LL |     assert_eq!(char::C, 1);
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
 help: use the fully qualified path to the associated const
    |
-LL |     assert_eq!(<char as IpuItertools>::C, 1);
-   |                ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     assert_eq!(char::C, 1);
+LL +     assert_eq!(<char as IpuItertools>::C, 1);
+   |
 help: add `#![feature(assoc_const_ipu_iter)]` to the crate attributes to enable `inference_unstable_iterator::IpuIterator::C`
    |
 LL + #![feature(assoc_const_ipu_iter)]
diff --git a/tests/ui/inference/inference_unstable_featured.stderr b/tests/ui/inference/inference_unstable_featured.stderr
index b908c7142d4..b267ca497de 100644
--- a/tests/ui/inference/inference_unstable_featured.stderr
+++ b/tests/ui/inference/inference_unstable_featured.stderr
@@ -8,12 +8,14 @@ LL |     assert_eq!('x'.ipu_flatten(), 0);
    = note: candidate #2 is defined in an impl of the trait `IpuItertools` for the type `char`
 help: disambiguate the method for candidate #1
    |
-LL |     assert_eq!(IpuIterator::ipu_flatten(&'x'), 0);
-   |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     assert_eq!('x'.ipu_flatten(), 0);
+LL +     assert_eq!(IpuIterator::ipu_flatten(&'x'), 0);
+   |
 help: disambiguate the method for candidate #2
    |
-LL |     assert_eq!(IpuItertools::ipu_flatten(&'x'), 0);
-   |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     assert_eq!('x'.ipu_flatten(), 0);
+LL +     assert_eq!(IpuItertools::ipu_flatten(&'x'), 0);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/inference/issue-103587.stderr b/tests/ui/inference/issue-103587.stderr
index 589cb7ea7b1..bd6a9b71b86 100644
--- a/tests/ui/inference/issue-103587.stderr
+++ b/tests/ui/inference/issue-103587.stderr
@@ -6,8 +6,9 @@ LL |     if let Some(_) == x {}
    |
 help: consider using `=` here
    |
-LL |     if let Some(_) = x {}
-   |                    ~
+LL -     if let Some(_) == x {}
+LL +     if let Some(_) = x {}
+   |
 
 error[E0308]: mismatched types
   --> $DIR/issue-103587.rs:7:8
diff --git a/tests/ui/inference/issue-12028.stderr b/tests/ui/inference/issue-12028.stderr
index 3d7fb13d447..0d8ef1c938d 100644
--- a/tests/ui/inference/issue-12028.stderr
+++ b/tests/ui/inference/issue-12028.stderr
@@ -7,8 +7,9 @@ LL |         self.input_stream(&mut stream);
    = note: cannot satisfy `<_ as StreamHasher>::S == <H as StreamHasher>::S`
 help: try using a fully qualified path to specify the expected types
    |
-LL |         <u8 as StreamHash<H>>::input_stream(self, &mut stream);
-   |         ++++++++++++++++++++++++++++++++++++    ~
+LL -         self.input_stream(&mut stream);
+LL +         <u8 as StreamHash<H>>::input_stream(self, &mut stream);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/inference/issue-70082.stderr b/tests/ui/inference/issue-70082.stderr
index 442e7479a9e..926ecff4a4f 100644
--- a/tests/ui/inference/issue-70082.stderr
+++ b/tests/ui/inference/issue-70082.stderr
@@ -9,8 +9,9 @@ LL |     let y: f64 = 0.01f64 * 1i16.into();
    = note: cannot satisfy `<f64 as Mul<_>>::Output == f64`
 help: try using a fully qualified path to specify the expected types
    |
-LL |     let y: f64 = 0.01f64 * <i16 as Into<T>>::into(1i16);
-   |                            +++++++++++++++++++++++    ~
+LL -     let y: f64 = 0.01f64 * 1i16.into();
+LL +     let y: f64 = 0.01f64 * <i16 as Into<T>>::into(1i16);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/inference/issue-71584.stderr b/tests/ui/inference/issue-71584.stderr
index 391d3e7613e..4bbfef6c44a 100644
--- a/tests/ui/inference/issue-71584.stderr
+++ b/tests/ui/inference/issue-71584.stderr
@@ -9,8 +9,9 @@ LL |     d = d % n.into();
    = note: cannot satisfy `<u64 as Rem<_>>::Output == u64`
 help: try using a fully qualified path to specify the expected types
    |
-LL |     d = d % <u32 as Into<T>>::into(n);
-   |             +++++++++++++++++++++++ ~
+LL -     d = d % n.into();
+LL +     d = d % <u32 as Into<T>>::into(n);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/inference/issue-72616.stderr b/tests/ui/inference/issue-72616.stderr
index 3848fcf61d9..31a0586301d 100644
--- a/tests/ui/inference/issue-72616.stderr
+++ b/tests/ui/inference/issue-72616.stderr
@@ -16,8 +16,9 @@ LL |         if String::from("a") == "a".try_into().unwrap() {}
              `String` implements `PartialEq`
 help: try using a fully qualified path to specify the expected types
    |
-LL |         if String::from("a") == <&str as TryInto<T>>::try_into("a").unwrap() {}
-   |                                 +++++++++++++++++++++++++++++++   ~
+LL -         if String::from("a") == "a".try_into().unwrap() {}
+LL +         if String::from("a") == <&str as TryInto<T>>::try_into("a").unwrap() {}
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/issue-72616.rs:22:37
@@ -32,8 +33,9 @@ LL |         if String::from("a") == "a".try_into().unwrap() {}
    = note: required for `&str` to implement `TryInto<_>`
 help: try using a fully qualified path to specify the expected types
    |
-LL |         if String::from("a") == <&str as TryInto<T>>::try_into("a").unwrap() {}
-   |                                 +++++++++++++++++++++++++++++++   ~
+LL -         if String::from("a") == "a".try_into().unwrap() {}
+LL +         if String::from("a") == <&str as TryInto<T>>::try_into("a").unwrap() {}
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/inference/issue-72690.stderr b/tests/ui/inference/issue-72690.stderr
index 2d09f667ae2..4926cf9e981 100644
--- a/tests/ui/inference/issue-72690.stderr
+++ b/tests/ui/inference/issue-72690.stderr
@@ -22,8 +22,9 @@ LL |     String::from("x".as_ref());
            - impl AsRef<str> for str;
 help: try using a fully qualified path to specify the expected types
    |
-LL |     String::from(<str as AsRef<T>>::as_ref("x"));
-   |                  ++++++++++++++++++++++++++   ~
+LL -     String::from("x".as_ref());
+LL +     String::from(<str as AsRef<T>>::as_ref("x"));
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/issue-72690.rs:12:9
@@ -49,8 +50,9 @@ LL |     |x| String::from("x".as_ref());
            - impl AsRef<str> for str;
 help: try using a fully qualified path to specify the expected types
    |
-LL |     |x| String::from(<str as AsRef<T>>::as_ref("x"));
-   |                      ++++++++++++++++++++++++++   ~
+LL -     |x| String::from("x".as_ref());
+LL +     |x| String::from(<str as AsRef<T>>::as_ref("x"));
+   |
 
 error[E0283]: type annotations needed for `&_`
   --> $DIR/issue-72690.rs:17:9
@@ -93,8 +95,9 @@ LL |     String::from("x".as_ref());
            - impl AsRef<str> for str;
 help: try using a fully qualified path to specify the expected types
    |
-LL |     String::from(<str as AsRef<T>>::as_ref("x"));
-   |                  ++++++++++++++++++++++++++   ~
+LL -     String::from("x".as_ref());
+LL +     String::from(<str as AsRef<T>>::as_ref("x"));
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/issue-72690.rs:28:5
@@ -120,8 +123,9 @@ LL |     String::from("x".as_ref());
            - impl AsRef<str> for str;
 help: try using a fully qualified path to specify the expected types
    |
-LL |     String::from(<str as AsRef<T>>::as_ref("x"));
-   |                  ++++++++++++++++++++++++++   ~
+LL -     String::from("x".as_ref());
+LL +     String::from(<str as AsRef<T>>::as_ref("x"));
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/issue-72690.rs:37:5
@@ -147,8 +151,9 @@ LL |     String::from("x".as_ref());
            - impl AsRef<str> for str;
 help: try using a fully qualified path to specify the expected types
    |
-LL |     String::from(<str as AsRef<T>>::as_ref("x"));
-   |                  ++++++++++++++++++++++++++   ~
+LL -     String::from("x".as_ref());
+LL +     String::from(<str as AsRef<T>>::as_ref("x"));
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/issue-72690.rs:46:5
@@ -174,8 +179,9 @@ LL |     String::from("x".as_ref());
            - impl AsRef<str> for str;
 help: try using a fully qualified path to specify the expected types
    |
-LL |     String::from(<str as AsRef<T>>::as_ref("x"));
-   |                  ++++++++++++++++++++++++++   ~
+LL -     String::from("x".as_ref());
+LL +     String::from(<str as AsRef<T>>::as_ref("x"));
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/issue-72690.rs:53:5
@@ -201,8 +207,9 @@ LL |     String::from("x".as_ref());
            - impl AsRef<str> for str;
 help: try using a fully qualified path to specify the expected types
    |
-LL |     String::from(<str as AsRef<T>>::as_ref("x"));
-   |                  ++++++++++++++++++++++++++   ~
+LL -     String::from("x".as_ref());
+LL +     String::from(<str as AsRef<T>>::as_ref("x"));
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/issue-72690.rs:62:5
@@ -228,8 +235,9 @@ LL |     String::from("x".as_ref());
            - impl AsRef<str> for str;
 help: try using a fully qualified path to specify the expected types
    |
-LL |     String::from(<str as AsRef<T>>::as_ref("x"));
-   |                  ++++++++++++++++++++++++++   ~
+LL -     String::from("x".as_ref());
+LL +     String::from(<str as AsRef<T>>::as_ref("x"));
+   |
 
 error: aborting due to 17 previous errors
 
diff --git a/tests/ui/inference/issue-80816.stderr b/tests/ui/inference/issue-80816.stderr
index ab62db8e6af..bca7cd4c3ad 100644
--- a/tests/ui/inference/issue-80816.stderr
+++ b/tests/ui/inference/issue-80816.stderr
@@ -21,8 +21,9 @@ LL | impl<T, A: Access<T>, P: Deref<Target = A>> Access<T> for P {
    |            unsatisfied trait bound introduced here
 help: try using a fully qualified path to specify the expected types
    |
-LL |     let guard: Guard<Arc<usize>> = <Arc<ArcSwapAny<Arc<usize>>> as Access<T>>::load(&s);
-   |                                    ++++++++++++++++++++++++++++++++++++++++++++++++++ ~
+LL -     let guard: Guard<Arc<usize>> = s.load();
+LL +     let guard: Guard<Arc<usize>> = <Arc<ArcSwapAny<Arc<usize>>> as Access<T>>::load(&s);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/inference/str-as-char.stderr b/tests/ui/inference/str-as-char.stderr
index 4ca71c5f067..2e70faa8cfa 100644
--- a/tests/ui/inference/str-as-char.stderr
+++ b/tests/ui/inference/str-as-char.stderr
@@ -6,8 +6,9 @@ LL |     let _: &str = '"""';
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     let _: &str = "\"\"\"";
-   |                   ~~~~~~~~
+LL -     let _: &str = '"""';
+LL +     let _: &str = "\"\"\"";
+   |
 
 error: character literal may only contain one codepoint
   --> $DIR/str-as-char.rs:9:19
@@ -17,8 +18,9 @@ LL |     let _: &str = '\"\"\"';
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     let _: &str = "\"\"\"";
-   |                   ~      ~
+LL -     let _: &str = '\"\"\"';
+LL +     let _: &str = "\"\"\"";
+   |
 
 error: character literal may only contain one codepoint
   --> $DIR/str-as-char.rs:10:19
@@ -28,8 +30,9 @@ LL |     let _: &str = '"\"\"\\"\\"';
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     let _: &str = "\"\"\\"\\"\\\"";
-   |                   ~~~~~~~~~~~~~~~~~~~~
+LL -     let _: &str = '"\"\"\\"\\"';
+LL +     let _: &str = "\"\"\\"\\"\\\"";
+   |
 
 error[E0308]: mismatched types
   --> $DIR/str-as-char.rs:7:19
@@ -41,8 +44,9 @@ LL |     let _: &str = 'a';
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     let _: &str = "a";
-   |                   ~ ~
+LL -     let _: &str = 'a';
+LL +     let _: &str = "a";
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/infinite/infinite-assoc.stderr b/tests/ui/infinite/infinite-assoc.stderr
index e6b91f13241..c55d85942a4 100644
--- a/tests/ui/infinite/infinite-assoc.stderr
+++ b/tests/ui/infinite/infinite-assoc.stderr
@@ -6,8 +6,9 @@ LL | struct A((A, <S as Trait>::T<NOT_EXIST?>));
    |
 help: if you meant to express that the type might not contain a value, use the `Option` wrapper type
    |
-LL | struct A((A, <S as Trait>::T<Option<NOT_EXIST>>));
-   |                              +++++++         ~
+LL - struct A((A, <S as Trait>::T<NOT_EXIST?>));
+LL + struct A((A, <S as Trait>::T<Option<NOT_EXIST>>));
+   |
 
 error[E0072]: recursive type `A` has infinite size
   --> $DIR/infinite-assoc.rs:12:1
diff --git a/tests/ui/inline-const/cross-const-control-flow-125846.stderr b/tests/ui/inline-const/cross-const-control-flow-125846.stderr
index 4aa1c273504..0a910e70d09 100644
--- a/tests/ui/inline-const/cross-const-control-flow-125846.stderr
+++ b/tests/ui/inline-const/cross-const-control-flow-125846.stderr
@@ -26,8 +26,9 @@ LL |     const { &x };
    |
 help: consider using `const` instead of `let`
    |
-LL |     const x: /* Type */ = 1;
-   |     ~~~~~  ++++++++++++
+LL -     let x = 1;
+LL +     const x: /* Type */ = 1;
+   |
 
 error[E0728]: `await` is only allowed inside `async` functions and blocks
   --> $DIR/cross-const-control-flow-125846.rs:35:22
diff --git a/tests/ui/invalid/invalid-rustc_legacy_const_generics-issue-123077.stderr b/tests/ui/invalid/invalid-rustc_legacy_const_generics-issue-123077.stderr
index 7e05ae4f20c..d92836aa063 100644
--- a/tests/ui/invalid/invalid-rustc_legacy_const_generics-issue-123077.stderr
+++ b/tests/ui/invalid/invalid-rustc_legacy_const_generics-issue-123077.stderr
@@ -6,8 +6,9 @@ LL |     std::arch::x86_64::_mm_blend_ps(loop {}, loop {}, || ());
    |
 help: try using a const generic argument instead
    |
-LL |     std::arch::x86_64::_mm_blend_ps::<{ || () }>(loop {}, loop {});
-   |                                    +++++++++++++ ~~~~~~~~~~~~~~~~
+LL -     std::arch::x86_64::_mm_blend_ps(loop {}, loop {}, || ());
+LL +     std::arch::x86_64::_mm_blend_ps::<{ || () }>(loop {}, loop {});
+   |
 
 error: invalid argument to a legacy const generic: cannot have const blocks, closures, async blocks or items
   --> $DIR/invalid-rustc_legacy_const_generics-issue-123077.rs:11:59
@@ -17,8 +18,9 @@ LL |     std::arch::x86_64::_mm_blend_ps(loop {}, loop {}, 5 + || ());
    |
 help: try using a const generic argument instead
    |
-LL |     std::arch::x86_64::_mm_blend_ps::<{ 5 + (|| ()) }>(loop {}, loop {});
-   |                                    +++++++++++++++++++ ~~~~~~~~~~~~~~~~
+LL -     std::arch::x86_64::_mm_blend_ps(loop {}, loop {}, 5 + || ());
+LL +     std::arch::x86_64::_mm_blend_ps::<{ 5 + (|| ()) }>(loop {}, loop {});
+   |
 
 error: invalid argument to a legacy const generic: cannot have const blocks, closures, async blocks or items
   --> $DIR/invalid-rustc_legacy_const_generics-issue-123077.rs:14:61
@@ -28,8 +30,9 @@ LL |     std::arch::x86_64::_mm_blend_ps(loop {}, loop {}, foo::<{ 1 + 2 }>());
    |
 help: try using a const generic argument instead
    |
-LL |     std::arch::x86_64::_mm_blend_ps::<{ foo::<{ 1 + 2 }>() }>(loop {}, loop {});
-   |                                    ++++++++++++++++++++++++++ ~~~~~~~~~~~~~~~~
+LL -     std::arch::x86_64::_mm_blend_ps(loop {}, loop {}, foo::<{ 1 + 2 }>());
+LL +     std::arch::x86_64::_mm_blend_ps::<{ foo::<{ 1 + 2 }>() }>(loop {}, loop {});
+   |
 
 error: invalid argument to a legacy const generic: cannot have const blocks, closures, async blocks or items
   --> $DIR/invalid-rustc_legacy_const_generics-issue-123077.rs:17:61
@@ -39,8 +42,9 @@ LL |     std::arch::x86_64::_mm_blend_ps(loop {}, loop {}, foo::<3>());
    |
 help: try using a const generic argument instead
    |
-LL |     std::arch::x86_64::_mm_blend_ps::<{ foo::<3>() }>(loop {}, loop {});
-   |                                    ++++++++++++++++++ ~~~~~~~~~~~~~~~~
+LL -     std::arch::x86_64::_mm_blend_ps(loop {}, loop {}, foo::<3>());
+LL +     std::arch::x86_64::_mm_blend_ps::<{ foo::<3>() }>(loop {}, loop {});
+   |
 
 error: invalid argument to a legacy const generic: cannot have const blocks, closures, async blocks or items
   --> $DIR/invalid-rustc_legacy_const_generics-issue-123077.rs:20:56
@@ -50,8 +54,9 @@ LL |     std::arch::x86_64::_mm_blend_ps(loop {}, loop {}, &const {});
    |
 help: try using a const generic argument instead
    |
-LL |     std::arch::x86_64::_mm_blend_ps::<{ &const {} }>(loop {}, loop {});
-   |                                    +++++++++++++++++ ~~~~~~~~~~~~~~~~
+LL -     std::arch::x86_64::_mm_blend_ps(loop {}, loop {}, &const {});
+LL +     std::arch::x86_64::_mm_blend_ps::<{ &const {} }>(loop {}, loop {});
+   |
 
 error: invalid argument to a legacy const generic: cannot have const blocks, closures, async blocks or items
   --> $DIR/invalid-rustc_legacy_const_generics-issue-123077.rs:24:9
@@ -75,8 +80,9 @@ LL |     std::arch::x86_64::_mm_inserti_si64(loop {}, loop {}, || (), 1 + || ())
    |
 help: try using a const generic argument instead
    |
-LL |     std::arch::x86_64::_mm_inserti_si64::<{ || () }, { 1 + (|| ()) }>(loop {}, loop {});
-   |                                        ++++++++++++++++++++++++++++++ ~~~~~~~~~~~~~~~~
+LL -     std::arch::x86_64::_mm_inserti_si64(loop {}, loop {}, || (), 1 + || ());
+LL +     std::arch::x86_64::_mm_inserti_si64::<{ || () }, { 1 + (|| ()) }>(loop {}, loop {});
+   |
 
 error: aborting due to 7 previous errors
 
diff --git a/tests/ui/issues/issue-13497.stderr b/tests/ui/issues/issue-13497.stderr
index 7630848f6a5..8016b55d6aa 100644
--- a/tests/ui/issues/issue-13497.stderr
+++ b/tests/ui/issues/issue-13497.stderr
@@ -11,8 +11,9 @@ LL |     &'static str
    |      +++++++
 help: instead, you are more likely to want to return an owned value
    |
-LL |     String
-   |     ~~~~~~
+LL -     &str
+LL +     String
+   |
 
 error[E0515]: cannot return value referencing local variable `rawLines`
   --> $DIR/issue-13497.rs:5:5
diff --git a/tests/ui/issues/issue-17546.stderr b/tests/ui/issues/issue-17546.stderr
index cf7ed1bbd66..25a94dd9723 100644
--- a/tests/ui/issues/issue-17546.stderr
+++ b/tests/ui/issues/issue-17546.stderr
@@ -9,12 +9,14 @@ LL |     fn new() -> NoResult<MyEnum, String> {
    |
 help: try using the variant's enum
    |
-LL |     fn new() -> foo::MyEnum {
-   |                 ~~~~~~~~~~~
+LL -     fn new() -> NoResult<MyEnum, String> {
+LL +     fn new() -> foo::MyEnum {
+   |
 help: an enum with a similar name exists
    |
-LL |     fn new() -> Result<MyEnum, String> {
-   |                 ~~~~~~
+LL -     fn new() -> NoResult<MyEnum, String> {
+LL +     fn new() -> Result<MyEnum, String> {
+   |
 
 error[E0573]: expected type, found variant `Result`
   --> $DIR/issue-17546.rs:24:17
@@ -61,12 +63,14 @@ LL | fn newer() -> NoResult<foo::MyEnum, String> {
    |
 help: try using the variant's enum
    |
-LL | fn newer() -> foo::MyEnum {
-   |               ~~~~~~~~~~~
+LL - fn newer() -> NoResult<foo::MyEnum, String> {
+LL + fn newer() -> foo::MyEnum {
+   |
 help: an enum with a similar name exists
    |
-LL | fn newer() -> Result<foo::MyEnum, String> {
-   |               ~~~~~~
+LL - fn newer() -> NoResult<foo::MyEnum, String> {
+LL + fn newer() -> Result<foo::MyEnum, String> {
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/issues/issue-17800.stderr b/tests/ui/issues/issue-17800.stderr
index 2a15af50d02..322c77eaa1d 100644
--- a/tests/ui/issues/issue-17800.stderr
+++ b/tests/ui/issues/issue-17800.stderr
@@ -6,8 +6,9 @@ LL |         MyOption::MySome { x: 42 } => (),
    |
 help: use the tuple variant pattern syntax instead
    |
-LL |         MyOption::MySome(42) => (),
-   |                         ~~~~
+LL -         MyOption::MySome { x: 42 } => (),
+LL +         MyOption::MySome(42) => (),
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-18107.stderr b/tests/ui/issues/issue-18107.stderr
index 6956d6a34aa..177ef2f1c33 100644
--- a/tests/ui/issues/issue-18107.stderr
+++ b/tests/ui/issues/issue-18107.stderr
@@ -6,8 +6,9 @@ LL |     dyn AbstractRenderer
    |
 help: consider returning an `impl Trait` instead of a `dyn Trait`
    |
-LL |     impl AbstractRenderer
-   |     ~~~~
+LL -     dyn AbstractRenderer
+LL +     impl AbstractRenderer
+   |
 help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
    |
 LL ~     Box<dyn AbstractRenderer>
diff --git a/tests/ui/issues/issue-18446.stderr b/tests/ui/issues/issue-18446.stderr
index 08a9cfc644f..25ae303e902 100644
--- a/tests/ui/issues/issue-18446.stderr
+++ b/tests/ui/issues/issue-18446.stderr
@@ -16,8 +16,9 @@ LL |     fn foo(&self) {}
    |     ^^^^^^^^^^^^^
 help: disambiguate the method for candidate #1
    |
-LL |     T::foo(&x);
-   |     ~~~~~~~~~~
+LL -     x.foo();
+LL +     T::foo(&x);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-20225.stderr b/tests/ui/issues/issue-20225.stderr
index 7d6b09cf7f8..6a3c4e2a836 100644
--- a/tests/ui/issues/issue-20225.stderr
+++ b/tests/ui/issues/issue-20225.stderr
@@ -10,8 +10,9 @@ LL |   extern "rust-call" fn call(&self, (_,): (T,)) {}
               found signature `extern "rust-call" fn(&Foo, (_,))`
 help: change the parameter type to match the trait
    |
-LL |   extern "rust-call" fn call(&self, (_,): (&'a T,)) {}
-   |                                           ~~~~~~~~
+LL -   extern "rust-call" fn call(&self, (_,): (T,)) {}
+LL +   extern "rust-call" fn call(&self, (_,): (&'a T,)) {}
+   |
 
 error[E0053]: method `call_mut` has an incompatible type for trait
   --> $DIR/issue-20225.rs:11:51
@@ -25,8 +26,9 @@ LL |   extern "rust-call" fn call_mut(&mut self, (_,): (T,)) {}
               found signature `extern "rust-call" fn(&mut Foo, (_,))`
 help: change the parameter type to match the trait
    |
-LL |   extern "rust-call" fn call_mut(&mut self, (_,): (&'a T,)) {}
-   |                                                   ~~~~~~~~
+LL -   extern "rust-call" fn call_mut(&mut self, (_,): (T,)) {}
+LL +   extern "rust-call" fn call_mut(&mut self, (_,): (&'a T,)) {}
+   |
 
 error[E0053]: method `call_once` has an incompatible type for trait
   --> $DIR/issue-20225.rs:18:47
@@ -41,8 +43,9 @@ LL |   extern "rust-call" fn call_once(self, (_,): (T,)) {}
               found signature `extern "rust-call" fn(Foo, (_,))`
 help: change the parameter type to match the trait
    |
-LL |   extern "rust-call" fn call_once(self, (_,): (&'a T,)) {}
-   |                                               ~~~~~~~~
+LL -   extern "rust-call" fn call_once(self, (_,): (T,)) {}
+LL +   extern "rust-call" fn call_once(self, (_,): (&'a T,)) {}
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/issues/issue-21332.stderr b/tests/ui/issues/issue-21332.stderr
index 7c960f7646d..237b3acc9b4 100644
--- a/tests/ui/issues/issue-21332.stderr
+++ b/tests/ui/issues/issue-21332.stderr
@@ -8,8 +8,9 @@ LL |     fn next(&mut self) -> Result<i32, i32> { Ok(7) }
               found signature `fn(&mut S) -> Result<i32, i32>`
 help: change the output type to match the trait
    |
-LL |     fn next(&mut self) -> Option<i32> { Ok(7) }
-   |                           ~~~~~~~~~~~
+LL -     fn next(&mut self) -> Result<i32, i32> { Ok(7) }
+LL +     fn next(&mut self) -> Option<i32> { Ok(7) }
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-23041.stderr b/tests/ui/issues/issue-23041.stderr
index 0142926dd15..bd0e457fa9d 100644
--- a/tests/ui/issues/issue-23041.stderr
+++ b/tests/ui/issues/issue-23041.stderr
@@ -6,8 +6,9 @@ LL |     b.downcast_ref::<fn(_)->_>();
    |
 help: consider specifying the generic argument
    |
-LL |     b.downcast_ref::<fn(_) -> _>();
-   |                   ~~~~~~~~~~~~~~
+LL -     b.downcast_ref::<fn(_)->_>();
+LL +     b.downcast_ref::<fn(_) -> _>();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-23073.stderr b/tests/ui/issues/issue-23073.stderr
index 6a61df8d46b..8aa86887bcf 100644
--- a/tests/ui/issues/issue-23073.stderr
+++ b/tests/ui/issues/issue-23073.stderr
@@ -6,8 +6,9 @@ LL |     type FooT = <<Self as Bar>::Foo>::T;
    |
 help: if there were a trait named `Example` with associated type `T` implemented for `<Self as Bar>::Foo`, you could use the fully-qualified path
    |
-LL |     type FooT = <<Self as Bar>::Foo as Example>::T;
-   |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     type FooT = <<Self as Bar>::Foo>::T;
+LL +     type FooT = <<Self as Bar>::Foo as Example>::T;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-23217.stderr b/tests/ui/issues/issue-23217.stderr
index d14da75ab72..830d260f99d 100644
--- a/tests/ui/issues/issue-23217.stderr
+++ b/tests/ui/issues/issue-23217.stderr
@@ -8,8 +8,9 @@ LL |     B = SomeEnum::A,
    |
 help: there is a variant with a similar name
    |
-LL |     B = SomeEnum::B,
-   |                   ~
+LL -     B = SomeEnum::A,
+LL +     B = SomeEnum::B,
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-23589.stderr b/tests/ui/issues/issue-23589.stderr
index 21d383b0e8c..726efea1d6f 100644
--- a/tests/ui/issues/issue-23589.stderr
+++ b/tests/ui/issues/issue-23589.stderr
@@ -6,8 +6,9 @@ LL |     let v: Vec(&str) = vec!['1', '2'];
    |
 help: use angle brackets instead
    |
-LL |     let v: Vec<&str> = vec!['1', '2'];
-   |               ~    ~
+LL -     let v: Vec(&str) = vec!['1', '2'];
+LL +     let v: Vec<&str> = vec!['1', '2'];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/issue-23589.rs:2:29
@@ -17,8 +18,9 @@ LL |     let v: Vec(&str) = vec!['1', '2'];
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     let v: Vec(&str) = vec!["1", '2'];
-   |                             ~ ~
+LL -     let v: Vec(&str) = vec!['1', '2'];
+LL +     let v: Vec(&str) = vec!["1", '2'];
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/issues/issue-27433.stderr b/tests/ui/issues/issue-27433.stderr
index f6d5fc2b768..d8fd3d84ecb 100644
--- a/tests/ui/issues/issue-27433.stderr
+++ b/tests/ui/issues/issue-27433.stderr
@@ -6,8 +6,9 @@ LL |     const FOO : u32 = foo;
    |
 help: consider using `let` instead of `const`
    |
-LL |     let FOO : u32 = foo;
-   |     ~~~
+LL -     const FOO : u32 = foo;
+LL +     let FOO : u32 = foo;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-28971.stderr b/tests/ui/issues/issue-28971.stderr
index 7ca57d6b998..fd689a2b36e 100644
--- a/tests/ui/issues/issue-28971.stderr
+++ b/tests/ui/issues/issue-28971.stderr
@@ -9,8 +9,9 @@ LL |             Foo::Baz(..) => (),
    |
 help: there is a variant with a similar name
    |
-LL |             Foo::Bar(..) => (),
-   |                  ~~~
+LL -             Foo::Baz(..) => (),
+LL +             Foo::Bar(..) => (),
+   |
 
 error[E0596]: cannot borrow `f` as mutable, as it is not declared as mutable
   --> $DIR/issue-28971.rs:15:5
diff --git a/tests/ui/issues/issue-32004.stderr b/tests/ui/issues/issue-32004.stderr
index 2d2ed5a6301..88395cd8520 100644
--- a/tests/ui/issues/issue-32004.stderr
+++ b/tests/ui/issues/issue-32004.stderr
@@ -11,12 +11,14 @@ LL |         Foo::Bar => {}
    |
 help: use the tuple variant pattern syntax instead
    |
-LL |         Foo::Bar(_) => {}
-   |         ~~~~~~~~~~~
+LL -         Foo::Bar => {}
+LL +         Foo::Bar(_) => {}
+   |
 help: a unit variant with a similar name exists
    |
-LL |         Foo::Baz => {}
-   |              ~~~
+LL -         Foo::Bar => {}
+LL +         Foo::Baz => {}
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found unit struct `S`
   --> $DIR/issue-32004.rs:16:9
diff --git a/tests/ui/issues/issue-34209.stderr b/tests/ui/issues/issue-34209.stderr
index 4c61d250f52..83b40d0c081 100644
--- a/tests/ui/issues/issue-34209.stderr
+++ b/tests/ui/issues/issue-34209.stderr
@@ -9,8 +9,9 @@ LL |         S::B {} => {},
    |
 help: there is a variant with a similar name
    |
-LL |         S::A {} => {},
-   |            ~
+LL -         S::B {} => {},
+LL +         S::A {} => {},
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-3521-2.stderr b/tests/ui/issues/issue-3521-2.stderr
index a12241cb1df..ecf1ad0403d 100644
--- a/tests/ui/issues/issue-3521-2.stderr
+++ b/tests/ui/issues/issue-3521-2.stderr
@@ -6,8 +6,9 @@ LL |     static y: isize = foo + 1;
    |
 help: consider using `let` instead of `static`
    |
-LL |     let y: isize = foo + 1;
-   |     ~~~
+LL -     static y: isize = foo + 1;
+LL +     let y: isize = foo + 1;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-3668-non-constant-value-in-constant/issue-3668-2.stderr b/tests/ui/issues/issue-3668-non-constant-value-in-constant/issue-3668-2.stderr
index 9661dbf2f62..f87514ba83b 100644
--- a/tests/ui/issues/issue-3668-non-constant-value-in-constant/issue-3668-2.stderr
+++ b/tests/ui/issues/issue-3668-non-constant-value-in-constant/issue-3668-2.stderr
@@ -6,8 +6,9 @@ LL |     static child: isize = x + 1;
    |
 help: consider using `let` instead of `static`
    |
-LL |     let child: isize = x + 1;
-   |     ~~~
+LL -     static child: isize = x + 1;
+LL +     let child: isize = x + 1;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-3668-non-constant-value-in-constant/issue-3668.stderr b/tests/ui/issues/issue-3668-non-constant-value-in-constant/issue-3668.stderr
index 7fad45f4b1a..06e0192d957 100644
--- a/tests/ui/issues/issue-3668-non-constant-value-in-constant/issue-3668.stderr
+++ b/tests/ui/issues/issue-3668-non-constant-value-in-constant/issue-3668.stderr
@@ -6,8 +6,9 @@ LL |        static childVal: Box<P> = self.child.get();
    |
 help: consider using `let` instead of `static`
    |
-LL |        let childVal: Box<P> = self.child.get();
-   |        ~~~
+LL -        static childVal: Box<P> = self.child.get();
+LL +        let childVal: Box<P> = self.child.get();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-3702-2.stderr b/tests/ui/issues/issue-3702-2.stderr
index 7ab6520a0ca..448263aafd4 100644
--- a/tests/ui/issues/issue-3702-2.stderr
+++ b/tests/ui/issues/issue-3702-2.stderr
@@ -16,12 +16,14 @@ LL |     fn to_int(&self) -> isize { 0 }
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
 help: disambiguate the method for candidate #1
    |
-LL |         Add::to_int(&self) + other.to_int()
-   |         ~~~~~~~~~~~~~~~~~~
+LL -         self.to_int() + other.to_int()
+LL +         Add::to_int(&self) + other.to_int()
+   |
 help: disambiguate the method for candidate #2
    |
-LL |         ToPrimitive::to_int(&self) + other.to_int()
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -         self.to_int() + other.to_int()
+LL +         ToPrimitive::to_int(&self) + other.to_int()
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-41652/issue-41652.stderr b/tests/ui/issues/issue-41652/issue-41652.stderr
index a5a2fab2ede..c8299f28d34 100644
--- a/tests/ui/issues/issue-41652/issue-41652.stderr
+++ b/tests/ui/issues/issue-41652/issue-41652.stderr
@@ -6,8 +6,9 @@ LL |         3.f()
    |
 help: you must specify a concrete type for this numeric value, like `i32`
    |
-LL |         3_i32.f()
-   |         ~~~~~
+LL -         3.f()
+LL +         3_i32.f()
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-41726.stderr b/tests/ui/issues/issue-41726.stderr
index 250bba222bf..d5123ab679f 100644
--- a/tests/ui/issues/issue-41726.stderr
+++ b/tests/ui/issues/issue-41726.stderr
@@ -7,8 +7,9 @@ LL |         things[src.as_str()].sort();
    = help: trait `IndexMut` is required to modify indexed content, but it is not implemented for `HashMap<String, Vec<String>>`
 help: to modify a `HashMap<String, Vec<String>>` use `.get_mut()`
    |
-LL |         if let Some(val) = things.get_mut(src.as_str()) { val.sort(); };
-   |         ++++++++++++++++++       ~~~~~~~~~            ~~~~~~~       +++
+LL -         things[src.as_str()].sort();
+LL +         if let Some(val) = things.get_mut(src.as_str()) { val.sort(); };
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-42312.stderr b/tests/ui/issues/issue-42312.stderr
index cbdc9ce0f83..68d9912e3b1 100644
--- a/tests/ui/issues/issue-42312.stderr
+++ b/tests/ui/issues/issue-42312.stderr
@@ -25,8 +25,9 @@ LL | pub fn f(_: dyn ToString) {}
    = help: unsized fn params are gated as an unstable feature
 help: you can use `impl Trait` as the argument type
    |
-LL | pub fn f(_: impl ToString) {}
-   |             ~~~~
+LL - pub fn f(_: dyn ToString) {}
+LL + pub fn f(_: impl ToString) {}
+   |
 help: function arguments must have a statically known size, borrowed types always have a known size
    |
 LL | pub fn f(_: &dyn ToString) {}
diff --git a/tests/ui/issues/issue-44239.stderr b/tests/ui/issues/issue-44239.stderr
index 1a047d4c63b..8048e32f149 100644
--- a/tests/ui/issues/issue-44239.stderr
+++ b/tests/ui/issues/issue-44239.stderr
@@ -6,8 +6,9 @@ LL |         const N: usize = n;
    |
 help: consider using `const` instead of `let`
    |
-LL |     const n: usize = 0;
-   |     ~~~~~
+LL -     let n: usize = 0;
+LL +     const n: usize = 0;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-47073-zero-padded-tuple-struct-indices.stderr b/tests/ui/issues/issue-47073-zero-padded-tuple-struct-indices.stderr
index 0aa1ae7222f..0a6fe24d5e3 100644
--- a/tests/ui/issues/issue-47073-zero-padded-tuple-struct-indices.stderr
+++ b/tests/ui/issues/issue-47073-zero-padded-tuple-struct-indices.stderr
@@ -6,8 +6,9 @@ LL |     let _condemned = justice.00;
    |
 help: a field with a similar name exists
    |
-LL |     let _condemned = justice.0;
-   |                              ~
+LL -     let _condemned = justice.00;
+LL +     let _condemned = justice.0;
+   |
 
 error[E0609]: no field `001` on type `Verdict`
   --> $DIR/issue-47073-zero-padded-tuple-struct-indices.rs:10:31
diff --git a/tests/ui/issues/issue-4736.stderr b/tests/ui/issues/issue-4736.stderr
index c1ae2c47b43..b099e528ca8 100644
--- a/tests/ui/issues/issue-4736.stderr
+++ b/tests/ui/issues/issue-4736.stderr
@@ -9,8 +9,9 @@ LL |     let z = NonCopyable{ p: () };
    |
 help: `NonCopyable` is a tuple struct, use the appropriate syntax
    |
-LL |     let z = NonCopyable(/* () */);
-   |             ~~~~~~~~~~~~~~~~~~~~~
+LL -     let z = NonCopyable{ p: () };
+LL +     let z = NonCopyable(/* () */);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-50571.stderr b/tests/ui/issues/issue-50571.stderr
index 12256ded1c0..86709410670 100644
--- a/tests/ui/issues/issue-50571.stderr
+++ b/tests/ui/issues/issue-50571.stderr
@@ -6,8 +6,9 @@ LL |     fn foo([a, b]: [i32; 2]) {}
    |
 help: give this argument a name or use an underscore to ignore it
    |
-LL |     fn foo(_: [i32; 2]) {}
-   |            ~
+LL -     fn foo([a, b]: [i32; 2]) {}
+LL +     fn foo(_: [i32; 2]) {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-51874.stderr b/tests/ui/issues/issue-51874.stderr
index 5be3695dd45..18328450145 100644
--- a/tests/ui/issues/issue-51874.stderr
+++ b/tests/ui/issues/issue-51874.stderr
@@ -6,8 +6,9 @@ LL |     let a = (1.0).pow(1.0);
    |
 help: you must specify a concrete type for this numeric value, like `f32`
    |
-LL |     let a = (1.0_f32).pow(1.0);
-   |              ~~~~~~~
+LL -     let a = (1.0).pow(1.0);
+LL +     let a = (1.0_f32).pow(1.0);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-5358-1.stderr b/tests/ui/issues/issue-5358-1.stderr
index 1bb946ce4cb..f598cf33911 100644
--- a/tests/ui/issues/issue-5358-1.stderr
+++ b/tests/ui/issues/issue-5358-1.stderr
@@ -14,8 +14,9 @@ LL |         S(Either::Right(_)) => {}
    |         ++                +
 help: you might have meant to use field `0` whose type is `Either<usize, usize>`
    |
-LL |     match S(Either::Left(5)).0 {
-   |           ~~~~~~~~~~~~~~~~~~~~
+LL -     match S(Either::Left(5)) {
+LL +     match S(Either::Left(5)).0 {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-56175.stderr b/tests/ui/issues/issue-56175.stderr
index 6ed35c3a3d3..695aa2ac796 100644
--- a/tests/ui/issues/issue-56175.stderr
+++ b/tests/ui/issues/issue-56175.stderr
@@ -16,8 +16,9 @@ LL + use reexported_trait::Trait;
    |
 help: there is a method `trait_method_b` with a similar name
    |
-LL |     reexported_trait::FooStruct.trait_method_b();
-   |                                 ~~~~~~~~~~~~~~
+LL -     reexported_trait::FooStruct.trait_method();
+LL +     reexported_trait::FooStruct.trait_method_b();
+   |
 
 error[E0599]: no method named `trait_method_b` found for struct `FooStruct` in the current scope
   --> $DIR/issue-56175.rs:7:33
@@ -37,8 +38,9 @@ LL + use reexported_trait::TraitBRename;
    |
 help: there is a method `trait_method` with a similar name
    |
-LL |     reexported_trait::FooStruct.trait_method();
-   |                                 ~~~~~~~~~~~~
+LL -     reexported_trait::FooStruct.trait_method_b();
+LL +     reexported_trait::FooStruct.trait_method();
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741.stderr b/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741.stderr
index 3c19b68cffb..713a19f6cb0 100644
--- a/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741.stderr
+++ b/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741.stderr
@@ -10,8 +10,9 @@ LL |         T::A(a) | T::B(a) => a,
                 found enum `T`
 help: consider dereferencing the boxed value
    |
-LL |     let y = match *x {
-   |                   ~~
+LL -     let y = match x {
+LL +     let y = match *x {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/issue-57741.rs:20:19
@@ -25,8 +26,9 @@ LL |         T::A(a) | T::B(a) => a,
                 found enum `T`
 help: consider dereferencing the boxed value
    |
-LL |     let y = match *x {
-   |                   ~~
+LL -     let y = match x {
+LL +     let y = match *x {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/issue-57741.rs:27:9
@@ -40,8 +42,9 @@ LL |         S::A { a } | S::B { b: a } => a,
                 found enum `S`
 help: consider dereferencing the boxed value
    |
-LL |     let y = match *x {
-   |                   ~~
+LL -     let y = match x {
+LL +     let y = match *x {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/issue-57741.rs:27:22
@@ -55,8 +58,9 @@ LL |         S::A { a } | S::B { b: a } => a,
                 found enum `S`
 help: consider dereferencing the boxed value
    |
-LL |     let y = match *x {
-   |                   ~~
+LL -     let y = match x {
+LL +     let y = match *x {
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/issues/issue-5883.stderr b/tests/ui/issues/issue-5883.stderr
index d7278ec32f5..2ca437b8c47 100644
--- a/tests/ui/issues/issue-5883.stderr
+++ b/tests/ui/issues/issue-5883.stderr
@@ -22,8 +22,9 @@ LL |     r: dyn A + 'static
    = help: unsized fn params are gated as an unstable feature
 help: you can use `impl Trait` as the argument type
    |
-LL |     r: impl A + 'static
-   |        ~~~~
+LL -     r: dyn A + 'static
+LL +     r: impl A + 'static
+   |
 help: function arguments must have a statically known size, borrowed types always have a known size
    |
 LL |     r: &dyn A + 'static
diff --git a/tests/ui/issues/issue-69683.stderr b/tests/ui/issues/issue-69683.stderr
index c428ea9ea2c..b8e9e89e56e 100644
--- a/tests/ui/issues/issue-69683.stderr
+++ b/tests/ui/issues/issue-69683.stderr
@@ -7,8 +7,9 @@ LL |     0u16.foo(b);
    = note: cannot satisfy `<u8 as Element<_>>::Array == [u8; 3]`
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <u16 as Foo<I>>::foo(0u16, b);
-   |     +++++++++++++++++++++    ~
+LL -     0u16.foo(b);
+LL +     <u16 as Foo<I>>::foo(0u16, b);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/issue-69683.rs:30:10
@@ -34,8 +35,9 @@ LL |     fn foo(self, x: <u8 as Element<I>>::Array);
    |        --- required by a bound in this associated function
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <u16 as Foo<I>>::foo(0u16, b);
-   |     +++++++++++++++++++++    ~
+LL -     0u16.foo(b);
+LL +     <u16 as Foo<I>>::foo(0u16, b);
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/issues/issue-76077-inaccesible-private-fields/issue-76077-1.stderr b/tests/ui/issues/issue-76077-inaccesible-private-fields/issue-76077-1.stderr
index 8e77662b4ba..eabb0842112 100644
--- a/tests/ui/issues/issue-76077-inaccesible-private-fields/issue-76077-1.stderr
+++ b/tests/ui/issues/issue-76077-inaccesible-private-fields/issue-76077-1.stderr
@@ -6,8 +6,9 @@ LL |     let foo::Foo {} = foo::Foo::default();
    |
 help: ignore the inaccessible and unused fields
    |
-LL |     let foo::Foo { .. } = foo::Foo::default();
-   |                  ~~~~~~
+LL -     let foo::Foo {} = foo::Foo::default();
+LL +     let foo::Foo { .. } = foo::Foo::default();
+   |
 
 error: pattern requires `..` due to inaccessible fields
   --> $DIR/issue-76077-1.rs:16:9
diff --git a/tests/ui/issues/issue-76191.stderr b/tests/ui/issues/issue-76191.stderr
index 3b89ec7cb9c..a397d082142 100644
--- a/tests/ui/issues/issue-76191.stderr
+++ b/tests/ui/issues/issue-76191.stderr
@@ -24,8 +24,9 @@ LL |         RANGE => {}
             found struct `std::ops::RangeInclusive<i32>`
 help: you may want to move the range into the match block
    |
-LL |         0..=255 => {}
-   |         ~~~~~~~
+LL -         RANGE => {}
+LL +         0..=255 => {}
+   |
 
 error[E0308]: mismatched types
   --> $DIR/issue-76191.rs:16:9
diff --git a/tests/ui/issues/issue-78622.stderr b/tests/ui/issues/issue-78622.stderr
index 985d6dde9f2..432913a0fc9 100644
--- a/tests/ui/issues/issue-78622.stderr
+++ b/tests/ui/issues/issue-78622.stderr
@@ -6,8 +6,9 @@ LL |     S::A::<f> {}
    |
 help: if there were a trait named `Example` with associated type `A` implemented for `S`, you could use the fully-qualified path
    |
-LL |     <S as Example>::A::<f> {}
-   |     ~~~~~~~~~~~~~~~~~
+LL -     S::A::<f> {}
+LL +     <S as Example>::A::<f> {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-80607.stderr b/tests/ui/issues/issue-80607.stderr
index d096910297b..8f9f494c8b7 100644
--- a/tests/ui/issues/issue-80607.stderr
+++ b/tests/ui/issues/issue-80607.stderr
@@ -9,8 +9,9 @@ LL |     Enum::V1 { x }
    |
 help: `Enum::V1` is a tuple variant, use the appropriate syntax
    |
-LL |     Enum::V1(/* i32 */)
-   |             ~~~~~~~~~~~
+LL -     Enum::V1 { x }
+LL +     Enum::V1(/* i32 */)
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/issues/issue-8761.stderr b/tests/ui/issues/issue-8761.stderr
index c70093bafb6..4a9db568913 100644
--- a/tests/ui/issues/issue-8761.stderr
+++ b/tests/ui/issues/issue-8761.stderr
@@ -6,8 +6,9 @@ LL |     A = 1i64,
    |
 help: change the type of the numeric literal from `i64` to `isize`
    |
-LL |     A = 1isize,
-   |          ~~~~~
+LL -     A = 1i64,
+LL +     A = 1isize,
+   |
 
 error[E0308]: mismatched types
   --> $DIR/issue-8761.rs:5:9
@@ -17,8 +18,9 @@ LL |     B = 2u8
    |
 help: change the type of the numeric literal from `u8` to `isize`
    |
-LL |     B = 2isize
-   |          ~~~~~
+LL -     B = 2u8
+LL +     B = 2isize
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/iterators/into-iter-on-arrays-2018.stderr b/tests/ui/iterators/into-iter-on-arrays-2018.stderr
index 9d6bbf06c36..d4055c74f7c 100644
--- a/tests/ui/iterators/into-iter-on-arrays-2018.stderr
+++ b/tests/ui/iterators/into-iter-on-arrays-2018.stderr
@@ -9,12 +9,14 @@ LL |     let _: Iter<'_, i32> = array.into_iter();
    = note: `#[warn(array_into_iter)]` on by default
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
-LL |     let _: Iter<'_, i32> = array.iter();
-   |                                  ~~~~
+LL -     let _: Iter<'_, i32> = array.into_iter();
+LL +     let _: Iter<'_, i32> = array.iter();
+   |
 help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
    |
-LL |     let _: Iter<'_, i32> = IntoIterator::into_iter(array);
-   |                            ++++++++++++++++++++++++     ~
+LL -     let _: Iter<'_, i32> = array.into_iter();
+LL +     let _: Iter<'_, i32> = IntoIterator::into_iter(array);
+   |
 
 warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
   --> $DIR/into-iter-on-arrays-2018.rs:18:44
@@ -53,8 +55,9 @@ LL |     for _ in [1, 2, 3].into_iter() {}
    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
-LL |     for _ in [1, 2, 3].iter() {}
-   |                        ~~~~
+LL -     for _ in [1, 2, 3].into_iter() {}
+LL +     for _ in [1, 2, 3].iter() {}
+   |
 help: or remove `.into_iter()` to iterate by value
    |
 LL -     for _ in [1, 2, 3].into_iter() {}
diff --git a/tests/ui/iterators/into-iter-on-arrays-lint.stderr b/tests/ui/iterators/into-iter-on-arrays-lint.stderr
index da388d6b848..fb8fe79c7c9 100644
--- a/tests/ui/iterators/into-iter-on-arrays-lint.stderr
+++ b/tests/ui/iterators/into-iter-on-arrays-lint.stderr
@@ -9,12 +9,14 @@ LL |     small.into_iter();
    = note: `#[warn(array_into_iter)]` on by default
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
-LL |     small.iter();
-   |           ~~~~
+LL -     small.into_iter();
+LL +     small.iter();
+   |
 help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
    |
-LL |     IntoIterator::into_iter(small);
-   |     ++++++++++++++++++++++++     ~
+LL -     small.into_iter();
+LL +     IntoIterator::into_iter(small);
+   |
 
 warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
   --> $DIR/into-iter-on-arrays-lint.rs:14:12
@@ -26,12 +28,14 @@ LL |     [1, 2].into_iter();
    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
-LL |     [1, 2].iter();
-   |            ~~~~
+LL -     [1, 2].into_iter();
+LL +     [1, 2].iter();
+   |
 help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
    |
-LL |     IntoIterator::into_iter([1, 2]);
-   |     ++++++++++++++++++++++++      ~
+LL -     [1, 2].into_iter();
+LL +     IntoIterator::into_iter([1, 2]);
+   |
 
 warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
   --> $DIR/into-iter-on-arrays-lint.rs:17:9
@@ -43,12 +47,14 @@ LL |     big.into_iter();
    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
-LL |     big.iter();
-   |         ~~~~
+LL -     big.into_iter();
+LL +     big.iter();
+   |
 help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
    |
-LL |     IntoIterator::into_iter(big);
-   |     ++++++++++++++++++++++++   ~
+LL -     big.into_iter();
+LL +     IntoIterator::into_iter(big);
+   |
 
 warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
   --> $DIR/into-iter-on-arrays-lint.rs:20:15
@@ -60,12 +66,14 @@ LL |     [0u8; 33].into_iter();
    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
-LL |     [0u8; 33].iter();
-   |               ~~~~
+LL -     [0u8; 33].into_iter();
+LL +     [0u8; 33].iter();
+   |
 help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
    |
-LL |     IntoIterator::into_iter([0u8; 33]);
-   |     ++++++++++++++++++++++++         ~
+LL -     [0u8; 33].into_iter();
+LL +     IntoIterator::into_iter([0u8; 33]);
+   |
 
 warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
   --> $DIR/into-iter-on-arrays-lint.rs:24:21
diff --git a/tests/ui/iterators/into-iter-on-boxed-slices-2021.stderr b/tests/ui/iterators/into-iter-on-boxed-slices-2021.stderr
index e8298030399..7a5a2be5ef0 100644
--- a/tests/ui/iterators/into-iter-on-boxed-slices-2021.stderr
+++ b/tests/ui/iterators/into-iter-on-boxed-slices-2021.stderr
@@ -9,12 +9,14 @@ LL |     let _: Iter<'_, i32> = boxed_slice.into_iter();
    = note: `#[warn(boxed_slice_into_iter)]` on by default
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
-LL |     let _: Iter<'_, i32> = boxed_slice.iter();
-   |                                        ~~~~
+LL -     let _: Iter<'_, i32> = boxed_slice.into_iter();
+LL +     let _: Iter<'_, i32> = boxed_slice.iter();
+   |
 help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
    |
-LL |     let _: Iter<'_, i32> = IntoIterator::into_iter(boxed_slice);
-   |                            ++++++++++++++++++++++++           ~
+LL -     let _: Iter<'_, i32> = boxed_slice.into_iter();
+LL +     let _: Iter<'_, i32> = IntoIterator::into_iter(boxed_slice);
+   |
 
 warning: this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<Box<[T]> as IntoIterator>::into_iter` in Rust 2024
   --> $DIR/into-iter-on-boxed-slices-2021.rs:18:58
@@ -53,8 +55,9 @@ LL |     for _ in (Box::new([1, 2, 3]) as Box<[_]>).into_iter() {}
    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/intoiterator-box-slice.html>
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
-LL |     for _ in (Box::new([1, 2, 3]) as Box<[_]>).iter() {}
-   |                                                ~~~~
+LL -     for _ in (Box::new([1, 2, 3]) as Box<[_]>).into_iter() {}
+LL +     for _ in (Box::new([1, 2, 3]) as Box<[_]>).iter() {}
+   |
 help: or remove `.into_iter()` to iterate by value
    |
 LL -     for _ in (Box::new([1, 2, 3]) as Box<[_]>).into_iter() {}
diff --git a/tests/ui/iterators/into-iter-on-boxed-slices-lint.stderr b/tests/ui/iterators/into-iter-on-boxed-slices-lint.stderr
index 8a88c7816d2..6762ed28d36 100644
--- a/tests/ui/iterators/into-iter-on-boxed-slices-lint.stderr
+++ b/tests/ui/iterators/into-iter-on-boxed-slices-lint.stderr
@@ -9,12 +9,14 @@ LL |     boxed.into_iter();
    = note: `#[warn(boxed_slice_into_iter)]` on by default
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
-LL |     boxed.iter();
-   |           ~~~~
+LL -     boxed.into_iter();
+LL +     boxed.iter();
+   |
 help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
    |
-LL |     IntoIterator::into_iter(boxed);
-   |     ++++++++++++++++++++++++     ~
+LL -     boxed.into_iter();
+LL +     IntoIterator::into_iter(boxed);
+   |
 
 warning: this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<Box<[T]> as IntoIterator>::into_iter` in Rust 2024
   --> $DIR/into-iter-on-boxed-slices-lint.rs:13:29
diff --git a/tests/ui/label/label_misspelled.stderr b/tests/ui/label/label_misspelled.stderr
index 4b5b9e92ca0..3f4020e7be0 100644
--- a/tests/ui/label/label_misspelled.stderr
+++ b/tests/ui/label/label_misspelled.stderr
@@ -157,12 +157,14 @@ LL |         break foo;
    |
 help: use `break` on its own without a value inside this `while` loop
    |
-LL |         break;
-   |         ~~~~~
+LL -         break foo;
+LL +         break;
+   |
 help: alternatively, you might have meant to use the available loop label
    |
-LL |         break 'while_loop;
-   |               ~~~~~~~~~~~
+LL -         break foo;
+LL +         break 'while_loop;
+   |
 
 error[E0571]: `break` with value from a `while` loop
   --> $DIR/label_misspelled.rs:54:9
@@ -175,12 +177,14 @@ LL |         break foo;
    |
 help: use `break` on its own without a value inside this `while` loop
    |
-LL |         break;
-   |         ~~~~~
+LL -         break foo;
+LL +         break;
+   |
 help: alternatively, you might have meant to use the available loop label
    |
-LL |         break 'while_let;
-   |               ~~~~~~~~~~
+LL -         break foo;
+LL +         break 'while_let;
+   |
 
 error[E0571]: `break` with value from a `for` loop
   --> $DIR/label_misspelled.rs:59:9
@@ -193,12 +197,14 @@ LL |         break foo;
    |
 help: use `break` on its own without a value inside this `for` loop
    |
-LL |         break;
-   |         ~~~~~
+LL -         break foo;
+LL +         break;
+   |
 help: alternatively, you might have meant to use the available loop label
    |
-LL |         break 'for_loop;
-   |               ~~~~~~~~~
+LL -         break foo;
+LL +         break 'for_loop;
+   |
 
 error: aborting due to 11 previous errors; 10 warnings emitted
 
diff --git a/tests/ui/let-else/let-else-deref-coercion.stderr b/tests/ui/let-else/let-else-deref-coercion.stderr
index da8b1f4c48e..07347af76e4 100644
--- a/tests/ui/let-else/let-else-deref-coercion.stderr
+++ b/tests/ui/let-else/let-else-deref-coercion.stderr
@@ -8,8 +8,9 @@ LL |         let Bar::Present(z) = self else {
    |
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |         let Bar::Present(z) = &**self else {
-   |                               ~~~~~~~
+LL -         let Bar::Present(z) = self else {
+LL +         let Bar::Present(z) = &**self else {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/let-else-deref-coercion.rs:68:13
@@ -21,8 +22,9 @@ LL |         let Bar(z) = x;
    |
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |         let Bar(z) = &**x;
-   |                      ~~~~
+LL -         let Bar(z) = x;
+LL +         let Bar(z) = &**x;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/lexer/lex-bad-char-literals-1.stderr b/tests/ui/lexer/lex-bad-char-literals-1.stderr
index 9dc0a338063..49683c10237 100644
--- a/tests/ui/lexer/lex-bad-char-literals-1.stderr
+++ b/tests/ui/lexer/lex-bad-char-literals-1.stderr
@@ -19,8 +19,9 @@ LL |     '\●'
    = help: for more information, visit <https://doc.rust-lang.org/reference/tokens.html#literals>
 help: if you meant to write a literal backslash (perhaps escaping in a regular expression), consider a raw string literal
    |
-LL |     r"\●"
-   |     ~~~~~
+LL -     '\●'
+LL +     r"\●"
+   |
 
 error: unknown character escape: `\u{25cf}`
   --> $DIR/lex-bad-char-literals-1.rs:14:7
@@ -31,8 +32,9 @@ LL |     "\●"
    = help: for more information, visit <https://doc.rust-lang.org/reference/tokens.html#literals>
 help: if you meant to write a literal backslash (perhaps escaping in a regular expression), consider a raw string literal
    |
-LL |     r"\●"
-   |     ~~~~~
+LL -     "\●"
+LL +     r"\●"
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/lexer/lex-bad-char-literals-2.stderr b/tests/ui/lexer/lex-bad-char-literals-2.stderr
index 76cde00404a..fa063072865 100644
--- a/tests/ui/lexer/lex-bad-char-literals-2.stderr
+++ b/tests/ui/lexer/lex-bad-char-literals-2.stderr
@@ -6,8 +6,9 @@ LL |     'nope'
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     "nope"
-   |     ~    ~
+LL -     'nope'
+LL +     "nope"
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/lexer/lex-bad-char-literals-3.stderr b/tests/ui/lexer/lex-bad-char-literals-3.stderr
index 3f339b2ef7d..d8ce17d13a9 100644
--- a/tests/ui/lexer/lex-bad-char-literals-3.stderr
+++ b/tests/ui/lexer/lex-bad-char-literals-3.stderr
@@ -6,8 +6,9 @@ LL | static c: char = '●●';
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL | static c: char = "●●";
-   |                  ~  ~
+LL - static c: char = '●●';
+LL + static c: char = "●●";
+   |
 
 error: character literal may only contain one codepoint
   --> $DIR/lex-bad-char-literals-3.rs:5:20
@@ -17,8 +18,9 @@ LL |     let ch: &str = '●●';
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     let ch: &str = "●●";
-   |                    ~  ~
+LL -     let ch: &str = '●●';
+LL +     let ch: &str = "●●";
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/lexer/lex-bad-char-literals-5.stderr b/tests/ui/lexer/lex-bad-char-literals-5.stderr
index 8004157e87f..0322783871e 100644
--- a/tests/ui/lexer/lex-bad-char-literals-5.stderr
+++ b/tests/ui/lexer/lex-bad-char-literals-5.stderr
@@ -6,8 +6,9 @@ LL | static c: char = '\x10\x10';
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL | static c: char = "\x10\x10";
-   |                  ~        ~
+LL - static c: char = '\x10\x10';
+LL + static c: char = "\x10\x10";
+   |
 
 error: character literal may only contain one codepoint
   --> $DIR/lex-bad-char-literals-5.rs:5:20
@@ -17,8 +18,9 @@ LL |     let ch: &str = '\x10\x10';
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     let ch: &str = "\x10\x10";
-   |                    ~        ~
+LL -     let ch: &str = '\x10\x10';
+LL +     let ch: &str = "\x10\x10";
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/lexer/lex-bad-char-literals-6.stderr b/tests/ui/lexer/lex-bad-char-literals-6.stderr
index 96d409d59bb..e5fd62bc0a9 100644
--- a/tests/ui/lexer/lex-bad-char-literals-6.stderr
+++ b/tests/ui/lexer/lex-bad-char-literals-6.stderr
@@ -6,8 +6,9 @@ LL |     let x: &str = 'ab';
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     let x: &str = "ab";
-   |                   ~  ~
+LL -     let x: &str = 'ab';
+LL +     let x: &str = "ab";
+   |
 
 error: character literal may only contain one codepoint
   --> $DIR/lex-bad-char-literals-6.rs:4:19
@@ -17,8 +18,9 @@ LL |     let y: char = 'cd';
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     let y: char = "cd";
-   |                   ~  ~
+LL -     let y: char = 'cd';
+LL +     let y: char = "cd";
+   |
 
 error: character literal may only contain one codepoint
   --> $DIR/lex-bad-char-literals-6.rs:6:13
@@ -28,8 +30,9 @@ LL |     let z = 'ef';
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     let z = "ef";
-   |             ~  ~
+LL -     let z = 'ef';
+LL +     let z = "ef";
+   |
 
 error[E0308]: mismatched types
   --> $DIR/lex-bad-char-literals-6.rs:13:20
diff --git a/tests/ui/lexer/lex-bad-str-literal-as-char-1.stderr b/tests/ui/lexer/lex-bad-str-literal-as-char-1.stderr
index 57c5f82704e..81ee697802b 100644
--- a/tests/ui/lexer/lex-bad-str-literal-as-char-1.stderr
+++ b/tests/ui/lexer/lex-bad-str-literal-as-char-1.stderr
@@ -6,8 +6,9 @@ LL |     println!('1 + 1');
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     println!("1 + 1");
-   |              ~     ~
+LL -     println!('1 + 1');
+LL +     println!("1 + 1");
+   |
 
 error: lifetimes cannot start with a number
   --> $DIR/lex-bad-str-literal-as-char-1.rs:3:14
diff --git a/tests/ui/lexer/lex-bad-str-literal-as-char-2.stderr b/tests/ui/lexer/lex-bad-str-literal-as-char-2.stderr
index f64761af641..ed1303cd428 100644
--- a/tests/ui/lexer/lex-bad-str-literal-as-char-2.stderr
+++ b/tests/ui/lexer/lex-bad-str-literal-as-char-2.stderr
@@ -6,8 +6,9 @@ LL |     println!(' 1 + 1');
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     println!(" 1 + 1");
-   |              ~      ~
+LL -     println!(' 1 + 1');
+LL +     println!(" 1 + 1");
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/lexer/lex-bad-str-literal-as-char-3.rust2015.stderr b/tests/ui/lexer/lex-bad-str-literal-as-char-3.rust2015.stderr
index 06f12742667..2f92225de1f 100644
--- a/tests/ui/lexer/lex-bad-str-literal-as-char-3.rust2015.stderr
+++ b/tests/ui/lexer/lex-bad-str-literal-as-char-3.rust2015.stderr
@@ -6,8 +6,9 @@ LL |     println!('hello world');
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     println!("hello world");
-   |              ~           ~
+LL -     println!('hello world');
+LL +     println!("hello world");
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/lexer/lex-bad-str-literal-as-char-3.rust2018.stderr b/tests/ui/lexer/lex-bad-str-literal-as-char-3.rust2018.stderr
index 06f12742667..2f92225de1f 100644
--- a/tests/ui/lexer/lex-bad-str-literal-as-char-3.rust2018.stderr
+++ b/tests/ui/lexer/lex-bad-str-literal-as-char-3.rust2018.stderr
@@ -6,8 +6,9 @@ LL |     println!('hello world');
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     println!("hello world");
-   |              ~           ~
+LL -     println!('hello world');
+LL +     println!("hello world");
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/lexer/lex-bad-str-literal-as-char-3.rust2021.stderr b/tests/ui/lexer/lex-bad-str-literal-as-char-3.rust2021.stderr
index 4170560cfcb..e10046e58e4 100644
--- a/tests/ui/lexer/lex-bad-str-literal-as-char-3.rust2021.stderr
+++ b/tests/ui/lexer/lex-bad-str-literal-as-char-3.rust2021.stderr
@@ -7,8 +7,9 @@ LL |     println!('hello world');
    = note: prefixed identifiers and literals are reserved since Rust 2021
 help: if you meant to write a string literal, use double quotes
    |
-LL |     println!("hello world");
-   |              ~           ~
+LL -     println!('hello world');
+LL +     println!("hello world");
+   |
 
 error[E0762]: unterminated character literal
   --> $DIR/lex-bad-str-literal-as-char-3.rs:5:26
@@ -18,8 +19,9 @@ LL |     println!('hello world');
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     println!("hello world");
-   |              ~           ~
+LL -     println!('hello world');
+LL +     println!("hello world");
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/lexer/lex-bad-str-literal-as-char-4.stderr b/tests/ui/lexer/lex-bad-str-literal-as-char-4.stderr
index af42b5b7f7b..5633783e738 100644
--- a/tests/ui/lexer/lex-bad-str-literal-as-char-4.stderr
+++ b/tests/ui/lexer/lex-bad-str-literal-as-char-4.stderr
@@ -7,8 +7,9 @@ LL |         println!('hello world');
    = note: prefixed identifiers and literals are reserved since Rust 2021
 help: if you meant to write a string literal, use double quotes
    |
-LL |         println!("hello world");
-   |                  ~           ~
+LL -         println!('hello world');
+LL +         println!("hello world");
+   |
 
 error[E0762]: unterminated character literal
   --> $DIR/lex-bad-str-literal-as-char-4.rs:4:30
@@ -18,8 +19,9 @@ LL |         println!('hello world');
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |         println!("hello world");
-   |                  ~           ~
+LL -         println!('hello world');
+LL +         println!("hello world");
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/lifetimes/borrowck-let-suggestion.stderr b/tests/ui/lifetimes/borrowck-let-suggestion.stderr
index cca7f52957e..e0adb164140 100644
--- a/tests/ui/lifetimes/borrowck-let-suggestion.stderr
+++ b/tests/ui/lifetimes/borrowck-let-suggestion.stderr
@@ -12,8 +12,9 @@ LL |     x.use_mut();
    = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: consider consuming the `Vec<i32>` when turning it into an `Iterator`
    |
-LL |     let mut x = vec![1].into_iter();
-   |                         ~~~~~~~~~
+LL -     let mut x = vec![1].iter();
+LL +     let mut x = vec![1].into_iter();
+   |
 help: consider using a `let` binding to create a longer lived value
    |
 LL ~     let binding = vec![1];
diff --git a/tests/ui/lifetimes/fullwidth-ampersand.stderr b/tests/ui/lifetimes/fullwidth-ampersand.stderr
index 4645254f4b7..7fa7343620b 100644
--- a/tests/ui/lifetimes/fullwidth-ampersand.stderr
+++ b/tests/ui/lifetimes/fullwidth-ampersand.stderr
@@ -6,8 +6,9 @@ LL | fn f(_: &&()) -> &() { todo!() }
    |
 help: Unicode character '&' (Fullwidth Ampersand) looks like '&' (Ampersand), but it is not
    |
-LL | fn f(_: &&()) -> &() { todo!() }
-   |          ~
+LL - fn f(_: &&()) -> &() { todo!() }
+LL + fn f(_: &&()) -> &() { todo!() }
+   |
 
 error[E0106]: missing lifetime specifier
   --> $DIR/fullwidth-ampersand.rs:3:18
diff --git a/tests/ui/lifetimes/issue-26638.stderr b/tests/ui/lifetimes/issue-26638.stderr
index dc18e0f1f7a..8aa94f66812 100644
--- a/tests/ui/lifetimes/issue-26638.stderr
+++ b/tests/ui/lifetimes/issue-26638.stderr
@@ -27,8 +27,9 @@ LL | fn parse_type_2(iter: &fn(&u8)->&u8) -> &str { iter() }
    |                       +
 help: ...or alternatively, you might want to return an owned value
    |
-LL | fn parse_type_2(iter: fn(&u8)->&u8) -> String { iter() }
-   |                                        ~~~~~~
+LL - fn parse_type_2(iter: fn(&u8)->&u8) -> &str { iter() }
+LL + fn parse_type_2(iter: fn(&u8)->&u8) -> String { iter() }
+   |
 
 error[E0106]: missing lifetime specifier
   --> $DIR/issue-26638.rs:9:22
@@ -43,8 +44,9 @@ LL | fn parse_type_3() -> &'static str { unimplemented!() }
    |                       +++++++
 help: instead, you are more likely to want to return an owned value
    |
-LL | fn parse_type_3() -> String { unimplemented!() }
-   |                      ~~~~~~
+LL - fn parse_type_3() -> &str { unimplemented!() }
+LL + fn parse_type_3() -> String { unimplemented!() }
+   |
 
 error[E0061]: this function takes 1 argument but 0 arguments were supplied
   --> $DIR/issue-26638.rs:4:47
@@ -54,8 +56,9 @@ LL | fn parse_type_2(iter: fn(&u8)->&u8) -> &str { iter() }
    |
 help: provide the argument
    |
-LL | fn parse_type_2(iter: fn(&u8)->&u8) -> &str { iter(/* &u8 */) }
-   |                                                   ~~~~~~~~~~~
+LL - fn parse_type_2(iter: fn(&u8)->&u8) -> &str { iter() }
+LL + fn parse_type_2(iter: fn(&u8)->&u8) -> &str { iter(/* &u8 */) }
+   |
 
 error[E0308]: mismatched types
   --> $DIR/issue-26638.rs:4:47
diff --git a/tests/ui/lifetimes/issue-90170-elision-mismatch.stderr b/tests/ui/lifetimes/issue-90170-elision-mismatch.stderr
index 5e16c57a618..e03910ec79e 100644
--- a/tests/ui/lifetimes/issue-90170-elision-mismatch.stderr
+++ b/tests/ui/lifetimes/issue-90170-elision-mismatch.stderr
@@ -29,8 +29,9 @@ LL | pub fn foo2(x: &mut Vec<&'_ u8>, y: &u8) { x.push(y); }
    = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
 help: consider introducing a named lifetime parameter
    |
-LL | pub fn foo2<'a>(x: &mut Vec<&'a u8>, y: &'a u8) { x.push(y); }
-   |            ++++              ~~          ++
+LL - pub fn foo2(x: &mut Vec<&'_ u8>, y: &u8) { x.push(y); }
+LL + pub fn foo2<'a>(x: &mut Vec<&'a u8>, y: &'a u8) { x.push(y); }
+   |
 
 error: lifetime may not live long enough
   --> $DIR/issue-90170-elision-mismatch.rs:7:63
diff --git a/tests/ui/lifetimes/raw/immediately-followed-by-lt.e2021.stderr b/tests/ui/lifetimes/raw/immediately-followed-by-lt.e2021.stderr
index e600cc37fc4..f16c18f85d3 100644
--- a/tests/ui/lifetimes/raw/immediately-followed-by-lt.e2021.stderr
+++ b/tests/ui/lifetimes/raw/immediately-followed-by-lt.e2021.stderr
@@ -6,8 +6,9 @@ LL | w!('r#long'id);
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL | w!("r#long"id);
-   |    ~      ~
+LL - w!('r#long'id);
+LL + w!("r#long"id);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/lint/ambiguous_wide_pointer_comparisons_suggestions.stderr b/tests/ui/lint/ambiguous_wide_pointer_comparisons_suggestions.stderr
index d9190dbb813..30d7683ef4b 100644
--- a/tests/ui/lint/ambiguous_wide_pointer_comparisons_suggestions.stderr
+++ b/tests/ui/lint/ambiguous_wide_pointer_comparisons_suggestions.stderr
@@ -7,12 +7,14 @@ LL |     let _ = a == b;
    = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |     let _ = std::ptr::addr_eq(a, b);
-   |             ++++++++++++++++++ ~  +
+LL -     let _ = a == b;
+LL +     let _ = std::ptr::addr_eq(a, b);
+   |
 help: use explicit `std::ptr::eq` method to compare metadata and addresses
    |
-LL |     let _ = std::ptr::eq(a, b);
-   |             +++++++++++++ ~  +
+LL -     let _ = a == b;
+LL +     let _ = std::ptr::eq(a, b);
+   |
 
 warning: 1 warning emitted
 
diff --git a/tests/ui/lint/dead-code/tuple-struct-field.stderr b/tests/ui/lint/dead-code/tuple-struct-field.stderr
index 434554d7ae5..3e1d4e77274 100644
--- a/tests/ui/lint/dead-code/tuple-struct-field.stderr
+++ b/tests/ui/lint/dead-code/tuple-struct-field.stderr
@@ -33,8 +33,9 @@ LL | struct UnusedInTheMiddle(i32, f32, String, u8, u32);
    |
 help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
    |
-LL | struct UnusedInTheMiddle(i32, (), (), u8, ());
-   |                               ~~  ~~      ~~
+LL - struct UnusedInTheMiddle(i32, f32, String, u8, u32);
+LL + struct UnusedInTheMiddle(i32, (), (), u8, ());
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/lint/elided-named-lifetimes/static.stderr b/tests/ui/lint/elided-named-lifetimes/static.stderr
index fa2a2d3460f..7ad08dbf04b 100644
--- a/tests/ui/lint/elided-named-lifetimes/static.stderr
+++ b/tests/ui/lint/elided-named-lifetimes/static.stderr
@@ -44,8 +44,9 @@ LL | fn underscore(x: &'static u8) -> &'_ u8 {
    |
 help: consider specifying it explicitly
    |
-LL | fn underscore(x: &'static u8) -> &'static u8 {
-   |                                   ~~~~~~~
+LL - fn underscore(x: &'static u8) -> &'_ u8 {
+LL + fn underscore(x: &'static u8) -> &'static u8 {
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/lint/fn-ptr-comparisons.stderr b/tests/ui/lint/fn-ptr-comparisons.stderr
index eaba23a461a..e6993323898 100644
--- a/tests/ui/lint/fn-ptr-comparisons.stderr
+++ b/tests/ui/lint/fn-ptr-comparisons.stderr
@@ -10,8 +10,9 @@ LL |     let _ = f == a;
    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
 help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
    |
-LL |     let _ = std::ptr::fn_addr_eq(f, a as fn());
-   |             +++++++++++++++++++++ ~   ++++++++
+LL -     let _ = f == a;
+LL +     let _ = std::ptr::fn_addr_eq(f, a as fn());
+   |
 
 warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
   --> $DIR/fn-ptr-comparisons.rs:28:13
@@ -24,8 +25,9 @@ LL |     let _ = f != a;
    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
 help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
    |
-LL |     let _ = !std::ptr::fn_addr_eq(f, a as fn());
-   |             ++++++++++++++++++++++ ~   ++++++++
+LL -     let _ = f != a;
+LL +     let _ = !std::ptr::fn_addr_eq(f, a as fn());
+   |
 
 warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
   --> $DIR/fn-ptr-comparisons.rs:30:13
@@ -38,8 +40,9 @@ LL |     let _ = f == g;
    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
 help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
    |
-LL |     let _ = std::ptr::fn_addr_eq(f, g);
-   |             +++++++++++++++++++++ ~  +
+LL -     let _ = f == g;
+LL +     let _ = std::ptr::fn_addr_eq(f, g);
+   |
 
 warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
   --> $DIR/fn-ptr-comparisons.rs:32:13
@@ -52,8 +55,9 @@ LL |     let _ = f == f;
    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
 help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
    |
-LL |     let _ = std::ptr::fn_addr_eq(f, f);
-   |             +++++++++++++++++++++ ~  +
+LL -     let _ = f == f;
+LL +     let _ = std::ptr::fn_addr_eq(f, f);
+   |
 
 warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
   --> $DIR/fn-ptr-comparisons.rs:34:13
@@ -66,8 +70,9 @@ LL |     let _ = g == g;
    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
 help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
    |
-LL |     let _ = std::ptr::fn_addr_eq(g, g);
-   |             +++++++++++++++++++++ ~  +
+LL -     let _ = g == g;
+LL +     let _ = std::ptr::fn_addr_eq(g, g);
+   |
 
 warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
   --> $DIR/fn-ptr-comparisons.rs:36:13
@@ -80,8 +85,9 @@ LL |     let _ = g == g;
    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
 help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
    |
-LL |     let _ = std::ptr::fn_addr_eq(g, g);
-   |             +++++++++++++++++++++ ~  +
+LL -     let _ = g == g;
+LL +     let _ = std::ptr::fn_addr_eq(g, g);
+   |
 
 warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
   --> $DIR/fn-ptr-comparisons.rs:38:13
@@ -94,8 +100,9 @@ LL |     let _ = &g == &g;
    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
 help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
    |
-LL |     let _ = std::ptr::fn_addr_eq(g, g);
-   |             ~~~~~~~~~~~~~~~~~~~~~ ~  +
+LL -     let _ = &g == &g;
+LL +     let _ = std::ptr::fn_addr_eq(g, g);
+   |
 
 warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
   --> $DIR/fn-ptr-comparisons.rs:40:13
@@ -108,8 +115,9 @@ LL |     let _ = a as fn() == g;
    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
 help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
    |
-LL |     let _ = std::ptr::fn_addr_eq(a as fn(), g);
-   |             +++++++++++++++++++++         ~  +
+LL -     let _ = a as fn() == g;
+LL +     let _ = std::ptr::fn_addr_eq(a as fn(), g);
+   |
 
 warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
   --> $DIR/fn-ptr-comparisons.rs:44:13
@@ -122,8 +130,9 @@ LL |     let _ = cfn == c;
    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
 help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
    |
-LL |     let _ = std::ptr::fn_addr_eq(cfn, c as extern "C" fn());
-   |             +++++++++++++++++++++   ~   +++++++++++++++++++
+LL -     let _ = cfn == c;
+LL +     let _ = std::ptr::fn_addr_eq(cfn, c as extern "C" fn());
+   |
 
 warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
   --> $DIR/fn-ptr-comparisons.rs:48:13
@@ -136,8 +145,9 @@ LL |     let _ = argsfn == args;
    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
 help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
    |
-LL |     let _ = std::ptr::fn_addr_eq(argsfn, args as extern "C" fn(i32) -> i32);
-   |             +++++++++++++++++++++      ~      +++++++++++++++++++++++++++++
+LL -     let _ = argsfn == args;
+LL +     let _ = std::ptr::fn_addr_eq(argsfn, args as extern "C" fn(i32) -> i32);
+   |
 
 warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
   --> $DIR/fn-ptr-comparisons.rs:52:13
@@ -150,8 +160,9 @@ LL |     let _ = t == test;
    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
 help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
    |
-LL |     let _ = std::ptr::fn_addr_eq(t, test as unsafe extern "C" fn());
-   |             +++++++++++++++++++++ ~      ++++++++++++++++++++++++++
+LL -     let _ = t == test;
+LL +     let _ = std::ptr::fn_addr_eq(t, test as unsafe extern "C" fn());
+   |
 
 warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
   --> $DIR/fn-ptr-comparisons.rs:56:13
@@ -164,8 +175,9 @@ LL |     let _ = a1.f == a2.f;
    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
 help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
    |
-LL |     let _ = std::ptr::fn_addr_eq(a1.f, a2.f);
-   |             +++++++++++++++++++++    ~     +
+LL -     let _ = a1.f == a2.f;
+LL +     let _ = std::ptr::fn_addr_eq(a1.f, a2.f);
+   |
 
 warning: 12 warnings emitted
 
diff --git a/tests/ui/lint/for_loop_over_fallibles.stderr b/tests/ui/lint/for_loop_over_fallibles.stderr
index f695de08257..dae5e6428c8 100644
--- a/tests/ui/lint/for_loop_over_fallibles.stderr
+++ b/tests/ui/lint/for_loop_over_fallibles.stderr
@@ -7,12 +7,14 @@ LL |     for _ in Some(1) {}
    = note: `#[warn(for_loops_over_fallibles)]` on by default
 help: to check pattern in a loop use `while let`
    |
-LL |     while let Some(_) = Some(1) {}
-   |     ~~~~~~~~~~~~~~~ ~~~
+LL -     for _ in Some(1) {}
+LL +     while let Some(_) = Some(1) {}
+   |
 help: consider using `if let` to clear intent
    |
-LL |     if let Some(_) = Some(1) {}
-   |     ~~~~~~~~~~~~ ~~~
+LL -     for _ in Some(1) {}
+LL +     if let Some(_) = Some(1) {}
+   |
 
 warning: for loop over a `Result`. This is more readably written as an `if let` statement
   --> $DIR/for_loop_over_fallibles.rs:9:14
@@ -22,12 +24,14 @@ LL |     for _ in Ok::<_, ()>(1) {}
    |
 help: to check pattern in a loop use `while let`
    |
-LL |     while let Ok(_) = Ok::<_, ()>(1) {}
-   |     ~~~~~~~~~~~~~ ~~~
+LL -     for _ in Ok::<_, ()>(1) {}
+LL +     while let Ok(_) = Ok::<_, ()>(1) {}
+   |
 help: consider using `if let` to clear intent
    |
-LL |     if let Ok(_) = Ok::<_, ()>(1) {}
-   |     ~~~~~~~~~~ ~~~
+LL -     for _ in Ok::<_, ()>(1) {}
+LL +     if let Ok(_) = Ok::<_, ()>(1) {}
+   |
 
 warning: for loop over an `Option`. This is more readably written as an `if let` statement
   --> $DIR/for_loop_over_fallibles.rs:15:14
@@ -37,12 +41,14 @@ LL |     for _ in [0; 0].iter().next() {}
    |
 help: to iterate over `[0; 0].iter()` remove the call to `next`
    |
-LL |     for _ in [0; 0].iter().by_ref() {}
-   |                           ~~~~~~~~~
+LL -     for _ in [0; 0].iter().next() {}
+LL +     for _ in [0; 0].iter().by_ref() {}
+   |
 help: consider using `if let` to clear intent
    |
-LL |     if let Some(_) = [0; 0].iter().next() {}
-   |     ~~~~~~~~~~~~ ~~~
+LL -     for _ in [0; 0].iter().next() {}
+LL +     if let Some(_) = [0; 0].iter().next() {}
+   |
 
 warning: for loop over a `Result`. This is more readably written as an `if let` statement
   --> $DIR/for_loop_over_fallibles.rs:21:14
@@ -52,12 +58,14 @@ LL |     for _ in Ok::<_, ()>([0; 0].iter()) {}
    |
 help: to check pattern in a loop use `while let`
    |
-LL |     while let Ok(_) = Ok::<_, ()>([0; 0].iter()) {}
-   |     ~~~~~~~~~~~~~ ~~~
+LL -     for _ in Ok::<_, ()>([0; 0].iter()) {}
+LL +     while let Ok(_) = Ok::<_, ()>([0; 0].iter()) {}
+   |
 help: consider using `if let` to clear intent
    |
-LL |     if let Ok(_) = Ok::<_, ()>([0; 0].iter()) {}
-   |     ~~~~~~~~~~ ~~~
+LL -     for _ in Ok::<_, ()>([0; 0].iter()) {}
+LL +     if let Ok(_) = Ok::<_, ()>([0; 0].iter()) {}
+   |
 
 warning: for loop over a `Result`. This is more readably written as an `if let` statement
   --> $DIR/for_loop_over_fallibles.rs:29:14
@@ -67,16 +75,18 @@ LL |     for _ in Ok::<_, ()>([0; 0].iter()) {}
    |
 help: to check pattern in a loop use `while let`
    |
-LL |     while let Ok(_) = Ok::<_, ()>([0; 0].iter()) {}
-   |     ~~~~~~~~~~~~~ ~~~
+LL -     for _ in Ok::<_, ()>([0; 0].iter()) {}
+LL +     while let Ok(_) = Ok::<_, ()>([0; 0].iter()) {}
+   |
 help: consider unwrapping the `Result` with `?` to iterate over its contents
    |
 LL |     for _ in Ok::<_, ()>([0; 0].iter())? {}
    |                                        +
 help: consider using `if let` to clear intent
    |
-LL |     if let Ok(_) = Ok::<_, ()>([0; 0].iter()) {}
-   |     ~~~~~~~~~~ ~~~
+LL -     for _ in Ok::<_, ()>([0; 0].iter()) {}
+LL +     if let Ok(_) = Ok::<_, ()>([0; 0].iter()) {}
+   |
 
 warning: for loop over a `Result`. This is more readably written as an `if let` statement
   --> $DIR/for_loop_over_fallibles.rs:36:14
@@ -86,16 +96,18 @@ LL |     for _ in Ok::<_, ()>([0; 0]) {}
    |
 help: to check pattern in a loop use `while let`
    |
-LL |     while let Ok(_) = Ok::<_, ()>([0; 0]) {}
-   |     ~~~~~~~~~~~~~ ~~~
+LL -     for _ in Ok::<_, ()>([0; 0]) {}
+LL +     while let Ok(_) = Ok::<_, ()>([0; 0]) {}
+   |
 help: consider unwrapping the `Result` with `?` to iterate over its contents
    |
 LL |     for _ in Ok::<_, ()>([0; 0])? {}
    |                                 +
 help: consider using `if let` to clear intent
    |
-LL |     if let Ok(_) = Ok::<_, ()>([0; 0]) {}
-   |     ~~~~~~~~~~ ~~~
+LL -     for _ in Ok::<_, ()>([0; 0]) {}
+LL +     if let Ok(_) = Ok::<_, ()>([0; 0]) {}
+   |
 
 warning: for loop over a `&Option`. This is more readably written as an `if let` statement
   --> $DIR/for_loop_over_fallibles.rs:47:14
@@ -105,12 +117,14 @@ LL |     for _ in &Some(1) {}
    |
 help: to check pattern in a loop use `while let`
    |
-LL |     while let Some(_) = &Some(1) {}
-   |     ~~~~~~~~~~~~~~~ ~~~
+LL -     for _ in &Some(1) {}
+LL +     while let Some(_) = &Some(1) {}
+   |
 help: consider using `if let` to clear intent
    |
-LL |     if let Some(_) = &Some(1) {}
-   |     ~~~~~~~~~~~~ ~~~
+LL -     for _ in &Some(1) {}
+LL +     if let Some(_) = &Some(1) {}
+   |
 
 warning: for loop over a `&Result`. This is more readably written as an `if let` statement
   --> $DIR/for_loop_over_fallibles.rs:51:14
@@ -120,12 +134,14 @@ LL |     for _ in &Ok::<_, ()>(1) {}
    |
 help: to check pattern in a loop use `while let`
    |
-LL |     while let Ok(_) = &Ok::<_, ()>(1) {}
-   |     ~~~~~~~~~~~~~ ~~~
+LL -     for _ in &Ok::<_, ()>(1) {}
+LL +     while let Ok(_) = &Ok::<_, ()>(1) {}
+   |
 help: consider using `if let` to clear intent
    |
-LL |     if let Ok(_) = &Ok::<_, ()>(1) {}
-   |     ~~~~~~~~~~ ~~~
+LL -     for _ in &Ok::<_, ()>(1) {}
+LL +     if let Ok(_) = &Ok::<_, ()>(1) {}
+   |
 
 warning: for loop over a `&mut Option`. This is more readably written as an `if let` statement
   --> $DIR/for_loop_over_fallibles.rs:57:14
@@ -135,12 +151,14 @@ LL |     for _ in &mut Some(1) {}
    |
 help: to check pattern in a loop use `while let`
    |
-LL |     while let Some(_) = &mut Some(1) {}
-   |     ~~~~~~~~~~~~~~~ ~~~
+LL -     for _ in &mut Some(1) {}
+LL +     while let Some(_) = &mut Some(1) {}
+   |
 help: consider using `if let` to clear intent
    |
-LL |     if let Some(_) = &mut Some(1) {}
-   |     ~~~~~~~~~~~~ ~~~
+LL -     for _ in &mut Some(1) {}
+LL +     if let Some(_) = &mut Some(1) {}
+   |
 
 warning: for loop over a `&mut Result`. This is more readably written as an `if let` statement
   --> $DIR/for_loop_over_fallibles.rs:61:14
@@ -150,12 +168,14 @@ LL |     for _ in &mut Ok::<_, ()>(1) {}
    |
 help: to check pattern in a loop use `while let`
    |
-LL |     while let Ok(_) = &mut Ok::<_, ()>(1) {}
-   |     ~~~~~~~~~~~~~ ~~~
+LL -     for _ in &mut Ok::<_, ()>(1) {}
+LL +     while let Ok(_) = &mut Ok::<_, ()>(1) {}
+   |
 help: consider using `if let` to clear intent
    |
-LL |     if let Ok(_) = &mut Ok::<_, ()>(1) {}
-   |     ~~~~~~~~~~ ~~~
+LL -     for _ in &mut Ok::<_, ()>(1) {}
+LL +     if let Ok(_) = &mut Ok::<_, ()>(1) {}
+   |
 
 warning: 10 warnings emitted
 
diff --git a/tests/ui/lint/issue-109152.stderr b/tests/ui/lint/issue-109152.stderr
index a175964ccf6..01aa9068da5 100644
--- a/tests/ui/lint/issue-109152.stderr
+++ b/tests/ui/lint/issue-109152.stderr
@@ -16,8 +16,9 @@ LL | #![deny(map_unit_fn)]
    |         ^^^^^^^^^^^
 help: you might have meant to use `Iterator::for_each`
    |
-LL |     vec![42].iter().for_each(drop);
-   |                     ~~~~~~~~
+LL -     vec![42].iter().map(drop);
+LL +     vec![42].iter().for_each(drop);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/lint/issue-109529.stderr b/tests/ui/lint/issue-109529.stderr
index 9e857d1b0ab..51b71cb1007 100644
--- a/tests/ui/lint/issue-109529.stderr
+++ b/tests/ui/lint/issue-109529.stderr
@@ -16,8 +16,9 @@ LL |     for _ in 0..(256 as u8) {}
    |
 help: use an inclusive range instead
    |
-LL |     for _ in 0..=(255 as u8) {}
-   |                 + ~~~
+LL -     for _ in 0..(256 as u8) {}
+LL +     for _ in 0..=(255 as u8) {}
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/lint/issue-35075.stderr b/tests/ui/lint/issue-35075.stderr
index 08bdaa72858..f02f9e678b4 100644
--- a/tests/ui/lint/issue-35075.stderr
+++ b/tests/ui/lint/issue-35075.stderr
@@ -6,8 +6,9 @@ LL |     inner: Foo<T>
    |
 help: there is an enum variant `Baz::Foo`; try using the variant's enum
    |
-LL |     inner: Baz
-   |            ~~~
+LL -     inner: Foo<T>
+LL +     inner: Baz
+   |
 
 error[E0412]: cannot find type `Foo` in this scope
   --> $DIR/issue-35075.rs:6:9
@@ -17,8 +18,9 @@ LL |     Foo(Foo<T>)
    |
 help: there is an enum variant `Baz::Foo`; try using the variant's enum
    |
-LL |     Foo(Baz)
-   |         ~~~
+LL -     Foo(Foo<T>)
+LL +     Foo(Baz)
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/lint/let_underscore/issue-119696-err-on-fn.stderr b/tests/ui/lint/let_underscore/issue-119696-err-on-fn.stderr
index 70f9979556a..a244d7604d7 100644
--- a/tests/ui/lint/let_underscore/issue-119696-err-on-fn.stderr
+++ b/tests/ui/lint/let_underscore/issue-119696-err-on-fn.stderr
@@ -11,12 +11,14 @@ LL | #![deny(let_underscore_drop)]
    |         ^^^^^^^^^^^^^^^^^^^
 help: consider binding to an unused variable to avoid immediately dropping the value
    |
-LL |     let _unused = foo();
-   |         ~~~~~~~
+LL -     let _ = foo();
+LL +     let _unused = foo();
+   |
 help: consider immediately dropping the value
    |
-LL |     drop(foo());
-   |     ~~~~~     +
+LL -     let _ = foo();
+LL +     drop(foo());
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/lint/let_underscore/issue-119697-extra-let.stderr b/tests/ui/lint/let_underscore/issue-119697-extra-let.stderr
index e4b1872bba5..8773d5df443 100644
--- a/tests/ui/lint/let_underscore/issue-119697-extra-let.stderr
+++ b/tests/ui/lint/let_underscore/issue-119697-extra-let.stderr
@@ -11,12 +11,14 @@ LL | #![deny(let_underscore_drop)]
    |         ^^^^^^^^^^^^^^^^^^^
 help: consider binding to an unused variable to avoid immediately dropping the value
    |
-LL |     let _unused = field;
-   |     ~~~~~~~~~~~
+LL -     _ = field;
+LL +     let _unused = field;
+   |
 help: consider immediately dropping the value
    |
-LL |     drop(field);
-   |     ~~~~~     +
+LL -     _ = field;
+LL +     drop(field);
+   |
 
 error: non-binding let on a type that has a destructor
   --> $DIR/issue-119697-extra-let.rs:17:5
@@ -26,12 +28,14 @@ LL |     let _ = field;
    |
 help: consider binding to an unused variable to avoid immediately dropping the value
    |
-LL |     let _unused = field;
-   |         ~~~~~~~
+LL -     let _ = field;
+LL +     let _unused = field;
+   |
 help: consider immediately dropping the value
    |
-LL |     drop(field);
-   |     ~~~~~     +
+LL -     let _ = field;
+LL +     drop(field);
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/lint/let_underscore/let_underscore_drop.stderr b/tests/ui/lint/let_underscore/let_underscore_drop.stderr
index 09f2587063b..c7984d629da 100644
--- a/tests/ui/lint/let_underscore/let_underscore_drop.stderr
+++ b/tests/ui/lint/let_underscore/let_underscore_drop.stderr
@@ -11,12 +11,14 @@ LL | #![warn(let_underscore_drop)]
    |         ^^^^^^^^^^^^^^^^^^^
 help: consider binding to an unused variable to avoid immediately dropping the value
    |
-LL |     let _unused = NontrivialDrop;
-   |         ~~~~~~~
+LL -     let _ = NontrivialDrop;
+LL +     let _unused = NontrivialDrop;
+   |
 help: consider immediately dropping the value
    |
-LL |     drop(NontrivialDrop);
-   |     ~~~~~              +
+LL -     let _ = NontrivialDrop;
+LL +     drop(NontrivialDrop);
+   |
 
 warning: 1 warning emitted
 
diff --git a/tests/ui/lint/let_underscore/let_underscore_lock.stderr b/tests/ui/lint/let_underscore/let_underscore_lock.stderr
index fb8b9ec2203..60d5ed649f5 100644
--- a/tests/ui/lint/let_underscore/let_underscore_lock.stderr
+++ b/tests/ui/lint/let_underscore/let_underscore_lock.stderr
@@ -7,12 +7,14 @@ LL |     let _ = data.lock().unwrap();
    = note: `#[deny(let_underscore_lock)]` on by default
 help: consider binding to an unused variable to avoid immediately dropping the value
    |
-LL |     let _unused = data.lock().unwrap();
-   |         ~~~~~~~
+LL -     let _ = data.lock().unwrap();
+LL +     let _unused = data.lock().unwrap();
+   |
 help: consider immediately dropping the value
    |
-LL |     drop(data.lock().unwrap());
-   |     ~~~~~                    +
+LL -     let _ = data.lock().unwrap();
+LL +     drop(data.lock().unwrap());
+   |
 
 error: non-binding let on a synchronization lock
   --> $DIR/let_underscore_lock.rs:12:9
@@ -22,12 +24,14 @@ LL |     let _ = data.lock();
    |
 help: consider binding to an unused variable to avoid immediately dropping the value
    |
-LL |     let _unused = data.lock();
-   |         ~~~~~~~
+LL -     let _ = data.lock();
+LL +     let _unused = data.lock();
+   |
 help: consider immediately dropping the value
    |
-LL |     drop(data.lock());
-   |     ~~~~~           +
+LL -     let _ = data.lock();
+LL +     drop(data.lock());
+   |
 
 error: non-binding let on a synchronization lock
   --> $DIR/let_underscore_lock.rs:14:10
@@ -38,8 +42,9 @@ LL |     let (_, _) = (data.lock(), 1);
    = help: consider immediately dropping the value using `drop(..)` after the `let` statement
 help: consider binding to an unused variable to avoid immediately dropping the value
    |
-LL |     let (_unused, _) = (data.lock(), 1);
-   |          ~~~~~~~
+LL -     let (_, _) = (data.lock(), 1);
+LL +     let (_unused, _) = (data.lock(), 1);
+   |
 
 error: non-binding let on a synchronization lock
   --> $DIR/let_underscore_lock.rs:16:26
@@ -50,8 +55,9 @@ LL |     let (_a, Struct { a: _ }) = (0, Struct { a: data.lock() });
    = help: consider immediately dropping the value using `drop(..)` after the `let` statement
 help: consider binding to an unused variable to avoid immediately dropping the value
    |
-LL |     let (_a, Struct { a: _unused }) = (0, Struct { a: data.lock() });
-   |                          ~~~~~~~
+LL -     let (_a, Struct { a: _ }) = (0, Struct { a: data.lock() });
+LL +     let (_a, Struct { a: _unused }) = (0, Struct { a: data.lock() });
+   |
 
 error: non-binding let on a synchronization lock
   --> $DIR/let_underscore_lock.rs:18:6
diff --git a/tests/ui/lint/lint-strict-provenance-fuzzy-casts.stderr b/tests/ui/lint/lint-strict-provenance-fuzzy-casts.stderr
index 24f2500abf8..f5eec6fc656 100644
--- a/tests/ui/lint/lint-strict-provenance-fuzzy-casts.stderr
+++ b/tests/ui/lint/lint-strict-provenance-fuzzy-casts.stderr
@@ -12,8 +12,9 @@ LL | #![deny(fuzzy_provenance_casts)]
    |         ^^^^^^^^^^^^^^^^^^^^^^
 help: use `.with_addr()` to adjust a valid pointer in the same allocation, to this address
    |
-LL |     let dangling = (...).with_addr(16_usize);
-   |                    ++++++++++++++++        ~
+LL -     let dangling = 16_usize as *const u8;
+LL +     let dangling = (...).with_addr(16_usize);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/lint/lint-strict-provenance-lossy-casts.stderr b/tests/ui/lint/lint-strict-provenance-lossy-casts.stderr
index 390028b349e..aeee69ae7af 100644
--- a/tests/ui/lint/lint-strict-provenance-lossy-casts.stderr
+++ b/tests/ui/lint/lint-strict-provenance-lossy-casts.stderr
@@ -12,8 +12,9 @@ LL | #![deny(lossy_provenance_casts)]
    |         ^^^^^^^^^^^^^^^^^^^^^^
 help: use `.addr()` to obtain the address of a pointer
    |
-LL |     let addr: usize = (&x as *const u8).addr();
-   |                       +               ~~~~~~~~
+LL -     let addr: usize = &x as *const u8 as usize;
+LL +     let addr: usize = (&x as *const u8).addr();
+   |
 
 error: under strict provenance it is considered bad style to cast pointer `*const u8` to integer `u32`
   --> $DIR/lint-strict-provenance-lossy-casts.rs:9:22
@@ -24,8 +25,9 @@ LL |     let addr_32bit = &x as *const u8 as u32;
    = help: if you can't comply with strict provenance and need to expose the pointer provenance you can use `.expose_provenance()` instead
 help: use `.addr()` to obtain the address of a pointer
    |
-LL |     let addr_32bit = (&x as *const u8).addr() as u32;
-   |                      +               ~~~~~~~~~~~~~~~
+LL -     let addr_32bit = &x as *const u8 as u32;
+LL +     let addr_32bit = (&x as *const u8).addr() as u32;
+   |
 
 error: under strict provenance it is considered bad style to cast pointer `*const u8` to integer `usize`
   --> $DIR/lint-strict-provenance-lossy-casts.rs:14:20
diff --git a/tests/ui/lint/lint_map_unit_fn.stderr b/tests/ui/lint/lint_map_unit_fn.stderr
index fbf689c5421..91542af0f6d 100644
--- a/tests/ui/lint/lint_map_unit_fn.stderr
+++ b/tests/ui/lint/lint_map_unit_fn.stderr
@@ -18,8 +18,9 @@ LL | #![deny(map_unit_fn)]
    |         ^^^^^^^^^^^
 help: you might have meant to use `Iterator::for_each`
    |
-LL |     x.iter_mut().for_each(foo);
-   |                  ~~~~~~~~
+LL -     x.iter_mut().map(foo);
+LL +     x.iter_mut().for_each(foo);
+   |
 
 error: `Iterator::map` call that discard the iterator's values
   --> $DIR/lint_map_unit_fn.rs:11:18
@@ -41,8 +42,9 @@ LL | | |     });
    = note: `Iterator::map`, like many of the methods on `Iterator`, gets executed lazily, meaning that its effects won't be visible until it is iterated
 help: you might have meant to use `Iterator::for_each`
    |
-LL |     x.iter_mut().for_each(|items| {
-   |                  ~~~~~~~~
+LL -     x.iter_mut().map(|items| {
+LL +     x.iter_mut().for_each(|items| {
+   |
 
 error: `Iterator::map` call that discard the iterator's values
   --> $DIR/lint_map_unit_fn.rs:18:18
@@ -59,8 +61,9 @@ LL |     x.iter_mut().map(f);
    = note: `Iterator::map`, like many of the methods on `Iterator`, gets executed lazily, meaning that its effects won't be visible until it is iterated
 help: you might have meant to use `Iterator::for_each`
    |
-LL |     x.iter_mut().for_each(f);
-   |                  ~~~~~~~~
+LL -     x.iter_mut().map(f);
+LL +     x.iter_mut().for_each(f);
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/lint/non-snake-case/lint-non-snake-case-identifiers-suggestion-reserved.stderr b/tests/ui/lint/non-snake-case/lint-non-snake-case-identifiers-suggestion-reserved.stderr
index 2841815ecf2..ae2a00d3f90 100644
--- a/tests/ui/lint/non-snake-case/lint-non-snake-case-identifiers-suggestion-reserved.stderr
+++ b/tests/ui/lint/non-snake-case/lint-non-snake-case-identifiers-suggestion-reserved.stderr
@@ -30,8 +30,9 @@ LL | #![deny(non_snake_case)]
    |         ^^^^^^^^^^^^^^
 help: rename the identifier or convert it to a snake case raw identifier
    |
-LL | mod r#impl {}
-   |     ~~~~~~
+LL - mod Impl {}
+LL + mod r#impl {}
+   |
 
 error: function `While` should have a snake case name
   --> $DIR/lint-non-snake-case-identifiers-suggestion-reserved.rs:8:4
@@ -41,8 +42,9 @@ LL | fn While() {}
    |
 help: rename the identifier or convert it to a snake case raw identifier
    |
-LL | fn r#while() {}
-   |    ~~~~~~~
+LL - fn While() {}
+LL + fn r#while() {}
+   |
 
 error: variable `Mod` should have a snake case name
   --> $DIR/lint-non-snake-case-identifiers-suggestion-reserved.rs:12:9
@@ -52,8 +54,9 @@ LL |     let Mod: usize = 0;
    |
 help: rename the identifier or convert it to a snake case raw identifier
    |
-LL |     let r#mod: usize = 0;
-   |         ~~~~~
+LL -     let Mod: usize = 0;
+LL +     let r#mod: usize = 0;
+   |
 
 error: variable `Super` should have a snake case name
   --> $DIR/lint-non-snake-case-identifiers-suggestion-reserved.rs:16:9
diff --git a/tests/ui/lint/recommend-literal.stderr b/tests/ui/lint/recommend-literal.stderr
index 424ecadd4b8..263071ca9a7 100644
--- a/tests/ui/lint/recommend-literal.stderr
+++ b/tests/ui/lint/recommend-literal.stderr
@@ -33,12 +33,14 @@ LL |     let v2: Bool = true;
    |
 help: a builtin type with a similar name exists
    |
-LL |     let v2: bool = true;
-   |             ~~~~
+LL -     let v2: Bool = true;
+LL +     let v2: bool = true;
+   |
 help: perhaps you intended to use this type
    |
-LL |     let v2: bool = true;
-   |             ~~~~
+LL -     let v2: Bool = true;
+LL +     let v2: bool = true;
+   |
 
 error[E0412]: cannot find type `boolean` in this scope
   --> $DIR/recommend-literal.rs:19:9
@@ -75,8 +77,9 @@ LL |     depth: Option<int>,
    |
 help: perhaps you intended to use this type
    |
-LL |     depth: Option<i32>,
-   |                   ~~~
+LL -     depth: Option<int>,
+LL +     depth: Option<i32>,
+   |
 help: you might be missing a type parameter
    |
 LL | struct Data<int> {
diff --git a/tests/ui/lint/static-mut-refs.e2021.stderr b/tests/ui/lint/static-mut-refs.e2021.stderr
index 5a4e712b3c0..abd579b336f 100644
--- a/tests/ui/lint/static-mut-refs.e2021.stderr
+++ b/tests/ui/lint/static-mut-refs.e2021.stderr
@@ -9,8 +9,9 @@ LL |         let _y = &X;
    = note: `#[warn(static_mut_refs)]` on by default
 help: use `&raw const` instead to create a raw pointer
    |
-LL |         let _y = &raw const X;
-   |                  ~~~~~~~~~~
+LL -         let _y = &X;
+LL +         let _y = &raw const X;
+   |
 
 warning: creating a mutable reference to mutable static is discouraged
   --> $DIR/static-mut-refs.rs:42:18
@@ -22,8 +23,9 @@ LL |         let _y = &mut X;
    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
 help: use `&raw mut` instead to create a raw pointer
    |
-LL |         let _y = &raw mut X;
-   |                  ~~~~~~~~
+LL -         let _y = &mut X;
+LL +         let _y = &raw mut X;
+   |
 
 warning: creating a shared reference to mutable static is discouraged
   --> $DIR/static-mut-refs.rs:50:22
@@ -44,8 +46,9 @@ LL |         let (_b, _c) = (&X, &Y);
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
-LL |         let (_b, _c) = (&raw const X, &Y);
-   |                         ~~~~~~~~~~
+LL -         let (_b, _c) = (&X, &Y);
+LL +         let (_b, _c) = (&raw const X, &Y);
+   |
 
 warning: creating a shared reference to mutable static is discouraged
   --> $DIR/static-mut-refs.rs:54:29
@@ -57,8 +60,9 @@ LL |         let (_b, _c) = (&X, &Y);
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
-LL |         let (_b, _c) = (&X, &raw const Y);
-   |                             ~~~~~~~~~~
+LL -         let (_b, _c) = (&X, &Y);
+LL +         let (_b, _c) = (&X, &raw const Y);
+   |
 
 warning: creating a shared reference to mutable static is discouraged
   --> $DIR/static-mut-refs.rs:60:13
@@ -70,8 +74,9 @@ LL |         foo(&X);
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
-LL |         foo(&raw const X);
-   |             ~~~~~~~~~~
+LL -         foo(&X);
+LL +         foo(&raw const X);
+   |
 
 warning: creating a shared reference to mutable static is discouraged
   --> $DIR/static-mut-refs.rs:66:17
@@ -101,8 +106,9 @@ LL |         let _v = &A.value;
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
-LL |         let _v = &raw const A.value;
-   |                  ~~~~~~~~~~
+LL -         let _v = &A.value;
+LL +         let _v = &raw const A.value;
+   |
 
 warning: creating a shared reference to mutable static is discouraged
   --> $DIR/static-mut-refs.rs:80:18
@@ -114,8 +120,9 @@ LL |         let _s = &A.s.value;
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
-LL |         let _s = &raw const A.s.value;
-   |                  ~~~~~~~~~~
+LL -         let _s = &A.s.value;
+LL +         let _s = &raw const A.s.value;
+   |
 
 warning: creating a shared reference to mutable static is discouraged
   --> $DIR/static-mut-refs.rs:84:22
diff --git a/tests/ui/lint/static-mut-refs.e2024.stderr b/tests/ui/lint/static-mut-refs.e2024.stderr
index 1b549272bd5..1387cdf0b32 100644
--- a/tests/ui/lint/static-mut-refs.e2024.stderr
+++ b/tests/ui/lint/static-mut-refs.e2024.stderr
@@ -9,8 +9,9 @@ LL |         let _y = &X;
    = note: `#[deny(static_mut_refs)]` on by default
 help: use `&raw const` instead to create a raw pointer
    |
-LL |         let _y = &raw const X;
-   |                  ~~~~~~~~~~
+LL -         let _y = &X;
+LL +         let _y = &raw const X;
+   |
 
 error: creating a mutable reference to mutable static is discouraged
   --> $DIR/static-mut-refs.rs:42:18
@@ -22,8 +23,9 @@ LL |         let _y = &mut X;
    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
 help: use `&raw mut` instead to create a raw pointer
    |
-LL |         let _y = &raw mut X;
-   |                  ~~~~~~~~
+LL -         let _y = &mut X;
+LL +         let _y = &raw mut X;
+   |
 
 error: creating a shared reference to mutable static is discouraged
   --> $DIR/static-mut-refs.rs:50:22
@@ -44,8 +46,9 @@ LL |         let (_b, _c) = (&X, &Y);
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
-LL |         let (_b, _c) = (&raw const X, &Y);
-   |                         ~~~~~~~~~~
+LL -         let (_b, _c) = (&X, &Y);
+LL +         let (_b, _c) = (&raw const X, &Y);
+   |
 
 error: creating a shared reference to mutable static is discouraged
   --> $DIR/static-mut-refs.rs:54:29
@@ -57,8 +60,9 @@ LL |         let (_b, _c) = (&X, &Y);
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
-LL |         let (_b, _c) = (&X, &raw const Y);
-   |                             ~~~~~~~~~~
+LL -         let (_b, _c) = (&X, &Y);
+LL +         let (_b, _c) = (&X, &raw const Y);
+   |
 
 error: creating a shared reference to mutable static is discouraged
   --> $DIR/static-mut-refs.rs:60:13
@@ -70,8 +74,9 @@ LL |         foo(&X);
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
-LL |         foo(&raw const X);
-   |             ~~~~~~~~~~
+LL -         foo(&X);
+LL +         foo(&raw const X);
+   |
 
 error: creating a shared reference to mutable static is discouraged
   --> $DIR/static-mut-refs.rs:66:17
@@ -101,8 +106,9 @@ LL |         let _v = &A.value;
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
-LL |         let _v = &raw const A.value;
-   |                  ~~~~~~~~~~
+LL -         let _v = &A.value;
+LL +         let _v = &raw const A.value;
+   |
 
 error: creating a shared reference to mutable static is discouraged
   --> $DIR/static-mut-refs.rs:80:18
@@ -114,8 +120,9 @@ LL |         let _s = &A.s.value;
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
-LL |         let _s = &raw const A.s.value;
-   |                  ~~~~~~~~~~
+LL -         let _s = &A.s.value;
+LL +         let _s = &raw const A.s.value;
+   |
 
 error: creating a shared reference to mutable static is discouraged
   --> $DIR/static-mut-refs.rs:84:22
diff --git a/tests/ui/lint/type-overflow.stderr b/tests/ui/lint/type-overflow.stderr
index 9fdb05ed1c0..0ac67fddaa7 100644
--- a/tests/ui/lint/type-overflow.stderr
+++ b/tests/ui/lint/type-overflow.stderr
@@ -21,12 +21,14 @@ LL |     let fail = 0b1000_0001i8;
    = note: the literal `0b1000_0001i8` (decimal `129`) does not fit into the type `i8` and will become `-127i8`
 help: consider using the type `u8` instead
    |
-LL |     let fail = 0b1000_0001u8;
-   |                ~~~~~~~~~~~~~
+LL -     let fail = 0b1000_0001i8;
+LL +     let fail = 0b1000_0001u8;
+   |
 help: to use as a negative number (decimal `-127`), consider using the type `u8` for the literal and cast it to `i8`
    |
-LL |     let fail = 0b1000_0001u8 as i8;
-   |                ~~~~~~~~~~~~~~~~~~~
+LL -     let fail = 0b1000_0001i8;
+LL +     let fail = 0b1000_0001u8 as i8;
+   |
 
 warning: literal out of range for `i64`
   --> $DIR/type-overflow.rs:15:16
@@ -37,12 +39,14 @@ LL |     let fail = 0x8000_0000_0000_0000i64;
    = note: the literal `0x8000_0000_0000_0000i64` (decimal `9223372036854775808`) does not fit into the type `i64` and will become `-9223372036854775808i64`
 help: consider using the type `u64` instead
    |
-LL |     let fail = 0x8000_0000_0000_0000u64;
-   |                ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let fail = 0x8000_0000_0000_0000i64;
+LL +     let fail = 0x8000_0000_0000_0000u64;
+   |
 help: to use as a negative number (decimal `-9223372036854775808`), consider using the type `u64` for the literal and cast it to `i64`
    |
-LL |     let fail = 0x8000_0000_0000_0000u64 as i64;
-   |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let fail = 0x8000_0000_0000_0000i64;
+LL +     let fail = 0x8000_0000_0000_0000u64 as i64;
+   |
 
 warning: literal out of range for `u32`
   --> $DIR/type-overflow.rs:19:16
@@ -62,8 +66,9 @@ LL |     let fail: i128 = 0x8000_0000_0000_0000_0000_0000_0000_0000;
    = help: consider using the type `u128` instead
 help: to use as a negative number (decimal `-170141183460469231731687303715884105728`), consider using the type `u128` for the literal and cast it to `i128`
    |
-LL |     let fail: i128 = 0x8000_0000_0000_0000_0000_0000_0000_0000u128 as i128;
-   |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let fail: i128 = 0x8000_0000_0000_0000_0000_0000_0000_0000;
+LL +     let fail: i128 = 0x8000_0000_0000_0000_0000_0000_0000_0000u128 as i128;
+   |
 
 warning: literal out of range for `i32`
   --> $DIR/type-overflow.rs:27:16
@@ -112,8 +117,9 @@ LL |     let fail = 0x8FFF_FFFF_FFFF_FFFE;
    = help: consider using the type `u64` instead
 help: to use as a negative number (decimal `-2`), consider using the type `u32` for the literal and cast it to `i32`
    |
-LL |     let fail = 0x8FFF_FFFF_FFFF_FFFEu32 as i32;
-   |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let fail = 0x8FFF_FFFF_FFFF_FFFE;
+LL +     let fail = 0x8FFF_FFFF_FFFF_FFFEu32 as i32;
+   |
 
 warning: literal out of range for `i8`
   --> $DIR/type-overflow.rs:46:17
diff --git a/tests/ui/lint/unused/issue-67691-unused-field-in-or-pattern.stderr b/tests/ui/lint/unused/issue-67691-unused-field-in-or-pattern.stderr
index 8fc2d1bc88f..8922f484d3e 100644
--- a/tests/ui/lint/unused/issue-67691-unused-field-in-or-pattern.stderr
+++ b/tests/ui/lint/unused/issue-67691-unused-field-in-or-pattern.stderr
@@ -12,8 +12,9 @@ LL | #![deny(unused)]
    = note: `#[deny(unused_variables)]` implied by `#[deny(unused)]`
 help: try ignoring the field
    |
-LL |         A { i, j: _ } | B { i, j: _ } => {
-   |                ~~~~            ~~~~
+LL -         A { i, j } | B { i, j } => {
+LL +         A { i, j: _ } | B { i, j: _ } => {
+   |
 
 error: unused variable: `j`
   --> $DIR/issue-67691-unused-field-in-or-pattern.rs:30:16
@@ -23,8 +24,9 @@ LL |         A { i, ref j } | B { i, ref j } => {
    |
 help: try ignoring the field
    |
-LL |         A { i, j: _ } | B { i, j: _ } => {
-   |                ~~~~            ~~~~
+LL -         A { i, ref j } | B { i, ref j } => {
+LL +         A { i, j: _ } | B { i, j: _ } => {
+   |
 
 error: unused variable: `j`
   --> $DIR/issue-67691-unused-field-in-or-pattern.rs:40:21
@@ -34,8 +36,9 @@ LL |         Some(A { i, j } | B { i, j }) => {
    |
 help: try ignoring the field
    |
-LL |         Some(A { i, j: _ } | B { i, j: _ }) => {
-   |                     ~~~~            ~~~~
+LL -         Some(A { i, j } | B { i, j }) => {
+LL +         Some(A { i, j: _ } | B { i, j: _ }) => {
+   |
 
 error: unused variable: `j`
   --> $DIR/issue-67691-unused-field-in-or-pattern.rs:52:21
@@ -45,8 +48,9 @@ LL |         Some(A { i, ref j } | B { i, ref j }) => {
    |
 help: try ignoring the field
    |
-LL |         Some(A { i, j: _ } | B { i, j: _ }) => {
-   |                     ~~~~            ~~~~
+LL -         Some(A { i, ref j } | B { i, ref j }) => {
+LL +         Some(A { i, j: _ } | B { i, j: _ }) => {
+   |
 
 error: unused variable: `i`
   --> $DIR/issue-67691-unused-field-in-or-pattern.rs:62:24
@@ -56,8 +60,9 @@ LL |         MixedEnum::A { i } | MixedEnum::B(i) => {
    |
 help: try ignoring the field
    |
-LL |         MixedEnum::A { i: _ } | MixedEnum::B(_) => {
-   |                        ~~~~                  ~
+LL -         MixedEnum::A { i } | MixedEnum::B(i) => {
+LL +         MixedEnum::A { i: _ } | MixedEnum::B(_) => {
+   |
 
 error: unused variable: `i`
   --> $DIR/issue-67691-unused-field-in-or-pattern.rs:70:24
@@ -67,8 +72,9 @@ LL |         MixedEnum::A { ref i } | MixedEnum::B(ref i) => {
    |
 help: try ignoring the field
    |
-LL |         MixedEnum::A { i: _ } | MixedEnum::B(_) => {
-   |                        ~~~~                  ~
+LL -         MixedEnum::A { ref i } | MixedEnum::B(ref i) => {
+LL +         MixedEnum::A { i: _ } | MixedEnum::B(_) => {
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/lint/wide_pointer_comparisons.stderr b/tests/ui/lint/wide_pointer_comparisons.stderr
index 78548e308ed..f5f8060902b 100644
--- a/tests/ui/lint/wide_pointer_comparisons.stderr
+++ b/tests/ui/lint/wide_pointer_comparisons.stderr
@@ -7,8 +7,9 @@ LL |     let _ = a == b;
    = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |     let _ = std::ptr::addr_eq(a, b);
-   |             ++++++++++++++++++ ~  +
+LL -     let _ = a == b;
+LL +     let _ = std::ptr::addr_eq(a, b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:22:13
@@ -18,8 +19,9 @@ LL |     let _ = a != b;
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |     let _ = !std::ptr::addr_eq(a, b);
-   |             +++++++++++++++++++ ~  +
+LL -     let _ = a != b;
+LL +     let _ = !std::ptr::addr_eq(a, b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:24:13
@@ -73,8 +75,9 @@ LL |     let _ = PartialEq::eq(&a, &b);
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |     let _ = std::ptr::addr_eq(a, b);
-   |             ~~~~~~~~~~~~~~~~~~ ~
+LL -     let _ = PartialEq::eq(&a, &b);
+LL +     let _ = std::ptr::addr_eq(a, b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:35:13
@@ -84,8 +87,9 @@ LL |     let _ = PartialEq::ne(&a, &b);
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |     let _ = !std::ptr::addr_eq(a, b);
-   |             ~~~~~~~~~~~~~~~~~~~ ~
+LL -     let _ = PartialEq::ne(&a, &b);
+LL +     let _ = !std::ptr::addr_eq(a, b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:37:13
@@ -95,8 +99,9 @@ LL |     let _ = a.eq(&b);
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |     let _ = std::ptr::addr_eq(a, b);
-   |             ++++++++++++++++++ ~
+LL -     let _ = a.eq(&b);
+LL +     let _ = std::ptr::addr_eq(a, b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:39:13
@@ -106,8 +111,9 @@ LL |     let _ = a.ne(&b);
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |     let _ = !std::ptr::addr_eq(a, b);
-   |             +++++++++++++++++++ ~
+LL -     let _ = a.ne(&b);
+LL +     let _ = !std::ptr::addr_eq(a, b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:41:13
@@ -183,8 +189,9 @@ LL |         let _ = a == b;
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         let _ = std::ptr::addr_eq(a.as_ptr(), b.as_ptr());
-   |                 ++++++++++++++++++ ~~~~~~~~~~  ++++++++++
+LL -         let _ = a == b;
+LL +         let _ = std::ptr::addr_eq(a.as_ptr(), b.as_ptr());
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:59:17
@@ -205,8 +212,9 @@ LL |         let _ = &a == &b;
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         let _ = std::ptr::addr_eq(a.as_ptr(), b.as_ptr());
-   |                 ~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~  ++++++++++
+LL -         let _ = &a == &b;
+LL +         let _ = std::ptr::addr_eq(a.as_ptr(), b.as_ptr());
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:70:17
@@ -216,8 +224,9 @@ LL |         let _ = a == b;
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         let _ = std::ptr::addr_eq(*a, *b);
-   |                 +++++++++++++++++++ ~~~ +
+LL -         let _ = a == b;
+LL +         let _ = std::ptr::addr_eq(*a, *b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:72:17
@@ -227,8 +236,9 @@ LL |         let _ = a != b;
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         let _ = !std::ptr::addr_eq(*a, *b);
-   |                 ++++++++++++++++++++ ~~~ +
+LL -         let _ = a != b;
+LL +         let _ = !std::ptr::addr_eq(*a, *b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:74:17
@@ -282,8 +292,9 @@ LL |         let _ = PartialEq::eq(a, b);
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         let _ = std::ptr::addr_eq(*a, *b);
-   |                 ~~~~~~~~~~~~~~~~~~~ ~~~
+LL -         let _ = PartialEq::eq(a, b);
+LL +         let _ = std::ptr::addr_eq(*a, *b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:85:17
@@ -293,8 +304,9 @@ LL |         let _ = PartialEq::ne(a, b);
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         let _ = !std::ptr::addr_eq(*a, *b);
-   |                 ~~~~~~~~~~~~~~~~~~~~ ~~~
+LL -         let _ = PartialEq::ne(a, b);
+LL +         let _ = !std::ptr::addr_eq(*a, *b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:87:17
@@ -304,8 +316,9 @@ LL |         let _ = PartialEq::eq(&a, &b);
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         let _ = std::ptr::addr_eq(*a, *b);
-   |                 ~~~~~~~~~~~~~~~~~~~ ~~~
+LL -         let _ = PartialEq::eq(&a, &b);
+LL +         let _ = std::ptr::addr_eq(*a, *b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:89:17
@@ -315,8 +328,9 @@ LL |         let _ = PartialEq::ne(&a, &b);
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         let _ = !std::ptr::addr_eq(*a, *b);
-   |                 ~~~~~~~~~~~~~~~~~~~~ ~~~
+LL -         let _ = PartialEq::ne(&a, &b);
+LL +         let _ = !std::ptr::addr_eq(*a, *b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:91:17
@@ -326,8 +340,9 @@ LL |         let _ = a.eq(b);
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         let _ = std::ptr::addr_eq(*a, *b);
-   |                 +++++++++++++++++++ ~~~
+LL -         let _ = a.eq(b);
+LL +         let _ = std::ptr::addr_eq(*a, *b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:93:17
@@ -337,8 +352,9 @@ LL |         let _ = a.ne(b);
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         let _ = !std::ptr::addr_eq(*a, *b);
-   |                 ++++++++++++++++++++ ~~~
+LL -         let _ = a.ne(b);
+LL +         let _ = !std::ptr::addr_eq(*a, *b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:95:17
@@ -414,12 +430,14 @@ LL |     let _ = s == s;
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |     let _ = std::ptr::addr_eq(s, s);
-   |             ++++++++++++++++++ ~  +
+LL -     let _ = s == s;
+LL +     let _ = std::ptr::addr_eq(s, s);
+   |
 help: use explicit `std::ptr::eq` method to compare metadata and addresses
    |
-LL |     let _ = std::ptr::eq(s, s);
-   |             +++++++++++++ ~  +
+LL -     let _ = s == s;
+LL +     let _ = std::ptr::eq(s, s);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:114:13
@@ -429,12 +447,14 @@ LL |     let _ = s == s;
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |     let _ = std::ptr::addr_eq(s, s);
-   |             ++++++++++++++++++ ~  +
+LL -     let _ = s == s;
+LL +     let _ = std::ptr::addr_eq(s, s);
+   |
 help: use explicit `std::ptr::eq` method to compare metadata and addresses
    |
-LL |     let _ = std::ptr::eq(s, s);
-   |             +++++++++++++ ~  +
+LL -     let _ = s == s;
+LL +     let _ = std::ptr::eq(s, s);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:118:17
@@ -444,12 +464,14 @@ LL |         let _ = a == b;
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         let _ = std::ptr::addr_eq(a, b);
-   |                 ++++++++++++++++++ ~  +
+LL -         let _ = a == b;
+LL +         let _ = std::ptr::addr_eq(a, b);
+   |
 help: use explicit `std::ptr::eq` method to compare metadata and addresses
    |
-LL |         let _ = std::ptr::eq(a, b);
-   |                 +++++++++++++ ~  +
+LL -         let _ = a == b;
+LL +         let _ = std::ptr::eq(a, b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:120:17
@@ -459,12 +481,14 @@ LL |         let _ = a != b;
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         let _ = !std::ptr::addr_eq(a, b);
-   |                 +++++++++++++++++++ ~  +
+LL -         let _ = a != b;
+LL +         let _ = !std::ptr::addr_eq(a, b);
+   |
 help: use explicit `std::ptr::eq` method to compare metadata and addresses
    |
-LL |         let _ = !std::ptr::eq(a, b);
-   |                 ++++++++++++++ ~  +
+LL -         let _ = a != b;
+LL +         let _ = !std::ptr::eq(a, b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:122:17
@@ -518,12 +542,14 @@ LL |         let _ = PartialEq::eq(&a, &b);
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         let _ = std::ptr::addr_eq(a, b);
-   |                 ~~~~~~~~~~~~~~~~~~ ~
+LL -         let _ = PartialEq::eq(&a, &b);
+LL +         let _ = std::ptr::addr_eq(a, b);
+   |
 help: use explicit `std::ptr::eq` method to compare metadata and addresses
    |
-LL |         let _ = std::ptr::eq(a, b);
-   |                 ~~~~~~~~~~~~~ ~
+LL -         let _ = PartialEq::eq(&a, &b);
+LL +         let _ = std::ptr::eq(a, b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:133:17
@@ -533,12 +559,14 @@ LL |         let _ = PartialEq::ne(&a, &b);
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         let _ = !std::ptr::addr_eq(a, b);
-   |                 ~~~~~~~~~~~~~~~~~~~ ~
+LL -         let _ = PartialEq::ne(&a, &b);
+LL +         let _ = !std::ptr::addr_eq(a, b);
+   |
 help: use explicit `std::ptr::eq` method to compare metadata and addresses
    |
-LL |         let _ = !std::ptr::eq(a, b);
-   |                 ~~~~~~~~~~~~~~ ~
+LL -         let _ = PartialEq::ne(&a, &b);
+LL +         let _ = !std::ptr::eq(a, b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:135:17
@@ -548,12 +576,14 @@ LL |         let _ = a.eq(&b);
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         let _ = std::ptr::addr_eq(a, b);
-   |                 ++++++++++++++++++ ~
+LL -         let _ = a.eq(&b);
+LL +         let _ = std::ptr::addr_eq(a, b);
+   |
 help: use explicit `std::ptr::eq` method to compare metadata and addresses
    |
-LL |         let _ = std::ptr::eq(a, b);
-   |                 +++++++++++++ ~
+LL -         let _ = a.eq(&b);
+LL +         let _ = std::ptr::eq(a, b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:137:17
@@ -563,12 +593,14 @@ LL |         let _ = a.ne(&b);
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         let _ = !std::ptr::addr_eq(a, b);
-   |                 +++++++++++++++++++ ~
+LL -         let _ = a.ne(&b);
+LL +         let _ = !std::ptr::addr_eq(a, b);
+   |
 help: use explicit `std::ptr::eq` method to compare metadata and addresses
    |
-LL |         let _ = !std::ptr::eq(a, b);
-   |                 ++++++++++++++ ~
+LL -         let _ = a.ne(&b);
+LL +         let _ = !std::ptr::eq(a, b);
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:142:9
@@ -578,12 +610,14 @@ LL |         &*a == &*b
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         std::ptr::addr_eq(*a, *b)
-   |         ~~~~~~~~~~~~~~~~~~  ~   +
+LL -         &*a == &*b
+LL +         std::ptr::addr_eq(*a, *b)
+   |
 help: use explicit `std::ptr::eq` method to compare metadata and addresses
    |
-LL |         std::ptr::eq(*a, *b)
-   |         ~~~~~~~~~~~~~  ~   +
+LL -         &*a == &*b
+LL +         std::ptr::eq(*a, *b)
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:153:14
@@ -593,8 +627,9 @@ LL |         cmp!(a, b);
    |
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |         cmp!(std::ptr::addr_eq(a, b));
-   |              ++++++++++++++++++    +
+LL -         cmp!(a, b);
+LL +         cmp!(std::ptr::addr_eq(a, b));
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:159:39
@@ -608,8 +643,9 @@ LL |         cmp!(a, b);
    = note: this warning originates in the macro `cmp` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
    |
-LL |             ($a:ident, $b:ident) => { std::ptr::addr_eq($a, $b) }
-   |                                       ++++++++++++++++++  ~   +
+LL -             ($a:ident, $b:ident) => { $a == $b }
+LL +             ($a:ident, $b:ident) => { std::ptr::addr_eq($a, $b) }
+   |
 
 warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
   --> $DIR/wide_pointer_comparisons.rs:169:37
diff --git a/tests/ui/loops/loop-break-value-no-repeat.stderr b/tests/ui/loops/loop-break-value-no-repeat.stderr
index 946057d0543..918ea81a2ed 100644
--- a/tests/ui/loops/loop-break-value-no-repeat.stderr
+++ b/tests/ui/loops/loop-break-value-no-repeat.stderr
@@ -8,8 +8,9 @@ LL |         break 22
    |
 help: use `break` on its own without a value inside this `for` loop
    |
-LL |         break
-   |         ~~~~~
+LL -         break 22
+LL +         break
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/loops/loop-break-value.stderr b/tests/ui/loops/loop-break-value.stderr
index 0912bdbb221..3b9735510bd 100644
--- a/tests/ui/loops/loop-break-value.stderr
+++ b/tests/ui/loops/loop-break-value.stderr
@@ -46,12 +46,14 @@ LL |         break ();
    |
 help: use `break` on its own without a value inside this `while` loop
    |
-LL |         break;
-   |         ~~~~~
+LL -         break ();
+LL +         break;
+   |
 help: alternatively, you might have meant to use the available loop label
    |
-LL |         break 'while_loop;
-   |               ~~~~~~~~~~~
+LL -         break ();
+LL +         break 'while_loop;
+   |
 
 error[E0571]: `break` with value from a `while` loop
   --> $DIR/loop-break-value.rs:34:13
@@ -64,8 +66,9 @@ LL |             break 'while_loop 123;
    |
 help: use `break` on its own without a value inside this `while` loop
    |
-LL |             break 'while_loop;
-   |             ~~~~~~~~~~~~~~~~~
+LL -             break 'while_loop 123;
+LL +             break 'while_loop;
+   |
 
 error[E0571]: `break` with value from a `while` loop
   --> $DIR/loop-break-value.rs:42:12
@@ -77,8 +80,9 @@ LL |         if break () {
    |
 help: use `break` on its own without a value inside this `while` loop
    |
-LL |         if break {
-   |            ~~~~~
+LL -         if break () {
+LL +         if break {
+   |
 
 error[E0571]: `break` with value from a `while` loop
   --> $DIR/loop-break-value.rs:47:9
@@ -90,8 +94,9 @@ LL |         break None;
    |
 help: use `break` on its own without a value inside this `while` loop
    |
-LL |         break;
-   |         ~~~~~
+LL -         break None;
+LL +         break;
+   |
 
 error[E0571]: `break` with value from a `while` loop
   --> $DIR/loop-break-value.rs:53:13
@@ -104,8 +109,9 @@ LL |             break 'while_let_loop "nope";
    |
 help: use `break` on its own without a value inside this `while` loop
    |
-LL |             break 'while_let_loop;
-   |             ~~~~~~~~~~~~~~~~~~~~~
+LL -             break 'while_let_loop "nope";
+LL +             break 'while_let_loop;
+   |
 
 error[E0571]: `break` with value from a `for` loop
   --> $DIR/loop-break-value.rs:60:9
@@ -117,8 +123,9 @@ LL |         break ();
    |
 help: use `break` on its own without a value inside this `for` loop
    |
-LL |         break;
-   |         ~~~~~
+LL -         break ();
+LL +         break;
+   |
 
 error[E0571]: `break` with value from a `for` loop
   --> $DIR/loop-break-value.rs:61:9
@@ -131,8 +138,9 @@ LL |         break [()];
    |
 help: use `break` on its own without a value inside this `for` loop
    |
-LL |         break;
-   |         ~~~~~
+LL -         break [()];
+LL +         break;
+   |
 
 error[E0571]: `break` with value from a `for` loop
   --> $DIR/loop-break-value.rs:68:13
@@ -145,8 +153,9 @@ LL |             break 'for_loop Some(17);
    |
 help: use `break` on its own without a value inside this `for` loop
    |
-LL |             break 'for_loop;
-   |             ~~~~~~~~~~~~~~~
+LL -             break 'for_loop Some(17);
+LL +             break 'for_loop;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/loop-break-value.rs:4:31
diff --git a/tests/ui/macros/expand-full-no-resolution.stderr b/tests/ui/macros/expand-full-no-resolution.stderr
index df6f20332bf..b836ac51ad9 100644
--- a/tests/ui/macros/expand-full-no-resolution.stderr
+++ b/tests/ui/macros/expand-full-no-resolution.stderr
@@ -9,8 +9,9 @@ LL |     format_args!(a!());
    |
 help: the leading underscore in `_a` marks it as unused, consider renaming it to `a`
    |
-LL |         macro_rules! a {
-   |                      ~
+LL -         macro_rules! _a {
+LL +         macro_rules! a {
+   |
 
 error: cannot find macro `a` in this scope
   --> $DIR/expand-full-no-resolution.rs:19:10
@@ -23,8 +24,9 @@ LL |     env!(a!());
    |
 help: the leading underscore in `_a` marks it as unused, consider renaming it to `a`
    |
-LL |         macro_rules! a {
-   |                      ~
+LL -         macro_rules! _a {
+LL +         macro_rules! a {
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/macros/expr_2021_cargo_fix_edition.stderr b/tests/ui/macros/expr_2021_cargo_fix_edition.stderr
index fe1fd4a26a0..8ab6938fe19 100644
--- a/tests/ui/macros/expr_2021_cargo_fix_edition.stderr
+++ b/tests/ui/macros/expr_2021_cargo_fix_edition.stderr
@@ -13,8 +13,9 @@ LL | #![warn(edition_2024_expr_fragment_specifier)]
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: to keep the existing behavior, use the `expr_2021` fragment specifier
    |
-LL |     ($e:expr_2021) => {
-   |         ~~~~~~~~~
+LL -     ($e:expr) => {
+LL +     ($e:expr_2021) => {
+   |
 
 warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
   --> $DIR/expr_2021_cargo_fix_edition.rs:11:11
@@ -26,8 +27,9 @@ LL |     ($($i:expr)*) => { };
    = note: for more information, see Migration Guide <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/macro-fragment-specifiers.html>
 help: to keep the existing behavior, use the `expr_2021` fragment specifier
    |
-LL |     ($($i:expr_2021)*) => { };
-   |           ~~~~~~~~~
+LL -     ($($i:expr)*) => { };
+LL +     ($($i:expr_2021)*) => { };
+   |
 
 warning: 2 warnings emitted
 
diff --git a/tests/ui/macros/format-foreign.stderr b/tests/ui/macros/format-foreign.stderr
index 7971c2ab2b9..ccb6583615c 100644
--- a/tests/ui/macros/format-foreign.stderr
+++ b/tests/ui/macros/format-foreign.stderr
@@ -11,8 +11,9 @@ LL |     println!("%.*3$s %s!\n", "Hello,", "World", 4);
    = note: printf formatting is not supported; see the documentation for `std::fmt`
 help: format specifiers use curly braces
    |
-LL |     println!("{:.2$} {}!\n", "Hello,", "World", 4);
-   |               ~~~~~~ ~~
+LL -     println!("%.*3$s %s!\n", "Hello,", "World", 4);
+LL +     println!("{:.2$} {}!\n", "Hello,", "World", 4);
+   |
 
 error: argument never used
   --> $DIR/format-foreign.rs:3:29
@@ -75,8 +76,9 @@ LL |     println!("$1 $0 $$ $NAME", 1, 2, NAME=3);
    = note: shell formatting is not supported; see the documentation for `std::fmt`
 help: format specifiers use curly braces
    |
-LL |     println!("{1} {0} $$ {NAME}", 1, 2, NAME=3);
-   |               ~~~ ~~~    ~~~~~~
+LL -     println!("$1 $0 $$ $NAME", 1, 2, NAME=3);
+LL +     println!("{1} {0} $$ {NAME}", 1, 2, NAME=3);
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/macros/issue-103529.stderr b/tests/ui/macros/issue-103529.stderr
index 61e322afc77..985d9ace818 100644
--- a/tests/ui/macros/issue-103529.stderr
+++ b/tests/ui/macros/issue-103529.stderr
@@ -21,8 +21,9 @@ LL | m! { auto x }
    |
 help: write `let` instead of `auto` to introduce a new variable
    |
-LL | m! { let x }
-   |      ~~~
+LL - m! { auto x }
+LL + m! { let x }
+   |
 
 error: invalid variable declaration
   --> $DIR/issue-103529.rs:10:6
@@ -32,8 +33,9 @@ LL | m! { var x }
    |
 help: write `let` instead of `var` to introduce a new variable
    |
-LL | m! { let x }
-   |      ~~~
+LL - m! { var x }
+LL + m! { let x }
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/macros/issue-109237.stderr b/tests/ui/macros/issue-109237.stderr
index a335786df86..9d25420af25 100644
--- a/tests/ui/macros/issue-109237.stderr
+++ b/tests/ui/macros/issue-109237.stderr
@@ -11,8 +11,9 @@ LL |     let _ = statement!();
    = note: this error originates in the macro `statement` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: surround the macro invocation with `{}` to interpret the expansion as a statement
    |
-LL |     let _ = { statement!(); };
-   |             ~~~~~~~~~~~~~~~~~
+LL -     let _ = statement!();
+LL +     let _ = { statement!(); };
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/macros/issue-118786.stderr b/tests/ui/macros/issue-118786.stderr
index 7fa5c2b83dd..af4cc9ad863 100644
--- a/tests/ui/macros/issue-118786.stderr
+++ b/tests/ui/macros/issue-118786.stderr
@@ -6,8 +6,9 @@ LL | make_macro!((meow));
    |
 help: change the delimiters to curly braces
    |
-LL | make_macro!({meow});
-   |             ~    ~
+LL - make_macro!((meow));
+LL + make_macro!({meow});
+   |
 help: add a semicolon
    |
 LL |         macro_rules! $macro_name; {
diff --git a/tests/ui/macros/issue-99265.stderr b/tests/ui/macros/issue-99265.stderr
index 9185dbff61e..a4200bf02cf 100644
--- a/tests/ui/macros/issue-99265.stderr
+++ b/tests/ui/macros/issue-99265.stderr
@@ -74,8 +74,9 @@ LL |     println!("Hello {:1$}!", "x", width = 5);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("Hello {:width$}!", "x", width = 5);
-   |                       ~~~~~~
+LL -     println!("Hello {:1$}!", "x", width = 5);
+LL +     println!("Hello {:width$}!", "x", width = 5);
+   |
 
 warning: named argument `f` is not used by name
   --> $DIR/issue-99265.rs:23:33
@@ -100,8 +101,9 @@ LL |     println!("Hello {:1$.2$}!", f = 0.02f32, width = 5, precision = 2);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("Hello {:1$.precision$}!", f = 0.02f32, width = 5, precision = 2);
-   |                          ~~~~~~~~~~
+LL -     println!("Hello {:1$.2$}!", f = 0.02f32, width = 5, precision = 2);
+LL +     println!("Hello {:1$.precision$}!", f = 0.02f32, width = 5, precision = 2);
+   |
 
 warning: named argument `width` is not used by name
   --> $DIR/issue-99265.rs:23:46
@@ -113,8 +115,9 @@ LL |     println!("Hello {:1$.2$}!", f = 0.02f32, width = 5, precision = 2);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("Hello {:width$.2$}!", f = 0.02f32, width = 5, precision = 2);
-   |                       ~~~~~~
+LL -     println!("Hello {:1$.2$}!", f = 0.02f32, width = 5, precision = 2);
+LL +     println!("Hello {:width$.2$}!", f = 0.02f32, width = 5, precision = 2);
+   |
 
 warning: named argument `f` is not used by name
   --> $DIR/issue-99265.rs:31:34
@@ -126,8 +129,9 @@ LL |     println!("Hello {0:1$.2$}!", f = 0.02f32, width = 5, precision = 2);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("Hello {f:1$.2$}!", f = 0.02f32, width = 5, precision = 2);
-   |                      ~
+LL -     println!("Hello {0:1$.2$}!", f = 0.02f32, width = 5, precision = 2);
+LL +     println!("Hello {f:1$.2$}!", f = 0.02f32, width = 5, precision = 2);
+   |
 
 warning: named argument `precision` is not used by name
   --> $DIR/issue-99265.rs:31:58
@@ -139,8 +143,9 @@ LL |     println!("Hello {0:1$.2$}!", f = 0.02f32, width = 5, precision = 2);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("Hello {0:1$.precision$}!", f = 0.02f32, width = 5, precision = 2);
-   |                           ~~~~~~~~~~
+LL -     println!("Hello {0:1$.2$}!", f = 0.02f32, width = 5, precision = 2);
+LL +     println!("Hello {0:1$.precision$}!", f = 0.02f32, width = 5, precision = 2);
+   |
 
 warning: named argument `width` is not used by name
   --> $DIR/issue-99265.rs:31:47
@@ -152,8 +157,9 @@ LL |     println!("Hello {0:1$.2$}!", f = 0.02f32, width = 5, precision = 2);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("Hello {0:width$.2$}!", f = 0.02f32, width = 5, precision = 2);
-   |                        ~~~~~~
+LL -     println!("Hello {0:1$.2$}!", f = 0.02f32, width = 5, precision = 2);
+LL +     println!("Hello {0:width$.2$}!", f = 0.02f32, width = 5, precision = 2);
+   |
 
 warning: named argument `f` is not used by name
   --> $DIR/issue-99265.rs:49:9
@@ -166,8 +172,9 @@ LL |         f = 0.02f32,
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |         "{}, Hello {f:2$.3$} {4:5$.6$}! {1}",
-   |                     ~
+LL -         "{}, Hello {1:2$.3$} {4:5$.6$}! {1}",
+LL +         "{}, Hello {f:2$.3$} {4:5$.6$}! {1}",
+   |
 
 warning: named argument `precision` is not used by name
   --> $DIR/issue-99265.rs:54:9
@@ -180,8 +187,9 @@ LL |         precision = 2,
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |         "{}, Hello {1:2$.precision$} {4:5$.6$}! {1}",
-   |                          ~~~~~~~~~~
+LL -         "{}, Hello {1:2$.3$} {4:5$.6$}! {1}",
+LL +         "{}, Hello {1:2$.precision$} {4:5$.6$}! {1}",
+   |
 
 warning: named argument `width` is not used by name
   --> $DIR/issue-99265.rs:52:9
@@ -194,8 +202,9 @@ LL |         width = 5,
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |         "{}, Hello {1:width$.3$} {4:5$.6$}! {1}",
-   |                       ~~~~~~
+LL -         "{}, Hello {1:2$.3$} {4:5$.6$}! {1}",
+LL +         "{}, Hello {1:width$.3$} {4:5$.6$}! {1}",
+   |
 
 warning: named argument `g` is not used by name
   --> $DIR/issue-99265.rs:56:9
@@ -208,8 +217,9 @@ LL |         g = 0.02f32,
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |         "{}, Hello {1:2$.3$} {g:5$.6$}! {1}",
-   |                               ~
+LL -         "{}, Hello {1:2$.3$} {4:5$.6$}! {1}",
+LL +         "{}, Hello {1:2$.3$} {g:5$.6$}! {1}",
+   |
 
 warning: named argument `precision2` is not used by name
   --> $DIR/issue-99265.rs:60:9
@@ -222,8 +232,9 @@ LL |         precision2 = 2
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |         "{}, Hello {1:2$.3$} {4:5$.precision2$}! {1}",
-   |                                    ~~~~~~~~~~~
+LL -         "{}, Hello {1:2$.3$} {4:5$.6$}! {1}",
+LL +         "{}, Hello {1:2$.3$} {4:5$.precision2$}! {1}",
+   |
 
 warning: named argument `width2` is not used by name
   --> $DIR/issue-99265.rs:58:9
@@ -236,8 +247,9 @@ LL |         width2 = 5,
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |         "{}, Hello {1:2$.3$} {4:width2$.6$}! {1}",
-   |                                 ~~~~~~~
+LL -         "{}, Hello {1:2$.3$} {4:5$.6$}! {1}",
+LL +         "{}, Hello {1:2$.3$} {4:width2$.6$}! {1}",
+   |
 
 warning: named argument `f` is not used by name
   --> $DIR/issue-99265.rs:49:9
@@ -250,8 +262,9 @@ LL |         f = 0.02f32,
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |         "{}, Hello {1:2$.3$} {4:5$.6$}! {f}",
-   |                                          ~
+LL -         "{}, Hello {1:2$.3$} {4:5$.6$}! {1}",
+LL +         "{}, Hello {1:2$.3$} {4:5$.6$}! {f}",
+   |
 
 warning: named argument `f` is not used by name
   --> $DIR/issue-99265.rs:64:31
@@ -276,8 +289,9 @@ LL |     println!("Hello {0:0.1}!", f = 0.02f32);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("Hello {f:0.1}!", f = 0.02f32);
-   |                      ~
+LL -     println!("Hello {0:0.1}!", f = 0.02f32);
+LL +     println!("Hello {f:0.1}!", f = 0.02f32);
+   |
 
 warning: named argument `v` is not used by name
   --> $DIR/issue-99265.rs:79:23
@@ -302,8 +316,9 @@ LL |     println!("{:0$}", v = val);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("{:v$}", v = val);
-   |                 ~~
+LL -     println!("{:0$}", v = val);
+LL +     println!("{:v$}", v = val);
+   |
 
 warning: named argument `v` is not used by name
   --> $DIR/issue-99265.rs:84:24
@@ -315,8 +330,9 @@ LL |     println!("{0:0$}", v = val);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("{v:0$}", v = val);
-   |                ~
+LL -     println!("{0:0$}", v = val);
+LL +     println!("{v:0$}", v = val);
+   |
 
 warning: named argument `v` is not used by name
   --> $DIR/issue-99265.rs:84:24
@@ -328,8 +344,9 @@ LL |     println!("{0:0$}", v = val);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("{0:v$}", v = val);
-   |                  ~~
+LL -     println!("{0:0$}", v = val);
+LL +     println!("{0:v$}", v = val);
+   |
 
 warning: named argument `v` is not used by name
   --> $DIR/issue-99265.rs:89:26
@@ -354,8 +371,9 @@ LL |     println!("{:0$.0$}", v = val);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("{:0$.v$}", v = val);
-   |                    ~~
+LL -     println!("{:0$.0$}", v = val);
+LL +     println!("{:0$.v$}", v = val);
+   |
 
 warning: named argument `v` is not used by name
   --> $DIR/issue-99265.rs:89:26
@@ -367,8 +385,9 @@ LL |     println!("{:0$.0$}", v = val);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("{:v$.0$}", v = val);
-   |                 ~~
+LL -     println!("{:0$.0$}", v = val);
+LL +     println!("{:v$.0$}", v = val);
+   |
 
 warning: named argument `v` is not used by name
   --> $DIR/issue-99265.rs:96:27
@@ -380,8 +399,9 @@ LL |     println!("{0:0$.0$}", v = val);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("{v:0$.0$}", v = val);
-   |                ~
+LL -     println!("{0:0$.0$}", v = val);
+LL +     println!("{v:0$.0$}", v = val);
+   |
 
 warning: named argument `v` is not used by name
   --> $DIR/issue-99265.rs:96:27
@@ -393,8 +413,9 @@ LL |     println!("{0:0$.0$}", v = val);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("{0:0$.v$}", v = val);
-   |                     ~~
+LL -     println!("{0:0$.0$}", v = val);
+LL +     println!("{0:0$.v$}", v = val);
+   |
 
 warning: named argument `v` is not used by name
   --> $DIR/issue-99265.rs:96:27
@@ -406,8 +427,9 @@ LL |     println!("{0:0$.0$}", v = val);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("{0:v$.0$}", v = val);
-   |                  ~~
+LL -     println!("{0:0$.0$}", v = val);
+LL +     println!("{0:v$.0$}", v = val);
+   |
 
 warning: named argument `a` is not used by name
   --> $DIR/issue-99265.rs:104:28
@@ -432,8 +454,9 @@ LL |     println!("{} {a} {0}", a = 1);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("{} {a} {a}", a = 1);
-   |                       ~
+LL -     println!("{} {a} {0}", a = 1);
+LL +     println!("{} {a} {a}", a = 1);
+   |
 
 warning: named argument `a` is not used by name
   --> $DIR/issue-99265.rs:115:14
@@ -460,8 +483,9 @@ LL |              a = 1.0, b = 1, c = 2,
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |                 {:1$.c$}",
-   |                      ~~
+LL -                 {:1$.2$}",
+LL +                 {:1$.c$}",
+   |
 
 warning: named argument `b` is not used by name
   --> $DIR/issue-99265.rs:115:23
@@ -474,8 +498,9 @@ LL |              a = 1.0, b = 1, c = 2,
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |                 {:b$.2$}",
-   |                   ~~
+LL -                 {:1$.2$}",
+LL +                 {:b$.2$}",
+   |
 
 warning: named argument `a` is not used by name
   --> $DIR/issue-99265.rs:126:14
@@ -488,8 +513,9 @@ LL |              a = 1.0, b = 1, c = 2,
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |                 {a:1$.2$}",
-   |                  ~
+LL -                 {0:1$.2$}",
+LL +                 {a:1$.2$}",
+   |
 
 warning: named argument `c` is not used by name
   --> $DIR/issue-99265.rs:126:30
@@ -502,8 +528,9 @@ LL |              a = 1.0, b = 1, c = 2,
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |                 {0:1$.c$}",
-   |                       ~~
+LL -                 {0:1$.2$}",
+LL +                 {0:1$.c$}",
+   |
 
 warning: named argument `b` is not used by name
   --> $DIR/issue-99265.rs:126:23
@@ -516,8 +543,9 @@ LL |              a = 1.0, b = 1, c = 2,
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |                 {0:b$.2$}",
-   |                    ~~
+LL -                 {0:1$.2$}",
+LL +                 {0:b$.2$}",
+   |
 
 warning: named argument `x` is not used by name
   --> $DIR/issue-99265.rs:132:30
@@ -542,8 +570,9 @@ LL |     println!("{{{:1$.2$}}}", x = 1.0, width = 3, precision = 2);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("{{{:1$.precision$}}}", x = 1.0, width = 3, precision = 2);
-   |                      ~~~~~~~~~~
+LL -     println!("{{{:1$.2$}}}", x = 1.0, width = 3, precision = 2);
+LL +     println!("{{{:1$.precision$}}}", x = 1.0, width = 3, precision = 2);
+   |
 
 warning: named argument `width` is not used by name
   --> $DIR/issue-99265.rs:132:39
@@ -555,8 +584,9 @@ LL |     println!("{{{:1$.2$}}}", x = 1.0, width = 3, precision = 2);
    |
 help: use the named argument by name to avoid ambiguity
    |
-LL |     println!("{{{:width$.2$}}}", x = 1.0, width = 3, precision = 2);
-   |                   ~~~~~~
+LL -     println!("{{{:1$.2$}}}", x = 1.0, width = 3, precision = 2);
+LL +     println!("{{{:width$.2$}}}", x = 1.0, width = 3, precision = 2);
+   |
 
 warning: 42 warnings emitted
 
diff --git a/tests/ui/macros/macro-backtrace-invalid-internals.stderr b/tests/ui/macros/macro-backtrace-invalid-internals.stderr
index aa8f06a0df1..bb8250d58b0 100644
--- a/tests/ui/macros/macro-backtrace-invalid-internals.stderr
+++ b/tests/ui/macros/macro-backtrace-invalid-internals.stderr
@@ -43,8 +43,9 @@ LL |     real_method_stmt!();
    = note: this error originates in the macro `real_method_stmt` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: you must specify a concrete type for this numeric value, like `f32`
    |
-LL |           2.0_f32.neg()
-   |           ~~~~~~~
+LL -           2.0.neg()
+LL +           2.0_f32.neg()
+   |
 
 error[E0599]: no method named `fake` found for type `{integer}` in the current scope
   --> $DIR/macro-backtrace-invalid-internals.rs:23:13
@@ -91,8 +92,9 @@ LL |     let _ = real_method_expr!();
    = note: this error originates in the macro `real_method_expr` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: you must specify a concrete type for this numeric value, like `f32`
    |
-LL |           2.0_f32.neg()
-   |           ~~~~~~~
+LL -           2.0.neg()
+LL +           2.0_f32.neg()
+   |
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/macros/macro-inner-attributes.stderr b/tests/ui/macros/macro-inner-attributes.stderr
index 947e33b08f4..d74b64db5ac 100644
--- a/tests/ui/macros/macro-inner-attributes.stderr
+++ b/tests/ui/macros/macro-inner-attributes.stderr
@@ -6,8 +6,9 @@ LL |     a::bar();
    |
 help: there is a crate or module with a similar name
    |
-LL |     b::bar();
-   |     ~
+LL -     a::bar();
+LL +     b::bar();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/macros/macro-use-wrong-name.stderr b/tests/ui/macros/macro-use-wrong-name.stderr
index 89345866be8..c7f214db225 100644
--- a/tests/ui/macros/macro-use-wrong-name.stderr
+++ b/tests/ui/macros/macro-use-wrong-name.stderr
@@ -11,8 +11,9 @@ LL | macro_rules! macro_one { () => ("one") }
    |
 help: a macro with a similar name exists
    |
-LL |     macro_one!();
-   |     ~~~~~~~~~
+LL -     macro_two!();
+LL +     macro_one!();
+   |
 help: consider importing this macro
    |
 LL + use two_macros::macro_two;
diff --git a/tests/ui/macros/recovery-allowed.stderr b/tests/ui/macros/recovery-allowed.stderr
index 825f7a8faf8..00bc65ed914 100644
--- a/tests/ui/macros/recovery-allowed.stderr
+++ b/tests/ui/macros/recovery-allowed.stderr
@@ -6,8 +6,9 @@ LL | please_recover! { not 1 }
    |
 help: use `!` to perform bitwise not
    |
-LL | please_recover! { !1 }
-   |                   ~
+LL - please_recover! { not 1 }
+LL + please_recover! { !1 }
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/malformed/malformed-meta-delim.stderr b/tests/ui/malformed/malformed-meta-delim.stderr
index 27636c3d546..3f2357c435f 100644
--- a/tests/ui/malformed/malformed-meta-delim.stderr
+++ b/tests/ui/malformed/malformed-meta-delim.stderr
@@ -6,8 +6,9 @@ LL | #[allow { foo_lint } ]
    |
 help: the delimiters should be `(` and `)`
    |
-LL | #[allow ( foo_lint ) ]
-   |         ~          ~
+LL - #[allow { foo_lint } ]
+LL + #[allow ( foo_lint ) ]
+   |
 
 error: wrong meta list delimiters
   --> $DIR/malformed-meta-delim.rs:8:9
@@ -17,8 +18,9 @@ LL | #[allow [ foo_lint ] ]
    |
 help: the delimiters should be `(` and `)`
    |
-LL | #[allow ( foo_lint ) ]
-   |         ~          ~
+LL - #[allow [ foo_lint ] ]
+LL + #[allow ( foo_lint ) ]
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/malformed/malformed-special-attrs.stderr b/tests/ui/malformed/malformed-special-attrs.stderr
index 8f2ce20593f..a6220710cf9 100644
--- a/tests/ui/malformed/malformed-special-attrs.stderr
+++ b/tests/ui/malformed/malformed-special-attrs.stderr
@@ -7,8 +7,9 @@ LL | #[cfg_attr]
    = note: for more information, visit <https://doc.rust-lang.org/reference/conditional-compilation.html#the-cfg_attr-attribute>
 help: missing condition and attribute
    |
-LL | #[cfg_attr(condition, attribute, other_attribute, ...)]
-   | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - #[cfg_attr]
+LL + #[cfg_attr(condition, attribute, other_attribute, ...)]
+   |
 
 error: malformed `cfg_attr` attribute input
   --> $DIR/malformed-special-attrs.rs:4:1
@@ -19,8 +20,9 @@ LL | #[cfg_attr = ""]
    = note: for more information, visit <https://doc.rust-lang.org/reference/conditional-compilation.html#the-cfg_attr-attribute>
 help: missing condition and attribute
    |
-LL | #[cfg_attr(condition, attribute, other_attribute, ...)]
-   | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - #[cfg_attr = ""]
+LL + #[cfg_attr(condition, attribute, other_attribute, ...)]
+   |
 
 error: malformed `derive` attribute input
   --> $DIR/malformed-special-attrs.rs:7:1
diff --git a/tests/ui/match/issue-56685.stderr b/tests/ui/match/issue-56685.stderr
index ccf357d4aa0..9655a380811 100644
--- a/tests/ui/match/issue-56685.stderr
+++ b/tests/ui/match/issue-56685.stderr
@@ -11,8 +11,9 @@ LL | #![deny(unused_variables)]
    |         ^^^^^^^^^^^^^^^^
 help: if this is intentional, prefix it with an underscore
    |
-LL |         E::A(_x) | E::B(_x) => {}
-   |              ~~         ~~
+LL -         E::A(x) | E::B(x) => {}
+LL +         E::A(_x) | E::B(_x) => {}
+   |
 
 error: unused variable: `x`
   --> $DIR/issue-56685.rs:25:14
@@ -22,8 +23,9 @@ LL |         F::A(x, y) | F::B(x, y) => { y },
    |
 help: if this is intentional, prefix it with an underscore
    |
-LL |         F::A(_x, y) | F::B(_x, y) => { y },
-   |              ~~            ~~
+LL -         F::A(x, y) | F::B(x, y) => { y },
+LL +         F::A(_x, y) | F::B(_x, y) => { y },
+   |
 
 error: unused variable: `a`
   --> $DIR/issue-56685.rs:27:14
@@ -45,8 +47,9 @@ LL |     let _ = if let F::A(x, y) | F::B(x, y) = F::A(1, 2) {
    |
 help: if this is intentional, prefix it with an underscore
    |
-LL |     let _ = if let F::A(_x, y) | F::B(_x, y) = F::A(1, 2) {
-   |                         ~~            ~~
+LL -     let _ = if let F::A(x, y) | F::B(x, y) = F::A(1, 2) {
+LL +     let _ = if let F::A(_x, y) | F::B(_x, y) = F::A(1, 2) {
+   |
 
 error: unused variable: `x`
   --> $DIR/issue-56685.rs:39:20
@@ -56,8 +59,9 @@ LL |     while let F::A(x, y) | F::B(x, y) = F::A(1, 2) {
    |
 help: if this is intentional, prefix it with an underscore
    |
-LL |     while let F::A(_x, y) | F::B(_x, y) = F::A(1, 2) {
-   |                    ~~            ~~
+LL -     while let F::A(x, y) | F::B(x, y) = F::A(1, 2) {
+LL +     while let F::A(_x, y) | F::B(_x, y) = F::A(1, 2) {
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/match/match-pattern-field-mismatch.stderr b/tests/ui/match/match-pattern-field-mismatch.stderr
index cde7ac972ca..ea5f6f0f22b 100644
--- a/tests/ui/match/match-pattern-field-mismatch.stderr
+++ b/tests/ui/match/match-pattern-field-mismatch.stderr
@@ -13,8 +13,9 @@ LL |           Color::Rgb(_, _, _) => { }
    |                          +++
 help: use `..` to ignore all fields
    |
-LL |           Color::Rgb(..) => { }
-   |                      ~~
+LL -           Color::Rgb(_, _) => { }
+LL +           Color::Rgb(..) => { }
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/meta/expected-error-correct-rev.a.stderr b/tests/ui/meta/expected-error-correct-rev.a.stderr
index d5b7603d346..ae8dd86d360 100644
--- a/tests/ui/meta/expected-error-correct-rev.a.stderr
+++ b/tests/ui/meta/expected-error-correct-rev.a.stderr
@@ -8,8 +8,9 @@ LL |     let x: u32 = 22_usize;
    |
 help: change the type of the numeric literal from `usize` to `u32`
    |
-LL |     let x: u32 = 22_u32;
-   |                     ~~~
+LL -     let x: u32 = 22_usize;
+LL +     let x: u32 = 22_u32;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/meta/meta-expected-error-wrong-rev.a.stderr b/tests/ui/meta/meta-expected-error-wrong-rev.a.stderr
index a489040f32d..48fea28024f 100644
--- a/tests/ui/meta/meta-expected-error-wrong-rev.a.stderr
+++ b/tests/ui/meta/meta-expected-error-wrong-rev.a.stderr
@@ -8,8 +8,9 @@ LL |     let x: u32 = 22_usize;
    |
 help: change the type of the numeric literal from `usize` to `u32`
    |
-LL |     let x: u32 = 22_u32;
-   |                     ~~~
+LL -     let x: u32 = 22_usize;
+LL +     let x: u32 = 22_u32;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/methods/disambiguate-associated-function-first-arg.stderr b/tests/ui/methods/disambiguate-associated-function-first-arg.stderr
index 341b7a91003..381e29667c8 100644
--- a/tests/ui/methods/disambiguate-associated-function-first-arg.stderr
+++ b/tests/ui/methods/disambiguate-associated-function-first-arg.stderr
@@ -25,16 +25,19 @@ LL |     fn new(_a: Self, _b: i32);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: disambiguate the associated function for candidate #1
    |
-LL |     <A as M>::new(1);
-   |     ~~~~~~~~~~~~~~~~
+LL -     _a.new(1);
+LL +     <A as M>::new(1);
+   |
 help: disambiguate the associated function for candidate #2
    |
-LL |     <A as N>::new(_a, 1);
-   |     ~~~~~~~~~~~~~~~~~~~~
+LL -     _a.new(1);
+LL +     <A as N>::new(_a, 1);
+   |
 help: disambiguate the associated function for candidate #3
    |
-LL |     <A as O>::new(_a, 1);
-   |     ~~~~~~~~~~~~~~~~~~~~
+LL -     _a.new(1);
+LL +     <A as O>::new(_a, 1);
+   |
 
 error[E0034]: multiple applicable items in scope
   --> $DIR/disambiguate-associated-function-first-arg.rs:47:7
@@ -54,12 +57,14 @@ LL |     fn f(self) {}
    |     ^^^^^^^^^^
 help: disambiguate the method for candidate #1
    |
-LL |     TraitA::f(S);
-   |     ~~~~~~~~~~~~
+LL -     S.f();
+LL +     TraitA::f(S);
+   |
 help: disambiguate the method for candidate #2
    |
-LL |     TraitB::f(S);
-   |     ~~~~~~~~~~~~
+LL -     S.f();
+LL +     TraitB::f(S);
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/methods/disambiguate-multiple-blanket-impl.stderr b/tests/ui/methods/disambiguate-multiple-blanket-impl.stderr
index ccdd9a95451..1b81dc5aafb 100644
--- a/tests/ui/methods/disambiguate-multiple-blanket-impl.stderr
+++ b/tests/ui/methods/disambiguate-multiple-blanket-impl.stderr
@@ -6,10 +6,12 @@ LL |     let _: S::Type;
    |
 help: use fully-qualified syntax
    |
-LL |     let _: <S as A>::Type;
-   |            ~~~~~~~~~~~~~~
-LL |     let _: <S as B>::Type;
-   |            ~~~~~~~~~~~~~~
+LL -     let _: S::Type;
+LL +     let _: <S as A>::Type;
+   |
+LL -     let _: S::Type;
+LL +     let _: <S as B>::Type;
+   |
 
 error[E0034]: multiple applicable items in scope
   --> $DIR/disambiguate-multiple-blanket-impl.rs:30:8
@@ -29,10 +31,12 @@ LL |     fn foo(&self) {}
    |     ^^^^^^^^^^^^^
 help: use fully-qualified syntax to disambiguate
    |
-LL |     A::foo(&s);
-   |     ~~~
-LL |     B::foo(&s);
-   |     ~~~
+LL -     S::foo(&s);
+LL +     A::foo(&s);
+   |
+LL -     S::foo(&s);
+LL +     B::foo(&s);
+   |
 
 error[E0034]: multiple applicable items in scope
   --> $DIR/disambiguate-multiple-blanket-impl.rs:33:8
@@ -52,10 +56,12 @@ LL |     const CONST: usize = 2;
    |     ^^^^^^^^^^^^^^^^^^
 help: use fully-qualified syntax to disambiguate
    |
-LL |     <S as A>::CONST;
-   |     ~~~~~~~~~~
-LL |     <S as B>::CONST;
-   |     ~~~~~~~~~~
+LL -     S::CONST;
+LL +     <S as A>::CONST;
+   |
+LL -     S::CONST;
+LL +     <S as B>::CONST;
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/methods/disambiguate-multiple-impl.stderr b/tests/ui/methods/disambiguate-multiple-impl.stderr
index 4172120770c..2563c2327b7 100644
--- a/tests/ui/methods/disambiguate-multiple-impl.stderr
+++ b/tests/ui/methods/disambiguate-multiple-impl.stderr
@@ -6,10 +6,12 @@ LL |     let _: S::Type = ();
    |
 help: use fully-qualified syntax
    |
-LL |     let _: <S as A>::Type = ();
-   |            ~~~~~~~~~~~~~~
-LL |     let _: <S as B>::Type = ();
-   |            ~~~~~~~~~~~~~~
+LL -     let _: S::Type = ();
+LL +     let _: <S as A>::Type = ();
+   |
+LL -     let _: S::Type = ();
+LL +     let _: <S as B>::Type = ();
+   |
 
 error[E0034]: multiple applicable items in scope
   --> $DIR/disambiguate-multiple-impl.rs:29:8
@@ -29,10 +31,12 @@ LL |     fn foo(&self) {}
    |     ^^^^^^^^^^^^^
 help: use fully-qualified syntax to disambiguate
    |
-LL |     A::foo(&s);
-   |     ~~~
-LL |     B::foo(&s);
-   |     ~~~
+LL -     S::foo(&s);
+LL +     A::foo(&s);
+   |
+LL -     S::foo(&s);
+LL +     B::foo(&s);
+   |
 
 error[E0034]: multiple applicable items in scope
   --> $DIR/disambiguate-multiple-impl.rs:34:16
@@ -52,10 +56,12 @@ LL |     const CONST: usize = 2;
    |     ^^^^^^^^^^^^^^^^^^
 help: use fully-qualified syntax to disambiguate
    |
-LL |     let _ = <S as A>::CONST;
-   |             ~~~~~~~~~~
-LL |     let _ = <S as B>::CONST;
-   |             ~~~~~~~~~~
+LL -     let _ = S::CONST;
+LL +     let _ = <S as A>::CONST;
+   |
+LL -     let _ = S::CONST;
+LL +     let _ = <S as B>::CONST;
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/methods/disambiguate-multiple-trait-2.stderr b/tests/ui/methods/disambiguate-multiple-trait-2.stderr
index 2778f254a56..08e264c20c8 100644
--- a/tests/ui/methods/disambiguate-multiple-trait-2.stderr
+++ b/tests/ui/methods/disambiguate-multiple-trait-2.stderr
@@ -12,12 +12,14 @@ LL |     let _: T::Type;
    |
 help: use fully-qualified syntax to disambiguate
    |
-LL |     let _: <T as A>::Type;
-   |            ~~~~~~~~~~
+LL -     let _: T::Type;
+LL +     let _: <T as A>::Type;
+   |
 help: use fully-qualified syntax to disambiguate
    |
-LL |     let _: <T as B>::Type;
-   |            ~~~~~~~~~~
+LL -     let _: T::Type;
+LL +     let _: <T as B>::Type;
+   |
 
 error[E0034]: multiple applicable items in scope
   --> $DIR/disambiguate-multiple-trait-2.rs:16:7
@@ -37,12 +39,14 @@ LL |     fn foo(&self);
    |     ^^^^^^^^^^^^^^
 help: disambiguate the method for candidate #1
    |
-LL |     A::foo(&t);
-   |     ~~~~~~~~~~
+LL -     t.foo();
+LL +     A::foo(&t);
+   |
 help: disambiguate the method for candidate #2
    |
-LL |     B::foo(&t);
-   |     ~~~~~~~~~~
+LL -     t.foo();
+LL +     B::foo(&t);
+   |
 
 error[E0034]: multiple applicable items in scope
   --> $DIR/disambiguate-multiple-trait-2.rs:20:16
@@ -62,10 +66,12 @@ LL |     const CONST: usize;
    |     ^^^^^^^^^^^^^^^^^^
 help: use fully-qualified syntax to disambiguate
    |
-LL |     let _ = <T as A>::CONST;
-   |             ~~~~~~~~~~
-LL |     let _ = <T as B>::CONST;
-   |             ~~~~~~~~~~
+LL -     let _ = T::CONST;
+LL +     let _ = <T as A>::CONST;
+   |
+LL -     let _ = T::CONST;
+LL +     let _ = <T as B>::CONST;
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/disambiguate-multiple-trait-2.rs:52:12
@@ -75,10 +81,12 @@ LL |     let _: S::Type;
    |
 help: use fully-qualified syntax
    |
-LL |     let _: <S as A>::Type;
-   |            ~~~~~~~~~~~~~~
-LL |     let _: <S as B>::Type;
-   |            ~~~~~~~~~~~~~~
+LL -     let _: S::Type;
+LL +     let _: <S as A>::Type;
+   |
+LL -     let _: S::Type;
+LL +     let _: <S as B>::Type;
+   |
 
 error[E0034]: multiple applicable items in scope
   --> $DIR/disambiguate-multiple-trait-2.rs:46:8
@@ -98,10 +106,12 @@ LL |     fn foo(&self) {}
    |     ^^^^^^^^^^^^^
 help: use fully-qualified syntax to disambiguate
    |
-LL |     A::foo(&s);
-   |     ~~~
-LL |     B::foo(&s);
-   |     ~~~
+LL -     S::foo(&s);
+LL +     A::foo(&s);
+   |
+LL -     S::foo(&s);
+LL +     B::foo(&s);
+   |
 
 error[E0034]: multiple applicable items in scope
   --> $DIR/disambiguate-multiple-trait-2.rs:49:16
@@ -121,10 +131,12 @@ LL |     const CONST: usize = 1;
    |     ^^^^^^^^^^^^^^^^^^
 help: use fully-qualified syntax to disambiguate
    |
-LL |     let _ = <S as A>::CONST;
-   |             ~~~~~~~~~~
-LL |     let _ = <S as B>::CONST;
-   |             ~~~~~~~~~~
+LL -     let _ = S::CONST;
+LL +     let _ = <S as A>::CONST;
+   |
+LL -     let _ = S::CONST;
+LL +     let _ = <S as B>::CONST;
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/methods/disambiguate-multiple-trait.stderr b/tests/ui/methods/disambiguate-multiple-trait.stderr
index e00498ca62b..a977fe2cd03 100644
--- a/tests/ui/methods/disambiguate-multiple-trait.stderr
+++ b/tests/ui/methods/disambiguate-multiple-trait.stderr
@@ -6,10 +6,12 @@ LL |     let _: S::Type;
    |
 help: use fully-qualified syntax
    |
-LL |     let _: <S as A>::Type;
-   |            ~~~~~~~~~~~~~~
-LL |     let _: <S as B>::Type;
-   |            ~~~~~~~~~~~~~~
+LL -     let _: S::Type;
+LL +     let _: <S as A>::Type;
+   |
+LL -     let _: S::Type;
+LL +     let _: <S as B>::Type;
+   |
 
 error[E0034]: multiple applicable items in scope
   --> $DIR/disambiguate-multiple-trait.rs:24:8
@@ -29,10 +31,12 @@ LL |     fn foo(&self) {}
    |     ^^^^^^^^^^^^^
 help: use fully-qualified syntax to disambiguate
    |
-LL |     A::foo(&s);
-   |     ~~~
-LL |     B::foo(&s);
-   |     ~~~
+LL -     S::foo(&s);
+LL +     A::foo(&s);
+   |
+LL -     S::foo(&s);
+LL +     B::foo(&s);
+   |
 
 error[E0034]: multiple applicable items in scope
   --> $DIR/disambiguate-multiple-trait.rs:27:16
@@ -52,10 +56,12 @@ LL |     const CONST: usize = 2;
    |     ^^^^^^^^^^^^^^^^^^
 help: use fully-qualified syntax to disambiguate
    |
-LL |     let _ = <S as A>::CONST;
-   |             ~~~~~~~~~~
-LL |     let _ = <S as B>::CONST;
-   |             ~~~~~~~~~~
+LL -     let _ = S::CONST;
+LL +     let _ = <S as A>::CONST;
+   |
+LL -     let _ = S::CONST;
+LL +     let _ = <S as B>::CONST;
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/methods/issues/issue-105732.stderr b/tests/ui/methods/issues/issue-105732.stderr
index a4924b3e663..6244f983550 100644
--- a/tests/ui/methods/issues/issue-105732.stderr
+++ b/tests/ui/methods/issues/issue-105732.stderr
@@ -14,8 +14,9 @@ LL |         self.g();
    |
 help: there is a method `f` with a similar name
    |
-LL |         self.f();
-   |              ~
+LL -         self.g();
+LL +         self.f();
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/methods/issues/issue-90315.stderr b/tests/ui/methods/issues/issue-90315.stderr
index 0466bb0a0c9..e194a918834 100644
--- a/tests/ui/methods/issues/issue-90315.stderr
+++ b/tests/ui/methods/issues/issue-90315.stderr
@@ -181,8 +181,9 @@ LL |     let _res: i32 = ..6.take(2).sum();
    |
 help: you must specify a concrete type for this numeric value, like `i32`
    |
-LL |     let _res: i32 = ..6_i32.take(2).sum();
-   |                       ~~~~~
+LL -     let _res: i32 = ..6.take(2).sum();
+LL +     let _res: i32 = ..6_i32.take(2).sum();
+   |
 
 error: aborting due to 18 previous errors
 
diff --git a/tests/ui/methods/method-ambig-one-trait-unknown-int-type.stderr b/tests/ui/methods/method-ambig-one-trait-unknown-int-type.stderr
index b2d2d039ff6..a5f1b76702f 100644
--- a/tests/ui/methods/method-ambig-one-trait-unknown-int-type.stderr
+++ b/tests/ui/methods/method-ambig-one-trait-unknown-int-type.stderr
@@ -25,8 +25,9 @@ LL | impl Foo for Vec<isize> {
    | ^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <Vec<T> as Foo>::foo(&x);
-   |     ++++++++++++++++++++++ ~
+LL -     x.foo();
+LL +     <Vec<T> as Foo>::foo(&x);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/method-ambig-one-trait-unknown-int-type.rs:33:20
diff --git a/tests/ui/methods/method-ambig-two-traits-cross-crate.stderr b/tests/ui/methods/method-ambig-two-traits-cross-crate.stderr
index 0fc0c909ea8..707c33c3d94 100644
--- a/tests/ui/methods/method-ambig-two-traits-cross-crate.stderr
+++ b/tests/ui/methods/method-ambig-two-traits-cross-crate.stderr
@@ -12,12 +12,14 @@ LL | impl Me2 for usize { fn me(&self) -> usize { *self } }
    = note: candidate #2 is defined in an impl of the trait `Me` for the type `usize`
 help: disambiguate the method for candidate #1
    |
-LL | fn main() { Me2::me(&1_usize); }
-   |             ~~~~~~~~~~~~~~~~~
+LL - fn main() { 1_usize.me(); }
+LL + fn main() { Me2::me(&1_usize); }
+   |
 help: disambiguate the method for candidate #2
    |
-LL | fn main() { Me::me(&1_usize); }
-   |             ~~~~~~~~~~~~~~~~
+LL - fn main() { 1_usize.me(); }
+LL + fn main() { Me::me(&1_usize); }
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/methods/method-ambig-two-traits-from-bounds.stderr b/tests/ui/methods/method-ambig-two-traits-from-bounds.stderr
index 690f979fa37..f3aa1582398 100644
--- a/tests/ui/methods/method-ambig-two-traits-from-bounds.stderr
+++ b/tests/ui/methods/method-ambig-two-traits-from-bounds.stderr
@@ -16,12 +16,14 @@ LL | trait B { fn foo(&self); }
    |           ^^^^^^^^^^^^^^
 help: disambiguate the method for candidate #1
    |
-LL |     A::foo(&t);
-   |     ~~~~~~~~~~
+LL -     t.foo();
+LL +     A::foo(&t);
+   |
 help: disambiguate the method for candidate #2
    |
-LL |     B::foo(&t);
-   |     ~~~~~~~~~~
+LL -     t.foo();
+LL +     B::foo(&t);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/methods/method-ambig-two-traits-from-impls.stderr b/tests/ui/methods/method-ambig-two-traits-from-impls.stderr
index 8be6d6d64f7..d1c50e8b3d0 100644
--- a/tests/ui/methods/method-ambig-two-traits-from-impls.stderr
+++ b/tests/ui/methods/method-ambig-two-traits-from-impls.stderr
@@ -16,12 +16,14 @@ LL |     fn foo(self) {}
    |     ^^^^^^^^^^^^
 help: disambiguate the method for candidate #1
    |
-LL |     A::foo(AB {});
-   |     ~~~~~~~~~~~~~
+LL -     AB {}.foo();
+LL +     A::foo(AB {});
+   |
 help: disambiguate the method for candidate #2
    |
-LL |     B::foo(AB {});
-   |     ~~~~~~~~~~~~~
+LL -     AB {}.foo();
+LL +     B::foo(AB {});
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/methods/method-ambig-two-traits-from-impls2.stderr b/tests/ui/methods/method-ambig-two-traits-from-impls2.stderr
index 333520847f8..788f1a4c4b3 100644
--- a/tests/ui/methods/method-ambig-two-traits-from-impls2.stderr
+++ b/tests/ui/methods/method-ambig-two-traits-from-impls2.stderr
@@ -16,10 +16,12 @@ LL |     fn foo() {}
    |     ^^^^^^^^
 help: use fully-qualified syntax to disambiguate
    |
-LL |     <AB as A>::foo();
-   |     ~~~~~~~~~~~
-LL |     <AB as B>::foo();
-   |     ~~~~~~~~~~~
+LL -     AB::foo();
+LL +     <AB as A>::foo();
+   |
+LL -     AB::foo();
+LL +     <AB as B>::foo();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/methods/method-ambig-two-traits-with-default-method.stderr b/tests/ui/methods/method-ambig-two-traits-with-default-method.stderr
index b36ef77fb7e..605c2a85b07 100644
--- a/tests/ui/methods/method-ambig-two-traits-with-default-method.stderr
+++ b/tests/ui/methods/method-ambig-two-traits-with-default-method.stderr
@@ -16,12 +16,14 @@ LL | trait Foo { fn method(&self) {} }
    |             ^^^^^^^^^^^^^^^^
 help: disambiguate the method for candidate #1
    |
-LL |     Bar::method(&1_usize);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     1_usize.method();
+LL +     Bar::method(&1_usize);
+   |
 help: disambiguate the method for candidate #2
    |
-LL |     Foo::method(&1_usize);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     1_usize.method();
+LL +     Foo::method(&1_usize);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/methods/method-ambiguity-no-rcvr.stderr b/tests/ui/methods/method-ambiguity-no-rcvr.stderr
index 3b6eb07393a..c1a77a99739 100644
--- a/tests/ui/methods/method-ambiguity-no-rcvr.stderr
+++ b/tests/ui/methods/method-ambiguity-no-rcvr.stderr
@@ -20,12 +20,14 @@ LL |     fn foo() {}
    |     ^^^^^^^^
 help: disambiguate the associated function for candidate #1
    |
-LL |     <Qux as Foo>::foo();
-   |     ~~~~~~~~~~~~~~~~~~~
+LL -     Qux.foo();
+LL +     <Qux as Foo>::foo();
+   |
 help: disambiguate the associated function for candidate #2
    |
-LL |     <Qux as FooBar>::foo();
-   |     ~~~~~~~~~~~~~~~~~~~~~~
+LL -     Qux.foo();
+LL +     <Qux as FooBar>::foo();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/methods/method-call-err-msg.stderr b/tests/ui/methods/method-call-err-msg.stderr
index c17c4a23a3a..7cda928aca9 100644
--- a/tests/ui/methods/method-call-err-msg.stderr
+++ b/tests/ui/methods/method-call-err-msg.stderr
@@ -28,8 +28,9 @@ LL |     fn one(self, _: isize) -> Foo { self }
    |        ^^^       --------
 help: provide the argument
    |
-LL |      .one(/* isize */)
-   |          ~~~~~~~~~~~~~
+LL -      .one()
+LL +      .one(/* isize */)
+   |
 
 error[E0061]: this method takes 2 arguments but 1 argument was supplied
   --> $DIR/method-call-err-msg.rs:15:7
@@ -44,8 +45,9 @@ LL |     fn two(self, _: isize, _: isize) -> Foo { self }
    |        ^^^                 --------
 help: provide the argument
    |
-LL |      .two(0, /* isize */);
-   |          ~~~~~~~~~~~~~~~~
+LL -      .two(0);
+LL +      .two(0, /* isize */);
+   |
 
 error[E0599]: `Foo` is not an iterator
   --> $DIR/method-call-err-msg.rs:19:7
@@ -82,8 +84,9 @@ LL |     fn three<T>(self, _: T, _: T, _: T) -> Foo { self }
    |        ^^^^^          ----  ----  ----
 help: provide the arguments
    |
-LL |     y.three::<usize>(/* usize */, /* usize */, /* usize */);
-   |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     y.three::<usize>();
+LL +     y.three::<usize>(/* usize */, /* usize */, /* usize */);
+   |
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/ui/methods/method-deref-to-same-trait-object-with-separate-params.stderr b/tests/ui/methods/method-deref-to-same-trait-object-with-separate-params.stderr
index 6159d87c73e..d6da3f2cc39 100644
--- a/tests/ui/methods/method-deref-to-same-trait-object-with-separate-params.stderr
+++ b/tests/ui/methods/method-deref-to-same-trait-object-with-separate-params.stderr
@@ -46,16 +46,19 @@ LL |         fn foo(self: Smaht<Self, u64>) -> u64 {
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: disambiguate the method for candidate #1
    |
-LL |     let z = FinalFoo::foo(&x);
-   |             ~~~~~~~~~~~~~~~~~
+LL -     let z = x.foo();
+LL +     let z = FinalFoo::foo(&x);
+   |
 help: disambiguate the method for candidate #2
    |
-LL |     let z = NuisanceFoo::foo(x);
-   |             ~~~~~~~~~~~~~~~~~~~
+LL -     let z = x.foo();
+LL +     let z = NuisanceFoo::foo(x);
+   |
 help: disambiguate the method for candidate #3
    |
-LL |     let z = X::foo(x);
-   |             ~~~~~~~~~
+LL -     let z = x.foo();
+LL +     let z = X::foo(x);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/method-deref-to-same-trait-object-with-separate-params.rs:139:24
diff --git a/tests/ui/methods/method-not-found-but-doc-alias.stderr b/tests/ui/methods/method-not-found-but-doc-alias.stderr
index c49ffa8971f..2164b7cbbf8 100644
--- a/tests/ui/methods/method-not-found-but-doc-alias.stderr
+++ b/tests/ui/methods/method-not-found-but-doc-alias.stderr
@@ -9,8 +9,9 @@ LL |     Foo.quux();
    |
 help: there is a method `bar` with a similar name
    |
-LL |     Foo.bar();
-   |         ~~~
+LL -     Foo.quux();
+LL +     Foo.bar();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/methods/method-on-ambiguous-numeric-type.stderr b/tests/ui/methods/method-on-ambiguous-numeric-type.stderr
index 12427040272..d688bcc90c8 100644
--- a/tests/ui/methods/method-on-ambiguous-numeric-type.stderr
+++ b/tests/ui/methods/method-on-ambiguous-numeric-type.stderr
@@ -6,8 +6,9 @@ LL |     let x = 2.0.neg();
    |
 help: you must specify a concrete type for this numeric value, like `f32`
    |
-LL |     let x = 2.0_f32.neg();
-   |             ~~~~~~~
+LL -     let x = 2.0.neg();
+LL +     let x = 2.0_f32.neg();
+   |
 
 error[E0689]: can't call method `neg` on ambiguous numeric type `{float}`
   --> $DIR/method-on-ambiguous-numeric-type.rs:17:15
diff --git a/tests/ui/methods/suggest-convert-ptr-to-ref.stderr b/tests/ui/methods/suggest-convert-ptr-to-ref.stderr
index 0e1565e251a..7d52b20121e 100644
--- a/tests/ui/methods/suggest-convert-ptr-to-ref.stderr
+++ b/tests/ui/methods/suggest-convert-ptr-to-ref.stderr
@@ -47,8 +47,9 @@ LL |     let _ = t.as_mut_ref();
    |
 help: there is a method `as_mut` with a similar name
    |
-LL |     let _ = t.as_mut();
-   |               ~~~~~~
+LL -     let _ = t.as_mut_ref();
+LL +     let _ = t.as_mut();
+   |
 
 error[E0599]: no method named `as_ref_mut` found for raw pointer `*mut u8` in the current scope
   --> $DIR/suggest-convert-ptr-to-ref.rs:13:15
@@ -58,8 +59,9 @@ LL |     let _ = t.as_ref_mut();
    |
 help: there is a method `as_mut` with a similar name
    |
-LL |     let _ = t.as_mut();
-   |               ~~~~~~
+LL -     let _ = t.as_ref_mut();
+LL +     let _ = t.as_mut();
+   |
 
 error[E0599]: no method named `make_ascii_lowercase` found for raw pointer `*const u8` in the current scope
   --> $DIR/suggest-convert-ptr-to-ref.rs:16:7
diff --git a/tests/ui/mir/issue-106062.stderr b/tests/ui/mir/issue-106062.stderr
index 30635148dae..19a1d06e0be 100644
--- a/tests/ui/mir/issue-106062.stderr
+++ b/tests/ui/mir/issue-106062.stderr
@@ -6,10 +6,12 @@ LL |     async fn connection_handler(handler: impl Sized) -> Result<Ok, std::io:
    |
 help: try using the variant's enum
    |
-LL |     async fn connection_handler(handler: impl Sized) -> Result<core::result::Result, std::io::Error> {
-   |                                                                ~~~~~~~~~~~~~~~~~~~~
-LL |     async fn connection_handler(handler: impl Sized) -> Result<std::result::Result, std::io::Error> {
-   |                                                                ~~~~~~~~~~~~~~~~~~~
+LL -     async fn connection_handler(handler: impl Sized) -> Result<Ok, std::io::Error> {
+LL +     async fn connection_handler(handler: impl Sized) -> Result<core::result::Result, std::io::Error> {
+   |
+LL -     async fn connection_handler(handler: impl Sized) -> Result<Ok, std::io::Error> {
+LL +     async fn connection_handler(handler: impl Sized) -> Result<std::result::Result, std::io::Error> {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/mir/issue-112269.stderr b/tests/ui/mir/issue-112269.stderr
index 80f329e2ce0..29b69cb7e20 100644
--- a/tests/ui/mir/issue-112269.stderr
+++ b/tests/ui/mir/issue-112269.stderr
@@ -11,8 +11,9 @@ LL |     let x: i32 = 3;
    = note: the matched value is of type `i32`
 help: introduce a variable instead
    |
-LL |     let x_var: i32 = 3;
-   |         ~~~~~
+LL -     let x: i32 = 3;
+LL +     let x_var: i32 = 3;
+   |
 
 error[E0005]: refutable pattern in local binding
   --> $DIR/issue-112269.rs:7:9
@@ -27,8 +28,9 @@ LL |     let y = 4;
    = note: the matched value is of type `i32`
 help: introduce a variable instead
    |
-LL |     let y_var = 4;
-   |         ~~~~~
+LL -     let y = 4;
+LL +     let y_var = 4;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/mismatched_types/E0053.stderr b/tests/ui/mismatched_types/E0053.stderr
index 2559d448749..32452af5ced 100644
--- a/tests/ui/mismatched_types/E0053.stderr
+++ b/tests/ui/mismatched_types/E0053.stderr
@@ -13,8 +13,9 @@ LL |     fn foo(x: u16);
               found signature `fn(i16)`
 help: change the parameter type to match the trait
    |
-LL |     fn foo(x: u16) { }
-   |               ~~~
+LL -     fn foo(x: i16) { }
+LL +     fn foo(x: u16) { }
+   |
 
 error[E0053]: method `bar` has an incompatible type for trait
   --> $DIR/E0053.rs:11:12
@@ -31,8 +32,9 @@ LL |     fn bar(&self);
               found signature `fn(&mut Bar)`
 help: change the self-receiver type to match the trait
    |
-LL |     fn bar(&self) { }
-   |            ~~~~~
+LL -     fn bar(&mut self) { }
+LL +     fn bar(&self) { }
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/mismatched_types/cast-rfc0401.stderr b/tests/ui/mismatched_types/cast-rfc0401.stderr
index 2e5cbb90036..a4276395944 100644
--- a/tests/ui/mismatched_types/cast-rfc0401.stderr
+++ b/tests/ui/mismatched_types/cast-rfc0401.stderr
@@ -90,8 +90,9 @@ LL |     let _ = 3_i32 as bool;
    |
 help: compare with zero instead
    |
-LL |     let _ = 3_i32 != 0;
-   |                   ~~~~
+LL -     let _ = 3_i32 as bool;
+LL +     let _ = 3_i32 != 0;
+   |
 
 error[E0054]: cannot cast `E` as `bool`
   --> $DIR/cast-rfc0401.rs:40:13
diff --git a/tests/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.stderr b/tests/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.stderr
index 801e8a0ff1d..b29abfe59c5 100644
--- a/tests/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.stderr
+++ b/tests/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.stderr
@@ -8,8 +8,9 @@ LL |     let _n = m.iter().map(|_, b| {
    |
 help: change the closure to accept a tuple instead of individual arguments
    |
-LL |     let _n = m.iter().map(|(_, b)| {
-   |                           ~~~~~~~~
+LL -     let _n = m.iter().map(|_, b| {
+LL +     let _n = m.iter().map(|(_, b)| {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/mismatched_types/closure-arg-count.stderr b/tests/ui/mismatched_types/closure-arg-count.stderr
index 0e2ca8feec5..8704d0f661b 100644
--- a/tests/ui/mismatched_types/closure-arg-count.stderr
+++ b/tests/ui/mismatched_types/closure-arg-count.stderr
@@ -8,8 +8,9 @@ LL |     [1, 2, 3].sort_by(|| panic!());
    |
 help: consider changing the closure to take and ignore the expected arguments
    |
-LL |     [1, 2, 3].sort_by(|_, _| panic!());
-   |                       ~~~~~~
+LL -     [1, 2, 3].sort_by(|| panic!());
+LL +     [1, 2, 3].sort_by(|_, _| panic!());
+   |
 
 error[E0593]: closure is expected to take 2 arguments, but it takes 1 argument
   --> $DIR/closure-arg-count.rs:7:15
@@ -29,8 +30,9 @@ LL |     [1, 2, 3].sort_by(|(tuple, tuple2)| panic!());
    |
 help: change the closure to take multiple arguments instead of a single tuple
    |
-LL |     [1, 2, 3].sort_by(|tuple, tuple2| panic!());
-   |                       ~~~~~~~~~~~~~~~
+LL -     [1, 2, 3].sort_by(|(tuple, tuple2)| panic!());
+LL +     [1, 2, 3].sort_by(|tuple, tuple2| panic!());
+   |
 
 error[E0593]: closure is expected to take 2 distinct arguments, but it takes a single 2-tuple as argument
   --> $DIR/closure-arg-count.rs:11:15
@@ -42,8 +44,9 @@ LL |     [1, 2, 3].sort_by(|(tuple, tuple2): (usize, _)| panic!());
    |
 help: change the closure to take multiple arguments instead of a single tuple
    |
-LL |     [1, 2, 3].sort_by(|tuple, tuple2| panic!());
-   |                       ~~~~~~~~~~~~~~~
+LL -     [1, 2, 3].sort_by(|(tuple, tuple2): (usize, _)| panic!());
+LL +     [1, 2, 3].sort_by(|tuple, tuple2| panic!());
+   |
 
 error[E0593]: closure is expected to take 1 argument, but it takes 0 arguments
   --> $DIR/closure-arg-count.rs:13:5
@@ -61,8 +64,9 @@ LL | fn f<F: Fn<(usize,)>>(_: F) {}
    |         ^^^^^^^^^^^^ required by this bound in `f`
 help: consider changing the closure to take and ignore the expected argument
    |
-LL |     f(|_| panic!());
-   |       ~~~
+LL -     f(|| panic!());
+LL +     f(|_| panic!());
+   |
 
 error[E0593]: closure is expected to take 1 argument, but it takes 0 arguments
   --> $DIR/closure-arg-count.rs:15:5
@@ -80,8 +84,9 @@ LL | fn f<F: Fn<(usize,)>>(_: F) {}
    |         ^^^^^^^^^^^^ required by this bound in `f`
 help: consider changing the closure to take and ignore the expected argument
    |
-LL |     f(  move    |_| panic!());
-   |                 ~~~
+LL -     f(  move    || panic!());
+LL +     f(  move    |_| panic!());
+   |
 
 error[E0593]: closure is expected to take a single 2-tuple as argument, but it takes 2 distinct arguments
   --> $DIR/closure-arg-count.rs:18:53
@@ -93,8 +98,9 @@ LL |     let _it = vec![1, 2, 3].into_iter().enumerate().map(|i, x| i);
    |
 help: change the closure to accept a tuple instead of individual arguments
    |
-LL |     let _it = vec![1, 2, 3].into_iter().enumerate().map(|(i, x)| i);
-   |                                                         ~~~~~~~~
+LL -     let _it = vec![1, 2, 3].into_iter().enumerate().map(|i, x| i);
+LL +     let _it = vec![1, 2, 3].into_iter().enumerate().map(|(i, x)| i);
+   |
 
 error[E0593]: closure is expected to take a single 2-tuple as argument, but it takes 2 distinct arguments
   --> $DIR/closure-arg-count.rs:20:53
@@ -106,8 +112,9 @@ LL |     let _it = vec![1, 2, 3].into_iter().enumerate().map(|i: usize, x| i);
    |
 help: change the closure to accept a tuple instead of individual arguments
    |
-LL |     let _it = vec![1, 2, 3].into_iter().enumerate().map(|(i, x)| i);
-   |                                                         ~~~~~~~~
+LL -     let _it = vec![1, 2, 3].into_iter().enumerate().map(|i: usize, x| i);
+LL +     let _it = vec![1, 2, 3].into_iter().enumerate().map(|(i, x)| i);
+   |
 
 error[E0593]: closure is expected to take a single 2-tuple as argument, but it takes 3 distinct arguments
   --> $DIR/closure-arg-count.rs:22:53
diff --git a/tests/ui/mismatched_types/float-literal-inference-restrictions.stderr b/tests/ui/mismatched_types/float-literal-inference-restrictions.stderr
index 6b3e0cb505f..b345d5e049e 100644
--- a/tests/ui/mismatched_types/float-literal-inference-restrictions.stderr
+++ b/tests/ui/mismatched_types/float-literal-inference-restrictions.stderr
@@ -21,8 +21,9 @@ LL |     let y: f32 = 1f64;
    |
 help: change the type of the numeric literal from `f64` to `f32`
    |
-LL |     let y: f32 = 1f32;
-   |                   ~~~
+LL -     let y: f32 = 1f64;
+LL +     let y: f32 = 1f32;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/mismatched_types/issue-106182.stderr b/tests/ui/mismatched_types/issue-106182.stderr
index 2f33628a491..647a7313344 100644
--- a/tests/ui/mismatched_types/issue-106182.stderr
+++ b/tests/ui/mismatched_types/issue-106182.stderr
@@ -10,8 +10,9 @@ LL |         _S(& (mut _y), _v) => {
            found reference `&_`
 help: consider removing `&` from the pattern
    |
-LL |         _S(mut _y, _v) => {
-   |            ~~~~~~
+LL -         _S(& (mut _y), _v) => {
+LL +         _S(mut _y, _v) => {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/mismatched_types/issue-112036.stderr b/tests/ui/mismatched_types/issue-112036.stderr
index bd446b3d78c..29559980cb4 100644
--- a/tests/ui/mismatched_types/issue-112036.stderr
+++ b/tests/ui/mismatched_types/issue-112036.stderr
@@ -8,8 +8,9 @@ LL |     fn drop(self) {}
               found signature `fn(Foo)`
 help: change the self-receiver type to match the trait
    |
-LL |     fn drop(&mut self) {}
-   |             ~~~~~~~~~
+LL -     fn drop(self) {}
+LL +     fn drop(&mut self) {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/mismatched_types/issue-13033.stderr b/tests/ui/mismatched_types/issue-13033.stderr
index 2a266d40e77..7756217b560 100644
--- a/tests/ui/mismatched_types/issue-13033.stderr
+++ b/tests/ui/mismatched_types/issue-13033.stderr
@@ -13,8 +13,9 @@ LL |     fn bar(&mut self, other: &mut dyn Foo);
               found signature `fn(&mut Baz, &dyn Foo)`
 help: change the parameter type to match the trait
    |
-LL |     fn bar(&mut self, other: &mut dyn Foo) {}
-   |                              ~~~~~~~~~~~~
+LL -     fn bar(&mut self, other: &dyn Foo) {}
+LL +     fn bar(&mut self, other: &mut dyn Foo) {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/mismatched_types/issue-1362.stderr b/tests/ui/mismatched_types/issue-1362.stderr
index 6f6fdff6678..4a2d4c1b459 100644
--- a/tests/ui/mismatched_types/issue-1362.stderr
+++ b/tests/ui/mismatched_types/issue-1362.stderr
@@ -8,8 +8,9 @@ LL |   let x: u32 = 20i32;
    |
 help: change the type of the numeric literal from `i32` to `u32`
    |
-LL |   let x: u32 = 20u32;
-   |                  ~~~
+LL -   let x: u32 = 20i32;
+LL +   let x: u32 = 20u32;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/mismatched_types/issue-1448-2.stderr b/tests/ui/mismatched_types/issue-1448-2.stderr
index a6f1daefe63..85730a18d9d 100644
--- a/tests/ui/mismatched_types/issue-1448-2.stderr
+++ b/tests/ui/mismatched_types/issue-1448-2.stderr
@@ -13,8 +13,9 @@ LL | fn foo(a: u32) -> u32 { a }
    |    ^^^ ------
 help: change the type of the numeric literal from `i32` to `u32`
    |
-LL |     println!("{}", foo(10u32));
-   |                          ~~~
+LL -     println!("{}", foo(10i32));
+LL +     println!("{}", foo(10u32));
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/mismatched_types/mismatch-args-crash-issue-128848.stderr b/tests/ui/mismatched_types/mismatch-args-crash-issue-128848.stderr
index 899cf435ddf..dbd313fada9 100644
--- a/tests/ui/mismatched_types/mismatch-args-crash-issue-128848.stderr
+++ b/tests/ui/mismatched_types/mismatch-args-crash-issue-128848.stderr
@@ -8,8 +8,9 @@ note: method defined here
   --> $SRC_DIR/core/src/ops/function.rs:LL:COL
 help: provide the argument
    |
-LL |     f.call_once(/* args */)
-   |                ~~~~~~~~~~~~
+LL -     f.call_once()
+LL +     f.call_once(/* args */)
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/mismatched_types/mismatch-args-crash-issue-130400.stderr b/tests/ui/mismatched_types/mismatch-args-crash-issue-130400.stderr
index 0e4b94b98e2..d9d99f3d1cf 100644
--- a/tests/ui/mismatched_types/mismatch-args-crash-issue-130400.stderr
+++ b/tests/ui/mismatched_types/mismatch-args-crash-issue-130400.stderr
@@ -11,8 +11,9 @@ LL |     fn foo(&mut self) -> _ {
    |        ^^^ ---------
 help: provide the argument
    |
-LL |         Self::foo(/* value */)
-   |                  ~~~~~~~~~~~~~
+LL -         Self::foo()
+LL +         Self::foo(/* value */)
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for return types
   --> $DIR/mismatch-args-crash-issue-130400.rs:2:26
diff --git a/tests/ui/mismatched_types/mismatch-args-vargs-issue-130372.stderr b/tests/ui/mismatched_types/mismatch-args-vargs-issue-130372.stderr
index 38f76970358..7acc361fdb8 100644
--- a/tests/ui/mismatched_types/mismatch-args-vargs-issue-130372.stderr
+++ b/tests/ui/mismatched_types/mismatch-args-vargs-issue-130372.stderr
@@ -11,8 +11,9 @@ LL | unsafe extern "C" fn test_va_copy(_: u64, mut ap: ...) {}
    |                      ^^^^^^^^^^^^ ------
 help: provide the argument
    |
-LL |         test_va_copy(/* u64 */);
-   |                     ~~~~~~~~~~~
+LL -         test_va_copy();
+LL +         test_va_copy(/* u64 */);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/mismatched_types/numeric-literal-cast.stderr b/tests/ui/mismatched_types/numeric-literal-cast.stderr
index fcf3eccbcba..8ddadcc5a94 100644
--- a/tests/ui/mismatched_types/numeric-literal-cast.stderr
+++ b/tests/ui/mismatched_types/numeric-literal-cast.stderr
@@ -13,8 +13,9 @@ LL | fn foo(_: u16) {}
    |    ^^^ ------
 help: change the type of the numeric literal from `u8` to `u16`
    |
-LL |     foo(1u16);
-   |          ~~~
+LL -     foo(1u8);
+LL +     foo(1u16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-literal-cast.rs:8:10
@@ -31,8 +32,9 @@ LL | fn foo1(_: f64) {}
    |    ^^^^ ------
 help: change the type of the numeric literal from `f32` to `f64`
    |
-LL |     foo1(2f64);
-   |           ~~~
+LL -     foo1(2f32);
+LL +     foo1(2f64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-literal-cast.rs:10:10
@@ -49,8 +51,9 @@ LL | fn foo2(_: i32) {}
    |    ^^^^ ------
 help: change the type of the numeric literal from `i16` to `i32`
    |
-LL |     foo2(3i32);
-   |           ~~~
+LL -     foo2(3i16);
+LL +     foo2(3i32);
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/mismatched_types/overloaded-calls-bad.stderr b/tests/ui/mismatched_types/overloaded-calls-bad.stderr
index c52fa713615..9f5c35a3009 100644
--- a/tests/ui/mismatched_types/overloaded-calls-bad.stderr
+++ b/tests/ui/mismatched_types/overloaded-calls-bad.stderr
@@ -25,8 +25,9 @@ LL | impl FnMut<(isize,)> for S {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: provide the argument
    |
-LL |     let ans = s(/* isize */);
-   |                ~~~~~~~~~~~~~
+LL -     let ans = s();
+LL +     let ans = s(/* isize */);
+   |
 
 error[E0057]: this function takes 1 argument but 2 arguments were supplied
   --> $DIR/overloaded-calls-bad.rs:37:15
diff --git a/tests/ui/mismatched_types/ref-pat-suggestions.stderr b/tests/ui/mismatched_types/ref-pat-suggestions.stderr
index 148ed00b01d..d3b605fabf5 100644
--- a/tests/ui/mismatched_types/ref-pat-suggestions.stderr
+++ b/tests/ui/mismatched_types/ref-pat-suggestions.stderr
@@ -336,8 +336,9 @@ LL |         let S(&mut _b) = S(0);
    |               ^^^^^^^
 help: consider removing `&mut` from the pattern
    |
-LL |         let S(_b) = S(0);
-   |               ~~
+LL -         let S(&mut _b) = S(0);
+LL +         let S(_b) = S(0);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/ref-pat-suggestions.rs:31:14
diff --git a/tests/ui/mismatched_types/suggest-boxed-trait-objects-instead-of-impl-trait.stderr b/tests/ui/mismatched_types/suggest-boxed-trait-objects-instead-of-impl-trait.stderr
index 40182a75a98..3f58efe19f5 100644
--- a/tests/ui/mismatched_types/suggest-boxed-trait-objects-instead-of-impl-trait.stderr
+++ b/tests/ui/mismatched_types/suggest-boxed-trait-objects-instead-of-impl-trait.stderr
@@ -12,8 +12,9 @@ LL | |     }
    |
 help: you could change the return type to be a boxed trait object
    |
-LL | fn foo() -> Box<dyn Trait> {
-   |             ~~~~~~~      +
+LL - fn foo() -> impl Trait {
+LL + fn foo() -> Box<dyn Trait> {
+   |
 help: if you change the return type to expect trait objects, box the returned expressions
    |
 LL ~         Box::new(S)
@@ -34,8 +35,9 @@ LL | |     }
    |
 help: you could change the return type to be a boxed trait object
    |
-LL | fn bar() -> Box<dyn Trait> {
-   |             ~~~~~~~      +
+LL - fn bar() -> impl Trait {
+LL + fn bar() -> Box<dyn Trait> {
+   |
 help: if you change the return type to expect trait objects, box the returned expressions
    |
 LL ~         true => Box::new(S),
diff --git a/tests/ui/mismatched_types/trait-impl-fn-incompatibility.stderr b/tests/ui/mismatched_types/trait-impl-fn-incompatibility.stderr
index 2e544a62223..d232cc50e52 100644
--- a/tests/ui/mismatched_types/trait-impl-fn-incompatibility.stderr
+++ b/tests/ui/mismatched_types/trait-impl-fn-incompatibility.stderr
@@ -13,8 +13,9 @@ LL |     fn foo(x: u16);
               found signature `fn(i16)`
 help: change the parameter type to match the trait
    |
-LL |     fn foo(x: u16) { }
-   |               ~~~
+LL -     fn foo(x: i16) { }
+LL +     fn foo(x: u16) { }
+   |
 
 error[E0053]: method `bar` has an incompatible type for trait
   --> $DIR/trait-impl-fn-incompatibility.rs:10:28
@@ -31,8 +32,9 @@ LL |     fn bar(&mut self, bar: &mut Bar);
               found signature `fn(&mut Bar, &Bar)`
 help: change the parameter type to match the trait
    |
-LL |     fn bar(&mut self, bar: &mut Bar) { }
-   |                            ~~~~~~~~
+LL -     fn bar(&mut self, bar: &Bar) { }
+LL +     fn bar(&mut self, bar: &mut Bar) { }
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/mismatched_types/transforming-option-ref-issue-127545.stderr b/tests/ui/mismatched_types/transforming-option-ref-issue-127545.stderr
index ad423f86ef9..9a18798db21 100644
--- a/tests/ui/mismatched_types/transforming-option-ref-issue-127545.stderr
+++ b/tests/ui/mismatched_types/transforming-option-ref-issue-127545.stderr
@@ -34,8 +34,9 @@ note: method defined here
   --> $SRC_DIR/core/src/option.rs:LL:COL
 help: use `Option::map_or` to deref inner value of `Option`
    |
-LL |     arg.map_or(&[], |v| v)
-   |         ~~~~~~    +++++++
+LL -     arg.unwrap_or(&[])
+LL +     arg.map_or(&[], |v| v)
+   |
 
 error[E0308]: mismatched types
   --> $DIR/transforming-option-ref-issue-127545.rs:13:19
@@ -58,8 +59,9 @@ note: method defined here
   --> $SRC_DIR/core/src/option.rs:LL:COL
 help: use `Option::map_or` to deref inner value of `Option`
    |
-LL |     arg.map_or(v, |v| v)
-   |         ~~~~~~  +++++++
+LL -     arg.unwrap_or(v)
+LL +     arg.map_or(v, |v| v)
+   |
 
 error[E0308]: mismatched types
   --> $DIR/transforming-option-ref-issue-127545.rs:17:19
@@ -82,8 +84,9 @@ note: method defined here
   --> $SRC_DIR/core/src/result.rs:LL:COL
 help: use `Result::map_or` to deref inner value of `Result`
    |
-LL |     arg.map_or(&[], |v| v)
-   |         ~~~~~~    +++++++
+LL -     arg.unwrap_or(&[])
+LL +     arg.map_or(&[], |v| v)
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/missing/missing-block-hint.stderr b/tests/ui/missing/missing-block-hint.stderr
index 7a08d70d0ce..15bf59f1482 100644
--- a/tests/ui/missing/missing-block-hint.stderr
+++ b/tests/ui/missing/missing-block-hint.stderr
@@ -11,8 +11,9 @@ LL |         if (foo) => {}
    |            ^^^^^
 help: you might have meant to write a "greater than or equal to" comparison
    |
-LL |         if (foo) >= {}
-   |                  ~~
+LL -         if (foo) => {}
+LL +         if (foo) >= {}
+   |
 
 error: expected `{`, found `bar`
   --> $DIR/missing-block-hint.rs:7:13
diff --git a/tests/ui/missing/missing-fields-in-struct-pattern.stderr b/tests/ui/missing/missing-fields-in-struct-pattern.stderr
index 91a7bd3540e..1c69592985f 100644
--- a/tests/ui/missing/missing-fields-in-struct-pattern.stderr
+++ b/tests/ui/missing/missing-fields-in-struct-pattern.stderr
@@ -6,8 +6,9 @@ LL |     if let S { a, b, c, d } = S(1, 2, 3, 4) {
    |
 help: use the tuple variant pattern syntax instead
    |
-LL |     if let S(a, b, c, d) = S(1, 2, 3, 4) {
-   |             ~~~~~~~~~~~~
+LL -     if let S { a, b, c, d } = S(1, 2, 3, 4) {
+LL +     if let S(a, b, c, d) = S(1, 2, 3, 4) {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/missing/missing-items/missing-const-parameter.stderr b/tests/ui/missing/missing-items/missing-const-parameter.stderr
index d9fea130651..c873e244815 100644
--- a/tests/ui/missing/missing-items/missing-const-parameter.stderr
+++ b/tests/ui/missing/missing-items/missing-const-parameter.stderr
@@ -52,8 +52,9 @@ LL | struct Image<const R: usize>([[u32; C]; R]);
    |
 help: a const parameter with a similar name exists
    |
-LL | struct Image<const R: usize>([[u32; R]; R]);
-   |                                     ~
+LL - struct Image<const R: usize>([[u32; C]; R]);
+LL + struct Image<const R: usize>([[u32; R]; R]);
+   |
 help: you might be missing a const parameter
    |
 LL | struct Image<const R: usize, const C: /* Type */>([[u32; C]; R]);
diff --git a/tests/ui/missing/missing-items/missing-type-parameter2.stderr b/tests/ui/missing/missing-items/missing-type-parameter2.stderr
index f33951c98bf..f6418de20b6 100644
--- a/tests/ui/missing/missing-items/missing-type-parameter2.stderr
+++ b/tests/ui/missing/missing-items/missing-type-parameter2.stderr
@@ -9,8 +9,9 @@ LL | impl X<N> {}
    |
 help: a struct with a similar name exists
    |
-LL | impl X<X> {}
-   |        ~
+LL - impl X<N> {}
+LL + impl X<X> {}
+   |
 help: you might be missing a type parameter
    |
 LL | impl<N> X<N> {}
@@ -26,8 +27,9 @@ LL | impl<T, const A: u8 = 2> X<N> {}
    |
 help: a type parameter with a similar name exists
    |
-LL | impl<T, const A: u8 = 2> X<T> {}
-   |                            ~
+LL - impl<T, const A: u8 = 2> X<N> {}
+LL + impl<T, const A: u8 = 2> X<T> {}
+   |
 help: you might be missing a type parameter
    |
 LL | impl<T, const A: u8 = 2, N> X<N> {}
@@ -44,8 +46,9 @@ LL | fn foo(_: T) where T: Send {}
    |
 help: a struct with a similar name exists
    |
-LL | fn foo(_: T) where X: Send {}
-   |                    ~
+LL - fn foo(_: T) where T: Send {}
+LL + fn foo(_: T) where X: Send {}
+   |
 help: you might be missing a type parameter
    |
 LL | fn foo<T>(_: T) where T: Send {}
@@ -62,8 +65,9 @@ LL | fn foo(_: T) where T: Send {}
    |
 help: a struct with a similar name exists
    |
-LL | fn foo(_: X) where T: Send {}
-   |           ~
+LL - fn foo(_: T) where T: Send {}
+LL + fn foo(_: X) where T: Send {}
+   |
 help: you might be missing a type parameter
    |
 LL | fn foo<T>(_: T) where T: Send {}
@@ -80,8 +84,9 @@ LL | fn bar<const N: u8>(_: A) {}
    |
 help: a struct with a similar name exists
    |
-LL | fn bar<const N: u8>(_: X) {}
-   |                        ~
+LL - fn bar<const N: u8>(_: A) {}
+LL + fn bar<const N: u8>(_: X) {}
+   |
 help: you might be missing a type parameter
    |
 LL | fn bar<const N: u8, A>(_: A) {}
diff --git a/tests/ui/moves/needs-clone-through-deref.stderr b/tests/ui/moves/needs-clone-through-deref.stderr
index 1f9aefeb4dd..9890ad480a6 100644
--- a/tests/ui/moves/needs-clone-through-deref.stderr
+++ b/tests/ui/moves/needs-clone-through-deref.stderr
@@ -10,8 +10,9 @@ note: `into_iter` takes ownership of the receiver `self`, which moves value
   --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
 help: you can `clone` the value and consume it, but this might not be your desired behavior
    |
-LL |         for _ in <Vec<usize> as Clone>::clone(&self).into_iter() {}
-   |                  ++++++++++++++++++++++++++++++    ~
+LL -         for _ in self.clone().into_iter() {}
+LL +         for _ in <Vec<usize> as Clone>::clone(&self).into_iter() {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/moves/suggest-clone-when-some-obligation-is-unmet.stderr b/tests/ui/moves/suggest-clone-when-some-obligation-is-unmet.stderr
index 755bbc5c21b..c626796e01d 100644
--- a/tests/ui/moves/suggest-clone-when-some-obligation-is-unmet.stderr
+++ b/tests/ui/moves/suggest-clone-when-some-obligation-is-unmet.stderr
@@ -10,8 +10,9 @@ note: `HashMap::<K, V, S>::into_values` takes ownership of the receiver `self`,
   --> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL
 help: you could `clone` the value and consume it, if the `Hash128_1: Clone` trait bound could be satisfied
    |
-LL |     let mut copy: Vec<U> = <HashMap<T, U, Hash128_1> as Clone>::clone(&map).into_values().collect();
-   |                            ++++++++++++++++++++++++++++++++++++++++++++   ~
+LL -     let mut copy: Vec<U> = map.clone().into_values().collect();
+LL +     let mut copy: Vec<U> = <HashMap<T, U, Hash128_1> as Clone>::clone(&map).into_values().collect();
+   |
 help: consider annotating `Hash128_1` with `#[derive(Clone)]`
    |
 LL + #[derive(Clone)]
diff --git a/tests/ui/moves/use_of_moved_value_copy_suggestions.stderr b/tests/ui/moves/use_of_moved_value_copy_suggestions.stderr
index 784945dbbae..62f087ca6b7 100644
--- a/tests/ui/moves/use_of_moved_value_copy_suggestions.stderr
+++ b/tests/ui/moves/use_of_moved_value_copy_suggestions.stderr
@@ -195,8 +195,9 @@ LL |     [t, t];
    |      - you could clone this value
 help: consider further restricting type parameter `T` with trait `Copy`
    |
-LL |     T:, T: Copy
-   |       ~~~~~~~~~
+LL -     T:,
+LL +     T:, T: Copy
+   |
 
 error: aborting due to 11 previous errors
 
diff --git a/tests/ui/namespace/namespace-mix.stderr b/tests/ui/namespace/namespace-mix.stderr
index b80363fe8f8..41891c5144b 100644
--- a/tests/ui/namespace/namespace-mix.stderr
+++ b/tests/ui/namespace/namespace-mix.stderr
@@ -10,8 +10,9 @@ LL |     check(m1::S);
    = note: can't use a type alias as a constructor
 help: a tuple struct with a similar name exists
    |
-LL |     check(m1::TS);
-   |               ~~
+LL -     check(m1::S);
+LL +     check(m1::TS);
+   |
 help: consider importing one of these constants instead
    |
 LL + use m2::S;
@@ -38,8 +39,9 @@ LL |     pub struct TS();
    = note: can't use a type alias as a constructor
 help: a tuple struct with a similar name exists
    |
-LL |     check(xm1::TS);
-   |                ~~
+LL -     check(xm1::S);
+LL +     check(xm1::TS);
+   |
 help: consider importing one of these constants instead
    |
 LL + use m2::S;
@@ -64,8 +66,9 @@ LL |     check(m7::V);
    = note: can't use a type alias as a constructor
 help: a tuple variant with a similar name exists
    |
-LL |     check(m7::TV);
-   |               ~~
+LL -     check(m7::V);
+LL +     check(m7::TV);
+   |
 help: consider importing one of these constants instead
    |
 LL + use m8::V;
@@ -92,8 +95,9 @@ LL |         TV(),
    = note: can't use a type alias as a constructor
 help: a tuple variant with a similar name exists
    |
-LL |     check(xm7::TV);
-   |                ~~
+LL -     check(xm7::V);
+LL +     check(xm7::TV);
+   |
 help: consider importing one of these constants instead
    |
 LL + use m8::V;
diff --git a/tests/ui/never_type/dependency-on-fallback-to-unit.stderr b/tests/ui/never_type/dependency-on-fallback-to-unit.stderr
index ea3b39c3000..bf37cc7b4b4 100644
--- a/tests/ui/never_type/dependency-on-fallback-to-unit.stderr
+++ b/tests/ui/never_type/dependency-on-fallback-to-unit.stderr
@@ -15,8 +15,9 @@ LL |         false => <_>::default(),
    = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default
 help: use `()` annotations to avoid fallback changes
    |
-LL |         false => <()>::default(),
-   |                   ~~
+LL -         false => <_>::default(),
+LL +         false => <()>::default(),
+   |
 
 warning: this function depends on never type fallback being `()`
   --> $DIR/dependency-on-fallback-to-unit.rs:19:1
diff --git a/tests/ui/never_type/issue-96335.stderr b/tests/ui/never_type/issue-96335.stderr
index c3d80a425e0..1193973d5ee 100644
--- a/tests/ui/never_type/issue-96335.stderr
+++ b/tests/ui/never_type/issue-96335.stderr
@@ -6,12 +6,14 @@ LL |     0.....{loop{}1};
    |
 help: use `..` for an exclusive range
    |
-LL |     0....{loop{}1};
-   |      ~~
+LL -     0.....{loop{}1};
+LL +     0....{loop{}1};
+   |
 help: or `..=` for an inclusive range
    |
-LL |     0..=..{loop{}1};
-   |      ~~~
+LL -     0.....{loop{}1};
+LL +     0..=..{loop{}1};
+   |
 
 error[E0308]: mismatched types
   --> $DIR/issue-96335.rs:2:9
diff --git a/tests/ui/nll/borrowck-thread-local-static-mut-borrow-outlives-fn.stderr b/tests/ui/nll/borrowck-thread-local-static-mut-borrow-outlives-fn.stderr
index 1f01d3e8260..7e11b23d681 100644
--- a/tests/ui/nll/borrowck-thread-local-static-mut-borrow-outlives-fn.stderr
+++ b/tests/ui/nll/borrowck-thread-local-static-mut-borrow-outlives-fn.stderr
@@ -9,8 +9,9 @@ LL |         S1 { a: unsafe { &mut X1 } }
    = note: `#[warn(static_mut_refs)]` on by default
 help: use `&raw mut` instead to create a raw pointer
    |
-LL |         S1 { a: unsafe { &raw mut X1 } }
-   |                          ~~~~~~~~
+LL -         S1 { a: unsafe { &mut X1 } }
+LL +         S1 { a: unsafe { &raw mut X1 } }
+   |
 
 warning: 1 warning emitted
 
diff --git a/tests/ui/nll/ty-outlives/projection-no-regions-closure.stderr b/tests/ui/nll/ty-outlives/projection-no-regions-closure.stderr
index 4f93fb4eaea..980670fee69 100644
--- a/tests/ui/nll/ty-outlives/projection-no-regions-closure.stderr
+++ b/tests/ui/nll/ty-outlives/projection-no-regions-closure.stderr
@@ -33,8 +33,9 @@ LL |     with_signature(x, |mut y| Box::new(y.next()))
    |
 help: consider adding an explicit lifetime bound
    |
-LL |     T: Iterator, <T as Iterator>::Item: 'a
-   |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     T: Iterator,
+LL +     T: Iterator, <T as Iterator>::Item: 'a
+   |
 
 note: external requirements
   --> $DIR/projection-no-regions-closure.rs:34:23
@@ -95,8 +96,9 @@ LL |     with_signature(x, |mut y| Box::new(y.next()))
    |
 help: consider adding an explicit lifetime bound
    |
-LL |     T: 'b + Iterator, <T as Iterator>::Item: 'a
-   |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     T: 'b + Iterator,
+LL +     T: 'b + Iterator, <T as Iterator>::Item: 'a
+   |
 
 note: external requirements
   --> $DIR/projection-no-regions-closure.rs:52:23
diff --git a/tests/ui/nll/ty-outlives/projection-no-regions-fn.stderr b/tests/ui/nll/ty-outlives/projection-no-regions-fn.stderr
index da76ac1c474..53da981d702 100644
--- a/tests/ui/nll/ty-outlives/projection-no-regions-fn.stderr
+++ b/tests/ui/nll/ty-outlives/projection-no-regions-fn.stderr
@@ -9,8 +9,9 @@ LL |     Box::new(x.next())
    |
 help: consider adding an explicit lifetime bound
    |
-LL |     T: Iterator, <T as Iterator>::Item: 'a
-   |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     T: Iterator,
+LL +     T: Iterator, <T as Iterator>::Item: 'a
+   |
 
 error[E0309]: the associated type `<T as Iterator>::Item` may not live long enough
   --> $DIR/projection-no-regions-fn.rs:28:5
@@ -23,8 +24,9 @@ LL |     Box::new(x.next())
    |
 help: consider adding an explicit lifetime bound
    |
-LL |     T: 'b + Iterator, <T as Iterator>::Item: 'a
-   |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     T: 'b + Iterator,
+LL +     T: 'b + Iterator, <T as Iterator>::Item: 'a
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/non-fmt-panic.stderr b/tests/ui/non-fmt-panic.stderr
index 162802b7f61..0134a8ddf29 100644
--- a/tests/ui/non-fmt-panic.stderr
+++ b/tests/ui/non-fmt-panic.stderr
@@ -184,8 +184,9 @@ LL |     std::panic!("{}", 123);
    |                 +++++
 help: or use std::panic::panic_any instead
    |
-LL |     std::panic::panic_any(123);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     std::panic!(123);
+LL +     std::panic::panic_any(123);
+   |
 
 warning: panic message is not a string literal
   --> $DIR/non-fmt-panic.rs:31:18
@@ -214,8 +215,9 @@ LL |     panic!("{:?}", Some(123));
    |            +++++++
 help: or use std::panic::panic_any instead
    |
-LL |     std::panic::panic_any(Some(123));
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     panic!(Some(123));
+LL +     std::panic::panic_any(Some(123));
+   |
 
 warning: panic message contains an unused formatting placeholder
   --> $DIR/non-fmt-panic.rs:33:12
@@ -267,8 +269,9 @@ LL |     panic!("{}", a!());
    |            +++++
 help: or use std::panic::panic_any instead
    |
-LL |     std::panic::panic_any(a!());
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     panic!(a!());
+LL +     std::panic::panic_any(a!());
+   |
 
 warning: panic message is not a string literal
   --> $DIR/non-fmt-panic.rs:47:18
@@ -357,8 +360,9 @@ LL |     panic!["{}", 123];
    |            +++++
 help: or use std::panic::panic_any instead
    |
-LL |     std::panic::panic_any(123);
-   |     ~~~~~~~~~~~~~~~~~~~~~~   ~
+LL -     panic![123];
+LL +     std::panic::panic_any(123);
+   |
 
 warning: panic message is not a string literal
   --> $DIR/non-fmt-panic.rs:55:12
@@ -374,8 +378,9 @@ LL |     panic!{"{}", 123};
    |            +++++
 help: or use std::panic::panic_any instead
    |
-LL |     std::panic::panic_any(123);
-   |     ~~~~~~~~~~~~~~~~~~~~~~   ~
+LL -     panic!{123};
+LL +     std::panic::panic_any(123);
+   |
 
 warning: panic message is not a string literal
   --> $DIR/non-fmt-panic.rs:72:12
@@ -411,8 +416,9 @@ LL |     panic!("{:?}", v);
    |            +++++++
 help: or use std::panic::panic_any instead
    |
-LL |     std::panic::panic_any(v);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     panic!(v);
+LL +     std::panic::panic_any(v);
+   |
 
 warning: panic message is not a string literal
   --> $DIR/non-fmt-panic.rs:78:20
@@ -441,8 +447,9 @@ LL |     panic!("{}", v);
    |            +++++
 help: or use std::panic::panic_any instead
    |
-LL |     std::panic::panic_any(v);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     panic!(v);
+LL +     std::panic::panic_any(v);
+   |
 
 warning: panic message is not a string literal
   --> $DIR/non-fmt-panic.rs:83:20
@@ -471,8 +478,9 @@ LL |     panic!("{}", v);
    |            +++++
 help: or use std::panic::panic_any instead
    |
-LL |     std::panic::panic_any(v);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     panic!(v);
+LL +     std::panic::panic_any(v);
+   |
 
 warning: panic message is not a string literal
   --> $DIR/non-fmt-panic.rs:88:20
diff --git a/tests/ui/not-enough-arguments.stderr b/tests/ui/not-enough-arguments.stderr
index 66c96ba43c8..637c2774d5a 100644
--- a/tests/ui/not-enough-arguments.stderr
+++ b/tests/ui/not-enough-arguments.stderr
@@ -11,8 +11,9 @@ LL | fn foo(a: isize, b: isize, c: isize, d:isize) {
    |    ^^^                               -------
 help: provide the argument
    |
-LL |   foo(1, 2, 3, /* isize */);
-   |      ~~~~~~~~~~~~~~~~~~~~~~
+LL -   foo(1, 2, 3);
+LL +   foo(1, 2, 3, /* isize */);
+   |
 
 error[E0061]: this function takes 6 arguments but 3 arguments were supplied
   --> $DIR/not-enough-arguments.rs:29:3
@@ -34,8 +35,9 @@ LL |     f: i32,
    |     ------
 help: provide the arguments
    |
-LL |   bar(1, 2, 3, /* i32 */, /* i32 */, /* i32 */);
-   |      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -   bar(1, 2, 3);
+LL +   bar(1, 2, 3, /* i32 */, /* i32 */, /* i32 */);
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/numeric/const-scope.stderr b/tests/ui/numeric/const-scope.stderr
index 4e4bcdf234d..2c8d4da9d21 100644
--- a/tests/ui/numeric/const-scope.stderr
+++ b/tests/ui/numeric/const-scope.stderr
@@ -6,8 +6,9 @@ LL | const C: i32 = 1i8;
    |
 help: change the type of the numeric literal from `i8` to `i32`
    |
-LL | const C: i32 = 1i32;
-   |                 ~~~
+LL - const C: i32 = 1i8;
+LL + const C: i32 = 1i32;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/const-scope.rs:2:15
@@ -25,8 +26,9 @@ LL |     let c: i32 = 1i8;
    |
 help: change the type of the numeric literal from `i8` to `i32`
    |
-LL |     let c: i32 = 1i32;
-   |                   ~~~
+LL -     let c: i32 = 1i8;
+LL +     let c: i32 = 1i32;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/const-scope.rs:6:17
@@ -46,8 +48,9 @@ LL |     let c: i32 = 1i8;
    |
 help: change the type of the numeric literal from `i8` to `i32`
    |
-LL |     let c: i32 = 1i32;
-   |                   ~~~
+LL -     let c: i32 = 1i8;
+LL +     let c: i32 = 1i32;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/const-scope.rs:11:17
diff --git a/tests/ui/numeric/numeric-fields.stderr b/tests/ui/numeric/numeric-fields.stderr
index 8ab1718ff5e..6877bb3bef4 100644
--- a/tests/ui/numeric/numeric-fields.stderr
+++ b/tests/ui/numeric/numeric-fields.stderr
@@ -9,8 +9,9 @@ LL |     let s = S{0b1: 10, 0: 11};
    |
 help: `S` is a tuple struct, use the appropriate syntax
    |
-LL |     let s = S(/* u8 */, /* u16 */);
-   |             ~~~~~~~~~~~~~~~~~~~~~~
+LL -     let s = S{0b1: 10, 0: 11};
+LL +     let s = S(/* u8 */, /* u16 */);
+   |
 
 error[E0026]: struct `S` does not have a field named `0x1`
   --> $DIR/numeric-fields.rs:7:17
diff --git a/tests/ui/numeric/numeric-suffix/numeric-suffix-i32.stderr b/tests/ui/numeric/numeric-suffix/numeric-suffix-i32.stderr
index f4fb14e7992..6c6b8b51c22 100644
--- a/tests/ui/numeric/numeric-suffix/numeric-suffix-i32.stderr
+++ b/tests/ui/numeric/numeric-suffix/numeric-suffix-i32.stderr
@@ -13,8 +13,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `usize` to `i32`
    |
-LL |     foo::<i32>(42_i32);
-   |                   ~~~
+LL -     foo::<i32>(42_usize);
+LL +     foo::<i32>(42_i32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i32.rs:32:16
@@ -31,8 +32,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u64` to `i32`
    |
-LL |     foo::<i32>(42_i32);
-   |                   ~~~
+LL -     foo::<i32>(42_u64);
+LL +     foo::<i32>(42_i32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i32.rs:36:16
@@ -49,8 +51,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u32` to `i32`
    |
-LL |     foo::<i32>(42_i32);
-   |                   ~~~
+LL -     foo::<i32>(42_u32);
+LL +     foo::<i32>(42_i32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i32.rs:40:16
@@ -67,8 +70,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u16` to `i32`
    |
-LL |     foo::<i32>(42_i32);
-   |                   ~~~
+LL -     foo::<i32>(42_u16);
+LL +     foo::<i32>(42_i32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i32.rs:44:16
@@ -85,8 +89,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u8` to `i32`
    |
-LL |     foo::<i32>(42_i32);
-   |                   ~~~
+LL -     foo::<i32>(42_u8);
+LL +     foo::<i32>(42_i32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i32.rs:48:16
@@ -103,8 +108,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `isize` to `i32`
    |
-LL |     foo::<i32>(42_i32);
-   |                   ~~~
+LL -     foo::<i32>(42_isize);
+LL +     foo::<i32>(42_i32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i32.rs:52:16
@@ -121,8 +127,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i64` to `i32`
    |
-LL |     foo::<i32>(42_i32);
-   |                   ~~~
+LL -     foo::<i32>(42_i64);
+LL +     foo::<i32>(42_i32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i32.rs:57:16
@@ -139,8 +146,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i16` to `i32`
    |
-LL |     foo::<i32>(42_i32);
-   |                   ~~~
+LL -     foo::<i32>(42_i16);
+LL +     foo::<i32>(42_i32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i32.rs:61:16
@@ -157,8 +165,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i8` to `i32`
    |
-LL |     foo::<i32>(42_i32);
-   |                   ~~~
+LL -     foo::<i32>(42_i8);
+LL +     foo::<i32>(42_i32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i32.rs:65:16
@@ -175,8 +184,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f64` to `i32`
    |
-LL |     foo::<i32>(42i32);
-   |                  ~~~
+LL -     foo::<i32>(42.0_f64);
+LL +     foo::<i32>(42i32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i32.rs:69:16
@@ -193,8 +203,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f32` to `i32`
    |
-LL |     foo::<i32>(42i32);
-   |                  ~~~
+LL -     foo::<i32>(42.0_f32);
+LL +     foo::<i32>(42i32);
+   |
 
 error: aborting due to 11 previous errors
 
diff --git a/tests/ui/numeric/numeric-suffix/numeric-suffix-i64.stderr b/tests/ui/numeric/numeric-suffix/numeric-suffix-i64.stderr
index 47efe9f08bb..7c26dd7be1c 100644
--- a/tests/ui/numeric/numeric-suffix/numeric-suffix-i64.stderr
+++ b/tests/ui/numeric/numeric-suffix/numeric-suffix-i64.stderr
@@ -13,8 +13,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `usize` to `i64`
    |
-LL |     foo::<i64>(42_i64);
-   |                   ~~~
+LL -     foo::<i64>(42_usize);
+LL +     foo::<i64>(42_i64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i64.rs:32:16
@@ -31,8 +32,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u64` to `i64`
    |
-LL |     foo::<i64>(42_i64);
-   |                   ~~~
+LL -     foo::<i64>(42_u64);
+LL +     foo::<i64>(42_i64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i64.rs:36:16
@@ -49,8 +51,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u32` to `i64`
    |
-LL |     foo::<i64>(42_i64);
-   |                   ~~~
+LL -     foo::<i64>(42_u32);
+LL +     foo::<i64>(42_i64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i64.rs:40:16
@@ -67,8 +70,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u16` to `i64`
    |
-LL |     foo::<i64>(42_i64);
-   |                   ~~~
+LL -     foo::<i64>(42_u16);
+LL +     foo::<i64>(42_i64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i64.rs:44:16
@@ -85,8 +89,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u8` to `i64`
    |
-LL |     foo::<i64>(42_i64);
-   |                   ~~~
+LL -     foo::<i64>(42_u8);
+LL +     foo::<i64>(42_i64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i64.rs:48:16
@@ -103,8 +108,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `isize` to `i64`
    |
-LL |     foo::<i64>(42_i64);
-   |                   ~~~
+LL -     foo::<i64>(42_isize);
+LL +     foo::<i64>(42_i64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i64.rs:53:16
@@ -121,8 +127,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i32` to `i64`
    |
-LL |     foo::<i64>(42_i64);
-   |                   ~~~
+LL -     foo::<i64>(42_i32);
+LL +     foo::<i64>(42_i64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i64.rs:57:16
@@ -139,8 +146,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i16` to `i64`
    |
-LL |     foo::<i64>(42_i64);
-   |                   ~~~
+LL -     foo::<i64>(42_i16);
+LL +     foo::<i64>(42_i64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i64.rs:61:16
@@ -157,8 +165,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i8` to `i64`
    |
-LL |     foo::<i64>(42_i64);
-   |                   ~~~
+LL -     foo::<i64>(42_i8);
+LL +     foo::<i64>(42_i64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i64.rs:65:16
@@ -175,8 +184,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f64` to `i64`
    |
-LL |     foo::<i64>(42i64);
-   |                  ~~~
+LL -     foo::<i64>(42.0_f64);
+LL +     foo::<i64>(42i64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-i64.rs:69:16
@@ -193,8 +203,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f32` to `i64`
    |
-LL |     foo::<i64>(42i64);
-   |                  ~~~
+LL -     foo::<i64>(42.0_f32);
+LL +     foo::<i64>(42i64);
+   |
 
 error: aborting due to 11 previous errors
 
diff --git a/tests/ui/numeric/numeric-suffix/numeric-suffix-isize.stderr b/tests/ui/numeric/numeric-suffix/numeric-suffix-isize.stderr
index 28b79413f68..8365350f2bf 100644
--- a/tests/ui/numeric/numeric-suffix/numeric-suffix-isize.stderr
+++ b/tests/ui/numeric/numeric-suffix/numeric-suffix-isize.stderr
@@ -13,8 +13,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `usize` to `isize`
    |
-LL |     foo::<isize>(42_isize);
-   |                     ~~~~~
+LL -     foo::<isize>(42_usize);
+LL +     foo::<isize>(42_isize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-isize.rs:32:18
@@ -31,8 +32,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u64` to `isize`
    |
-LL |     foo::<isize>(42_isize);
-   |                     ~~~~~
+LL -     foo::<isize>(42_u64);
+LL +     foo::<isize>(42_isize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-isize.rs:36:18
@@ -49,8 +51,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u32` to `isize`
    |
-LL |     foo::<isize>(42_isize);
-   |                     ~~~~~
+LL -     foo::<isize>(42_u32);
+LL +     foo::<isize>(42_isize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-isize.rs:40:18
@@ -67,8 +70,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u16` to `isize`
    |
-LL |     foo::<isize>(42_isize);
-   |                     ~~~~~
+LL -     foo::<isize>(42_u16);
+LL +     foo::<isize>(42_isize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-isize.rs:44:18
@@ -85,8 +89,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u8` to `isize`
    |
-LL |     foo::<isize>(42_isize);
-   |                     ~~~~~
+LL -     foo::<isize>(42_u8);
+LL +     foo::<isize>(42_isize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-isize.rs:49:18
@@ -103,8 +108,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i64` to `isize`
    |
-LL |     foo::<isize>(42_isize);
-   |                     ~~~~~
+LL -     foo::<isize>(42_i64);
+LL +     foo::<isize>(42_isize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-isize.rs:53:18
@@ -121,8 +127,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i32` to `isize`
    |
-LL |     foo::<isize>(42_isize);
-   |                     ~~~~~
+LL -     foo::<isize>(42_i32);
+LL +     foo::<isize>(42_isize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-isize.rs:57:18
@@ -139,8 +146,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i16` to `isize`
    |
-LL |     foo::<isize>(42_isize);
-   |                     ~~~~~
+LL -     foo::<isize>(42_i16);
+LL +     foo::<isize>(42_isize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-isize.rs:61:18
@@ -157,8 +165,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i8` to `isize`
    |
-LL |     foo::<isize>(42_isize);
-   |                     ~~~~~
+LL -     foo::<isize>(42_i8);
+LL +     foo::<isize>(42_isize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-isize.rs:65:18
@@ -175,8 +184,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f64` to `isize`
    |
-LL |     foo::<isize>(42isize);
-   |                    ~~~~~
+LL -     foo::<isize>(42.0_f64);
+LL +     foo::<isize>(42isize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-isize.rs:69:18
@@ -193,8 +203,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f32` to `isize`
    |
-LL |     foo::<isize>(42isize);
-   |                    ~~~~~
+LL -     foo::<isize>(42.0_f32);
+LL +     foo::<isize>(42isize);
+   |
 
 error: aborting due to 11 previous errors
 
diff --git a/tests/ui/numeric/numeric-suffix/numeric-suffix-u32.stderr b/tests/ui/numeric/numeric-suffix/numeric-suffix-u32.stderr
index d966893a83b..610e6ece276 100644
--- a/tests/ui/numeric/numeric-suffix/numeric-suffix-u32.stderr
+++ b/tests/ui/numeric/numeric-suffix/numeric-suffix-u32.stderr
@@ -13,8 +13,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `usize` to `u32`
    |
-LL |     foo::<u32>(42_u32);
-   |                   ~~~
+LL -     foo::<u32>(42_usize);
+LL +     foo::<u32>(42_u32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u32.rs:32:16
@@ -31,8 +32,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u64` to `u32`
    |
-LL |     foo::<u32>(42_u32);
-   |                   ~~~
+LL -     foo::<u32>(42_u64);
+LL +     foo::<u32>(42_u32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u32.rs:37:16
@@ -49,8 +51,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u16` to `u32`
    |
-LL |     foo::<u32>(42_u32);
-   |                   ~~~
+LL -     foo::<u32>(42_u16);
+LL +     foo::<u32>(42_u32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u32.rs:41:16
@@ -67,8 +70,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u8` to `u32`
    |
-LL |     foo::<u32>(42_u32);
-   |                   ~~~
+LL -     foo::<u32>(42_u8);
+LL +     foo::<u32>(42_u32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u32.rs:45:16
@@ -85,8 +89,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `isize` to `u32`
    |
-LL |     foo::<u32>(42_u32);
-   |                   ~~~
+LL -     foo::<u32>(42_isize);
+LL +     foo::<u32>(42_u32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u32.rs:49:16
@@ -103,8 +108,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i64` to `u32`
    |
-LL |     foo::<u32>(42_u32);
-   |                   ~~~
+LL -     foo::<u32>(42_i64);
+LL +     foo::<u32>(42_u32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u32.rs:53:16
@@ -121,8 +127,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i32` to `u32`
    |
-LL |     foo::<u32>(42_u32);
-   |                   ~~~
+LL -     foo::<u32>(42_i32);
+LL +     foo::<u32>(42_u32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u32.rs:57:16
@@ -139,8 +146,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i16` to `u32`
    |
-LL |     foo::<u32>(42_u32);
-   |                   ~~~
+LL -     foo::<u32>(42_i16);
+LL +     foo::<u32>(42_u32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u32.rs:61:16
@@ -157,8 +165,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i8` to `u32`
    |
-LL |     foo::<u32>(42_u32);
-   |                   ~~~
+LL -     foo::<u32>(42_i8);
+LL +     foo::<u32>(42_u32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u32.rs:65:16
@@ -175,8 +184,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f64` to `u32`
    |
-LL |     foo::<u32>(42u32);
-   |                  ~~~
+LL -     foo::<u32>(42.0_f64);
+LL +     foo::<u32>(42u32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u32.rs:69:16
@@ -193,8 +203,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f32` to `u32`
    |
-LL |     foo::<u32>(42u32);
-   |                  ~~~
+LL -     foo::<u32>(42.0_f32);
+LL +     foo::<u32>(42u32);
+   |
 
 error: aborting due to 11 previous errors
 
diff --git a/tests/ui/numeric/numeric-suffix/numeric-suffix-u64.stderr b/tests/ui/numeric/numeric-suffix/numeric-suffix-u64.stderr
index ff332fa914d..112dddccd6f 100644
--- a/tests/ui/numeric/numeric-suffix/numeric-suffix-u64.stderr
+++ b/tests/ui/numeric/numeric-suffix/numeric-suffix-u64.stderr
@@ -13,8 +13,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `usize` to `u64`
    |
-LL |     foo::<u64>(42_u64);
-   |                   ~~~
+LL -     foo::<u64>(42_usize);
+LL +     foo::<u64>(42_u64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u64.rs:33:16
@@ -31,8 +32,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u32` to `u64`
    |
-LL |     foo::<u64>(42_u64);
-   |                   ~~~
+LL -     foo::<u64>(42_u32);
+LL +     foo::<u64>(42_u64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u64.rs:37:16
@@ -49,8 +51,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u16` to `u64`
    |
-LL |     foo::<u64>(42_u64);
-   |                   ~~~
+LL -     foo::<u64>(42_u16);
+LL +     foo::<u64>(42_u64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u64.rs:41:16
@@ -67,8 +70,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u8` to `u64`
    |
-LL |     foo::<u64>(42_u64);
-   |                   ~~~
+LL -     foo::<u64>(42_u8);
+LL +     foo::<u64>(42_u64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u64.rs:45:16
@@ -85,8 +89,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `isize` to `u64`
    |
-LL |     foo::<u64>(42_u64);
-   |                   ~~~
+LL -     foo::<u64>(42_isize);
+LL +     foo::<u64>(42_u64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u64.rs:49:16
@@ -103,8 +108,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i64` to `u64`
    |
-LL |     foo::<u64>(42_u64);
-   |                   ~~~
+LL -     foo::<u64>(42_i64);
+LL +     foo::<u64>(42_u64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u64.rs:53:16
@@ -121,8 +127,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i32` to `u64`
    |
-LL |     foo::<u64>(42_u64);
-   |                   ~~~
+LL -     foo::<u64>(42_i32);
+LL +     foo::<u64>(42_u64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u64.rs:57:16
@@ -139,8 +146,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i16` to `u64`
    |
-LL |     foo::<u64>(42_u64);
-   |                   ~~~
+LL -     foo::<u64>(42_i16);
+LL +     foo::<u64>(42_u64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u64.rs:61:16
@@ -157,8 +165,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i8` to `u64`
    |
-LL |     foo::<u64>(42_u64);
-   |                   ~~~
+LL -     foo::<u64>(42_i8);
+LL +     foo::<u64>(42_u64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u64.rs:65:16
@@ -175,8 +184,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f64` to `u64`
    |
-LL |     foo::<u64>(42u64);
-   |                  ~~~
+LL -     foo::<u64>(42.0_f64);
+LL +     foo::<u64>(42u64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-u64.rs:69:16
@@ -193,8 +203,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f32` to `u64`
    |
-LL |     foo::<u64>(42u64);
-   |                  ~~~
+LL -     foo::<u64>(42.0_f32);
+LL +     foo::<u64>(42u64);
+   |
 
 error: aborting due to 11 previous errors
 
diff --git a/tests/ui/numeric/numeric-suffix/numeric-suffix-usize.stderr b/tests/ui/numeric/numeric-suffix/numeric-suffix-usize.stderr
index 4889abee69c..e7d6a04f18e 100644
--- a/tests/ui/numeric/numeric-suffix/numeric-suffix-usize.stderr
+++ b/tests/ui/numeric/numeric-suffix/numeric-suffix-usize.stderr
@@ -13,8 +13,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u64` to `usize`
    |
-LL |     foo::<usize>(42_usize);
-   |                     ~~~~~
+LL -     foo::<usize>(42_u64);
+LL +     foo::<usize>(42_usize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-usize.rs:33:18
@@ -31,8 +32,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u32` to `usize`
    |
-LL |     foo::<usize>(42_usize);
-   |                     ~~~~~
+LL -     foo::<usize>(42_u32);
+LL +     foo::<usize>(42_usize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-usize.rs:37:18
@@ -49,8 +51,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u16` to `usize`
    |
-LL |     foo::<usize>(42_usize);
-   |                     ~~~~~
+LL -     foo::<usize>(42_u16);
+LL +     foo::<usize>(42_usize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-usize.rs:41:18
@@ -67,8 +70,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u8` to `usize`
    |
-LL |     foo::<usize>(42_usize);
-   |                     ~~~~~
+LL -     foo::<usize>(42_u8);
+LL +     foo::<usize>(42_usize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-usize.rs:45:18
@@ -85,8 +89,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `isize` to `usize`
    |
-LL |     foo::<usize>(42_usize);
-   |                     ~~~~~
+LL -     foo::<usize>(42_isize);
+LL +     foo::<usize>(42_usize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-usize.rs:49:18
@@ -103,8 +108,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i64` to `usize`
    |
-LL |     foo::<usize>(42_usize);
-   |                     ~~~~~
+LL -     foo::<usize>(42_i64);
+LL +     foo::<usize>(42_usize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-usize.rs:53:18
@@ -121,8 +127,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i32` to `usize`
    |
-LL |     foo::<usize>(42_usize);
-   |                     ~~~~~
+LL -     foo::<usize>(42_i32);
+LL +     foo::<usize>(42_usize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-usize.rs:57:18
@@ -139,8 +146,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i16` to `usize`
    |
-LL |     foo::<usize>(42_usize);
-   |                     ~~~~~
+LL -     foo::<usize>(42_i16);
+LL +     foo::<usize>(42_usize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-usize.rs:61:18
@@ -157,8 +165,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i8` to `usize`
    |
-LL |     foo::<usize>(42_usize);
-   |                     ~~~~~
+LL -     foo::<usize>(42_i8);
+LL +     foo::<usize>(42_usize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-usize.rs:65:18
@@ -175,8 +184,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f64` to `usize`
    |
-LL |     foo::<usize>(42usize);
-   |                    ~~~~~
+LL -     foo::<usize>(42.0_f64);
+LL +     foo::<usize>(42usize);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix-usize.rs:69:18
@@ -193,8 +203,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f32` to `usize`
    |
-LL |     foo::<usize>(42usize);
-   |                    ~~~~~
+LL -     foo::<usize>(42.0_f32);
+LL +     foo::<usize>(42usize);
+   |
 
 error: aborting due to 11 previous errors
 
diff --git a/tests/ui/numeric/numeric-suffix/numeric-suffix.stderr b/tests/ui/numeric/numeric-suffix/numeric-suffix.stderr
index e05913b9c62..d26639a76f0 100644
--- a/tests/ui/numeric/numeric-suffix/numeric-suffix.stderr
+++ b/tests/ui/numeric/numeric-suffix/numeric-suffix.stderr
@@ -13,8 +13,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `usize` to `u16`
    |
-LL |     foo::<u16>(42_u16);
-   |                   ~~~
+LL -     foo::<u16>(42_usize);
+LL +     foo::<u16>(42_u16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:147:16
@@ -31,8 +32,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u64` to `u16`
    |
-LL |     foo::<u16>(42_u16);
-   |                   ~~~
+LL -     foo::<u16>(42_u64);
+LL +     foo::<u16>(42_u16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:151:16
@@ -49,8 +51,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u32` to `u16`
    |
-LL |     foo::<u16>(42_u16);
-   |                   ~~~
+LL -     foo::<u16>(42_u32);
+LL +     foo::<u16>(42_u16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:156:16
@@ -67,8 +70,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u8` to `u16`
    |
-LL |     foo::<u16>(42_u16);
-   |                   ~~~
+LL -     foo::<u16>(42_u8);
+LL +     foo::<u16>(42_u16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:160:16
@@ -85,8 +89,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `isize` to `u16`
    |
-LL |     foo::<u16>(42_u16);
-   |                   ~~~
+LL -     foo::<u16>(42_isize);
+LL +     foo::<u16>(42_u16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:164:16
@@ -103,8 +108,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i64` to `u16`
    |
-LL |     foo::<u16>(42_u16);
-   |                   ~~~
+LL -     foo::<u16>(42_i64);
+LL +     foo::<u16>(42_u16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:168:16
@@ -121,8 +127,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i32` to `u16`
    |
-LL |     foo::<u16>(42_u16);
-   |                   ~~~
+LL -     foo::<u16>(42_i32);
+LL +     foo::<u16>(42_u16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:172:16
@@ -139,8 +146,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i16` to `u16`
    |
-LL |     foo::<u16>(42_u16);
-   |                   ~~~
+LL -     foo::<u16>(42_i16);
+LL +     foo::<u16>(42_u16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:176:16
@@ -157,8 +165,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i8` to `u16`
    |
-LL |     foo::<u16>(42_u16);
-   |                   ~~~
+LL -     foo::<u16>(42_i8);
+LL +     foo::<u16>(42_u16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:180:16
@@ -175,8 +184,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f64` to `u16`
    |
-LL |     foo::<u16>(42u16);
-   |                  ~~~
+LL -     foo::<u16>(42.0_f64);
+LL +     foo::<u16>(42u16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:184:16
@@ -193,8 +203,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f32` to `u16`
    |
-LL |     foo::<u16>(42u16);
-   |                  ~~~
+LL -     foo::<u16>(42.0_f32);
+LL +     foo::<u16>(42u16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:189:16
@@ -211,8 +222,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `usize` to `i16`
    |
-LL |     foo::<i16>(42_i16);
-   |                   ~~~
+LL -     foo::<i16>(42_usize);
+LL +     foo::<i16>(42_i16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:193:16
@@ -229,8 +241,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u64` to `i16`
    |
-LL |     foo::<i16>(42_i16);
-   |                   ~~~
+LL -     foo::<i16>(42_u64);
+LL +     foo::<i16>(42_i16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:197:16
@@ -247,8 +260,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u32` to `i16`
    |
-LL |     foo::<i16>(42_i16);
-   |                   ~~~
+LL -     foo::<i16>(42_u32);
+LL +     foo::<i16>(42_i16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:201:16
@@ -265,8 +279,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u16` to `i16`
    |
-LL |     foo::<i16>(42_i16);
-   |                   ~~~
+LL -     foo::<i16>(42_u16);
+LL +     foo::<i16>(42_i16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:205:16
@@ -283,8 +298,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u8` to `i16`
    |
-LL |     foo::<i16>(42_i16);
-   |                   ~~~
+LL -     foo::<i16>(42_u8);
+LL +     foo::<i16>(42_i16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:209:16
@@ -301,8 +317,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `isize` to `i16`
    |
-LL |     foo::<i16>(42_i16);
-   |                   ~~~
+LL -     foo::<i16>(42_isize);
+LL +     foo::<i16>(42_i16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:213:16
@@ -319,8 +336,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i64` to `i16`
    |
-LL |     foo::<i16>(42_i16);
-   |                   ~~~
+LL -     foo::<i16>(42_i64);
+LL +     foo::<i16>(42_i16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:217:16
@@ -337,8 +355,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i32` to `i16`
    |
-LL |     foo::<i16>(42_i16);
-   |                   ~~~
+LL -     foo::<i16>(42_i32);
+LL +     foo::<i16>(42_i16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:222:16
@@ -355,8 +374,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i8` to `i16`
    |
-LL |     foo::<i16>(42_i16);
-   |                   ~~~
+LL -     foo::<i16>(42_i8);
+LL +     foo::<i16>(42_i16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:226:16
@@ -373,8 +393,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f64` to `i16`
    |
-LL |     foo::<i16>(42i16);
-   |                  ~~~
+LL -     foo::<i16>(42.0_f64);
+LL +     foo::<i16>(42i16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:230:16
@@ -391,8 +412,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f32` to `i16`
    |
-LL |     foo::<i16>(42i16);
-   |                  ~~~
+LL -     foo::<i16>(42.0_f32);
+LL +     foo::<i16>(42i16);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:235:15
@@ -409,8 +431,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `usize` to `u8`
    |
-LL |     foo::<u8>(42_u8);
-   |                  ~~
+LL -     foo::<u8>(42_usize);
+LL +     foo::<u8>(42_u8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:239:15
@@ -427,8 +450,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u64` to `u8`
    |
-LL |     foo::<u8>(42_u8);
-   |                  ~~
+LL -     foo::<u8>(42_u64);
+LL +     foo::<u8>(42_u8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:243:15
@@ -445,8 +469,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u32` to `u8`
    |
-LL |     foo::<u8>(42_u8);
-   |                  ~~
+LL -     foo::<u8>(42_u32);
+LL +     foo::<u8>(42_u8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:247:15
@@ -463,8 +488,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u16` to `u8`
    |
-LL |     foo::<u8>(42_u8);
-   |                  ~~
+LL -     foo::<u8>(42_u16);
+LL +     foo::<u8>(42_u8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:252:15
@@ -481,8 +507,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `isize` to `u8`
    |
-LL |     foo::<u8>(42_u8);
-   |                  ~~
+LL -     foo::<u8>(42_isize);
+LL +     foo::<u8>(42_u8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:256:15
@@ -499,8 +526,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i64` to `u8`
    |
-LL |     foo::<u8>(42_u8);
-   |                  ~~
+LL -     foo::<u8>(42_i64);
+LL +     foo::<u8>(42_u8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:260:15
@@ -517,8 +545,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i32` to `u8`
    |
-LL |     foo::<u8>(42_u8);
-   |                  ~~
+LL -     foo::<u8>(42_i32);
+LL +     foo::<u8>(42_u8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:264:15
@@ -535,8 +564,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i16` to `u8`
    |
-LL |     foo::<u8>(42_u8);
-   |                  ~~
+LL -     foo::<u8>(42_i16);
+LL +     foo::<u8>(42_u8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:268:15
@@ -553,8 +583,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i8` to `u8`
    |
-LL |     foo::<u8>(42_u8);
-   |                  ~~
+LL -     foo::<u8>(42_i8);
+LL +     foo::<u8>(42_u8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:272:15
@@ -571,8 +602,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f64` to `u8`
    |
-LL |     foo::<u8>(42u8);
-   |                 ~~
+LL -     foo::<u8>(42.0_f64);
+LL +     foo::<u8>(42u8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:276:15
@@ -589,8 +621,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f32` to `u8`
    |
-LL |     foo::<u8>(42u8);
-   |                 ~~
+LL -     foo::<u8>(42.0_f32);
+LL +     foo::<u8>(42u8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:281:15
@@ -607,8 +640,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `usize` to `i8`
    |
-LL |     foo::<i8>(42_i8);
-   |                  ~~
+LL -     foo::<i8>(42_usize);
+LL +     foo::<i8>(42_i8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:285:15
@@ -625,8 +659,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u64` to `i8`
    |
-LL |     foo::<i8>(42_i8);
-   |                  ~~
+LL -     foo::<i8>(42_u64);
+LL +     foo::<i8>(42_i8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:289:15
@@ -643,8 +678,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u32` to `i8`
    |
-LL |     foo::<i8>(42_i8);
-   |                  ~~
+LL -     foo::<i8>(42_u32);
+LL +     foo::<i8>(42_i8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:293:15
@@ -661,8 +697,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u16` to `i8`
    |
-LL |     foo::<i8>(42_i8);
-   |                  ~~
+LL -     foo::<i8>(42_u16);
+LL +     foo::<i8>(42_i8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:297:15
@@ -679,8 +716,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u8` to `i8`
    |
-LL |     foo::<i8>(42_i8);
-   |                  ~~
+LL -     foo::<i8>(42_u8);
+LL +     foo::<i8>(42_i8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:301:15
@@ -697,8 +735,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `isize` to `i8`
    |
-LL |     foo::<i8>(42_i8);
-   |                  ~~
+LL -     foo::<i8>(42_isize);
+LL +     foo::<i8>(42_i8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:305:15
@@ -715,8 +754,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i64` to `i8`
    |
-LL |     foo::<i8>(42_i8);
-   |                  ~~
+LL -     foo::<i8>(42_i64);
+LL +     foo::<i8>(42_i8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:309:15
@@ -733,8 +773,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i32` to `i8`
    |
-LL |     foo::<i8>(42_i8);
-   |                  ~~
+LL -     foo::<i8>(42_i32);
+LL +     foo::<i8>(42_i8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:313:15
@@ -751,8 +792,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i16` to `i8`
    |
-LL |     foo::<i8>(42_i8);
-   |                  ~~
+LL -     foo::<i8>(42_i16);
+LL +     foo::<i8>(42_i8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:318:15
@@ -769,8 +811,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f64` to `i8`
    |
-LL |     foo::<i8>(42i8);
-   |                 ~~
+LL -     foo::<i8>(42.0_f64);
+LL +     foo::<i8>(42i8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:322:15
@@ -787,8 +830,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f32` to `i8`
    |
-LL |     foo::<i8>(42i8);
-   |                 ~~
+LL -     foo::<i8>(42.0_f32);
+LL +     foo::<i8>(42i8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:327:16
@@ -805,8 +849,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `usize` to `f64`
    |
-LL |     foo::<f64>(42_f64);
-   |                   ~~~
+LL -     foo::<f64>(42_usize);
+LL +     foo::<f64>(42_f64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:331:16
@@ -823,8 +868,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u64` to `f64`
    |
-LL |     foo::<f64>(42_f64);
-   |                   ~~~
+LL -     foo::<f64>(42_u64);
+LL +     foo::<f64>(42_f64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:335:16
@@ -895,8 +941,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `isize` to `f64`
    |
-LL |     foo::<f64>(42_f64);
-   |                   ~~~
+LL -     foo::<f64>(42_isize);
+LL +     foo::<f64>(42_f64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:351:16
@@ -913,8 +960,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i64` to `f64`
    |
-LL |     foo::<f64>(42_f64);
-   |                   ~~~
+LL -     foo::<f64>(42_i64);
+LL +     foo::<f64>(42_f64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:355:16
@@ -985,8 +1033,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f32` to `f64`
    |
-LL |     foo::<f64>(42.0_f64);
-   |                     ~~~
+LL -     foo::<f64>(42.0_f32);
+LL +     foo::<f64>(42.0_f64);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:373:16
@@ -1003,8 +1052,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `usize` to `f32`
    |
-LL |     foo::<f32>(42_f32);
-   |                   ~~~
+LL -     foo::<f32>(42_usize);
+LL +     foo::<f32>(42_f32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:377:16
@@ -1021,8 +1071,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u64` to `f32`
    |
-LL |     foo::<f32>(42_f32);
-   |                   ~~~
+LL -     foo::<f32>(42_u64);
+LL +     foo::<f32>(42_f32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:381:16
@@ -1039,8 +1090,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `u32` to `f32`
    |
-LL |     foo::<f32>(42_f32);
-   |                   ~~~
+LL -     foo::<f32>(42_u32);
+LL +     foo::<f32>(42_f32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:385:16
@@ -1093,8 +1145,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `isize` to `f32`
    |
-LL |     foo::<f32>(42_f32);
-   |                   ~~~
+LL -     foo::<f32>(42_isize);
+LL +     foo::<f32>(42_f32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:397:16
@@ -1111,8 +1164,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i64` to `f32`
    |
-LL |     foo::<f32>(42_f32);
-   |                   ~~~
+LL -     foo::<f32>(42_i64);
+LL +     foo::<f32>(42_f32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:401:16
@@ -1129,8 +1183,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `i32` to `f32`
    |
-LL |     foo::<f32>(42_f32);
-   |                   ~~~
+LL -     foo::<f32>(42_i32);
+LL +     foo::<f32>(42_f32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:405:16
@@ -1183,8 +1238,9 @@ LL | fn foo<N>(_x: N) {}
    |    ^^^    -----
 help: change the type of the numeric literal from `f64` to `f32`
    |
-LL |     foo::<f32>(42.0_f32);
-   |                     ~~~
+LL -     foo::<f32>(42.0_f64);
+LL +     foo::<f32>(42.0_f32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/numeric-suffix.rs:419:16
diff --git a/tests/ui/object-pointer-types.stderr b/tests/ui/object-pointer-types.stderr
index 7d915ebdab6..7e3a13dd90b 100644
--- a/tests/ui/object-pointer-types.stderr
+++ b/tests/ui/object-pointer-types.stderr
@@ -9,8 +9,9 @@ LL |     x.owned();
    |
 help: there is a method `to_owned` with a similar name
    |
-LL |     x.to_owned();
-   |       ~~~~~~~~
+LL -     x.owned();
+LL +     x.to_owned();
+   |
 
 error[E0599]: no method named `owned` found for mutable reference `&mut dyn Foo` in the current scope
   --> $DIR/object-pointer-types.rs:17:7
diff --git a/tests/ui/obsolete-in-place/bad.stderr b/tests/ui/obsolete-in-place/bad.stderr
index 363dfb77628..1409a663789 100644
--- a/tests/ui/obsolete-in-place/bad.stderr
+++ b/tests/ui/obsolete-in-place/bad.stderr
@@ -6,8 +6,9 @@ LL |     x <- y;
    |
 help: if you meant to write a comparison against a negative value, add a space in between `<` and `-`
    |
-LL |     x < - y;
-   |       ~~~
+LL -     x <- y;
+LL +     x < - y;
+   |
 
 error: expected expression, found keyword `in`
   --> $DIR/bad.rs:10:5
diff --git a/tests/ui/on-unimplemented/bad-annotation.stderr b/tests/ui/on-unimplemented/bad-annotation.stderr
index 9bb9423788c..0482a5c5855 100644
--- a/tests/ui/on-unimplemented/bad-annotation.stderr
+++ b/tests/ui/on-unimplemented/bad-annotation.stderr
@@ -6,9 +6,11 @@ LL | #[rustc_on_unimplemented]
    |
 help: the following are the possible correct uses
    |
-LL | #[rustc_on_unimplemented = "message"]
+LL - #[rustc_on_unimplemented]
+LL + #[rustc_on_unimplemented = "message"]
    |
-LL | #[rustc_on_unimplemented(/*opt*/ message = "...", /*opt*/ label = "...", /*opt*/ note = "...")]
+LL - #[rustc_on_unimplemented]
+LL + #[rustc_on_unimplemented(/*opt*/ message = "...", /*opt*/ label = "...", /*opt*/ note = "...")]
    |
 
 error[E0230]: there is no parameter `C` on trait `BadAnnotation2`
diff --git a/tests/ui/on-unimplemented/issue-104140.stderr b/tests/ui/on-unimplemented/issue-104140.stderr
index 4ba5475d9ec..5c9d5e8d553 100644
--- a/tests/ui/on-unimplemented/issue-104140.stderr
+++ b/tests/ui/on-unimplemented/issue-104140.stderr
@@ -6,10 +6,12 @@ LL | #[rustc_on_unimplemented]
    |
 help: the following are the possible correct uses
    |
-LL | #[rustc_on_unimplemented = "message"]
-   | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-LL | #[rustc_on_unimplemented(/*opt*/ message = "...", /*opt*/ label = "...", /*opt*/ note = "...")]
-   | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - #[rustc_on_unimplemented]
+LL + #[rustc_on_unimplemented = "message"]
+   |
+LL - #[rustc_on_unimplemented]
+LL + #[rustc_on_unimplemented(/*opt*/ message = "...", /*opt*/ label = "...", /*opt*/ note = "...")]
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/operator-recovery/less-than-greater-than.stderr b/tests/ui/operator-recovery/less-than-greater-than.stderr
index 36a4a81035f..429bda9cefc 100644
--- a/tests/ui/operator-recovery/less-than-greater-than.stderr
+++ b/tests/ui/operator-recovery/less-than-greater-than.stderr
@@ -6,8 +6,9 @@ LL |     println!("{}", 1 <> 2);
    |
 help: `<>` is not a valid comparison operator, use `!=`
    |
-LL |     println!("{}", 1 != 2);
-   |                      ~~
+LL -     println!("{}", 1 <> 2);
+LL +     println!("{}", 1 != 2);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/or-patterns/multiple-pattern-typo.stderr b/tests/ui/or-patterns/multiple-pattern-typo.stderr
index 2e66f54979b..fea3ed76691 100644
--- a/tests/ui/or-patterns/multiple-pattern-typo.stderr
+++ b/tests/ui/or-patterns/multiple-pattern-typo.stderr
@@ -8,8 +8,9 @@ LL |         1 | 2 || 3 => (),
    |
 help: use a single `|` to separate multiple alternative patterns
    |
-LL |         1 | 2 | 3 => (),
-   |               ~
+LL -         1 | 2 || 3 => (),
+LL +         1 | 2 | 3 => (),
+   |
 
 error: unexpected token `||` in pattern
   --> $DIR/multiple-pattern-typo.rs:12:16
@@ -21,8 +22,9 @@ LL |         (1 | 2 || 3) => (),
    |
 help: use a single `|` to separate multiple alternative patterns
    |
-LL |         (1 | 2 | 3) => (),
-   |                ~
+LL -         (1 | 2 || 3) => (),
+LL +         (1 | 2 | 3) => (),
+   |
 
 error: unexpected token `||` in pattern
   --> $DIR/multiple-pattern-typo.rs:17:16
@@ -34,8 +36,9 @@ LL |         (1 | 2 || 3,) => (),
    |
 help: use a single `|` to separate multiple alternative patterns
    |
-LL |         (1 | 2 | 3,) => (),
-   |                ~
+LL -         (1 | 2 || 3,) => (),
+LL +         (1 | 2 | 3,) => (),
+   |
 
 error: unexpected token `||` in pattern
   --> $DIR/multiple-pattern-typo.rs:24:18
@@ -47,8 +50,9 @@ LL |         TS(1 | 2 || 3) => (),
    |
 help: use a single `|` to separate multiple alternative patterns
    |
-LL |         TS(1 | 2 | 3) => (),
-   |                  ~
+LL -         TS(1 | 2 || 3) => (),
+LL +         TS(1 | 2 | 3) => (),
+   |
 
 error: unexpected token `||` in pattern
   --> $DIR/multiple-pattern-typo.rs:31:23
@@ -60,8 +64,9 @@ LL |         NS { f: 1 | 2 || 3 } => (),
    |
 help: use a single `|` to separate multiple alternative patterns
    |
-LL |         NS { f: 1 | 2 | 3 } => (),
-   |                       ~
+LL -         NS { f: 1 | 2 || 3 } => (),
+LL +         NS { f: 1 | 2 | 3 } => (),
+   |
 
 error: unexpected token `||` in pattern
   --> $DIR/multiple-pattern-typo.rs:36:16
@@ -73,8 +78,9 @@ LL |         [1 | 2 || 3] => (),
    |
 help: use a single `|` to separate multiple alternative patterns
    |
-LL |         [1 | 2 | 3] => (),
-   |                ~
+LL -         [1 | 2 || 3] => (),
+LL +         [1 | 2 | 3] => (),
+   |
 
 error: unexpected token `||` in pattern
   --> $DIR/multiple-pattern-typo.rs:41:9
@@ -84,8 +90,9 @@ LL |         || 1 | 2 | 3 => (),
    |
 help: use a single `|` to separate multiple alternative patterns
    |
-LL |         | 1 | 2 | 3 => (),
-   |         ~
+LL -         || 1 | 2 | 3 => (),
+LL +         | 1 | 2 | 3 => (),
+   |
 
 error: aborting due to 7 previous errors
 
diff --git a/tests/ui/or-patterns/remove-leading-vert.stderr b/tests/ui/or-patterns/remove-leading-vert.stderr
index 5177e98f0d9..b92fcb89a40 100644
--- a/tests/ui/or-patterns/remove-leading-vert.stderr
+++ b/tests/ui/or-patterns/remove-leading-vert.stderr
@@ -31,8 +31,9 @@ LL |     let ( || A): (E);
    |
 help: use a single `|` to separate multiple alternative patterns
    |
-LL |     let ( | A): (E);
-   |           ~
+LL -     let ( || A): (E);
+LL +     let ( | A): (E);
+   |
 
 error: unexpected token `||` in pattern
   --> $DIR/remove-leading-vert.rs:17:11
@@ -42,8 +43,9 @@ LL |     let [ || A ]: [E; 1];
    |
 help: use a single `|` to separate multiple alternative patterns
    |
-LL |     let [ | A ]: [E; 1];
-   |           ~
+LL -     let [ || A ]: [E; 1];
+LL +     let [ | A ]: [E; 1];
+   |
 
 error: unexpected token `||` in pattern
   --> $DIR/remove-leading-vert.rs:19:13
@@ -53,8 +55,9 @@ LL |     let TS( || A ): TS;
    |
 help: use a single `|` to separate multiple alternative patterns
    |
-LL |     let TS( | A ): TS;
-   |             ~
+LL -     let TS( || A ): TS;
+LL +     let TS( | A ): TS;
+   |
 
 error: unexpected token `||` in pattern
   --> $DIR/remove-leading-vert.rs:21:17
@@ -64,8 +67,9 @@ LL |     let NS { f: || A }: NS;
    |
 help: use a single `|` to separate multiple alternative patterns
    |
-LL |     let NS { f: | A }: NS;
-   |                 ~
+LL -     let NS { f: || A }: NS;
+LL +     let NS { f: | A }: NS;
+   |
 
 error: a trailing `|` is not allowed in an or-pattern
   --> $DIR/remove-leading-vert.rs:26:13
@@ -147,8 +151,9 @@ LL |     let ( A || B | ): E;
    |
 help: use a single `|` to separate multiple alternative patterns
    |
-LL |     let ( A | B | ): E;
-   |             ~
+LL -     let ( A || B | ): E;
+LL +     let ( A | B | ): E;
+   |
 
 error: a trailing `|` is not allowed in an or-pattern
   --> $DIR/remove-leading-vert.rs:31:18
@@ -203,8 +208,9 @@ LL |         A || B | => {}
    |
 help: use a single `|` to separate multiple alternative patterns
    |
-LL |         A | B | => {}
-   |           ~
+LL -         A || B | => {}
+LL +         A | B | => {}
+   |
 
 error: a trailing `|` is not allowed in an or-pattern
   --> $DIR/remove-leading-vert.rs:36:16
diff --git a/tests/ui/panic-handler/weak-lang-item.stderr b/tests/ui/panic-handler/weak-lang-item.stderr
index de351d2c3e4..e9d444c1c4d 100644
--- a/tests/ui/panic-handler/weak-lang-item.stderr
+++ b/tests/ui/panic-handler/weak-lang-item.stderr
@@ -7,7 +7,8 @@ LL | extern crate core;
    = note: `core` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | extern crate core as other_core;
+LL - extern crate core;
+LL + extern crate core as other_core;
    |
 
 error: `#[panic_handler]` function required, but not found
diff --git a/tests/ui/parser/bad-char-literals.stderr b/tests/ui/parser/bad-char-literals.stderr
index 5a81ede0336..3513055cb55 100644
--- a/tests/ui/parser/bad-char-literals.stderr
+++ b/tests/ui/parser/bad-char-literals.stderr
@@ -6,8 +6,9 @@ LL |     ''';
    |
 help: escape the character
    |
-LL |     '\'';
-   |      ~~
+LL -     ''';
+LL +     '\'';
+   |
 
 error: character constant must be escaped: `\n`
   --> $DIR/bad-char-literals.rs:10:6
@@ -41,8 +42,9 @@ LL |     '-␀-';
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     "-␀-";
-   |     ~   ~
+LL -     '-␀-';
+LL +     "-␀-";
+   |
 
 error: character constant must be escaped: `\t`
   --> $DIR/bad-char-literals.rs:21:6
diff --git a/tests/ui/parser/bad-crate-name.stderr b/tests/ui/parser/bad-crate-name.stderr
index c98a620f123..2218062fa28 100644
--- a/tests/ui/parser/bad-crate-name.stderr
+++ b/tests/ui/parser/bad-crate-name.stderr
@@ -6,8 +6,9 @@ LL | extern crate krate-name-here;
    |
 help: if the original crate name uses dashes you need to use underscores in the code
    |
-LL | extern crate krate_name_here;
-   |                   ~    ~
+LL - extern crate krate-name-here;
+LL + extern crate krate_name_here;
+   |
 
 error[E0463]: can't find crate for `krate_name_here`
   --> $DIR/bad-crate-name.rs:1:1
diff --git a/tests/ui/parser/bad-escape-suggest-raw-string.stderr b/tests/ui/parser/bad-escape-suggest-raw-string.stderr
index 6dd4ad512a8..5afa1f4a7f8 100644
--- a/tests/ui/parser/bad-escape-suggest-raw-string.stderr
+++ b/tests/ui/parser/bad-escape-suggest-raw-string.stderr
@@ -7,8 +7,9 @@ LL |     let bad = "ab\[c";
    = help: for more information, visit <https://doc.rust-lang.org/reference/tokens.html#literals>
 help: if you meant to write a literal backslash (perhaps escaping in a regular expression), consider a raw string literal
    |
-LL |     let bad = r"ab\[c";
-   |               ~~~~~~~~
+LL -     let bad = "ab\[c";
+LL +     let bad = r"ab\[c";
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/bad-let-else-statement.stderr b/tests/ui/parser/bad-let-else-statement.stderr
index 79d722bb7ac..ba564529983 100644
--- a/tests/ui/parser/bad-let-else-statement.stderr
+++ b/tests/ui/parser/bad-let-else-statement.stderr
@@ -225,8 +225,9 @@ LL |     let bad = format_args! {""} else { return; };
    |
 help: use parentheses instead of braces for this macro
    |
-LL |     let bad = format_args! ("") else { return; };
-   |                            ~  ~
+LL -     let bad = format_args! {""} else { return; };
+LL +     let bad = format_args! ("") else { return; };
+   |
 
 error: right curly brace `}` before `else` in a `let...else` statement not allowed
   --> $DIR/bad-let-else-statement.rs:207:5
@@ -254,8 +255,9 @@ LL |     b!(2);
    = note: this error originates in the macro `b` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: use parentheses instead of braces for this macro
    |
-LL |             let 0 = a! () else { return; };
-   |                        ~~
+LL -             let 0 = a! {} else { return; };
+LL +             let 0 = a! () else { return; };
+   |
 
 warning: irrefutable `let...else` pattern
   --> $DIR/bad-let-else-statement.rs:95:5
diff --git a/tests/ui/parser/bad-lit-suffixes.stderr b/tests/ui/parser/bad-lit-suffixes.stderr
index 121db2058f1..704f7363e81 100644
--- a/tests/ui/parser/bad-lit-suffixes.stderr
+++ b/tests/ui/parser/bad-lit-suffixes.stderr
@@ -30,9 +30,11 @@ LL | #[must_use = "string"suffix]
    |
 help: the following are the possible correct uses
    |
-LL | #[must_use = "reason"]
+LL - #[must_use = "string"suffix]
+LL + #[must_use = "reason"]
    |
-LL | #[must_use]
+LL - #[must_use = "string"suffix]
+LL + #[must_use]
    |
 
 error: suffixes on string literals are invalid
diff --git a/tests/ui/parser/byte-literals.stderr b/tests/ui/parser/byte-literals.stderr
index 25e31995441..fe3cfb23de8 100644
--- a/tests/ui/parser/byte-literals.stderr
+++ b/tests/ui/parser/byte-literals.stderr
@@ -39,8 +39,9 @@ LL |     b''';
    |
 help: escape the character
    |
-LL |     b'\'';
-   |       ~~
+LL -     b''';
+LL +     b'\'';
+   |
 
 error: non-ASCII character in byte literal
   --> $DIR/byte-literals.rs:10:7
@@ -50,8 +51,9 @@ LL |     b'é';
    |
 help: if you meant to use the unicode code point for 'é', use a \xHH escape
    |
-LL |     b'\xE9';
-   |       ~~~~
+LL -     b'é';
+LL +     b'\xE9';
+   |
 
 error[E0763]: unterminated byte constant
   --> $DIR/byte-literals.rs:11:6
diff --git a/tests/ui/parser/byte-string-literals.stderr b/tests/ui/parser/byte-string-literals.stderr
index 24e0eaac8fa..08633742557 100644
--- a/tests/ui/parser/byte-string-literals.stderr
+++ b/tests/ui/parser/byte-string-literals.stderr
@@ -28,8 +28,9 @@ LL |     b"é";
    |
 help: if you meant to use the unicode code point for 'é', use a \xHH escape
    |
-LL |     b"\xE9";
-   |       ~~~~
+LL -     b"é";
+LL +     b"\xE9";
+   |
 
 error: non-ASCII character in raw byte string literal
   --> $DIR/byte-string-literals.rs:7:10
diff --git a/tests/ui/parser/char/whitespace-character-literal.stderr b/tests/ui/parser/char/whitespace-character-literal.stderr
index f273b5d61d5..53f2eb3ecba 100644
--- a/tests/ui/parser/char/whitespace-character-literal.stderr
+++ b/tests/ui/parser/char/whitespace-character-literal.stderr
@@ -11,8 +11,9 @@ LL |     let _hair_space_around = ' x​';
    |                               ^^
 help: consider removing the non-printing characters
    |
-LL |     let _hair_space_around = 'x​';
-   |                               ~
+LL -     let _hair_space_around = ' x​';
+LL +     let _hair_space_around = 'x​';
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/const-param-decl-on-type-instead-of-impl.stderr b/tests/ui/parser/const-param-decl-on-type-instead-of-impl.stderr
index 104dbd02685..855163e3d3b 100644
--- a/tests/ui/parser/const-param-decl-on-type-instead-of-impl.stderr
+++ b/tests/ui/parser/const-param-decl-on-type-instead-of-impl.stderr
@@ -6,8 +6,9 @@ LL | impl NInts<const N: usize> {}
    |
 help: `const` parameters must be declared for the `impl`
    |
-LL | impl<const N: usize> NInts<N> {}
-   |     ++++++++++++++++       ~
+LL - impl NInts<const N: usize> {}
+LL + impl<const N: usize> NInts<N> {}
+   |
 
 error: unexpected `const` parameter declaration
   --> $DIR/const-param-decl-on-type-instead-of-impl.rs:8:17
diff --git a/tests/ui/parser/default-on-wrong-item-kind.stderr b/tests/ui/parser/default-on-wrong-item-kind.stderr
index 392c85e0c43..56641565b16 100644
--- a/tests/ui/parser/default-on-wrong-item-kind.stderr
+++ b/tests/ui/parser/default-on-wrong-item-kind.stderr
@@ -159,8 +159,9 @@ LL |     default const foo: u8;
    = note: for more information, visit https://doc.rust-lang.org/std/keyword.extern.html
 help: try using a static value
    |
-LL |     static foo: u8;
-   |     ~~~~~~
+LL -     default const foo: u8;
+LL +     static foo: u8;
+   |
 
 error: a module cannot be `default`
   --> $DIR/default-on-wrong-item-kind.rs:41:5
diff --git a/tests/ui/parser/do-catch-suggests-try.stderr b/tests/ui/parser/do-catch-suggests-try.stderr
index fd3406ae29f..2eaab836075 100644
--- a/tests/ui/parser/do-catch-suggests-try.stderr
+++ b/tests/ui/parser/do-catch-suggests-try.stderr
@@ -7,8 +7,9 @@ LL |     let _: Option<()> = do catch {};
    = note: following RFC #2388, the new non-placeholder syntax is `try`
 help: replace with the new syntax
    |
-LL |     let _: Option<()> = try {};
-   |                         ~~~
+LL -     let _: Option<()> = do catch {};
+LL +     let _: Option<()> = try {};
+   |
 
 error[E0308]: mismatched types
   --> $DIR/do-catch-suggests-try.rs:9:33
diff --git a/tests/ui/parser/dotdotdot-expr.stderr b/tests/ui/parser/dotdotdot-expr.stderr
index 208c04bd3df..f0bc57264a6 100644
--- a/tests/ui/parser/dotdotdot-expr.stderr
+++ b/tests/ui/parser/dotdotdot-expr.stderr
@@ -6,12 +6,14 @@ LL |     let _redemptive = 1...21;
    |
 help: use `..` for an exclusive range
    |
-LL |     let _redemptive = 1..21;
-   |                        ~~
+LL -     let _redemptive = 1...21;
+LL +     let _redemptive = 1..21;
+   |
 help: or `..=` for an inclusive range
    |
-LL |     let _redemptive = 1..=21;
-   |                        ~~~
+LL -     let _redemptive = 1...21;
+LL +     let _redemptive = 1..=21;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/duplicate-where-clauses.stderr b/tests/ui/parser/duplicate-where-clauses.stderr
index 8250d4f1e05..298cdab0c68 100644
--- a/tests/ui/parser/duplicate-where-clauses.stderr
+++ b/tests/ui/parser/duplicate-where-clauses.stderr
@@ -8,8 +8,9 @@ LL | struct A where (): Sized where (): Sized {}
    |
 help: consider joining the two `where` clauses into one
    |
-LL | struct A where (): Sized, (): Sized {}
-   |                         ~
+LL - struct A where (): Sized where (): Sized {}
+LL + struct A where (): Sized, (): Sized {}
+   |
 
 error: cannot define duplicate `where` clauses on an item
   --> $DIR/duplicate-where-clauses.rs:4:30
@@ -21,8 +22,9 @@ LL | fn b() where (): Sized where (): Sized {}
    |
 help: consider joining the two `where` clauses into one
    |
-LL | fn b() where (): Sized, (): Sized {}
-   |                       ~
+LL - fn b() where (): Sized where (): Sized {}
+LL + fn b() where (): Sized, (): Sized {}
+   |
 
 error: cannot define duplicate `where` clauses on an item
   --> $DIR/duplicate-where-clauses.rs:7:30
@@ -34,8 +36,9 @@ LL | enum C where (): Sized where (): Sized {}
    |
 help: consider joining the two `where` clauses into one
    |
-LL | enum C where (): Sized, (): Sized {}
-   |                       ~
+LL - enum C where (): Sized where (): Sized {}
+LL + enum C where (): Sized, (): Sized {}
+   |
 
 error: cannot define duplicate `where` clauses on an item
   --> $DIR/duplicate-where-clauses.rs:10:33
@@ -47,8 +50,9 @@ LL | struct D where (): Sized, where (): Sized {}
    |
 help: consider joining the two `where` clauses into one
    |
-LL | struct D where (): Sized, (): Sized {}
-   |                         ~
+LL - struct D where (): Sized, where (): Sized {}
+LL + struct D where (): Sized, (): Sized {}
+   |
 
 error: cannot define duplicate `where` clauses on an item
   --> $DIR/duplicate-where-clauses.rs:13:31
@@ -60,8 +64,9 @@ LL | fn e() where (): Sized, where (): Sized {}
    |
 help: consider joining the two `where` clauses into one
    |
-LL | fn e() where (): Sized, (): Sized {}
-   |                       ~
+LL - fn e() where (): Sized, where (): Sized {}
+LL + fn e() where (): Sized, (): Sized {}
+   |
 
 error: cannot define duplicate `where` clauses on an item
   --> $DIR/duplicate-where-clauses.rs:16:31
@@ -73,8 +78,9 @@ LL | enum F where (): Sized, where (): Sized {}
    |
 help: consider joining the two `where` clauses into one
    |
-LL | enum F where (): Sized, (): Sized {}
-   |                       ~
+LL - enum F where (): Sized, where (): Sized {}
+LL + enum F where (): Sized, (): Sized {}
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/parser/emoji-identifiers.stderr b/tests/ui/parser/emoji-identifiers.stderr
index 536afc53f0c..f0e90082bff 100644
--- a/tests/ui/parser/emoji-identifiers.stderr
+++ b/tests/ui/parser/emoji-identifiers.stderr
@@ -6,8 +6,9 @@ LL |     let _ = i_like_to_😄_a_lot() ➖ 4;
    |
 help: Unicode character '➖' (Heavy Minus Sign) looks like '-' (Minus/Hyphen), but it is not
    |
-LL |     let _ = i_like_to_😄_a_lot() - 4;
-   |                                  ~
+LL -     let _ = i_like_to_😄_a_lot() ➖ 4;
+LL +     let _ = i_like_to_😄_a_lot() - 4;
+   |
 
 error: identifiers cannot contain emoji: `ABig👩👩👧👧Family`
   --> $DIR/emoji-identifiers.rs:1:8
@@ -80,8 +81,9 @@ LL |     fn full_of_✨() -> 👀 {
    |     ^^^^^^^^^^^^^^^^^^^^^
 help: there is an associated function `full_of_✨` with a similar name
    |
-LL |     👀::full_of_✨()
-   |         ~~~~~~~~~~
+LL -     👀::full_of✨()
+LL +     👀::full_of_✨()
+   |
 
 error[E0425]: cannot find function `i_like_to_😄_a_lot` in this scope
   --> $DIR/emoji-identifiers.rs:13:13
diff --git a/tests/ui/parser/eq-gt-to-gt-eq.stderr b/tests/ui/parser/eq-gt-to-gt-eq.stderr
index 73f465f7b9b..aa47ddecce9 100644
--- a/tests/ui/parser/eq-gt-to-gt-eq.stderr
+++ b/tests/ui/parser/eq-gt-to-gt-eq.stderr
@@ -11,8 +11,9 @@ LL |     if a => b {}
    |        ^
 help: you might have meant to write a "greater than or equal to" comparison
    |
-LL |     if a >= b {}
-   |          ~~
+LL -     if a => b {}
+LL +     if a >= b {}
+   |
 
 error: expected `{`, found `=>`
   --> $DIR/eq-gt-to-gt-eq.rs:13:10
@@ -27,8 +28,9 @@ LL |     if a => 1 {}
    |        ^
 help: you might have meant to write a "greater than or equal to" comparison
    |
-LL |     if a >= 1 {}
-   |          ~~
+LL -     if a => 1 {}
+LL +     if a >= 1 {}
+   |
 
 error: expected `{`, found `=>`
   --> $DIR/eq-gt-to-gt-eq.rs:18:10
@@ -43,8 +45,9 @@ LL |     if 1 => a {}
    |        ^
 help: you might have meant to write a "greater than or equal to" comparison
    |
-LL |     if 1 >= a {}
-   |          ~~
+LL -     if 1 => a {}
+LL +     if 1 >= a {}
+   |
 
 error: expected `{`, found `=>`
   --> $DIR/eq-gt-to-gt-eq.rs:24:10
@@ -59,8 +62,9 @@ LL |     if a => b && a != b {}
    |        ^
 help: you might have meant to write a "greater than or equal to" comparison
    |
-LL |     if a >= b && a != b {}
-   |          ~~
+LL -     if a => b && a != b {}
+LL +     if a >= b && a != b {}
+   |
 
 error: expected `{`, found `=>`
   --> $DIR/eq-gt-to-gt-eq.rs:30:20
@@ -75,8 +79,9 @@ LL |     if a != b && a => b {}
    |        ^^^^^^^^^^^
 help: you might have meant to write a "greater than or equal to" comparison
    |
-LL |     if a != b && a >= b {}
-   |                    ~~
+LL -     if a != b && a => b {}
+LL +     if a != b && a >= b {}
+   |
 
 error: expected one of `!`, `.`, `::`, `;`, `?`, `else`, `{`, or an operator, found `=>`
   --> $DIR/eq-gt-to-gt-eq.rs:36:15
@@ -86,8 +91,9 @@ LL |     let _ = a => b;
    |
 help: you might have meant to write a "greater than or equal to" comparison
    |
-LL |     let _ = a >= b;
-   |               ~~
+LL -     let _ = a => b;
+LL +     let _ = a >= b;
+   |
 
 error: expected one of `!`, `.`, `::`, `?`, `{`, or an operator, found `=>`
   --> $DIR/eq-gt-to-gt-eq.rs:42:13
@@ -99,8 +105,9 @@ LL |     match a => b {
    |
 help: you might have meant to write a "greater than or equal to" comparison
    |
-LL |     match a >= b {
-   |             ~~
+LL -     match a => b {
+LL +     match a >= b {
+   |
 
 error: aborting due to 7 previous errors
 
diff --git a/tests/ui/parser/expr-rarrow-call.stderr b/tests/ui/parser/expr-rarrow-call.stderr
index 221e3a74d79..2e168ca26fe 100644
--- a/tests/ui/parser/expr-rarrow-call.stderr
+++ b/tests/ui/parser/expr-rarrow-call.stderr
@@ -7,8 +7,9 @@ LL |     named->foo;
    = help: the `.` operator will dereference the value if needed
 help: try using `.` instead
    |
-LL |     named.foo;
-   |          ~
+LL -     named->foo;
+LL +     named.foo;
+   |
 
 error: `->` used for field access or method call
   --> $DIR/expr-rarrow-call.rs:18:12
@@ -19,8 +20,9 @@ LL |     unnamed->0;
    = help: the `.` operator will dereference the value if needed
 help: try using `.` instead
    |
-LL |     unnamed.0;
-   |            ~
+LL -     unnamed->0;
+LL +     unnamed.0;
+   |
 
 error: `->` used for field access or method call
   --> $DIR/expr-rarrow-call.rs:22:6
@@ -31,8 +33,9 @@ LL |     t->0;
    = help: the `.` operator will dereference the value if needed
 help: try using `.` instead
    |
-LL |     t.0;
-   |      ~
+LL -     t->0;
+LL +     t.0;
+   |
 
 error: `->` used for field access or method call
   --> $DIR/expr-rarrow-call.rs:23:6
@@ -43,8 +46,9 @@ LL |     t->1;
    = help: the `.` operator will dereference the value if needed
 help: try using `.` instead
    |
-LL |     t.1;
-   |      ~
+LL -     t->1;
+LL +     t.1;
+   |
 
 error: `->` used for field access or method call
   --> $DIR/expr-rarrow-call.rs:30:8
@@ -55,8 +59,9 @@ LL |     foo->clone();
    = help: the `.` operator will dereference the value if needed
 help: try using `.` instead
    |
-LL |     foo.clone();
-   |        ~
+LL -     foo->clone();
+LL +     foo.clone();
+   |
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/ui/parser/extern-crate-unexpected-token.stderr b/tests/ui/parser/extern-crate-unexpected-token.stderr
index 951b0274b0d..3d48f0adfa1 100644
--- a/tests/ui/parser/extern-crate-unexpected-token.stderr
+++ b/tests/ui/parser/extern-crate-unexpected-token.stderr
@@ -6,8 +6,9 @@ LL | extern crte foo;
    |
 help: there is a keyword `crate` with a similar name
    |
-LL | extern crate foo;
-   |        ~~~~~
+LL - extern crte foo;
+LL + extern crate foo;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/extern-no-fn.stderr b/tests/ui/parser/extern-no-fn.stderr
index 03826e4a93b..2ee905429c4 100644
--- a/tests/ui/parser/extern-no-fn.stderr
+++ b/tests/ui/parser/extern-no-fn.stderr
@@ -11,8 +11,9 @@ LL | }
    |
 help: if you meant to call a macro, try
    |
-LL |     f!();
-   |     ~~
+LL -     f();
+LL +     f!();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/fn-body-eq-expr-semi.stderr b/tests/ui/parser/fn-body-eq-expr-semi.stderr
index f1255d8642a..adcb4fef0a3 100644
--- a/tests/ui/parser/fn-body-eq-expr-semi.stderr
+++ b/tests/ui/parser/fn-body-eq-expr-semi.stderr
@@ -6,8 +6,9 @@ LL |     fn foo() = 42;
    |
 help: surround the expression with `{` and `}` instead of `=` and `;`
    |
-LL |     fn foo() { 42 }
-   |              ~    ~
+LL -     fn foo() = 42;
+LL +     fn foo() { 42 }
+   |
 
 error: function body cannot be `= expression;`
   --> $DIR/fn-body-eq-expr-semi.rs:5:20
@@ -17,8 +18,9 @@ LL |     fn bar() -> u8 = 42;
    |
 help: surround the expression with `{` and `}` instead of `=` and `;`
    |
-LL |     fn bar() -> u8 { 42 }
-   |                    ~    ~
+LL -     fn bar() -> u8 = 42;
+LL +     fn bar() -> u8 { 42 }
+   |
 
 error: function body cannot be `= expression;`
   --> $DIR/fn-body-eq-expr-semi.rs:9:14
@@ -28,8 +30,9 @@ LL |     fn foo() = 42;
    |
 help: surround the expression with `{` and `}` instead of `=` and `;`
    |
-LL |     fn foo() { 42 }
-   |              ~    ~
+LL -     fn foo() = 42;
+LL +     fn foo() { 42 }
+   |
 
 error: function body cannot be `= expression;`
   --> $DIR/fn-body-eq-expr-semi.rs:11:20
@@ -39,8 +42,9 @@ LL |     fn bar() -> u8 = 42;
    |
 help: surround the expression with `{` and `}` instead of `=` and `;`
    |
-LL |     fn bar() -> u8 { 42 }
-   |                    ~    ~
+LL -     fn bar() -> u8 = 42;
+LL +     fn bar() -> u8 { 42 }
+   |
 
 error: function body cannot be `= expression;`
   --> $DIR/fn-body-eq-expr-semi.rs:16:14
@@ -50,8 +54,9 @@ LL |     fn foo() = 42;
    |
 help: surround the expression with `{` and `}` instead of `=` and `;`
    |
-LL |     fn foo() { 42 }
-   |              ~    ~
+LL -     fn foo() = 42;
+LL +     fn foo() { 42 }
+   |
 
 error: function body cannot be `= expression;`
   --> $DIR/fn-body-eq-expr-semi.rs:17:20
@@ -61,8 +66,9 @@ LL |     fn bar() -> u8 = 42;
    |
 help: surround the expression with `{` and `}` instead of `=` and `;`
    |
-LL |     fn bar() -> u8 { 42 }
-   |                    ~    ~
+LL -     fn bar() -> u8 = 42;
+LL +     fn bar() -> u8 { 42 }
+   |
 
 error: function body cannot be `= expression;`
   --> $DIR/fn-body-eq-expr-semi.rs:21:14
@@ -72,8 +78,9 @@ LL |     fn foo() = 42;
    |
 help: surround the expression with `{` and `}` instead of `=` and `;`
    |
-LL |     fn foo() { 42 }
-   |              ~    ~
+LL -     fn foo() = 42;
+LL +     fn foo() { 42 }
+   |
 
 error: function body cannot be `= expression;`
   --> $DIR/fn-body-eq-expr-semi.rs:22:20
@@ -83,8 +90,9 @@ LL |     fn bar() -> u8 = 42;
    |
 help: surround the expression with `{` and `}` instead of `=` and `;`
    |
-LL |     fn bar() -> u8 { 42 }
-   |                    ~    ~
+LL -     fn bar() -> u8 = 42;
+LL +     fn bar() -> u8 { 42 }
+   |
 
 error: incorrect function inside `extern` block
   --> $DIR/fn-body-eq-expr-semi.rs:9:8
diff --git a/tests/ui/parser/fn-colon-return-type.stderr b/tests/ui/parser/fn-colon-return-type.stderr
index c1cdf4d4975..d6d30c5fd07 100644
--- a/tests/ui/parser/fn-colon-return-type.stderr
+++ b/tests/ui/parser/fn-colon-return-type.stderr
@@ -6,8 +6,9 @@ LL | fn foo(x: i32): i32 {
    |
 help: use `->` instead
    |
-LL | fn foo(x: i32) -> i32 {
-   |                ~~
+LL - fn foo(x: i32): i32 {
+LL + fn foo(x: i32) -> i32 {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/foreign-const-semantic-fail.stderr b/tests/ui/parser/foreign-const-semantic-fail.stderr
index d317847f98a..b2240738c49 100644
--- a/tests/ui/parser/foreign-const-semantic-fail.stderr
+++ b/tests/ui/parser/foreign-const-semantic-fail.stderr
@@ -7,8 +7,9 @@ LL |     const A: isize;
    = note: for more information, visit https://doc.rust-lang.org/std/keyword.extern.html
 help: try using a static value
    |
-LL |     static A: isize;
-   |     ~~~~~~
+LL -     const A: isize;
+LL +     static A: isize;
+   |
 
 error: extern items cannot be `const`
   --> $DIR/foreign-const-semantic-fail.rs:6:11
@@ -19,8 +20,9 @@ LL |     const B: isize = 42;
    = note: for more information, visit https://doc.rust-lang.org/std/keyword.extern.html
 help: try using a static value
    |
-LL |     static B: isize = 42;
-   |     ~~~~~~
+LL -     const B: isize = 42;
+LL +     static B: isize = 42;
+   |
 
 error: incorrect `static` inside `extern` block
   --> $DIR/foreign-const-semantic-fail.rs:6:11
diff --git a/tests/ui/parser/foreign-const-syntactic-fail.stderr b/tests/ui/parser/foreign-const-syntactic-fail.stderr
index 7da2c019022..f7466d5d6cd 100644
--- a/tests/ui/parser/foreign-const-syntactic-fail.stderr
+++ b/tests/ui/parser/foreign-const-syntactic-fail.stderr
@@ -7,8 +7,9 @@ LL |     const A: isize;
    = note: for more information, visit https://doc.rust-lang.org/std/keyword.extern.html
 help: try using a static value
    |
-LL |     static A: isize;
-   |     ~~~~~~
+LL -     const A: isize;
+LL +     static A: isize;
+   |
 
 error: extern items cannot be `const`
   --> $DIR/foreign-const-syntactic-fail.rs:8:11
@@ -19,8 +20,9 @@ LL |     const B: isize = 42;
    = note: for more information, visit https://doc.rust-lang.org/std/keyword.extern.html
 help: try using a static value
    |
-LL |     static B: isize = 42;
-   |     ~~~~~~
+LL -     const B: isize = 42;
+LL +     static B: isize = 42;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/parser/increment-autofix-2.stderr b/tests/ui/parser/increment-autofix-2.stderr
index 11e985480d6..3fee9672796 100644
--- a/tests/ui/parser/increment-autofix-2.stderr
+++ b/tests/ui/parser/increment-autofix-2.stderr
@@ -6,8 +6,9 @@ LL |     i++;
    |
 help: use `+= 1` instead
    |
-LL |     i += 1;
-   |       ~~~~
+LL -     i++;
+LL +     i += 1;
+   |
 
 error: Rust has no postfix increment operator
   --> $DIR/increment-autofix-2.rs:19:12
@@ -19,8 +20,9 @@ LL |     while i++ < 5 {
    |
 help: use `+= 1` instead
    |
-LL |     while { let tmp = i; i += 1; tmp } < 5 {
-   |           +++++++++++  ~~~~~~~~~~~~~~~
+LL -     while i++ < 5 {
+LL +     while { let tmp = i; i += 1; tmp } < 5 {
+   |
 
 error: Rust has no postfix increment operator
   --> $DIR/increment-autofix-2.rs:27:8
@@ -30,8 +32,9 @@ LL |     tmp++;
    |
 help: use `+= 1` instead
    |
-LL |     tmp += 1;
-   |         ~~~~
+LL -     tmp++;
+LL +     tmp += 1;
+   |
 
 error: Rust has no postfix increment operator
   --> $DIR/increment-autofix-2.rs:33:14
@@ -43,8 +46,9 @@ LL |     while tmp++ < 5 {
    |
 help: use `+= 1` instead
    |
-LL |     while { let tmp_ = tmp; tmp += 1; tmp_ } < 5 {
-   |           ++++++++++++    ~~~~~~~~~~~~~~~~~~
+LL -     while tmp++ < 5 {
+LL +     while { let tmp_ = tmp; tmp += 1; tmp_ } < 5 {
+   |
 
 error: Rust has no postfix increment operator
   --> $DIR/increment-autofix-2.rs:41:16
@@ -54,8 +58,9 @@ LL |     foo.bar.qux++;
    |
 help: use `+= 1` instead
    |
-LL |     foo.bar.qux += 1;
-   |                 ~~~~
+LL -     foo.bar.qux++;
+LL +     foo.bar.qux += 1;
+   |
 
 error: Rust has no postfix increment operator
   --> $DIR/increment-autofix-2.rs:51:10
@@ -65,8 +70,9 @@ LL |     s.tmp++;
    |
 help: use `+= 1` instead
    |
-LL |     s.tmp += 1;
-   |           ~~~~
+LL -     s.tmp++;
+LL +     s.tmp += 1;
+   |
 
 error: Rust has no prefix increment operator
   --> $DIR/increment-autofix-2.rs:58:5
diff --git a/tests/ui/parser/increment-autofix.stderr b/tests/ui/parser/increment-autofix.stderr
index 1dc69fd9f46..ffff91abee9 100644
--- a/tests/ui/parser/increment-autofix.stderr
+++ b/tests/ui/parser/increment-autofix.stderr
@@ -20,8 +20,9 @@ LL |     while ++i < 5 {
    |
 help: use `+= 1` instead
    |
-LL |     while { i += 1; i } < 5 {
-   |           ~   +++++++++
+LL -     while ++i < 5 {
+LL +     while { i += 1; i } < 5 {
+   |
 
 error: Rust has no prefix increment operator
   --> $DIR/increment-autofix.rs:19:5
@@ -45,8 +46,9 @@ LL |     while ++tmp < 5 {
    |
 help: use `+= 1` instead
    |
-LL |     while { tmp += 1; tmp } < 5 {
-   |           ~     +++++++++++
+LL -     while ++tmp < 5 {
+LL +     while { tmp += 1; tmp } < 5 {
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/parser/intersection-patterns-1.stderr b/tests/ui/parser/intersection-patterns-1.stderr
index ed2466b21a7..c191b46fa45 100644
--- a/tests/ui/parser/intersection-patterns-1.stderr
+++ b/tests/ui/parser/intersection-patterns-1.stderr
@@ -9,8 +9,9 @@ LL |         Some(x) @ y => {}
    |
 help: switch the order
    |
-LL |         y @ Some(x) => {}
-   |         ~~~~~~~~~~~
+LL -         Some(x) @ y => {}
+LL +         y @ Some(x) => {}
+   |
 
 error: pattern on wrong side of `@`
   --> $DIR/intersection-patterns-1.rs:27:9
@@ -23,8 +24,9 @@ LL |         1 ..= 5 @ e => {}
    |
 help: switch the order
    |
-LL |         e @ 1..=5 => {}
-   |         ~~~~~~~~~
+LL -         1 ..= 5 @ e => {}
+LL +         e @ 1..=5 => {}
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/parser/issues/issue-100197-mut-let.stderr b/tests/ui/parser/issues/issue-100197-mut-let.stderr
index 252ed7d0715..e43d5f68607 100644
--- a/tests/ui/parser/issues/issue-100197-mut-let.stderr
+++ b/tests/ui/parser/issues/issue-100197-mut-let.stderr
@@ -6,8 +6,9 @@ LL |     mut let _x = 123;
    |
 help: switch the order of `mut` and `let`
    |
-LL |     let mut _x = 123;
-   |     ~~~~~~~
+LL -     mut let _x = 123;
+LL +     let mut _x = 123;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/issues/issue-101477-enum.stderr b/tests/ui/parser/issues/issue-101477-enum.stderr
index 8d4efdd17f7..c6dadeab8b3 100644
--- a/tests/ui/parser/issues/issue-101477-enum.stderr
+++ b/tests/ui/parser/issues/issue-101477-enum.stderr
@@ -7,8 +7,9 @@ LL |     B == 2
    = help: enum variants can be `Variant`, `Variant = <integer>`, `Variant(Type, ..., TypeN)` or `Variant { fields: Types }`
 help: try using `=` instead
    |
-LL |     B = 2
-   |       ~
+LL -     B == 2
+LL +     B = 2
+   |
 
 error: expected item, found `==`
   --> $DIR/issue-101477-enum.rs:6:7
diff --git a/tests/ui/parser/issues/issue-101477-let.stderr b/tests/ui/parser/issues/issue-101477-let.stderr
index d2671abbdea..59e90c8102f 100644
--- a/tests/ui/parser/issues/issue-101477-let.stderr
+++ b/tests/ui/parser/issues/issue-101477-let.stderr
@@ -6,8 +6,9 @@ LL |     let x == 2;
    |
 help: try using `=` instead
    |
-LL |     let x = 2;
-   |           ~
+LL -     let x == 2;
+LL +     let x = 2;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/issues/issue-102806.stderr b/tests/ui/parser/issues/issue-102806.stderr
index ba8174a823b..cd447c6dec0 100644
--- a/tests/ui/parser/issues/issue-102806.stderr
+++ b/tests/ui/parser/issues/issue-102806.stderr
@@ -6,8 +6,9 @@ LL |     let _ = V3 { z: 0.0, ...v};
    |
 help: use `..` to fill in the rest of the fields
    |
-LL |     let _ = V3 { z: 0.0, ..v};
-   |                          ~~
+LL -     let _ = V3 { z: 0.0, ...v};
+LL +     let _ = V3 { z: 0.0, ..v};
+   |
 
 error: expected `..`, found `...`
   --> $DIR/issue-102806.rs:14:26
@@ -17,8 +18,9 @@ LL |     let _ = V3 { z: 0.0, ...Default::default() };
    |
 help: use `..` to fill in the rest of the fields
    |
-LL |     let _ = V3 { z: 0.0, ..Default::default() };
-   |                          ~~
+LL -     let _ = V3 { z: 0.0, ...Default::default() };
+LL +     let _ = V3 { z: 0.0, ..Default::default() };
+   |
 
 error: expected identifier, found `...`
   --> $DIR/issue-102806.rs:17:26
@@ -36,8 +38,9 @@ LL |     let V3 { z: val, ... } = v;
    |
 help: to omit remaining fields, use `..`
    |
-LL |     let V3 { z: val, .. } = v;
-   |                      ~~
+LL -     let V3 { z: val, ... } = v;
+LL +     let V3 { z: val, .. } = v;
+   |
 
 error[E0063]: missing fields `x` and `y` in initializer of `V3`
   --> $DIR/issue-102806.rs:17:13
diff --git a/tests/ui/parser/issues/issue-103748-ICE-wrong-braces.stderr b/tests/ui/parser/issues/issue-103748-ICE-wrong-braces.stderr
index b0d8b03ae08..97a73b4fd5e 100644
--- a/tests/ui/parser/issues/issue-103748-ICE-wrong-braces.stderr
+++ b/tests/ui/parser/issues/issue-103748-ICE-wrong-braces.stderr
@@ -6,8 +6,9 @@ LL | struct Apple((Apple, Option(Banana ? Citron)));
    |
 help: if you meant to express that the type might not contain a value, use the `Option` wrapper type
    |
-LL | struct Apple((Apple, Option(Option<Banana > Citron)));
-   |                             +++++++       ~
+LL - struct Apple((Apple, Option(Banana ? Citron)));
+LL + struct Apple((Apple, Option(Option<Banana > Citron)));
+   |
 
 error: expected one of `)` or `,`, found `Citron`
   --> $DIR/issue-103748-ICE-wrong-braces.rs:3:38
@@ -31,8 +32,9 @@ LL | struct Apple((Apple, Option(Banana ? Citron)));
    |
 help: use angle brackets instead
    |
-LL | struct Apple((Apple, Option<Banana ? Citron>));
-   |                            ~               ~
+LL - struct Apple((Apple, Option(Banana ? Citron)));
+LL + struct Apple((Apple, Option<Banana ? Citron>));
+   |
 
 error[E0072]: recursive type `Apple` has infinite size
   --> $DIR/issue-103748-ICE-wrong-braces.rs:3:1
diff --git a/tests/ui/parser/issues/issue-104867-inc-dec-2.stderr b/tests/ui/parser/issues/issue-104867-inc-dec-2.stderr
index 4e2d0546851..f2412dda050 100644
--- a/tests/ui/parser/issues/issue-104867-inc-dec-2.stderr
+++ b/tests/ui/parser/issues/issue-104867-inc-dec-2.stderr
@@ -6,8 +6,9 @@ LL |     let _ = i + ++i;
    |
 help: use `+= 1` instead
    |
-LL |     let _ = i + { i += 1; i };
-   |                 ~   +++++++++
+LL -     let _ = i + ++i;
+LL +     let _ = i + { i += 1; i };
+   |
 
 error: Rust has no prefix increment operator
   --> $DIR/issue-104867-inc-dec-2.rs:8:13
@@ -17,8 +18,9 @@ LL |     let _ = ++i + i;
    |
 help: use `+= 1` instead
    |
-LL |     let _ = { i += 1; i } + i;
-   |             ~   +++++++++
+LL -     let _ = ++i + i;
+LL +     let _ = { i += 1; i } + i;
+   |
 
 error: Rust has no prefix increment operator
   --> $DIR/issue-104867-inc-dec-2.rs:13:13
@@ -28,8 +30,9 @@ LL |     let _ = ++i + ++i;
    |
 help: use `+= 1` instead
    |
-LL |     let _ = { i += 1; i } + ++i;
-   |             ~   +++++++++
+LL -     let _ = ++i + ++i;
+LL +     let _ = { i += 1; i } + ++i;
+   |
 
 error: Rust has no postfix increment operator
   --> $DIR/issue-104867-inc-dec-2.rs:18:18
@@ -45,8 +48,9 @@ LL |     let _ = i++ + i;
    |
 help: use `+= 1` instead
    |
-LL |     let _ = { let tmp = i; i += 1; tmp } + i;
-   |             +++++++++++  ~~~~~~~~~~~~~~~
+LL -     let _ = i++ + i;
+LL +     let _ = { let tmp = i; i += 1; tmp } + i;
+   |
 
 error: Rust has no postfix increment operator
   --> $DIR/issue-104867-inc-dec-2.rs:29:14
@@ -56,8 +60,9 @@ LL |     let _ = i++ + i++;
    |
 help: use `+= 1` instead
    |
-LL |     let _ = { let tmp = i; i += 1; tmp } + i++;
-   |             +++++++++++  ~~~~~~~~~~~~~~~
+LL -     let _ = i++ + i++;
+LL +     let _ = { let tmp = i; i += 1; tmp } + i++;
+   |
 
 error: Rust has no prefix increment operator
   --> $DIR/issue-104867-inc-dec-2.rs:34:13
@@ -67,8 +72,9 @@ LL |     let _ = ++i + i++;
    |
 help: use `+= 1` instead
    |
-LL |     let _ = { i += 1; i } + i++;
-   |             ~   +++++++++
+LL -     let _ = ++i + i++;
+LL +     let _ = { i += 1; i } + i++;
+   |
 
 error: Rust has no postfix increment operator
   --> $DIR/issue-104867-inc-dec-2.rs:39:14
@@ -78,8 +84,9 @@ LL |     let _ = i++ + ++i;
    |
 help: use `+= 1` instead
    |
-LL |     let _ = { let tmp = i; i += 1; tmp } + ++i;
-   |             +++++++++++  ~~~~~~~~~~~~~~~
+LL -     let _ = i++ + ++i;
+LL +     let _ = { let tmp = i; i += 1; tmp } + ++i;
+   |
 
 error: Rust has no postfix increment operator
   --> $DIR/issue-104867-inc-dec-2.rs:44:24
@@ -89,8 +96,9 @@ LL |     let _ = (1 + 2 + i)++;
    |
 help: use `+= 1` instead
    |
-LL |     let _ = { let tmp = (1 + 2 + i); (1 + 2 + i) += 1; tmp };
-   |             +++++++++++            ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = (1 + 2 + i)++;
+LL +     let _ = { let tmp = (1 + 2 + i); (1 + 2 + i) += 1; tmp };
+   |
 
 error: Rust has no postfix increment operator
   --> $DIR/issue-104867-inc-dec-2.rs:49:15
@@ -100,8 +108,9 @@ LL |     let _ = (i++ + 1) + 2;
    |
 help: use `+= 1` instead
    |
-LL |     let _ = ({ let tmp = i; i += 1; tmp } + 1) + 2;
-   |              +++++++++++  ~~~~~~~~~~~~~~~
+LL -     let _ = (i++ + 1) + 2;
+LL +     let _ = ({ let tmp = i; i += 1; tmp } + 1) + 2;
+   |
 
 error: aborting due to 10 previous errors
 
diff --git a/tests/ui/parser/issues/issue-104867-inc-dec.stderr b/tests/ui/parser/issues/issue-104867-inc-dec.stderr
index 78bfd3e82f0..309f8b56933 100644
--- a/tests/ui/parser/issues/issue-104867-inc-dec.stderr
+++ b/tests/ui/parser/issues/issue-104867-inc-dec.stderr
@@ -6,8 +6,9 @@ LL |     i++;
    |
 help: use `+= 1` instead
    |
-LL |     i += 1;
-   |       ~~~~
+LL -     i++;
+LL +     i += 1;
+   |
 
 error: Rust has no postfix increment operator
   --> $DIR/issue-104867-inc-dec.rs:12:8
@@ -17,8 +18,9 @@ LL |     s.x++;
    |
 help: use `+= 1` instead
    |
-LL |     s.x += 1;
-   |         ~~~~
+LL -     s.x++;
+LL +     s.x += 1;
+   |
 
 error: Rust has no postfix increment operator
   --> $DIR/issue-104867-inc-dec.rs:17:9
@@ -28,8 +30,9 @@ LL |     if i++ == 1 {}
    |
 help: use `+= 1` instead
    |
-LL |     if { let tmp = i; i += 1; tmp } == 1 {}
-   |        +++++++++++  ~~~~~~~~~~~~~~~
+LL -     if i++ == 1 {}
+LL +     if { let tmp = i; i += 1; tmp } == 1 {}
+   |
 
 error: Rust has no prefix increment operator
   --> $DIR/issue-104867-inc-dec.rs:22:5
@@ -51,8 +54,9 @@ LL |     if ++i == 1 { }
    |
 help: use `+= 1` instead
    |
-LL |     if { i += 1; i } == 1 { }
-   |        ~   +++++++++
+LL -     if ++i == 1 { }
+LL +     if { i += 1; i } == 1 { }
+   |
 
 error: Rust has no postfix increment operator
   --> $DIR/issue-104867-inc-dec.rs:33:6
@@ -62,8 +66,9 @@ LL |     i++;
    |
 help: use `+= 1` instead
    |
-LL |     i += 1;
-   |       ~~~~
+LL -     i++;
+LL +     i += 1;
+   |
 
 error: Rust has no prefix increment operator
   --> $DIR/issue-104867-inc-dec.rs:41:5
diff --git a/tests/ui/parser/issues/issue-105366.stderr b/tests/ui/parser/issues/issue-105366.stderr
index 18c04dfaf20..d8c79a0e0ea 100644
--- a/tests/ui/parser/issues/issue-105366.stderr
+++ b/tests/ui/parser/issues/issue-105366.stderr
@@ -6,8 +6,9 @@ LL | fn From<i32> for Foo {
    |
 help: replace `fn` with `impl` here
    |
-LL | impl From<i32> for Foo {
-   | ~~~~
+LL - fn From<i32> for Foo {
+LL + impl From<i32> for Foo {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/issues/issue-108495-dec.stderr b/tests/ui/parser/issues/issue-108495-dec.stderr
index 85b29038f7c..b058dae4a6f 100644
--- a/tests/ui/parser/issues/issue-108495-dec.stderr
+++ b/tests/ui/parser/issues/issue-108495-dec.stderr
@@ -12,8 +12,9 @@ LL |     let _ = i-- + i--;
    |
 help: use `-= 1` instead
    |
-LL |     let _ = { let tmp = i; i -= 1; tmp } + i--;
-   |             +++++++++++  ~~~~~~~~~~~~~~~
+LL -     let _ = i-- + i--;
+LL +     let _ = { let tmp = i; i -= 1; tmp } + i--;
+   |
 
 error: Rust has no postfix decrement operator
   --> $DIR/issue-108495-dec.rs:14:20
@@ -29,8 +30,9 @@ LL |     let _ = i-- + --i;
    |
 help: use `-= 1` instead
    |
-LL |     let _ = { let tmp = i; i -= 1; tmp } + --i;
-   |             +++++++++++  ~~~~~~~~~~~~~~~
+LL -     let _ = i-- + --i;
+LL +     let _ = { let tmp = i; i -= 1; tmp } + --i;
+   |
 
 error: Rust has no postfix decrement operator
   --> $DIR/issue-108495-dec.rs:24:24
@@ -40,8 +42,9 @@ LL |     let _ = (1 + 2 + i)--;
    |
 help: use `-= 1` instead
    |
-LL |     let _ = { let tmp = (1 + 2 + i); (1 + 2 + i) -= 1; tmp };
-   |             +++++++++++            ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = (1 + 2 + i)--;
+LL +     let _ = { let tmp = (1 + 2 + i); (1 + 2 + i) -= 1; tmp };
+   |
 
 error: Rust has no postfix decrement operator
   --> $DIR/issue-108495-dec.rs:29:15
@@ -51,8 +54,9 @@ LL |     let _ = (i-- + 1) + 2;
    |
 help: use `-= 1` instead
    |
-LL |     let _ = ({ let tmp = i; i -= 1; tmp } + 1) + 2;
-   |              +++++++++++  ~~~~~~~~~~~~~~~
+LL -     let _ = (i-- + 1) + 2;
+LL +     let _ = ({ let tmp = i; i -= 1; tmp } + 1) + 2;
+   |
 
 error: Rust has no postfix decrement operator
   --> $DIR/issue-108495-dec.rs:35:10
@@ -62,8 +66,9 @@ LL |         i--;
    |
 help: use `-= 1` instead
    |
-LL |         i -= 1;
-   |           ~~~~
+LL -         i--;
+LL +         i -= 1;
+   |
 
 error: aborting due to 7 previous errors
 
diff --git a/tests/ui/parser/issues/issue-110014.stderr b/tests/ui/parser/issues/issue-110014.stderr
index 7f1dd592e12..57420bb3496 100644
--- a/tests/ui/parser/issues/issue-110014.stderr
+++ b/tests/ui/parser/issues/issue-110014.stderr
@@ -6,8 +6,9 @@ LL | fn`2222222222222222222222222222222222222222() {}
    |
 help: Unicode character '`' (Grave Accent) looks like ''' (Single Quote), but it is not
    |
-LL | fn'2222222222222222222222222222222222222222() {}
-   |   ~
+LL - fn`2222222222222222222222222222222222222222() {}
+LL + fn'2222222222222222222222222222222222222222() {}
+   |
 
 error: expected identifier, found `2222222222222222222222222222222222222222`
   --> $DIR/issue-110014.rs:1:4
diff --git a/tests/ui/parser/issues/issue-111416.stderr b/tests/ui/parser/issues/issue-111416.stderr
index 36f6c5b018f..50ff209afff 100644
--- a/tests/ui/parser/issues/issue-111416.stderr
+++ b/tests/ui/parser/issues/issue-111416.stderr
@@ -6,8 +6,9 @@ LL |     let my = monad_bind(mx, T: Try);
    |
 help: if `monad_bind` is a struct, use braces as delimiters
    |
-LL |     let my = monad_bind { mx, T: Try };
-   |                         ~            ~
+LL -     let my = monad_bind(mx, T: Try);
+LL +     let my = monad_bind { mx, T: Try };
+   |
 help: if `monad_bind` is a function, use the arguments directly
    |
 LL -     let my = monad_bind(mx, T: Try);
diff --git a/tests/ui/parser/issues/issue-118530-ice.stderr b/tests/ui/parser/issues/issue-118530-ice.stderr
index 3519fb8777f..72c0397e9c9 100644
--- a/tests/ui/parser/issues/issue-118530-ice.stderr
+++ b/tests/ui/parser/issues/issue-118530-ice.stderr
@@ -42,8 +42,9 @@ LL |     attr::fn bar() -> String {
    = help: the `.` operator will dereference the value if needed
 help: try using `.` instead
    |
-LL |     attr::fn bar() . String {
-   |                    ~
+LL -     attr::fn bar() -> String {
+LL +     attr::fn bar() . String {
+   |
 
 error: expected one of `(`, `.`, `::`, `;`, `?`, `}`, or an operator, found `{`
   --> $DIR/issue-118530-ice.rs:5:30
diff --git a/tests/ui/parser/issues/issue-17718-const-mut.stderr b/tests/ui/parser/issues/issue-17718-const-mut.stderr
index 54b819c3cfb..16eb773e7f6 100644
--- a/tests/ui/parser/issues/issue-17718-const-mut.stderr
+++ b/tests/ui/parser/issues/issue-17718-const-mut.stderr
@@ -6,7 +6,8 @@ LL | mut
    |
 help: you might want to declare a static instead
    |
-LL | static
+LL - const
+LL + static
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/parser/issues/issue-23620-invalid-escapes.stderr b/tests/ui/parser/issues/issue-23620-invalid-escapes.stderr
index 4a3743579e7..0cedc178001 100644
--- a/tests/ui/parser/issues/issue-23620-invalid-escapes.stderr
+++ b/tests/ui/parser/issues/issue-23620-invalid-escapes.stderr
@@ -90,8 +90,9 @@ LL |     let _ = "\u8f";
    |
 help: format of unicode escape sequences uses braces
    |
-LL |     let _ = "\u{8f}";
-   |              ~~~~~~
+LL -     let _ = "\u8f";
+LL +     let _ = "\u{8f}";
+   |
 
 error: aborting due to 13 previous errors
 
diff --git a/tests/ui/parser/issues/issue-24375.stderr b/tests/ui/parser/issues/issue-24375.stderr
index 03cd33f1875..2af57a52035 100644
--- a/tests/ui/parser/issues/issue-24375.stderr
+++ b/tests/ui/parser/issues/issue-24375.stderr
@@ -7,8 +7,9 @@ LL |         tmp[0] => {}
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == tmp[0] => {}
-   |         ~~~ ++++++++++++++++
+LL -         tmp[0] => {}
+LL +         val if val == tmp[0] => {}
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = tmp[0];
diff --git a/tests/ui/parser/issues/issue-30318.stderr b/tests/ui/parser/issues/issue-30318.stderr
index 56bc200db1d..cd03bd5fecc 100644
--- a/tests/ui/parser/issues/issue-30318.stderr
+++ b/tests/ui/parser/issues/issue-30318.stderr
@@ -9,8 +9,9 @@ LL | fn bar() { }
    |
 help: to annotate the function, change the doc comment from inner to outer style
    |
-LL | /// Misplaced comment...
-   |   ~
+LL - //! Misplaced comment...
+LL + /// Misplaced comment...
+   |
 
 error: an inner attribute is not permitted in this context
   --> $DIR/issue-30318.rs:9:1
@@ -38,8 +39,9 @@ LL | fn bat() { }
    |
 help: to annotate the function, change the doc comment from inner to outer style
    |
-LL | /** Misplaced comment... */
-   |   ~
+LL - /*! Misplaced comment... */
+LL + /** Misplaced comment... */
+   |
 
 error[E0753]: expected outer doc comment
   --> $DIR/issue-30318.rs:19:1
diff --git a/tests/ui/parser/issues/issue-32214.stderr b/tests/ui/parser/issues/issue-32214.stderr
index 2ef4305dfd0..5ccd651bb96 100644
--- a/tests/ui/parser/issues/issue-32214.stderr
+++ b/tests/ui/parser/issues/issue-32214.stderr
@@ -8,8 +8,9 @@ LL | pub fn test<W, I: Trait<Item=(), W> >() {}
    |
 help: move the constraint after the generic argument
    |
-LL | pub fn test<W, I: Trait<W, Item = ()> >() {}
-   |                        ~~~~~~~~~~~~~~
+LL - pub fn test<W, I: Trait<Item=(), W> >() {}
+LL + pub fn test<W, I: Trait<W, Item = ()> >() {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/issues/issue-34255-1.stderr b/tests/ui/parser/issues/issue-34255-1.stderr
index 1e72f040b03..cd2baaee408 100644
--- a/tests/ui/parser/issues/issue-34255-1.stderr
+++ b/tests/ui/parser/issues/issue-34255-1.stderr
@@ -6,8 +6,9 @@ LL |     Test::Drill(field: 42);
    |
 help: if `Test::Drill` is a struct, use braces as delimiters
    |
-LL |     Test::Drill { field: 42 };
-   |                 ~           ~
+LL -     Test::Drill(field: 42);
+LL +     Test::Drill { field: 42 };
+   |
 help: if `Test::Drill` is a function, use the arguments directly
    |
 LL -     Test::Drill(field: 42);
diff --git a/tests/ui/parser/issues/issue-44406.stderr b/tests/ui/parser/issues/issue-44406.stderr
index 78cde9b6dca..b2367ce15ea 100644
--- a/tests/ui/parser/issues/issue-44406.stderr
+++ b/tests/ui/parser/issues/issue-44406.stderr
@@ -10,8 +10,9 @@ LL |     foo!(true);
    = note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: if `bar` is a struct, use braces as delimiters
    |
-LL |         bar { baz: $rest }
-   |             ~            ~
+LL -         bar(baz: $rest)
+LL +         bar { baz: $rest }
+   |
 help: if `bar` is a function, use the arguments directly
    |
 LL -         bar(baz: $rest)
diff --git a/tests/ui/parser/issues/issue-57684.stderr b/tests/ui/parser/issues/issue-57684.stderr
index 39e1c8cd7cc..5fc55efff0a 100644
--- a/tests/ui/parser/issues/issue-57684.stderr
+++ b/tests/ui/parser/issues/issue-57684.stderr
@@ -6,8 +6,9 @@ LL |     let _ = X { f1 = 5 };
    |
 help: replace equals symbol with a colon
    |
-LL |     let _ = X { f1: 5 };
-   |                   ~
+LL -     let _ = X { f1 = 5 };
+LL +     let _ = X { f1: 5 };
+   |
 
 error: expected `:`, found `=`
   --> $DIR/issue-57684.rs:32:12
@@ -17,8 +18,9 @@ LL |         f1 = 5,
    |
 help: replace equals symbol with a colon
    |
-LL |         f1: 5,
-   |           ~
+LL -         f1 = 5,
+LL +         f1: 5,
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/parser/issues/issue-64732.stderr b/tests/ui/parser/issues/issue-64732.stderr
index 7ec2df6d3bf..d9f8091d2df 100644
--- a/tests/ui/parser/issues/issue-64732.stderr
+++ b/tests/ui/parser/issues/issue-64732.stderr
@@ -6,8 +6,9 @@ LL |     let _foo = b'hello\0';
    |
 help: if you meant to write a byte string literal, use double quotes
    |
-LL |     let _foo = b"hello\0";
-   |                ~~       ~
+LL -     let _foo = b'hello\0';
+LL +     let _foo = b"hello\0";
+   |
 
 error: character literal may only contain one codepoint
   --> $DIR/issue-64732.rs:6:16
@@ -17,8 +18,9 @@ LL |     let _bar = 'hello';
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     let _bar = "hello";
-   |                ~     ~
+LL -     let _bar = 'hello';
+LL +     let _bar = "hello";
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/parser/issues/issue-65257-invalid-var-decl-recovery.stderr b/tests/ui/parser/issues/issue-65257-invalid-var-decl-recovery.stderr
index 49d091cf391..767f63d6958 100644
--- a/tests/ui/parser/issues/issue-65257-invalid-var-decl-recovery.stderr
+++ b/tests/ui/parser/issues/issue-65257-invalid-var-decl-recovery.stderr
@@ -6,8 +6,9 @@ LL |     auto n = 0;
    |
 help: write `let` instead of `auto` to introduce a new variable
    |
-LL |     let n = 0;
-   |     ~~~
+LL -     auto n = 0;
+LL +     let n = 0;
+   |
 
 error: invalid variable declaration
   --> $DIR/issue-65257-invalid-var-decl-recovery.rs:4:5
@@ -17,8 +18,9 @@ LL |     auto m;
    |
 help: write `let` instead of `auto` to introduce a new variable
    |
-LL |     let m;
-   |     ~~~
+LL -     auto m;
+LL +     let m;
+   |
 
 error: invalid variable declaration
   --> $DIR/issue-65257-invalid-var-decl-recovery.rs:8:5
@@ -28,8 +30,9 @@ LL |     var n = 0;
    |
 help: write `let` instead of `var` to introduce a new variable
    |
-LL |     let n = 0;
-   |     ~~~
+LL -     var n = 0;
+LL +     let n = 0;
+   |
 
 error: invalid variable declaration
   --> $DIR/issue-65257-invalid-var-decl-recovery.rs:10:5
@@ -39,8 +42,9 @@ LL |     var m;
    |
 help: write `let` instead of `var` to introduce a new variable
    |
-LL |     let m;
-   |     ~~~
+LL -     var m;
+LL +     let m;
+   |
 
 error: invalid variable declaration
   --> $DIR/issue-65257-invalid-var-decl-recovery.rs:14:5
@@ -50,8 +54,9 @@ LL |     mut n = 0;
    |
 help: missing keyword
    |
-LL |     let mut n = 0;
-   |     ~~~~~~~
+LL -     mut n = 0;
+LL +     let mut n = 0;
+   |
 
 error: invalid variable declaration
   --> $DIR/issue-65257-invalid-var-decl-recovery.rs:16:5
@@ -61,8 +66,9 @@ LL |     mut var;
    |
 help: missing keyword
    |
-LL |     let mut var;
-   |     ~~~~~~~
+LL -     mut var;
+LL +     let mut var;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/issue-65257-invalid-var-decl-recovery.rs:20:33
diff --git a/tests/ui/parser/issues/issue-68730.stderr b/tests/ui/parser/issues/issue-68730.stderr
index 9bd98287db3..838a6569bdc 100644
--- a/tests/ui/parser/issues/issue-68730.stderr
+++ b/tests/ui/parser/issues/issue-68730.stderr
@@ -23,8 +23,9 @@ LL | enum␀em␀˂˂
    = note: character appears once more
 help: Unicode character '˂' (Modifier Letter Left Arrowhead) looks like '<' (Less-Than Sign), but it is not
    |
-LL | enum␀em␀<<
-   |         ~~
+LL - enum␀em␀˂˂
+LL + enum␀em␀<<
+   |
 
 error: unknown start of token: \u{2c2}
   --> $DIR/issue-68730.rs:5:10
@@ -34,8 +35,9 @@ LL | enum␀em␀˂˂
    |
 help: Unicode character '˂' (Modifier Letter Left Arrowhead) looks like '<' (Less-Than Sign), but it is not
    |
-LL | enum␀em␀˂<
-   |          ~
+LL - enum␀em␀˂˂
+LL + enum␀em␀˂<
+   |
 
 error: expected one of `#`, `>`, `const`, identifier, or lifetime, found `<`
   --> $DIR/issue-68730.rs:5:10
diff --git a/tests/ui/parser/issues/issue-70549-resolve-after-recovered-self-ctor.stderr b/tests/ui/parser/issues/issue-70549-resolve-after-recovered-self-ctor.stderr
index c2c0faa21d1..9c632a8332a 100644
--- a/tests/ui/parser/issues/issue-70549-resolve-after-recovered-self-ctor.stderr
+++ b/tests/ui/parser/issues/issue-70549-resolve-after-recovered-self-ctor.stderr
@@ -12,8 +12,9 @@ LL |     fn foo(&mur Self) {}
    |
 help: there is a keyword `mut` with a similar name
    |
-LL |     fn foo(&mut Self) {}
-   |             ~~~
+LL -     fn foo(&mur Self) {}
+LL +     fn foo(&mut Self) {}
+   |
 
 error: unexpected lifetime `'static` in pattern
   --> $DIR/issue-70549-resolve-after-recovered-self-ctor.rs:8:13
@@ -41,8 +42,9 @@ LL |     fn bar(&'static mur Self) {}
    |
 help: there is a keyword `mut` with a similar name
    |
-LL |     fn bar(&'static mut Self) {}
-   |                     ~~~
+LL -     fn bar(&'static mur Self) {}
+LL +     fn bar(&'static mut Self) {}
+   |
 
 error: expected one of `:`, `@`, or `|`, found keyword `Self`
   --> $DIR/issue-70549-resolve-after-recovered-self-ctor.rs:14:17
@@ -52,8 +54,9 @@ LL |     fn baz(&mur Self @ _) {}
    |
 help: there is a keyword `mut` with a similar name
    |
-LL |     fn baz(&mut Self @ _) {}
-   |             ~~~
+LL -     fn baz(&mur Self @ _) {}
+LL +     fn baz(&mut Self @ _) {}
+   |
 
 error[E0533]: expected unit struct, found self constructor `Self`
   --> $DIR/issue-70549-resolve-after-recovered-self-ctor.rs:4:17
diff --git a/tests/ui/parser/issues/issue-73568-lifetime-after-mut.stderr b/tests/ui/parser/issues/issue-73568-lifetime-after-mut.stderr
index 2f8728bd78b..6b8f8e4fe4e 100644
--- a/tests/ui/parser/issues/issue-73568-lifetime-after-mut.stderr
+++ b/tests/ui/parser/issues/issue-73568-lifetime-after-mut.stderr
@@ -6,8 +6,9 @@ LL | fn x<'a>(x: &mut 'a i32){}
    |
 help: place the lifetime before `mut`
    |
-LL | fn x<'a>(x: &'a mut i32){}
-   |             ~~~~~~~
+LL - fn x<'a>(x: &mut 'a i32){}
+LL + fn x<'a>(x: &'a mut i32){}
+   |
 
 error[E0178]: expected a path on the left-hand side of `+`, not `&mut 'a`
   --> $DIR/issue-73568-lifetime-after-mut.rs:14:13
@@ -32,8 +33,9 @@ LL | mac!('a);
    = note: this error originates in the macro `mac` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: place the lifetime before `mut`
    |
-LL |         fn w<$lt>(w: &$lt mut i32) {}
-   |                      ~~~~~~~~
+LL -         fn w<$lt>(w: &mut $lt i32) {}
+LL +         fn w<$lt>(w: &$lt mut i32) {}
+   |
 
 error[E0423]: expected value, found trait `Send`
   --> $DIR/issue-73568-lifetime-after-mut.rs:17:28
diff --git a/tests/ui/parser/issues/issue-84117.stderr b/tests/ui/parser/issues/issue-84117.stderr
index 9f603b84434..e358bc4a2fb 100644
--- a/tests/ui/parser/issues/issue-84117.stderr
+++ b/tests/ui/parser/issues/issue-84117.stderr
@@ -12,8 +12,9 @@ LL |     let outer_local:e_outer<&str, { let inner_local:e_inner<&str>, }
    |                                                                 +
 help: use `=` if you meant to assign
    |
-LL |     let outer_local:e_outer<&str, { let inner_local =e_inner<&str, }
-   |                                                     ~
+LL -     let outer_local:e_outer<&str, { let inner_local:e_inner<&str, }
+LL +     let outer_local:e_outer<&str, { let inner_local =e_inner<&str, }
+   |
 
 error: expected one of `!`, `.`, `::`, `;`, `?`, `else`, `{`, or an operator, found `,`
   --> $DIR/issue-84117.rs:2:65
@@ -36,8 +37,9 @@ LL |     let outer_local:e_outer<&str, { let inner_local:e_inner<&str, }>
    |                                                                    +
 help: use `=` if you meant to assign
    |
-LL |     let outer_local =e_outer<&str, { let inner_local:e_inner<&str, }
-   |                     ~
+LL -     let outer_local:e_outer<&str, { let inner_local:e_inner<&str, }
+LL +     let outer_local =e_outer<&str, { let inner_local:e_inner<&str, }
+   |
 
 error: expected one of `>`, a const expression, lifetime, or type, found `}`
   --> $DIR/issue-84117.rs:2:67
@@ -54,8 +56,9 @@ LL |     let outer_local:e_outer<&str, { let inner_local:e_inner<&str>, }
    |                                                                 +
 help: use `=` if you meant to assign
    |
-LL |     let outer_local:e_outer<&str, { let inner_local =e_inner<&str, }
-   |                                                     ~
+LL -     let outer_local:e_outer<&str, { let inner_local:e_inner<&str, }
+LL +     let outer_local:e_outer<&str, { let inner_local =e_inner<&str, }
+   |
 
 error: expected one of `!`, `.`, `::`, `;`, `?`, `else`, `{`, or an operator, found `,`
   --> $DIR/issue-84117.rs:2:65
diff --git a/tests/ui/parser/issues/issue-84148-1.stderr b/tests/ui/parser/issues/issue-84148-1.stderr
index 9261067c221..ebe9807dfe3 100644
--- a/tests/ui/parser/issues/issue-84148-1.stderr
+++ b/tests/ui/parser/issues/issue-84148-1.stderr
@@ -6,8 +6,9 @@ LL | fn f(t:for<>t?)
    |
 help: if you meant to express that the type might not contain a value, use the `Option` wrapper type
    |
-LL | fn f(t:Option<for<>t>)
-   |        +++++++      ~
+LL - fn f(t:for<>t?)
+LL + fn f(t:Option<for<>t>)
+   |
 
 error: expected one of `->`, `where`, or `{`, found `<eof>`
   --> $DIR/issue-84148-1.rs:1:15
diff --git a/tests/ui/parser/issues/issue-87086-colon-path-sep.stderr b/tests/ui/parser/issues/issue-87086-colon-path-sep.stderr
index b6e24faf5da..fa848368945 100644
--- a/tests/ui/parser/issues/issue-87086-colon-path-sep.stderr
+++ b/tests/ui/parser/issues/issue-87086-colon-path-sep.stderr
@@ -8,8 +8,9 @@ LL |         Foo:Bar => {}
    |
 help: maybe write a path separator here
    |
-LL |         Foo::Bar => {}
-   |            ~~
+LL -         Foo:Bar => {}
+LL +         Foo::Bar => {}
+   |
 
 error: expected one of `!`, `(`, `...`, `..=`, `..`, `::`, `{`, or `|`, found `:`
   --> $DIR/issue-87086-colon-path-sep.rs:23:17
@@ -21,8 +22,9 @@ LL |         qux::Foo:Bar => {}
    |
 help: maybe write a path separator here
    |
-LL |         qux::Foo::Bar => {}
-   |                 ~~
+LL -         qux::Foo:Bar => {}
+LL +         qux::Foo::Bar => {}
+   |
 
 error: expected one of `@` or `|`, found `:`
   --> $DIR/issue-87086-colon-path-sep.rs:29:12
@@ -34,8 +36,9 @@ LL |         qux:Foo::Baz => {}
    |
 help: maybe write a path separator here
    |
-LL |         qux::Foo::Baz => {}
-   |            ~~
+LL -         qux:Foo::Baz => {}
+LL +         qux::Foo::Baz => {}
+   |
 
 error: expected one of `@` or `|`, found `:`
   --> $DIR/issue-87086-colon-path-sep.rs:35:12
@@ -47,8 +50,9 @@ LL |         qux: Foo::Baz if true => {}
    |
 help: maybe write a path separator here
    |
-LL |         qux::Foo::Baz if true => {}
-   |            ~~
+LL -         qux: Foo::Baz if true => {}
+LL +         qux::Foo::Baz if true => {}
+   |
 
 error: expected one of `@` or `|`, found `:`
   --> $DIR/issue-87086-colon-path-sep.rs:40:15
@@ -60,8 +64,9 @@ LL |     if let Foo:Bar = f() {
    |
 help: maybe write a path separator here
    |
-LL |     if let Foo::Bar = f() {
-   |               ~~
+LL -     if let Foo:Bar = f() {
+LL +     if let Foo::Bar = f() {
+   |
 
 error: expected one of `@` or `|`, found `:`
   --> $DIR/issue-87086-colon-path-sep.rs:49:16
@@ -73,8 +78,9 @@ LL |         ref qux: Foo::Baz => {}
    |
 help: maybe write a path separator here
    |
-LL |         ref qux::Foo::Baz => {}
-   |                ~~
+LL -         ref qux: Foo::Baz => {}
+LL +         ref qux::Foo::Baz => {}
+   |
 
 error: expected one of `@` or `|`, found `:`
   --> $DIR/issue-87086-colon-path-sep.rs:58:16
@@ -86,8 +92,9 @@ LL |         mut qux: Foo::Baz => {}
    |
 help: maybe write a path separator here
    |
-LL |         mut qux::Foo::Baz => {}
-   |                ~~
+LL -         mut qux: Foo::Baz => {}
+LL +         mut qux::Foo::Baz => {}
+   |
 
 error: expected one of `@` or `|`, found `:`
   --> $DIR/issue-87086-colon-path-sep.rs:69:12
@@ -99,8 +106,9 @@ LL |         Foo:Bar::Baz => {}
    |
 help: maybe write a path separator here
    |
-LL |         Foo::Bar::Baz => {}
-   |            ~~
+LL -         Foo:Bar::Baz => {}
+LL +         Foo::Bar::Baz => {}
+   |
 
 error: expected one of `@` or `|`, found `:`
   --> $DIR/issue-87086-colon-path-sep.rs:75:12
@@ -112,8 +120,9 @@ LL |         Foo:Bar => {}
    |
 help: maybe write a path separator here
    |
-LL |         Foo::Bar => {}
-   |            ~~
+LL -         Foo:Bar => {}
+LL +         Foo::Bar => {}
+   |
 
 warning: irrefutable `if let` pattern
   --> $DIR/issue-87086-colon-path-sep.rs:40:8
diff --git a/tests/ui/parser/issues/issue-90993.stderr b/tests/ui/parser/issues/issue-90993.stderr
index a18e93f1f1a..e9ecc59ec49 100644
--- a/tests/ui/parser/issues/issue-90993.stderr
+++ b/tests/ui/parser/issues/issue-90993.stderr
@@ -6,12 +6,14 @@ LL |     ...=.
    |
 help: use `..` for an exclusive range
    |
-LL |     ..=.
-   |     ~~
+LL -     ...=.
+LL +     ..=.
+   |
 help: or `..=` for an inclusive range
    |
-LL |     ..==.
-   |     ~~~
+LL -     ...=.
+LL +     ..==.
+   |
 
 error: unexpected `=` after inclusive range
   --> $DIR/issue-90993.rs:2:5
@@ -22,8 +24,9 @@ LL |     ...=.
    = note: inclusive ranges end with a single equals sign (`..=`)
 help: use `..=` instead
    |
-LL |     ..=.
-   |     ~~~
+LL -     ...=.
+LL +     ..=.
+   |
 
 error: expected one of `-`, `;`, `}`, or path, found `.`
   --> $DIR/issue-90993.rs:2:9
diff --git a/tests/ui/parser/issues/issue-99625-enum-struct-mutually-exclusive.stderr b/tests/ui/parser/issues/issue-99625-enum-struct-mutually-exclusive.stderr
index c98b8fa1f1e..a4e0efcaeb0 100644
--- a/tests/ui/parser/issues/issue-99625-enum-struct-mutually-exclusive.stderr
+++ b/tests/ui/parser/issues/issue-99625-enum-struct-mutually-exclusive.stderr
@@ -6,8 +6,9 @@ LL | pub enum struct Range {
    |
 help: replace `enum struct` with
    |
-LL | pub enum Range {
-   |     ~~~~
+LL - pub enum struct Range {
+LL + pub enum Range {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/issues/issue-99910-const-let-mutually-exclusive.stderr b/tests/ui/parser/issues/issue-99910-const-let-mutually-exclusive.stderr
index 1ccf44a350d..73043de5290 100644
--- a/tests/ui/parser/issues/issue-99910-const-let-mutually-exclusive.stderr
+++ b/tests/ui/parser/issues/issue-99910-const-let-mutually-exclusive.stderr
@@ -6,8 +6,9 @@ LL |     const let _FOO: i32 = 123;
    |
 help: remove `let`
    |
-LL |     const _FOO: i32 = 123;
-   |     ~~~~~
+LL -     const let _FOO: i32 = 123;
+LL +     const _FOO: i32 = 123;
+   |
 
 error: `const` and `let` are mutually exclusive
   --> $DIR/issue-99910-const-let-mutually-exclusive.rs:6:5
@@ -17,8 +18,9 @@ LL |     let const _BAR: i32 = 123;
    |
 help: remove `let`
    |
-LL |     const _BAR: i32 = 123;
-   |     ~~~~~
+LL -     let const _BAR: i32 = 123;
+LL +     const _BAR: i32 = 123;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/parser/issues/recover-ge-as-fat-arrow.stderr b/tests/ui/parser/issues/recover-ge-as-fat-arrow.stderr
index 2df5cca24f0..997d080f1de 100644
--- a/tests/ui/parser/issues/recover-ge-as-fat-arrow.stderr
+++ b/tests/ui/parser/issues/recover-ge-as-fat-arrow.stderr
@@ -17,8 +17,9 @@ LL |         _ => { let _: u16 = 2u8; }
    |
 help: change the type of the numeric literal from `u8` to `u16`
    |
-LL |         _ => { let _: u16 = 2u16; }
-   |                              ~~~
+LL -         _ => { let _: u16 = 2u8; }
+LL +         _ => { let _: u16 = 2u16; }
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/parser/item-kw-case-mismatch.stderr b/tests/ui/parser/item-kw-case-mismatch.stderr
index 36df72b5cad..df39eb10fdb 100644
--- a/tests/ui/parser/item-kw-case-mismatch.stderr
+++ b/tests/ui/parser/item-kw-case-mismatch.stderr
@@ -6,8 +6,9 @@ LL | Use std::ptr::read;
    |
 help: write it in the correct case (notice the capitalization difference)
    |
-LL | use std::ptr::read;
-   | ~~~
+LL - Use std::ptr::read;
+LL + use std::ptr::read;
+   |
 
 error: keyword `use` is written in the wrong case
   --> $DIR/item-kw-case-mismatch.rs:8:1
@@ -17,8 +18,9 @@ LL | USE std::ptr::write;
    |
 help: write it in the correct case
    |
-LL | use std::ptr::write;
-   | ~~~
+LL - USE std::ptr::write;
+LL + use std::ptr::write;
+   |
 
 error: keyword `fn` is written in the wrong case
   --> $DIR/item-kw-case-mismatch.rs:10:7
@@ -28,8 +30,9 @@ LL | async Fn _a() {}
    |
 help: write it in the correct case (notice the capitalization difference)
    |
-LL | async fn _a() {}
-   |       ~~
+LL - async Fn _a() {}
+LL + async fn _a() {}
+   |
 
 error: keyword `fn` is written in the wrong case
   --> $DIR/item-kw-case-mismatch.rs:13:1
@@ -39,8 +42,9 @@ LL | Fn _b() {}
    |
 help: write it in the correct case (notice the capitalization difference)
    |
-LL | fn _b() {}
-   | ~~
+LL - Fn _b() {}
+LL + fn _b() {}
+   |
 
 error: keyword `async` is written in the wrong case
   --> $DIR/item-kw-case-mismatch.rs:16:1
@@ -50,8 +54,9 @@ LL | aSYNC fN _c() {}
    |
 help: write it in the correct case
    |
-LL | async fN _c() {}
-   | ~~~~~
+LL - aSYNC fN _c() {}
+LL + async fN _c() {}
+   |
 
 error: keyword `fn` is written in the wrong case
   --> $DIR/item-kw-case-mismatch.rs:16:7
@@ -61,8 +66,9 @@ LL | aSYNC fN _c() {}
    |
 help: write it in the correct case
    |
-LL | aSYNC fn _c() {}
-   |       ~~
+LL - aSYNC fN _c() {}
+LL + aSYNC fn _c() {}
+   |
 
 error: keyword `async` is written in the wrong case
   --> $DIR/item-kw-case-mismatch.rs:20:1
@@ -72,8 +78,9 @@ LL | Async fn _d() {}
    |
 help: write it in the correct case
    |
-LL | async fn _d() {}
-   | ~~~~~
+LL - Async fn _d() {}
+LL + async fn _d() {}
+   |
 
 error: keyword `const` is written in the wrong case
   --> $DIR/item-kw-case-mismatch.rs:23:1
@@ -83,8 +90,9 @@ LL | CONST UNSAFE FN _e() {}
    |
 help: write it in the correct case
    |
-LL | const UNSAFE FN _e() {}
-   | ~~~~~
+LL - CONST UNSAFE FN _e() {}
+LL + const UNSAFE FN _e() {}
+   |
 
 error: keyword `unsafe` is written in the wrong case
   --> $DIR/item-kw-case-mismatch.rs:23:7
@@ -94,8 +102,9 @@ LL | CONST UNSAFE FN _e() {}
    |
 help: write it in the correct case
    |
-LL | CONST unsafe FN _e() {}
-   |       ~~~~~~
+LL - CONST UNSAFE FN _e() {}
+LL + CONST unsafe FN _e() {}
+   |
 
 error: keyword `fn` is written in the wrong case
   --> $DIR/item-kw-case-mismatch.rs:23:14
@@ -105,8 +114,9 @@ LL | CONST UNSAFE FN _e() {}
    |
 help: write it in the correct case
    |
-LL | CONST UNSAFE fn _e() {}
-   |              ~~
+LL - CONST UNSAFE FN _e() {}
+LL + CONST UNSAFE fn _e() {}
+   |
 
 error: keyword `unsafe` is written in the wrong case
   --> $DIR/item-kw-case-mismatch.rs:28:1
@@ -116,8 +126,9 @@ LL | unSAFE EXTern "C" fn _f() {}
    |
 help: write it in the correct case
    |
-LL | unsafe EXTern "C" fn _f() {}
-   | ~~~~~~
+LL - unSAFE EXTern "C" fn _f() {}
+LL + unsafe EXTern "C" fn _f() {}
+   |
 
 error: keyword `extern` is written in the wrong case
   --> $DIR/item-kw-case-mismatch.rs:28:8
@@ -127,8 +138,9 @@ LL | unSAFE EXTern "C" fn _f() {}
    |
 help: write it in the correct case
    |
-LL | unSAFE extern "C" fn _f() {}
-   |        ~~~~~~
+LL - unSAFE EXTern "C" fn _f() {}
+LL + unSAFE extern "C" fn _f() {}
+   |
 
 error: keyword `extern` is written in the wrong case
   --> $DIR/item-kw-case-mismatch.rs:32:1
@@ -138,8 +150,9 @@ LL | EXTERN "C" FN _g() {}
    |
 help: write it in the correct case
    |
-LL | extern "C" FN _g() {}
-   | ~~~~~~
+LL - EXTERN "C" FN _g() {}
+LL + extern "C" FN _g() {}
+   |
 
 error: keyword `fn` is written in the wrong case
   --> $DIR/item-kw-case-mismatch.rs:32:12
@@ -149,8 +162,9 @@ LL | EXTERN "C" FN _g() {}
    |
 help: write it in the correct case
    |
-LL | EXTERN "C" fn _g() {}
-   |            ~~
+LL - EXTERN "C" FN _g() {}
+LL + EXTERN "C" fn _g() {}
+   |
 
 error: aborting due to 14 previous errors
 
diff --git a/tests/ui/parser/kw-in-trait-bounds.stderr b/tests/ui/parser/kw-in-trait-bounds.stderr
index 3c54e031950..1892d0b6226 100644
--- a/tests/ui/parser/kw-in-trait-bounds.stderr
+++ b/tests/ui/parser/kw-in-trait-bounds.stderr
@@ -6,8 +6,9 @@ LL | fn _f<F: fn(), G>(_: impl fn(), _: &dyn fn())
    |
 help: use `Fn` to refer to the trait (notice the capitalization difference)
    |
-LL | fn _f<F: Fn(), G>(_: impl fn(), _: &dyn fn())
-   |          ~~
+LL - fn _f<F: fn(), G>(_: impl fn(), _: &dyn fn())
+LL + fn _f<F: Fn(), G>(_: impl fn(), _: &dyn fn())
+   |
 
 error: expected identifier, found keyword `fn`
   --> $DIR/kw-in-trait-bounds.rs:3:27
@@ -17,8 +18,9 @@ LL | fn _f<F: fn(), G>(_: impl fn(), _: &dyn fn())
    |
 help: use `Fn` to refer to the trait (notice the capitalization difference)
    |
-LL | fn _f<F: fn(), G>(_: impl Fn(), _: &dyn fn())
-   |                           ~~
+LL - fn _f<F: fn(), G>(_: impl fn(), _: &dyn fn())
+LL + fn _f<F: fn(), G>(_: impl Fn(), _: &dyn fn())
+   |
 
 error: expected identifier, found keyword `fn`
   --> $DIR/kw-in-trait-bounds.rs:3:41
@@ -28,8 +30,9 @@ LL | fn _f<F: fn(), G>(_: impl fn(), _: &dyn fn())
    |
 help: use `Fn` to refer to the trait (notice the capitalization difference)
    |
-LL | fn _f<F: fn(), G>(_: impl fn(), _: &dyn Fn())
-   |                                         ~~
+LL - fn _f<F: fn(), G>(_: impl fn(), _: &dyn fn())
+LL + fn _f<F: fn(), G>(_: impl fn(), _: &dyn Fn())
+   |
 
 error: expected identifier, found keyword `fn`
   --> $DIR/kw-in-trait-bounds.rs:11:4
@@ -39,8 +42,9 @@ LL | G: fn(),
    |
 help: use `Fn` to refer to the trait (notice the capitalization difference)
    |
-LL | G: Fn(),
-   |    ~~
+LL - G: fn(),
+LL + G: Fn(),
+   |
 
 error: expected identifier, found keyword `struct`
   --> $DIR/kw-in-trait-bounds.rs:16:10
diff --git a/tests/ui/parser/lifetime-in-pattern.stderr b/tests/ui/parser/lifetime-in-pattern.stderr
index 55f9e56a429..ffda28b202b 100644
--- a/tests/ui/parser/lifetime-in-pattern.stderr
+++ b/tests/ui/parser/lifetime-in-pattern.stderr
@@ -23,8 +23,9 @@ LL | fn test(self: &'a str) {
    |         +++++
 help: if this is a parameter name, give it a type
    |
-LL | fn test(str: &TypeName) {
-   |         ~~~~~~~~~~~~~~
+LL - fn test(&'a str) {
+LL + fn test(str: &TypeName) {
+   |
 help: if this is a type, explicitly ignore the parameter name
    |
 LL | fn test(_: &'a str) {
diff --git a/tests/ui/parser/lifetime-semicolon.stderr b/tests/ui/parser/lifetime-semicolon.stderr
index 4f8e2835e08..f0e42c36c5a 100644
--- a/tests/ui/parser/lifetime-semicolon.stderr
+++ b/tests/ui/parser/lifetime-semicolon.stderr
@@ -6,8 +6,9 @@ LL | fn foo<'a, 'b>(_x: &mut Foo<'a; 'b>) {}
    |
 help: use a comma to separate type parameters
    |
-LL | fn foo<'a, 'b>(_x: &mut Foo<'a, 'b>) {}
-   |                               ~
+LL - fn foo<'a, 'b>(_x: &mut Foo<'a; 'b>) {}
+LL + fn foo<'a, 'b>(_x: &mut Foo<'a, 'b>) {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/macros-no-semicolon-items.stderr b/tests/ui/parser/macros-no-semicolon-items.stderr
index 6d2431c4aec..07fa2439df5 100644
--- a/tests/ui/parser/macros-no-semicolon-items.stderr
+++ b/tests/ui/parser/macros-no-semicolon-items.stderr
@@ -6,8 +6,9 @@ LL | macro_rules! foo()
    |
 help: change the delimiters to curly braces
    |
-LL | macro_rules! foo{}
-   |                 ~~
+LL - macro_rules! foo()
+LL + macro_rules! foo{}
+   |
 help: add a semicolon
    |
 LL | macro_rules! foo();
diff --git a/tests/ui/parser/match-arm-without-body.stderr b/tests/ui/parser/match-arm-without-body.stderr
index 53cf3480dbf..9df8485972f 100644
--- a/tests/ui/parser/match-arm-without-body.stderr
+++ b/tests/ui/parser/match-arm-without-body.stderr
@@ -18,7 +18,8 @@ LL |         (Some(_),)
    |         +        +
 help: ...or a vertical bar to match on multiple alternatives
    |
-LL |         Some(_) |
+LL -         Some(_),
+LL +         Some(_) |
    |
 
 error: unexpected `,` in pattern
diff --git a/tests/ui/parser/match-arm-without-braces.stderr b/tests/ui/parser/match-arm-without-braces.stderr
index 4a4a154d860..70cbdcfde0b 100644
--- a/tests/ui/parser/match-arm-without-braces.stderr
+++ b/tests/ui/parser/match-arm-without-braces.stderr
@@ -8,8 +8,9 @@ LL |         Some(Val::Foo) => 3;
    |
 help: replace `;` with `,` to end a `match` arm expression
    |
-LL |         Some(Val::Foo) => 3,
-   |                            ~
+LL -         Some(Val::Foo) => 3;
+LL +         Some(Val::Foo) => 3,
+   |
 
 error: `match` arm body without braces
   --> $DIR/match-arm-without-braces.rs:31:11
diff --git a/tests/ui/parser/missing-fn-issue-65381-2.stderr b/tests/ui/parser/missing-fn-issue-65381-2.stderr
index e13d395d70d..ba2cf497df2 100644
--- a/tests/ui/parser/missing-fn-issue-65381-2.stderr
+++ b/tests/ui/parser/missing-fn-issue-65381-2.stderr
@@ -6,8 +6,9 @@ LL | main();
    |
 help: if you meant to call a macro, try
    |
-LL | main!();
-   | ~~~~~
+LL - main();
+LL + main!();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/assoc-type.stderr b/tests/ui/parser/misspelled-keywords/assoc-type.stderr
index 677da53e340..e529b477c05 100644
--- a/tests/ui/parser/misspelled-keywords/assoc-type.stderr
+++ b/tests/ui/parser/misspelled-keywords/assoc-type.stderr
@@ -11,8 +11,9 @@ LL | }
    |
 help: write keyword `type` in lowercase
    |
-LL |     type Result = u8;
-   |     ~~~~
+LL -     Type Result = u8;
+LL +     type Result = u8;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/async-move.stderr b/tests/ui/parser/misspelled-keywords/async-move.stderr
index 4be4b56e505..a002d54dc91 100644
--- a/tests/ui/parser/misspelled-keywords/async-move.stderr
+++ b/tests/ui/parser/misspelled-keywords/async-move.stderr
@@ -6,8 +6,9 @@ LL |     async Move {}
    |
 help: write keyword `move` in lowercase
    |
-LL |     async move {}
-   |           ~~~~
+LL -     async Move {}
+LL +     async move {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/const-fn.stderr b/tests/ui/parser/misspelled-keywords/const-fn.stderr
index 5646b26143c..46a6d8ca779 100644
--- a/tests/ui/parser/misspelled-keywords/const-fn.stderr
+++ b/tests/ui/parser/misspelled-keywords/const-fn.stderr
@@ -6,8 +6,9 @@ LL | cnst fn code() {}
    |
 help: there is a keyword `const` with a similar name
    |
-LL | const fn code() {}
-   | ~~~~~
+LL - cnst fn code() {}
+LL + const fn code() {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/const-generics.stderr b/tests/ui/parser/misspelled-keywords/const-generics.stderr
index fd59999ab63..2d37656278e 100644
--- a/tests/ui/parser/misspelled-keywords/const-generics.stderr
+++ b/tests/ui/parser/misspelled-keywords/const-generics.stderr
@@ -6,8 +6,9 @@ LL | fn foo<consta N: usize>(_arr: [i32; N]) {}
    |
 help: there is a keyword `const` with a similar name
    |
-LL | fn foo<const N: usize>(_arr: [i32; N]) {}
-   |        ~~~~~
+LL - fn foo<consta N: usize>(_arr: [i32; N]) {}
+LL + fn foo<const N: usize>(_arr: [i32; N]) {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/const.stderr b/tests/ui/parser/misspelled-keywords/const.stderr
index 35e4d731db7..ca76f51f4ed 100644
--- a/tests/ui/parser/misspelled-keywords/const.stderr
+++ b/tests/ui/parser/misspelled-keywords/const.stderr
@@ -6,8 +6,9 @@ LL | cons A: u8 = 10;
    |
 help: there is a keyword `const` with a similar name
    |
-LL | const A: u8 = 10;
-   | ~~~~~
+LL - cons A: u8 = 10;
+LL + const A: u8 = 10;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/for-loop.stderr b/tests/ui/parser/misspelled-keywords/for-loop.stderr
index d2236ab074d..6b94e60452a 100644
--- a/tests/ui/parser/misspelled-keywords/for-loop.stderr
+++ b/tests/ui/parser/misspelled-keywords/for-loop.stderr
@@ -6,8 +6,9 @@ LL |     form i in 1..10 {}
    |
 help: there is a keyword `for` with a similar name
    |
-LL |     for i in 1..10 {}
-   |     ~~~
+LL -     form i in 1..10 {}
+LL +     for i in 1..10 {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/hrdt.stderr b/tests/ui/parser/misspelled-keywords/hrdt.stderr
index 5393a730506..e5fc1a50382 100644
--- a/tests/ui/parser/misspelled-keywords/hrdt.stderr
+++ b/tests/ui/parser/misspelled-keywords/hrdt.stderr
@@ -6,8 +6,9 @@ LL |     Where for<'a> F: Fn(&'a (u8, u16)) -> &'a u8,
    |
 help: write keyword `where` in lowercase (notice the capitalization difference)
    |
-LL |     where for<'a> F: Fn(&'a (u8, u16)) -> &'a u8,
-   |     ~~~~~
+LL -     Where for<'a> F: Fn(&'a (u8, u16)) -> &'a u8,
+LL +     where for<'a> F: Fn(&'a (u8, u16)) -> &'a u8,
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/impl-block.stderr b/tests/ui/parser/misspelled-keywords/impl-block.stderr
index d86ae326ce2..8219ed6bfe9 100644
--- a/tests/ui/parser/misspelled-keywords/impl-block.stderr
+++ b/tests/ui/parser/misspelled-keywords/impl-block.stderr
@@ -6,8 +6,9 @@ LL | ipml Human {}
    |
 help: there is a keyword `impl` with a similar name
    |
-LL | impl Human {}
-   | ~~~~
+LL - ipml Human {}
+LL + impl Human {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/impl-return.stderr b/tests/ui/parser/misspelled-keywords/impl-return.stderr
index 883f5cea73e..ff5391461a9 100644
--- a/tests/ui/parser/misspelled-keywords/impl-return.stderr
+++ b/tests/ui/parser/misspelled-keywords/impl-return.stderr
@@ -6,8 +6,9 @@ LL | fn code() -> Impl Display {}
    |
 help: write keyword `impl` in lowercase (notice the capitalization difference)
    |
-LL | fn code() -> impl Display {}
-   |              ~~~~
+LL - fn code() -> Impl Display {}
+LL + fn code() -> impl Display {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/impl-trait-for.stderr b/tests/ui/parser/misspelled-keywords/impl-trait-for.stderr
index 8dd5a4645f3..fe2356da4bd 100644
--- a/tests/ui/parser/misspelled-keywords/impl-trait-for.stderr
+++ b/tests/ui/parser/misspelled-keywords/impl-trait-for.stderr
@@ -6,8 +6,9 @@ LL | impl Debug form Human {}
    |
 help: there is a keyword `for` with a similar name
    |
-LL | impl Debug for Human {}
-   |            ~~~
+LL - impl Debug form Human {}
+LL + impl Debug for Human {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/impl-trait.stderr b/tests/ui/parser/misspelled-keywords/impl-trait.stderr
index 02a0c808311..4b0c9222a8c 100644
--- a/tests/ui/parser/misspelled-keywords/impl-trait.stderr
+++ b/tests/ui/parser/misspelled-keywords/impl-trait.stderr
@@ -6,8 +6,9 @@ LL | fn code<T: impll Debug>() -> u8 {}
    |
 help: there is a keyword `impl` with a similar name
    |
-LL | fn code<T: impl Debug>() -> u8 {}
-   |            ~~~~
+LL - fn code<T: impll Debug>() -> u8 {}
+LL + fn code<T: impl Debug>() -> u8 {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/let-else.stderr b/tests/ui/parser/misspelled-keywords/let-else.stderr
index 6f41a0d99db..1dde67638ce 100644
--- a/tests/ui/parser/misspelled-keywords/let-else.stderr
+++ b/tests/ui/parser/misspelled-keywords/let-else.stderr
@@ -6,8 +6,9 @@ LL |     let Some(a) = Some(10) elze {}
    |
 help: there is a keyword `else` with a similar name
    |
-LL |     let Some(a) = Some(10) else {}
-   |                            ~~~~
+LL -     let Some(a) = Some(10) elze {}
+LL +     let Some(a) = Some(10) else {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/let-mut.stderr b/tests/ui/parser/misspelled-keywords/let-mut.stderr
index 766d2a04909..aee457e135b 100644
--- a/tests/ui/parser/misspelled-keywords/let-mut.stderr
+++ b/tests/ui/parser/misspelled-keywords/let-mut.stderr
@@ -6,8 +6,9 @@ LL |     let muta a = 10;
    |
 help: there is a keyword `mut` with a similar name
    |
-LL |     let mut a = 10;
-   |         ~~~
+LL -     let muta a = 10;
+LL +     let mut a = 10;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/let.stderr b/tests/ui/parser/misspelled-keywords/let.stderr
index c2dcdef541d..9ebc4b5afa6 100644
--- a/tests/ui/parser/misspelled-keywords/let.stderr
+++ b/tests/ui/parser/misspelled-keywords/let.stderr
@@ -6,8 +6,9 @@ LL |     Let a = 10;
    |
 help: write keyword `let` in lowercase
    |
-LL |     let a = 10;
-   |     ~~~
+LL -     Let a = 10;
+LL +     let a = 10;
+   |
 
 error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `a`
   --> $DIR/let.rs:7:10
@@ -17,8 +18,9 @@ LL |     lett a = 10;
    |
 help: there is a keyword `let` with a similar name
    |
-LL |     let a = 10;
-   |     ~~~
+LL -     lett a = 10;
+LL +     let a = 10;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/parser/misspelled-keywords/match.stderr b/tests/ui/parser/misspelled-keywords/match.stderr
index 90780ebd38e..1ec8f7c3b81 100644
--- a/tests/ui/parser/misspelled-keywords/match.stderr
+++ b/tests/ui/parser/misspelled-keywords/match.stderr
@@ -6,8 +6,9 @@ LL |     matche a {}
    |
 help: there is a keyword `match` with a similar name
    |
-LL |     match a {}
-   |     ~~~~~
+LL -     matche a {}
+LL +     match a {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/mod.stderr b/tests/ui/parser/misspelled-keywords/mod.stderr
index 6daeb4e5a15..1c1866279ce 100644
--- a/tests/ui/parser/misspelled-keywords/mod.stderr
+++ b/tests/ui/parser/misspelled-keywords/mod.stderr
@@ -6,8 +6,9 @@ LL | mode parser;
    |
 help: there is a keyword `mod` with a similar name
    |
-LL | mod parser;
-   | ~~~
+LL - mode parser;
+LL + mod parser;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/pub-fn.stderr b/tests/ui/parser/misspelled-keywords/pub-fn.stderr
index 82ca7105a49..1123c652c0e 100644
--- a/tests/ui/parser/misspelled-keywords/pub-fn.stderr
+++ b/tests/ui/parser/misspelled-keywords/pub-fn.stderr
@@ -6,8 +6,9 @@ LL | puB fn code() {}
    |
 help: write keyword `pub` in lowercase
    |
-LL | pub fn code() {}
-   | ~~~
+LL - puB fn code() {}
+LL + pub fn code() {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/ref.stderr b/tests/ui/parser/misspelled-keywords/ref.stderr
index 398d9d6bb99..21b99d6e663 100644
--- a/tests/ui/parser/misspelled-keywords/ref.stderr
+++ b/tests/ui/parser/misspelled-keywords/ref.stderr
@@ -6,8 +6,9 @@ LL |         Some(refe list) => println!("{list:?}"),
    |
 help: there is a keyword `ref` with a similar name
    |
-LL |         Some(ref list) => println!("{list:?}"),
-   |              ~~~
+LL -         Some(refe list) => println!("{list:?}"),
+LL +         Some(ref list) => println!("{list:?}"),
+   |
 
 error[E0023]: this pattern has 2 fields, but the corresponding tuple variant has 1 field
   --> $DIR/ref.rs:4:14
diff --git a/tests/ui/parser/misspelled-keywords/return.stderr b/tests/ui/parser/misspelled-keywords/return.stderr
index efa45f32299..21188ff8cb7 100644
--- a/tests/ui/parser/misspelled-keywords/return.stderr
+++ b/tests/ui/parser/misspelled-keywords/return.stderr
@@ -6,8 +6,9 @@ LL |     returnn a;
    |
 help: there is a keyword `return` with a similar name
    |
-LL |     return a;
-   |     ~~~~~~
+LL -     returnn a;
+LL +     return a;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/static-mut.stderr b/tests/ui/parser/misspelled-keywords/static-mut.stderr
index 3c25af548a3..10cdfe1adc6 100644
--- a/tests/ui/parser/misspelled-keywords/static-mut.stderr
+++ b/tests/ui/parser/misspelled-keywords/static-mut.stderr
@@ -6,8 +6,9 @@ LL | static muta a: u8 = 0;
    |
 help: there is a keyword `mut` with a similar name
    |
-LL | static mut a: u8 = 0;
-   |        ~~~
+LL - static muta a: u8 = 0;
+LL + static mut a: u8 = 0;
+   |
 
 error: missing type for `static` item
   --> $DIR/static-mut.rs:1:12
diff --git a/tests/ui/parser/misspelled-keywords/static.stderr b/tests/ui/parser/misspelled-keywords/static.stderr
index 003aa3929bc..e559f2be109 100644
--- a/tests/ui/parser/misspelled-keywords/static.stderr
+++ b/tests/ui/parser/misspelled-keywords/static.stderr
@@ -6,8 +6,9 @@ LL | Static a = 0;
    |
 help: write keyword `static` in lowercase (notice the capitalization difference)
    |
-LL | static a = 0;
-   | ~~~~~~
+LL - Static a = 0;
+LL + static a = 0;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/struct.stderr b/tests/ui/parser/misspelled-keywords/struct.stderr
index 559182f9c8f..edbec3b9456 100644
--- a/tests/ui/parser/misspelled-keywords/struct.stderr
+++ b/tests/ui/parser/misspelled-keywords/struct.stderr
@@ -6,8 +6,9 @@ LL | Struct Foor {
    |
 help: write keyword `struct` in lowercase (notice the capitalization difference)
    |
-LL | struct Foor {
-   | ~~~~~~
+LL - Struct Foor {
+LL + struct Foor {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/unsafe-fn.stderr b/tests/ui/parser/misspelled-keywords/unsafe-fn.stderr
index b13281b0395..679dbb6af37 100644
--- a/tests/ui/parser/misspelled-keywords/unsafe-fn.stderr
+++ b/tests/ui/parser/misspelled-keywords/unsafe-fn.stderr
@@ -6,8 +6,9 @@ LL | unsafee fn code() {}
    |
 help: there is a keyword `unsafe` with a similar name
    |
-LL | unsafe fn code() {}
-   | ~~~~~~
+LL - unsafee fn code() {}
+LL + unsafe fn code() {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/use.stderr b/tests/ui/parser/misspelled-keywords/use.stderr
index db6dffdb613..40584c835b7 100644
--- a/tests/ui/parser/misspelled-keywords/use.stderr
+++ b/tests/ui/parser/misspelled-keywords/use.stderr
@@ -6,8 +6,9 @@ LL | usee a::b;
    |
 help: there is a keyword `use` with a similar name
    |
-LL | use a::b;
-   | ~~~
+LL - usee a::b;
+LL + use a::b;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/where-clause.stderr b/tests/ui/parser/misspelled-keywords/where-clause.stderr
index 5143c30ca51..f0835f6e7da 100644
--- a/tests/ui/parser/misspelled-keywords/where-clause.stderr
+++ b/tests/ui/parser/misspelled-keywords/where-clause.stderr
@@ -8,7 +8,8 @@ LL | wheree
    |
 help: there is a keyword `where` with a similar name
    |
-LL | where
+LL - wheree
+LL + where
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/parser/misspelled-keywords/while-loop.stderr b/tests/ui/parser/misspelled-keywords/while-loop.stderr
index 7d150443f57..2d1136285c8 100644
--- a/tests/ui/parser/misspelled-keywords/while-loop.stderr
+++ b/tests/ui/parser/misspelled-keywords/while-loop.stderr
@@ -6,8 +6,9 @@ LL |     whilee a < b {
    |
 help: there is a keyword `while` with a similar name
    |
-LL |     while a < b {
-   |     ~~~~~
+LL -     whilee a < b {
+LL +     while a < b {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/mut-patterns.stderr b/tests/ui/parser/mut-patterns.stderr
index ad19a60af34..43f6a344bf3 100644
--- a/tests/ui/parser/mut-patterns.stderr
+++ b/tests/ui/parser/mut-patterns.stderr
@@ -33,8 +33,9 @@ LL |     let mut (x @ y) = 0;
    = note: `mut` may be followed by `variable` and `variable @ pattern`
 help: add `mut` to each binding
    |
-LL |     let (mut x @ mut y) = 0;
-   |         ~~~~~~~~~~~~~~~
+LL -     let mut (x @ y) = 0;
+LL +     let (mut x @ mut y) = 0;
+   |
 
 error: `mut` on a binding may not be repeated
   --> $DIR/mut-patterns.rs:14:13
@@ -69,8 +70,9 @@ LL |     let mut Foo { x: x } = Foo { x: 3 };
    = note: `mut` may be followed by `variable` and `variable @ pattern`
 help: add `mut` to each binding
    |
-LL |     let Foo { x: mut x } = Foo { x: 3 };
-   |         ~~~~~~~~~~~~~~~~
+LL -     let mut Foo { x: x } = Foo { x: 3 };
+LL +     let Foo { x: mut x } = Foo { x: 3 };
+   |
 
 error: `mut` must be attached to each individual binding
   --> $DIR/mut-patterns.rs:27:9
@@ -81,8 +83,9 @@ LL |     let mut Foo { x } = Foo { x: 3 };
    = note: `mut` may be followed by `variable` and `variable @ pattern`
 help: add `mut` to each binding
    |
-LL |     let Foo { mut x } = Foo { x: 3 };
-   |         ~~~~~~~~~~~~~
+LL -     let mut Foo { x } = Foo { x: 3 };
+LL +     let Foo { mut x } = Foo { x: 3 };
+   |
 
 error: `mut` on a binding may not be repeated
   --> $DIR/mut-patterns.rs:32:13
@@ -151,8 +154,9 @@ LL |     let mut W(mut a, W(b, W(ref c, W(d, B { box f }))))
    = note: `mut` may be followed by `variable` and `variable @ pattern`
 help: add `mut` to each binding
    |
-LL |     let W(mut a, W(mut b, W(ref c, W(mut d, B { box mut f }))))
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let mut W(mut a, W(b, W(ref c, W(d, B { box f }))))
+LL +     let W(mut a, W(mut b, W(ref c, W(mut d, B { box mut f }))))
+   |
 
 error: expected identifier, found `x`
   --> $DIR/mut-patterns.rs:48:21
diff --git a/tests/ui/parser/not-a-pred.stderr b/tests/ui/parser/not-a-pred.stderr
index 6f6a332cb81..9fedd208e1a 100644
--- a/tests/ui/parser/not-a-pred.stderr
+++ b/tests/ui/parser/not-a-pred.stderr
@@ -6,8 +6,9 @@ LL | fn f(a: isize, b: isize) : lt(a, b) { }
    |
 help: use `->` instead
    |
-LL | fn f(a: isize, b: isize) -> lt(a, b) { }
-   |                          ~~
+LL - fn f(a: isize, b: isize) : lt(a, b) { }
+LL + fn f(a: isize, b: isize) -> lt(a, b) { }
+   |
 
 error[E0573]: expected type, found function `lt`
   --> $DIR/not-a-pred.rs:1:28
diff --git a/tests/ui/parser/public-instead-of-pub-1.stderr b/tests/ui/parser/public-instead-of-pub-1.stderr
index 3fbe8d0b164..5695624d3b6 100644
--- a/tests/ui/parser/public-instead-of-pub-1.stderr
+++ b/tests/ui/parser/public-instead-of-pub-1.stderr
@@ -6,8 +6,9 @@ LL | public enum Test {
    |
 help: write `pub` instead of `public` to make the item public
    |
-LL | pub enum Test {
-   | ~~~
+LL - public enum Test {
+LL + pub enum Test {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/public-instead-of-pub-3.stderr b/tests/ui/parser/public-instead-of-pub-3.stderr
index b9b924e670a..856bdf18570 100644
--- a/tests/ui/parser/public-instead-of-pub-3.stderr
+++ b/tests/ui/parser/public-instead-of-pub-3.stderr
@@ -6,8 +6,9 @@ LL |     public const X: i32 = 123;
    |
 help: write `pub` instead of `public` to make the item public
    |
-LL |     pub const X: i32 = 123;
-   |     ~~~
+LL -     public const X: i32 = 123;
+LL +     pub const X: i32 = 123;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/public-instead-of-pub.stderr b/tests/ui/parser/public-instead-of-pub.stderr
index c98f8a9914e..29a208cd484 100644
--- a/tests/ui/parser/public-instead-of-pub.stderr
+++ b/tests/ui/parser/public-instead-of-pub.stderr
@@ -6,8 +6,9 @@ LL | public struct X;
    |
 help: write `pub` instead of `public` to make the item public
    |
-LL | pub struct X;
-   | ~~~
+LL - public struct X;
+LL + pub struct X;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/range-inclusive-extra-equals.stderr b/tests/ui/parser/range-inclusive-extra-equals.stderr
index a573cdf950c..db18cef81b1 100644
--- a/tests/ui/parser/range-inclusive-extra-equals.stderr
+++ b/tests/ui/parser/range-inclusive-extra-equals.stderr
@@ -7,8 +7,9 @@ LL |     if let 1..==3 = 1 {}
    = note: inclusive ranges end with a single equals sign (`..=`)
 help: use `..=` instead
    |
-LL |     if let 1..=3 = 1 {}
-   |             ~~~
+LL -     if let 1..==3 = 1 {}
+LL +     if let 1..=3 = 1 {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/range_inclusive_dotdotdot.stderr b/tests/ui/parser/range_inclusive_dotdotdot.stderr
index 2dc2c87eb7b..069133a43a3 100644
--- a/tests/ui/parser/range_inclusive_dotdotdot.stderr
+++ b/tests/ui/parser/range_inclusive_dotdotdot.stderr
@@ -6,12 +6,14 @@ LL |     return ...1;
    |
 help: use `..` for an exclusive range
    |
-LL |     return ..1;
-   |            ~~
+LL -     return ...1;
+LL +     return ..1;
+   |
 help: or `..=` for an inclusive range
    |
-LL |     return ..=1;
-   |            ~~~
+LL -     return ...1;
+LL +     return ..=1;
+   |
 
 error: unexpected token: `...`
   --> $DIR/range_inclusive_dotdotdot.rs:12:13
@@ -21,12 +23,14 @@ LL |     let x = ...0;
    |
 help: use `..` for an exclusive range
    |
-LL |     let x = ..0;
-   |             ~~
+LL -     let x = ...0;
+LL +     let x = ..0;
+   |
 help: or `..=` for an inclusive range
    |
-LL |     let x = ..=0;
-   |             ~~~
+LL -     let x = ...0;
+LL +     let x = ..=0;
+   |
 
 error: unexpected token: `...`
   --> $DIR/range_inclusive_dotdotdot.rs:16:14
@@ -36,12 +40,14 @@ LL |     let x = 5...5;
    |
 help: use `..` for an exclusive range
    |
-LL |     let x = 5..5;
-   |              ~~
+LL -     let x = 5...5;
+LL +     let x = 5..5;
+   |
 help: or `..=` for an inclusive range
    |
-LL |     let x = 5..=5;
-   |              ~~~
+LL -     let x = 5...5;
+LL +     let x = 5..=5;
+   |
 
 error: unexpected token: `...`
   --> $DIR/range_inclusive_dotdotdot.rs:20:15
@@ -51,12 +57,14 @@ LL |     for _ in 0...1 {}
    |
 help: use `..` for an exclusive range
    |
-LL |     for _ in 0..1 {}
-   |               ~~
+LL -     for _ in 0...1 {}
+LL +     for _ in 0..1 {}
+   |
 help: or `..=` for an inclusive range
    |
-LL |     for _ in 0..=1 {}
-   |               ~~~
+LL -     for _ in 0...1 {}
+LL +     for _ in 0..=1 {}
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/parser/recover/recover-assoc-lifetime-constraint.stderr b/tests/ui/parser/recover/recover-assoc-lifetime-constraint.stderr
index 606b737e723..d1c803863a2 100644
--- a/tests/ui/parser/recover/recover-assoc-lifetime-constraint.stderr
+++ b/tests/ui/parser/recover/recover-assoc-lifetime-constraint.stderr
@@ -10,8 +10,9 @@ LL |     bar::<Item = 'a>();
    = help: if you meant to specify a trait object, write `dyn /* Trait */ + 'a`
 help: you might have meant to write a bound here
    |
-LL |     bar::<Item: 'a>();
-   |               ~
+LL -     bar::<Item = 'a>();
+LL +     bar::<Item: 'a>();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/recover/recover-fn-trait-from-fn-kw.stderr b/tests/ui/parser/recover/recover-fn-trait-from-fn-kw.stderr
index aee31d08fe0..4e1fcaf4936 100644
--- a/tests/ui/parser/recover/recover-fn-trait-from-fn-kw.stderr
+++ b/tests/ui/parser/recover/recover-fn-trait-from-fn-kw.stderr
@@ -6,8 +6,9 @@ LL | fn foo(_: impl fn() -> i32) {}
    |
 help: use `Fn` to refer to the trait (notice the capitalization difference)
    |
-LL | fn foo(_: impl Fn() -> i32) {}
-   |                ~~
+LL - fn foo(_: impl fn() -> i32) {}
+LL + fn foo(_: impl Fn() -> i32) {}
+   |
 
 error: expected identifier, found keyword `fn`
   --> $DIR/recover-fn-trait-from-fn-kw.rs:4:12
@@ -17,8 +18,9 @@ LL | fn foo2<T: fn(i32)>(_: T) {}
    |
 help: use `Fn` to refer to the trait (notice the capitalization difference)
    |
-LL | fn foo2<T: Fn(i32)>(_: T) {}
-   |            ~~
+LL - fn foo2<T: fn(i32)>(_: T) {}
+LL + fn foo2<T: Fn(i32)>(_: T) {}
+   |
 
 error[E0308]: mismatched types
   --> $DIR/recover-fn-trait-from-fn-kw.rs:8:12
diff --git a/tests/ui/parser/recover/recover-for-loop-parens-around-head.stderr b/tests/ui/parser/recover/recover-for-loop-parens-around-head.stderr
index beaa346e76c..2bc7952def7 100644
--- a/tests/ui/parser/recover/recover-for-loop-parens-around-head.stderr
+++ b/tests/ui/parser/recover/recover-for-loop-parens-around-head.stderr
@@ -18,8 +18,9 @@ LL |         const _RECOVERY_WITNESS: u32 = 0u8;
    |
 help: change the type of the numeric literal from `u8` to `u32`
    |
-LL |         const _RECOVERY_WITNESS: u32 = 0u32;
-   |                                         ~~~
+LL -         const _RECOVERY_WITNESS: u32 = 0u8;
+LL +         const _RECOVERY_WITNESS: u32 = 0u32;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/parser/recover/recover-from-bad-variant.stderr b/tests/ui/parser/recover/recover-from-bad-variant.stderr
index 0339f869515..9359ede1346 100644
--- a/tests/ui/parser/recover/recover-from-bad-variant.stderr
+++ b/tests/ui/parser/recover/recover-from-bad-variant.stderr
@@ -6,8 +6,9 @@ LL |     let x = Enum::Foo(a: 3, b: 4);
    |
 help: if `Enum::Foo` is a struct, use braces as delimiters
    |
-LL |     let x = Enum::Foo { a: 3, b: 4 };
-   |                       ~            ~
+LL -     let x = Enum::Foo(a: 3, b: 4);
+LL +     let x = Enum::Foo { a: 3, b: 4 };
+   |
 help: if `Enum::Foo` is a function, use the arguments directly
    |
 LL -     let x = Enum::Foo(a: 3, b: 4);
@@ -22,8 +23,9 @@ LL |         Enum::Foo(a, b) => {}
    |
 help: the struct variant's fields are being ignored
    |
-LL |         Enum::Foo { a: _, b: _ } => {}
-   |                   ~~~~~~~~~~~~~~
+LL -         Enum::Foo(a, b) => {}
+LL +         Enum::Foo { a: _, b: _ } => {}
+   |
 
 error[E0769]: tuple variant `Enum::Bar` written as struct variant
   --> $DIR/recover-from-bad-variant.rs:12:9
@@ -33,8 +35,9 @@ LL |         Enum::Bar { a, b } => {}
    |
 help: use the tuple variant pattern syntax instead
    |
-LL |         Enum::Bar(a, b) => {}
-   |                  ~~~~~~
+LL -         Enum::Bar { a, b } => {}
+LL +         Enum::Bar(a, b) => {}
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/parser/recover/recover-from-homoglyph.stderr b/tests/ui/parser/recover/recover-from-homoglyph.stderr
index f11ca9fd584..38ca0259366 100644
--- a/tests/ui/parser/recover/recover-from-homoglyph.stderr
+++ b/tests/ui/parser/recover/recover-from-homoglyph.stderr
@@ -6,8 +6,9 @@ LL |     println!("");
    |
 help: Unicode character ';' (Greek Question Mark) looks like ';' (Semicolon), but it is not
    |
-LL |     println!("");
-   |                 ~
+LL -     println!("");
+LL +     println!("");
+   |
 
 error[E0308]: mismatched types
   --> $DIR/recover-from-homoglyph.rs:3:20
diff --git a/tests/ui/parser/recover/recover-pat-exprs.stderr b/tests/ui/parser/recover/recover-pat-exprs.stderr
index 281eeced402..dcc1945d569 100644
--- a/tests/ui/parser/recover/recover-pat-exprs.stderr
+++ b/tests/ui/parser/recover/recover-pat-exprs.stderr
@@ -7,8 +7,9 @@ LL |         x.y => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == x.y => (),
-   |         ~~~ +++++++++++++
+LL -         x.y => (),
+LL +         val if val == x.y => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = x.y;
@@ -30,8 +31,9 @@ LL |         x.0 => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == x.0 => (),
-   |         ~~~ +++++++++++++
+LL -         x.0 => (),
+LL +         val if val == x.0 => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = x.0;
@@ -54,8 +56,9 @@ LL |         x._0 => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == x._0 => (),
-   |         ~~~ ++++++++++++++
+LL -         x._0 => (),
+LL +         val if val == x._0 => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = x._0;
@@ -79,8 +82,9 @@ LL |         x.0.1 => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == x.0.1 => (),
-   |         ~~~ +++++++++++++++
+LL -         x.0.1 => (),
+LL +         val if val == x.0.1 => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = x.0.1;
@@ -104,8 +108,9 @@ LL |         x.4.y.17.__z => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == x.4.y.17.__z => (),
-   |         ~~~ ++++++++++++++++++++++
+LL -         x.4.y.17.__z => (),
+LL +         val if val == x.4.y.17.__z => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = x.4.y.17.__z;
@@ -159,8 +164,9 @@ LL |         x[0] => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == x[0] => (),
-   |         ~~~ ++++++++++++++
+LL -         x[0] => (),
+LL +         val if val == x[0] => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = x[0];
@@ -181,8 +187,9 @@ LL |         x[..] => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == x[..] => (),
-   |         ~~~ +++++++++++++++
+LL -         x[..] => (),
+LL +         val if val == x[..] => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = x[..];
@@ -231,8 +238,9 @@ LL |         x.f() => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == x.f() => (),
-   |         ~~~ +++++++++++++++
+LL -         x.f() => (),
+LL +         val if val == x.f() => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = x.f();
@@ -253,8 +261,9 @@ LL |         x._f() => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == x._f() => (),
-   |         ~~~ ++++++++++++++++
+LL -         x._f() => (),
+LL +         val if val == x._f() => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = x._f();
@@ -276,8 +285,9 @@ LL |         x? => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == x? => (),
-   |         ~~~ ++++++++++++
+LL -         x? => (),
+LL +         val if val == x? => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = x?;
@@ -300,8 +310,9 @@ LL |         ().f() => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == ().f() => (),
-   |         ~~~ ++++++++++++++++
+LL -         ().f() => (),
+LL +         val if val == ().f() => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = ().f();
@@ -325,8 +336,9 @@ LL |         (0, x)?.f() => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == (0, x)?.f() => (),
-   |         ~~~ +++++++++++++++++++++
+LL -         (0, x)?.f() => (),
+LL +         val if val == (0, x)?.f() => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = (0, x)?.f();
@@ -350,8 +362,9 @@ LL |         x.f().g() => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == x.f().g() => (),
-   |         ~~~ +++++++++++++++++++
+LL -         x.f().g() => (),
+LL +         val if val == x.f().g() => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = x.f().g();
@@ -375,8 +388,9 @@ LL |         0.f()?.g()?? => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == 0.f()?.g()?? => (),
-   |         ~~~ ++++++++++++++++++++++
+LL -         0.f()?.g()?? => (),
+LL +         val if val == 0.f()?.g()?? => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = 0.f()?.g()??;
@@ -400,8 +414,9 @@ LL |         x as usize => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == x as usize => (),
-   |         ~~~ ++++++++++++++++++++
+LL -         x as usize => (),
+LL +         val if val == x as usize => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = x as usize;
@@ -422,8 +437,9 @@ LL |         0 as usize => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == 0 as usize => (),
-   |         ~~~ ++++++++++++++++++++
+LL -         0 as usize => (),
+LL +         val if val == 0 as usize => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = 0 as usize;
@@ -445,8 +461,9 @@ LL |         x.f().0.4 as f32 => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == x.f().0.4 as f32 => (),
-   |         ~~~ ++++++++++++++++++++++++++
+LL -         x.f().0.4 as f32 => (),
+LL +         val if val == x.f().0.4 as f32 => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = x.f().0.4 as f32;
@@ -469,8 +486,9 @@ LL |         1 + 1 => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == 1 + 1 => (),
-   |         ~~~ +++++++++++++++
+LL -         1 + 1 => (),
+LL +         val if val == 1 + 1 => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = 1 + 1;
@@ -491,8 +509,9 @@ LL |         (1 + 2) * 3 => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == (1 + 2) * 3 => (),
-   |         ~~~ +++++++++++++++++++++
+LL -         (1 + 2) * 3 => (),
+LL +         val if val == (1 + 2) * 3 => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = (1 + 2) * 3;
@@ -514,8 +533,9 @@ LL |         x.0 > 2 => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == (x.0 > 2) => (),
-   |         ~~~ +++++++++++++++++++
+LL -         x.0 > 2 => (),
+LL +         val if val == (x.0 > 2) => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = x.0 > 2;
@@ -539,8 +559,9 @@ LL |         x.0 == 2 => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == (x.0 == 2) => (),
-   |         ~~~ ++++++++++++++++++++
+LL -         x.0 == 2 => (),
+LL +         val if val == (x.0 == 2) => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = x.0 == 2;
@@ -564,8 +585,9 @@ LL |         (x, y.0 > 2) if x != 0 => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to the match arm guard
    |
-LL |         (x, val) if x != 0 && val == (y.0 > 2) => (),
-   |             ~~~            +++++++++++++++++++
+LL -         (x, y.0 > 2) if x != 0 => (),
+LL +         (x, val) if x != 0 && val == (y.0 > 2) => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = y.0 > 2;
@@ -586,8 +608,9 @@ LL |         (x, y.0 > 2) if x != 0 || x != 1 => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to the match arm guard
    |
-LL |         (x, val) if (x != 0 || x != 1) && val == (y.0 > 2) => (),
-   |             ~~~     +                +++++++++++++++++++++
+LL -         (x, y.0 > 2) if x != 0 || x != 1 => (),
+LL +         (x, val) if (x != 0 || x != 1) && val == (y.0 > 2) => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = y.0 > 2;
@@ -626,8 +649,9 @@ LL |         u8::MAX.abs() => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == u8::MAX.abs() => (),
-   |         ~~~ +++++++++++++++++++++++
+LL -         u8::MAX.abs() => (),
+LL +         val if val == u8::MAX.abs() => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = u8::MAX.abs();
@@ -648,8 +672,9 @@ LL |         z @ w @ v.u() => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         z @ w @ val if val == v.u() => (),
-   |                 ~~~ +++++++++++++++
+LL -         z @ w @ v.u() => (),
+LL +         z @ w @ val if val == v.u() => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = v.u();
@@ -673,8 +698,9 @@ LL |         y.ilog(3) => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == y.ilog(3) => (),
-   |         ~~~ +++++++++++++++++++
+LL -         y.ilog(3) => (),
+LL +         val if val == y.ilog(3) => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = y.ilog(3);
@@ -698,8 +724,9 @@ LL |         n + 1 => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == n + 1 => (),
-   |         ~~~ +++++++++++++++
+LL -         n + 1 => (),
+LL +         val if val == n + 1 => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = n + 1;
@@ -723,8 +750,9 @@ LL |         ("".f() + 14 * 8) => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         (val) if val == "".f() + 14 * 8 => (),
-   |          ~~~  +++++++++++++++++++++++++
+LL -         ("".f() + 14 * 8) => (),
+LL +         (val) if val == "".f() + 14 * 8 => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = "".f() + 14 * 8;
@@ -748,8 +776,9 @@ LL |         f?() => (),
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         val if val == f?() => (),
-   |         ~~~ ++++++++++++++
+LL -         f?() => (),
+LL +         val if val == f?() => (),
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = f?();
diff --git a/tests/ui/parser/recover/recover-pat-issues.stderr b/tests/ui/parser/recover/recover-pat-issues.stderr
index bdd0b2b260e..0c65b16dd95 100644
--- a/tests/ui/parser/recover/recover-pat-issues.stderr
+++ b/tests/ui/parser/recover/recover-pat-issues.stderr
@@ -7,8 +7,9 @@ LL |         Foo("hi".to_owned()) => true,
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         Foo(val) if val == "hi".to_owned() => true,
-   |             ~~~  +++++++++++++++++++++++++
+LL -         Foo("hi".to_owned()) => true,
+LL +         Foo(val) if val == "hi".to_owned() => true,
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = "hi".to_owned();
@@ -29,8 +30,9 @@ LL |         Bar { baz: "hi".to_owned() } => true,
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         Bar { baz } if baz == "hi".to_owned() => true,
-   |               ~~~   +++++++++++++++++++++++++
+LL -         Bar { baz: "hi".to_owned() } => true,
+LL +         Bar { baz } if baz == "hi".to_owned() => true,
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const BAZ: /* Type */ = "hi".to_owned();
@@ -51,8 +53,9 @@ LL |         &["foo".to_string()] => {}
    = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
 help: consider moving the expression to a match arm guard
    |
-LL |         &[val] if val == "foo".to_string() => {}
-   |           ~~~  +++++++++++++++++++++++++++
+LL -         &["foo".to_string()] => {}
+LL +         &[val] if val == "foo".to_string() => {}
+   |
 help: consider extracting the expression into a `const`
    |
 LL +     const VAL: /* Type */ = "foo".to_string();
diff --git a/tests/ui/parser/recover/recover-range-pats.stderr b/tests/ui/parser/recover/recover-range-pats.stderr
index 5c134bd4a82..a2f3ba4dd94 100644
--- a/tests/ui/parser/recover/recover-range-pats.stderr
+++ b/tests/ui/parser/recover/recover-range-pats.stderr
@@ -231,8 +231,9 @@ LL |     if let ...3 = 0 {}
    |
 help: use `..=` instead
    |
-LL |     if let ..=3 = 0 {}
-   |            ~~~
+LL -     if let ...3 = 0 {}
+LL +     if let ..=3 = 0 {}
+   |
 
 error: range-to patterns with `...` are not allowed
   --> $DIR/recover-range-pats.rs:121:12
@@ -242,8 +243,9 @@ LL |     if let ...Y = 0 {}
    |
 help: use `..=` instead
    |
-LL |     if let ..=Y = 0 {}
-   |            ~~~
+LL -     if let ...Y = 0 {}
+LL +     if let ..=Y = 0 {}
+   |
 
 error: range-to patterns with `...` are not allowed
   --> $DIR/recover-range-pats.rs:123:12
@@ -253,8 +255,9 @@ LL |     if let ...true = 0 {}
    |
 help: use `..=` instead
    |
-LL |     if let ..=true = 0 {}
-   |            ~~~
+LL -     if let ...true = 0 {}
+LL +     if let ..=true = 0 {}
+   |
 
 error: float literals must have an integer part
   --> $DIR/recover-range-pats.rs:126:15
@@ -275,8 +278,9 @@ LL |     if let ....3 = 0 {}
    |
 help: use `..=` instead
    |
-LL |     if let ..=.3 = 0 {}
-   |            ~~~
+LL -     if let ....3 = 0 {}
+LL +     if let ..=.3 = 0 {}
+   |
 
 error: range-to patterns with `...` are not allowed
   --> $DIR/recover-range-pats.rs:152:17
@@ -290,8 +294,9 @@ LL |     mac!(0);
    = note: this error originates in the macro `mac` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: use `..=` instead
    |
-LL |             let ..=$e;
-   |                 ~~~
+LL -             let ...$e;
+LL +             let ..=$e;
+   |
 
 error[E0586]: inclusive range with no end
   --> $DIR/recover-range-pats.rs:159:19
diff --git a/tests/ui/parser/recover/recover-ref-dyn-mut.stderr b/tests/ui/parser/recover/recover-ref-dyn-mut.stderr
index bb0f0b0214c..2f1649f01c9 100644
--- a/tests/ui/parser/recover/recover-ref-dyn-mut.stderr
+++ b/tests/ui/parser/recover/recover-ref-dyn-mut.stderr
@@ -6,8 +6,9 @@ LL |     let r: &dyn mut Trait;
    |
 help: place `mut` before `dyn`
    |
-LL |     let r: &mut dyn Trait;
-   |            ~~~~~~~~
+LL -     let r: &dyn mut Trait;
+LL +     let r: &mut dyn Trait;
+   |
 
 error[E0405]: cannot find trait `Trait` in this scope
   --> $DIR/recover-ref-dyn-mut.rs:5:21
diff --git a/tests/ui/parser/recover/turbofish-arg-with-stray-colon.stderr b/tests/ui/parser/recover/turbofish-arg-with-stray-colon.stderr
index 551b2e3ff09..15866211954 100644
--- a/tests/ui/parser/recover/turbofish-arg-with-stray-colon.stderr
+++ b/tests/ui/parser/recover/turbofish-arg-with-stray-colon.stderr
@@ -7,8 +7,9 @@ LL |     let x = Tr<A, A:>;
    = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
 help: maybe write a path separator here
    |
-LL |     let x = Tr<A, A::>;
-   |                    ~~
+LL -     let x = Tr<A, A:>;
+LL +     let x = Tr<A, A::>;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/recover/unicode-double-equals-recovery.stderr b/tests/ui/parser/recover/unicode-double-equals-recovery.stderr
index 6e10dcce04a..1931fd4ee45 100644
--- a/tests/ui/parser/recover/unicode-double-equals-recovery.stderr
+++ b/tests/ui/parser/recover/unicode-double-equals-recovery.stderr
@@ -6,8 +6,9 @@ LL | const A: usize ⩵ 2;
    |
 help: Unicode character '⩵' (Two Consecutive Equals Signs) looks like '==' (Double Equals Sign), but it is not
    |
-LL | const A: usize == 2;
-   |                ~~
+LL - const A: usize ⩵ 2;
+LL + const A: usize == 2;
+   |
 
 error: unexpected `==`
   --> $DIR/unicode-double-equals-recovery.rs:1:16
@@ -17,8 +18,9 @@ LL | const A: usize ⩵ 2;
    |
 help: try using `=` instead
    |
-LL | const A: usize = 2;
-   |                ~
+LL - const A: usize ⩵ 2;
+LL + const A: usize = 2;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/parser/removed-syntax/removed-syntax-box.stderr b/tests/ui/parser/removed-syntax/removed-syntax-box.stderr
index 60c39fd37c4..04e84a10fad 100644
--- a/tests/ui/parser/removed-syntax/removed-syntax-box.stderr
+++ b/tests/ui/parser/removed-syntax/removed-syntax-box.stderr
@@ -6,8 +6,9 @@ LL |     let _ = box ();
    |
 help: use `Box::new()` instead
    |
-LL |     let _ = Box::new(());
-   |             ~~~~~~~~~  +
+LL -     let _ = box ();
+LL +     let _ = Box::new(());
+   |
 
 error: `box_syntax` has been removed
   --> $DIR/removed-syntax-box.rs:10:13
@@ -17,8 +18,9 @@ LL |     let _ = box 1;
    |
 help: use `Box::new()` instead
    |
-LL |     let _ = Box::new(1);
-   |             ~~~~~~~~~ +
+LL -     let _ = box 1;
+LL +     let _ = Box::new(1);
+   |
 
 error: `box_syntax` has been removed
   --> $DIR/removed-syntax-box.rs:11:13
@@ -28,8 +30,9 @@ LL |     let _ = box T { a: 12, b: 18 };
    |
 help: use `Box::new()` instead
    |
-LL |     let _ = Box::new(T { a: 12, b: 18 });
-   |             ~~~~~~~~~                  +
+LL -     let _ = box T { a: 12, b: 18 };
+LL +     let _ = Box::new(T { a: 12, b: 18 });
+   |
 
 error: `box_syntax` has been removed
   --> $DIR/removed-syntax-box.rs:12:13
@@ -39,8 +42,9 @@ LL |     let _ = box [5; 30];
    |
 help: use `Box::new()` instead
    |
-LL |     let _ = Box::new([5; 30]);
-   |             ~~~~~~~~~       +
+LL -     let _ = box [5; 30];
+LL +     let _ = Box::new([5; 30]);
+   |
 
 error: `box_syntax` has been removed
   --> $DIR/removed-syntax-box.rs:13:22
@@ -50,8 +54,9 @@ LL |     let _: Box<()> = box ();
    |
 help: use `Box::new()` instead
    |
-LL |     let _: Box<()> = Box::new(());
-   |                      ~~~~~~~~~  +
+LL -     let _: Box<()> = box ();
+LL +     let _: Box<()> = Box::new(());
+   |
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/ui/parser/suggest-assoc-const.stderr b/tests/ui/parser/suggest-assoc-const.stderr
index 70ebeded313..8cb304ced37 100644
--- a/tests/ui/parser/suggest-assoc-const.stderr
+++ b/tests/ui/parser/suggest-assoc-const.stderr
@@ -6,8 +6,9 @@ LL |     let _X: i32;
    |
 help: consider using `const` instead of `let` for associated const
    |
-LL |     const _X: i32;
-   |     ~~~~~
+LL -     let _X: i32;
+LL +     const _X: i32;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/suggest-remove-compount-assign-let-ice.stderr b/tests/ui/parser/suggest-remove-compount-assign-let-ice.stderr
index 59716d69b50..477ec516d66 100644
--- a/tests/ui/parser/suggest-remove-compount-assign-let-ice.stderr
+++ b/tests/ui/parser/suggest-remove-compount-assign-let-ice.stderr
@@ -6,8 +6,9 @@ LL |     let x ➖= 1;
    |
 help: Unicode character '➖' (Heavy Minus Sign) looks like '-' (Minus/Hyphen), but it is not
    |
-LL |     let x -= 1;
-   |           ~
+LL -     let x ➖= 1;
+LL +     let x -= 1;
+   |
 
 error: can't reassign to an uninitialized variable
   --> $DIR/suggest-remove-compount-assign-let-ice.rs:13:11
diff --git a/tests/ui/parser/trailing-question-in-type.stderr b/tests/ui/parser/trailing-question-in-type.stderr
index a3cd419c0c7..066c38d4c4f 100644
--- a/tests/ui/parser/trailing-question-in-type.stderr
+++ b/tests/ui/parser/trailing-question-in-type.stderr
@@ -6,8 +6,9 @@ LL | fn foo() -> i32? {
    |
 help: if you meant to express that the type might not contain a value, use the `Option` wrapper type
    |
-LL | fn foo() -> Option<i32> {
-   |             +++++++   ~
+LL - fn foo() -> i32? {
+LL + fn foo() -> Option<i32> {
+   |
 
 error: invalid `?` in type
   --> $DIR/trailing-question-in-type.rs:4:15
@@ -17,8 +18,9 @@ LL |     let x: i32? = Some(1);
    |
 help: if you meant to express that the type might not contain a value, use the `Option` wrapper type
    |
-LL |     let x: Option<i32> = Some(1);
-   |            +++++++   ~
+LL -     let x: i32? = Some(1);
+LL +     let x: Option<i32> = Some(1);
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/parser/type-ascription-in-pattern.stderr b/tests/ui/parser/type-ascription-in-pattern.stderr
index 09190754993..d29c76baa7b 100644
--- a/tests/ui/parser/type-ascription-in-pattern.stderr
+++ b/tests/ui/parser/type-ascription-in-pattern.stderr
@@ -8,8 +8,9 @@ LL |         x: i32 => x,
    |
 help: maybe write a path separator here
    |
-LL |         x::i32 => x,
-   |          ~~
+LL -         x: i32 => x,
+LL +         x::i32 => x,
+   |
 
 error: expected one of `...`, `..=`, `..`, or `|`, found `:`
   --> $DIR/type-ascription-in-pattern.rs:12:11
@@ -37,8 +38,9 @@ LL |         x: i32 => (),
    |
 help: maybe write a path separator here
    |
-LL |         x::i32 => (),
-   |          ~~
+LL -         x: i32 => (),
+LL +         x::i32 => (),
+   |
 
 error[E0308]: mismatched types
   --> $DIR/type-ascription-in-pattern.rs:3:19
diff --git a/tests/ui/parser/typod-const-in-const-param-def.stderr b/tests/ui/parser/typod-const-in-const-param-def.stderr
index 80c0f1deae6..bf7168a0157 100644
--- a/tests/ui/parser/typod-const-in-const-param-def.stderr
+++ b/tests/ui/parser/typod-const-in-const-param-def.stderr
@@ -6,8 +6,9 @@ LL | pub fn foo<Const N: u8>() {}
    |
 help: use the `const` keyword (notice the capitalization difference)
    |
-LL | pub fn foo<const N: u8>() {}
-   |            ~~~~~
+LL - pub fn foo<Const N: u8>() {}
+LL + pub fn foo<const N: u8>() {}
+   |
 
 error: `const` keyword was mistyped as `Const`
   --> $DIR/typod-const-in-const-param-def.rs:7:12
@@ -17,8 +18,9 @@ LL | pub fn baz<Const N: u8, T>() {}
    |
 help: use the `const` keyword (notice the capitalization difference)
    |
-LL | pub fn baz<const N: u8, T>() {}
-   |            ~~~~~
+LL - pub fn baz<Const N: u8, T>() {}
+LL + pub fn baz<const N: u8, T>() {}
+   |
 
 error: `const` keyword was mistyped as `Const`
   --> $DIR/typod-const-in-const-param-def.rs:10:15
@@ -28,8 +30,9 @@ LL | pub fn qux<T, Const N: u8>() {}
    |
 help: use the `const` keyword (notice the capitalization difference)
    |
-LL | pub fn qux<T, const N: u8>() {}
-   |               ~~~~~
+LL - pub fn qux<T, Const N: u8>() {}
+LL + pub fn qux<T, const N: u8>() {}
+   |
 
 error: `const` keyword was mistyped as `Const`
   --> $DIR/typod-const-in-const-param-def.rs:13:16
@@ -39,8 +42,9 @@ LL | pub fn quux<T, Const N: u8, U>() {}
    |
 help: use the `const` keyword (notice the capitalization difference)
    |
-LL | pub fn quux<T, const N: u8, U>() {}
-   |                ~~~~~
+LL - pub fn quux<T, Const N: u8, U>() {}
+LL + pub fn quux<T, const N: u8, U>() {}
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/parser/unicode-character-literal.stderr b/tests/ui/parser/unicode-character-literal.stderr
index a1561e7f04b..8ce2354f0b9 100644
--- a/tests/ui/parser/unicode-character-literal.stderr
+++ b/tests/ui/parser/unicode-character-literal.stderr
@@ -11,8 +11,9 @@ LL |     let _spade = '♠️';
    |                   ^
 help: if you meant to write a string literal, use double quotes
    |
-LL |     let _spade = "♠️";
-   |                  ~ ~
+LL -     let _spade = '♠️';
+LL +     let _spade = "♠️";
+   |
 
 error: character literal may only contain one codepoint
   --> $DIR/unicode-character-literal.rs:12:14
@@ -27,8 +28,9 @@ LL |     let _s = 'ṩ̂̊';
    |               ^
 help: if you meant to write a string literal, use double quotes
    |
-LL |     let _s = "ṩ̂̊";
-   |              ~ ~
+LL -     let _s = 'ṩ̂̊';
+LL +     let _s = "ṩ̂̊";
+   |
 
 error: character literal may only contain one codepoint
   --> $DIR/unicode-character-literal.rs:17:14
@@ -43,8 +45,9 @@ LL |     let _a = 'Å';
    |               ^
 help: consider using the normalized form `\u{c5}` of this character
    |
-LL |     let _a = 'Å';
-   |               ~
+LL -     let _a = 'Å';
+LL +     let _a = 'Å';
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/parser/unicode-chars.stderr b/tests/ui/parser/unicode-chars.stderr
index 086de5ec099..a18a6ad10dd 100644
--- a/tests/ui/parser/unicode-chars.stderr
+++ b/tests/ui/parser/unicode-chars.stderr
@@ -6,8 +6,9 @@ LL |     let y = 0;
    |
 help: Unicode character ';' (Greek Question Mark) looks like ';' (Semicolon), but it is not
    |
-LL |     let y = 0;
-   |              ~
+LL -     let y = 0;
+LL +     let y = 0;
+   |
 
 error: unknown start of token: \u{a0}
   --> $DIR/unicode-chars.rs:5:5
@@ -29,8 +30,9 @@ LL |     let _ = 1 ⩵ 2;
    |
 help: Unicode character '⩵' (Two Consecutive Equals Signs) looks like '==' (Double Equals Sign), but it is not
    |
-LL |     let _ = 1 == 2;
-   |               ~~
+LL -     let _ = 1 ⩵ 2;
+LL +     let _ = 1 == 2;
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/parser/unicode-control-codepoints.stderr b/tests/ui/parser/unicode-control-codepoints.stderr
index 2893194308e..27b95f9ac61 100644
--- a/tests/ui/parser/unicode-control-codepoints.stderr
+++ b/tests/ui/parser/unicode-control-codepoints.stderr
@@ -22,8 +22,9 @@ LL |     println!("{:?}", b"/*� } �if isAdmin� � begin admins only ");
    |
 help: if you meant to use the UTF-8 encoding of '\u{202e}', use \xHH escapes
    |
-LL |     println!("{:?}", b"/*\xE2\x80\xAE } �if isAdmin� � begin admins only ");
-   |                          ~~~~~~~~~~~~
+LL -     println!("{:?}", b"/*� } �if isAdmin� � begin admins only ");
+LL +     println!("{:?}", b"/*\xE2\x80\xAE } �if isAdmin� � begin admins only ");
+   |
 
 error: non-ASCII character in byte string literal
   --> $DIR/unicode-control-codepoints.rs:18:30
@@ -33,8 +34,9 @@ LL |     println!("{:?}", b"/*� } �if isAdmin� � begin admins only ");
    |
 help: if you meant to use the UTF-8 encoding of '\u{2066}', use \xHH escapes
    |
-LL |     println!("{:?}", b"/*� } \xE2\x81\xA6if isAdmin� � begin admins only ");
-   |                              ~~~~~~~~~~~~
+LL -     println!("{:?}", b"/*� } �if isAdmin� � begin admins only ");
+LL +     println!("{:?}", b"/*� } \xE2\x81\xA6if isAdmin� � begin admins only ");
+   |
 
 error: non-ASCII character in byte string literal
   --> $DIR/unicode-control-codepoints.rs:18:41
@@ -44,8 +46,9 @@ LL |     println!("{:?}", b"/*� } �if isAdmin� � begin admins only ");
    |
 help: if you meant to use the UTF-8 encoding of '\u{2069}', use \xHH escapes
    |
-LL |     println!("{:?}", b"/*� } �if isAdmin\xE2\x81\xA9 � begin admins only ");
-   |                                         ~~~~~~~~~~~~
+LL -     println!("{:?}", b"/*� } �if isAdmin� � begin admins only ");
+LL +     println!("{:?}", b"/*� } �if isAdmin\xE2\x81\xA9 � begin admins only ");
+   |
 
 error: non-ASCII character in byte string literal
   --> $DIR/unicode-control-codepoints.rs:18:43
@@ -55,8 +58,9 @@ LL |     println!("{:?}", b"/*� } �if isAdmin� � begin admins only ");
    |
 help: if you meant to use the UTF-8 encoding of '\u{2066}', use \xHH escapes
    |
-LL |     println!("{:?}", b"/*� } �if isAdmin� \xE2\x81\xA6 begin admins only ");
-   |                                           ~~~~~~~~~~~~
+LL -     println!("{:?}", b"/*� } �if isAdmin� � begin admins only ");
+LL +     println!("{:?}", b"/*� } �if isAdmin� \xE2\x81\xA6 begin admins only ");
+   |
 
 error: non-ASCII character in raw byte string literal
   --> $DIR/unicode-control-codepoints.rs:23:29
@@ -128,8 +132,9 @@ LL |     println!("{:?}", "/*� } �if isAdmin� � begin admins only ");
    = help: if their presence wasn't intentional, you can remove them
 help: if you want to keep them but make them visible in your source code, you can escape them
    |
-LL |     println!("{:?}", "/*\u{202e} } \u{2066}if isAdmin\u{2069} \u{2066} begin admins only ");
-   |                         ~~~~~~~~   ~~~~~~~~          ~~~~~~~~ ~~~~~~~~
+LL -     println!("{:?}", "/*� } �if isAdmin� � begin admins only ");
+LL +     println!("{:?}", "/*\u{202e} } \u{2066}if isAdmin\u{2069} \u{2066} begin admins only ");
+   |
 
 error: unicode codepoint changing visible direction of text present in literal
   --> $DIR/unicode-control-codepoints.rs:16:22
@@ -147,8 +152,9 @@ LL |     println!("{:?}", r##"/*� } �if isAdmin� � begin admins only "##
    = help: if their presence wasn't intentional, you can remove them
 help: if you want to keep them but make them visible in your source code, you can escape them
    |
-LL |     println!("{:?}", r##"/*\u{202e} } \u{2066}if isAdmin\u{2069} \u{2066} begin admins only "##);
-   |                            ~~~~~~~~   ~~~~~~~~          ~~~~~~~~ ~~~~~~~~
+LL -     println!("{:?}", r##"/*� } �if isAdmin� � begin admins only "##);
+LL +     println!("{:?}", r##"/*\u{202e} } \u{2066}if isAdmin\u{2069} \u{2066} begin admins only "##);
+   |
 
 error: unicode codepoint changing visible direction of text present in literal
   --> $DIR/unicode-control-codepoints.rs:28:22
@@ -163,8 +169,9 @@ LL |     println!("{:?}", '�');
    = help: if their presence wasn't intentional, you can remove them
 help: if you want to keep them but make them visible in your source code, you can escape them
    |
-LL |     println!("{:?}", '\u{202e}');
-   |                       ~~~~~~~~
+LL -     println!("{:?}", '�');
+LL +     println!("{:?}", '\u{202e}');
+   |
 
 error: unicode codepoint changing visible direction of text present in literal
   --> $DIR/unicode-control-codepoints.rs:31:13
@@ -179,8 +186,9 @@ LL |     let _ = c"�";
    = help: if their presence wasn't intentional, you can remove them
 help: if you want to keep them but make them visible in your source code, you can escape them
    |
-LL |     let _ = c"\u{202e}";
-   |               ~~~~~~~~
+LL -     let _ = c"�";
+LL +     let _ = c"\u{202e}";
+   |
 
 error: unicode codepoint changing visible direction of text present in literal
   --> $DIR/unicode-control-codepoints.rs:33:13
@@ -195,8 +203,9 @@ LL |     let _ = cr#"�"#;
    = help: if their presence wasn't intentional, you can remove them
 help: if you want to keep them but make them visible in your source code, you can escape them
    |
-LL |     let _ = cr#"\u{202e}"#;
-   |                 ~~~~~~~~
+LL -     let _ = cr#"�"#;
+LL +     let _ = cr#"\u{202e}"#;
+   |
 
 error: unicode codepoint changing visible direction of text present in format string
   --> $DIR/unicode-control-codepoints.rs:36:14
@@ -211,8 +220,9 @@ LL |     println!("{{�}}");
    = help: if their presence wasn't intentional, you can remove them
 help: if you want to keep them but make them visible in your source code, you can escape them
    |
-LL |     println!("{{\u{202e}}}");
-   |                 ~~~~~~~~
+LL -     println!("{{�}}");
+LL +     println!("{{\u{202e}}}");
+   |
 
 error: unicode codepoint changing visible direction of text present in doc comment
   --> $DIR/unicode-control-codepoints.rs:43:1
diff --git a/tests/ui/parser/unicode-quote-chars.stderr b/tests/ui/parser/unicode-quote-chars.stderr
index 092abeb53cd..0ffb204d64a 100644
--- a/tests/ui/parser/unicode-quote-chars.stderr
+++ b/tests/ui/parser/unicode-quote-chars.stderr
@@ -6,8 +6,9 @@ LL |     println!(“hello world”);
    |
 help: Unicode characters '“' (Left Double Quotation Mark) and '”' (Right Double Quotation Mark) look like '"' (Quotation Mark), but are not
    |
-LL |     println!("hello world");
-   |              ~~~~~~~~~~~~~
+LL -     println!(“hello world”);
+LL +     println!("hello world");
+   |
 
 error: unknown start of token: \u{201d}
   --> $DIR/unicode-quote-chars.rs:2:26
@@ -17,8 +18,9 @@ LL |     println!(“hello world”);
    |
 help: Unicode character '”' (Right Double Quotation Mark) looks like '"' (Quotation Mark), but it is not
    |
-LL |     println!(“hello world");
-   |                          ~
+LL -     println!(“hello world”);
+LL +     println!(“hello world");
+   |
 
 error: expected `,`, found `world`
   --> $DIR/unicode-quote-chars.rs:2:21
diff --git a/tests/ui/parser/unnecessary-let.stderr b/tests/ui/parser/unnecessary-let.stderr
index 0b28123747a..d75d1943f2f 100644
--- a/tests/ui/parser/unnecessary-let.stderr
+++ b/tests/ui/parser/unnecessary-let.stderr
@@ -18,8 +18,9 @@ LL |     for let _x of [1, 2, 3] {}
    |
 help: try using `in` here instead
    |
-LL |     for let _x in [1, 2, 3] {}
-   |                ~~
+LL -     for let _x of [1, 2, 3] {}
+LL +     for let _x in [1, 2, 3] {}
+   |
 
 error: expected pattern, found `let`
   --> $DIR/unnecessary-let.rs:9:9
diff --git a/tests/ui/parser/use-colon-as-mod-sep.stderr b/tests/ui/parser/use-colon-as-mod-sep.stderr
index 347b271df99..f25a779f31f 100644
--- a/tests/ui/parser/use-colon-as-mod-sep.stderr
+++ b/tests/ui/parser/use-colon-as-mod-sep.stderr
@@ -7,8 +7,9 @@ LL | use std::process:Command;
    = note: import paths are delimited using `::`
 help: use double colon
    |
-LL | use std::process::Command;
-   |                 ~~
+LL - use std::process:Command;
+LL + use std::process::Command;
+   |
 
 error: expected `::`, found `:`
   --> $DIR/use-colon-as-mod-sep.rs:5:8
@@ -19,8 +20,9 @@ LL | use std:fs::File;
    = note: import paths are delimited using `::`
 help: use double colon
    |
-LL | use std::fs::File;
-   |        ~~
+LL - use std:fs::File;
+LL + use std::fs::File;
+   |
 
 error: expected `::`, found `:`
   --> $DIR/use-colon-as-mod-sep.rs:7:8
@@ -31,8 +33,9 @@ LL | use std:collections:HashMap;
    = note: import paths are delimited using `::`
 help: use double colon
    |
-LL | use std::collections:HashMap;
-   |        ~~
+LL - use std:collections:HashMap;
+LL + use std::collections:HashMap;
+   |
 
 error: expected `::`, found `:`
   --> $DIR/use-colon-as-mod-sep.rs:7:20
@@ -43,8 +46,9 @@ LL | use std:collections:HashMap;
    = note: import paths are delimited using `::`
 help: use double colon
    |
-LL | use std:collections::HashMap;
-   |                    ~~
+LL - use std:collections:HashMap;
+LL + use std:collections::HashMap;
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/parser/utf16-be-without-bom.stderr b/tests/ui/parser/utf16-be-without-bom.stderr
index b915c7941b3..0493bcbc77a 100644
--- a/tests/ui/parser/utf16-be-without-bom.stderr
+++ b/tests/ui/parser/utf16-be-without-bom.stderr
@@ -110,8 +110,9 @@ LL | ␀f␀n␀ ␀m␀a␀i␀n␀(␀)␀ ␀{␀}␀
    |
 help: consider removing the space to spell keyword `fn`
    |
-LL | ␀fn␀ ␀m␀a␀i␀n␀(␀)␀ ␀{␀}␀
-   |  ~~
+LL - ␀f␀n␀ ␀m␀a␀i␀n␀(␀)␀ ␀{␀}␀
+LL + ␀fn␀ ␀m␀a␀i␀n␀(␀)␀ ␀{␀}␀
+   |
 
 error: aborting due to 14 previous errors
 
diff --git a/tests/ui/parser/utf16-le-without-bom.stderr b/tests/ui/parser/utf16-le-without-bom.stderr
index d937a07bc66..4b195ed0da1 100644
--- a/tests/ui/parser/utf16-le-without-bom.stderr
+++ b/tests/ui/parser/utf16-le-without-bom.stderr
@@ -110,8 +110,9 @@ LL | f␀n␀ ␀m␀a␀i␀n␀(␀)␀ ␀{␀}␀
    |
 help: consider removing the space to spell keyword `fn`
    |
-LL | fn␀ ␀m␀a␀i␀n␀(␀)␀ ␀{␀}␀
-   | ~~
+LL - f␀n␀ ␀m␀a␀i␀n␀(␀)␀ ␀{␀}␀
+LL + fn␀ ␀m␀a␀i␀n␀(␀)␀ ␀{␀}␀
+   |
 
 error: aborting due to 14 previous errors
 
diff --git a/tests/ui/pattern/bindings-after-at/wild-before-at-syntactically-rejected.stderr b/tests/ui/pattern/bindings-after-at/wild-before-at-syntactically-rejected.stderr
index 1599edd7a99..0960af705ce 100644
--- a/tests/ui/pattern/bindings-after-at/wild-before-at-syntactically-rejected.stderr
+++ b/tests/ui/pattern/bindings-after-at/wild-before-at-syntactically-rejected.stderr
@@ -9,8 +9,9 @@ LL |     let _ @ a = 0;
    |
 help: switch the order
    |
-LL |     let a @ _ = 0;
-   |         ~~~~~
+LL -     let _ @ a = 0;
+LL +     let a @ _ = 0;
+   |
 
 error: pattern on wrong side of `@`
   --> $DIR/wild-before-at-syntactically-rejected.rs:10:9
@@ -23,8 +24,9 @@ LL |     let _ @ ref a = 0;
    |
 help: switch the order
    |
-LL |     let ref a @ _ = 0;
-   |         ~~~~~~~~~
+LL -     let _ @ ref a = 0;
+LL +     let ref a @ _ = 0;
+   |
 
 error: pattern on wrong side of `@`
   --> $DIR/wild-before-at-syntactically-rejected.rs:12:9
@@ -37,8 +39,9 @@ LL |     let _ @ ref mut a = 0;
    |
 help: switch the order
    |
-LL |     let ref mut a @ _ = 0;
-   |         ~~~~~~~~~~~~~
+LL -     let _ @ ref mut a = 0;
+LL +     let ref mut a @ _ = 0;
+   |
 
 error: left-hand side of `@` must be a binding
   --> $DIR/wild-before-at-syntactically-rejected.rs:14:9
diff --git a/tests/ui/pattern/incorrect-placement-of-pattern-modifiers.stderr b/tests/ui/pattern/incorrect-placement-of-pattern-modifiers.stderr
index e80789253c0..31f8feb1a71 100644
--- a/tests/ui/pattern/incorrect-placement-of-pattern-modifiers.stderr
+++ b/tests/ui/pattern/incorrect-placement-of-pattern-modifiers.stderr
@@ -50,8 +50,9 @@ LL |     let _: usize = 3u8;
    |
 help: change the type of the numeric literal from `u8` to `usize`
    |
-LL |     let _: usize = 3usize;
-   |                     ~~~~~
+LL -     let _: usize = 3u8;
+LL +     let _: usize = 3usize;
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/pattern/issue-72574-1.stderr b/tests/ui/pattern/issue-72574-1.stderr
index 653869a237d..a9076c3dff6 100644
--- a/tests/ui/pattern/issue-72574-1.stderr
+++ b/tests/ui/pattern/issue-72574-1.stderr
@@ -7,8 +7,9 @@ LL |         (_a, _x @ ..) => {}
    = help: remove this and bind each tuple field independently
 help: if you don't need to use the contents of _x, discard the tuple's remaining fields
    |
-LL |         (_a, ..) => {}
-   |              ~~
+LL -         (_a, _x @ ..) => {}
+LL +         (_a, ..) => {}
+   |
 
 error: `..` patterns are not allowed here
   --> $DIR/issue-72574-1.rs:4:19
diff --git a/tests/ui/pattern/issue-72574-2.stderr b/tests/ui/pattern/issue-72574-2.stderr
index 05650f05cbf..8edc2634eed 100644
--- a/tests/ui/pattern/issue-72574-2.stderr
+++ b/tests/ui/pattern/issue-72574-2.stderr
@@ -7,8 +7,9 @@ LL |         Binder(_a, _x @ ..) => {}
    = help: remove this and bind each tuple field independently
 help: if you don't need to use the contents of _x, discard the tuple's remaining fields
    |
-LL |         Binder(_a, ..) => {}
-   |                    ~~
+LL -         Binder(_a, _x @ ..) => {}
+LL +         Binder(_a, ..) => {}
+   |
 
 error: `..` patterns are not allowed here
   --> $DIR/issue-72574-2.rs:6:25
diff --git a/tests/ui/pattern/issue-74539.stderr b/tests/ui/pattern/issue-74539.stderr
index 7443946c013..b6bd084ca4b 100644
--- a/tests/ui/pattern/issue-74539.stderr
+++ b/tests/ui/pattern/issue-74539.stderr
@@ -7,8 +7,9 @@ LL |         E::A(x @ ..) => {
    = help: remove this and bind each tuple field independently
 help: if you don't need to use the contents of x, discard the tuple's remaining fields
    |
-LL |         E::A(..) => {
-   |              ~~
+LL -         E::A(x @ ..) => {
+LL +         E::A(..) => {
+   |
 
 error: `..` patterns are not allowed here
   --> $DIR/issue-74539.rs:8:18
diff --git a/tests/ui/pattern/issue-74702.stderr b/tests/ui/pattern/issue-74702.stderr
index f2e2c8f021b..5bb58de1c6e 100644
--- a/tests/ui/pattern/issue-74702.stderr
+++ b/tests/ui/pattern/issue-74702.stderr
@@ -7,8 +7,9 @@ LL |     let (foo @ ..,) = (0, 0);
    = help: remove this and bind each tuple field independently
 help: if you don't need to use the contents of foo, discard the tuple's remaining fields
    |
-LL |     let (..,) = (0, 0);
-   |          ~~
+LL -     let (foo @ ..,) = (0, 0);
+LL +     let (..,) = (0, 0);
+   |
 
 error: `..` patterns are not allowed here
   --> $DIR/issue-74702.rs:2:16
diff --git a/tests/ui/pattern/issue-80186-mut-binding-help-suggestion.stderr b/tests/ui/pattern/issue-80186-mut-binding-help-suggestion.stderr
index 622358126b0..b61f8dbab00 100644
--- a/tests/ui/pattern/issue-80186-mut-binding-help-suggestion.stderr
+++ b/tests/ui/pattern/issue-80186-mut-binding-help-suggestion.stderr
@@ -7,8 +7,9 @@ LL |     let mut &x = &0;
    = note: `mut` may be followed by `variable` and `variable @ pattern`
 help: add `mut` to each binding
    |
-LL |     let &(mut x) = &0;
-   |         ~~~~~~~~
+LL -     let mut &x = &0;
+LL +     let &(mut x) = &0;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/pattern/pat-tuple-field-count-cross.stderr b/tests/ui/pattern/pat-tuple-field-count-cross.stderr
index 0d7f2e4af69..c084ec0b532 100644
--- a/tests/ui/pattern/pat-tuple-field-count-cross.stderr
+++ b/tests/ui/pattern/pat-tuple-field-count-cross.stderr
@@ -25,12 +25,14 @@ LL | pub struct Z1();
    |
 help: use this syntax instead
    |
-LL |         Z0 => {}
-   |         ~~
+LL -         Z0() => {}
+LL +         Z0 => {}
+   |
 help: a tuple struct with a similar name exists
    |
-LL |         Z1() => {}
-   |         ~~
+LL -         Z0() => {}
+LL +         Z1() => {}
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found unit struct `Z0`
   --> $DIR/pat-tuple-field-count-cross.rs:10:9
@@ -47,12 +49,14 @@ LL | pub struct Z1();
    |
 help: use this syntax instead
    |
-LL |         Z0 => {}
-   |         ~~
+LL -         Z0(x) => {}
+LL +         Z0 => {}
+   |
 help: a tuple struct with a similar name exists
    |
-LL |         Z1(x) => {}
-   |         ~~
+LL -         Z0(x) => {}
+LL +         Z1(x) => {}
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found unit variant `E1::Z0`
   --> $DIR/pat-tuple-field-count-cross.rs:31:9
@@ -69,12 +73,14 @@ LL | pub enum E1 { Z0, Z1(), S(u8, u8, u8) }
    |
 help: use this syntax instead
    |
-LL |         E1::Z0 => {}
-   |         ~~~~~~
+LL -         E1::Z0() => {}
+LL +         E1::Z0 => {}
+   |
 help: a tuple variant with a similar name exists
    |
-LL |         E1::Z1() => {}
-   |             ~~
+LL -         E1::Z0() => {}
+LL +         E1::Z1() => {}
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found unit variant `E1::Z0`
   --> $DIR/pat-tuple-field-count-cross.rs:32:9
@@ -91,12 +97,14 @@ LL | pub enum E1 { Z0, Z1(), S(u8, u8, u8) }
    |
 help: use this syntax instead
    |
-LL |         E1::Z0 => {}
-   |         ~~~~~~
+LL -         E1::Z0(x) => {}
+LL +         E1::Z0 => {}
+   |
 help: a tuple variant with a similar name exists
    |
-LL |         E1::Z1(x) => {}
-   |             ~~
+LL -         E1::Z0(x) => {}
+LL +         E1::Z1(x) => {}
+   |
 
 error[E0532]: expected unit struct, unit variant or constant, found tuple variant `E1::Z1`
   --> $DIR/pat-tuple-field-count-cross.rs:35:9
@@ -113,12 +121,14 @@ LL | pub enum E1 { Z0, Z1(), S(u8, u8, u8) }
    |
 help: use the tuple variant pattern syntax instead
    |
-LL |         E1::Z1() => {}
-   |         ~~~~~~~~
+LL -         E1::Z1 => {}
+LL +         E1::Z1() => {}
+   |
 help: a unit variant with a similar name exists
    |
-LL |         E1::Z0 => {}
-   |             ~~
+LL -         E1::Z1 => {}
+LL +         E1::Z0 => {}
+   |
 
 error[E0023]: this pattern has 1 field, but the corresponding tuple struct has 0 fields
   --> $DIR/pat-tuple-field-count-cross.rs:14:12
diff --git a/tests/ui/pattern/pat-tuple-overfield.stderr b/tests/ui/pattern/pat-tuple-overfield.stderr
index 54d89e03101..4e8261cb15b 100644
--- a/tests/ui/pattern/pat-tuple-overfield.stderr
+++ b/tests/ui/pattern/pat-tuple-overfield.stderr
@@ -23,12 +23,14 @@ LL |         Z0() => {}
    |
 help: use this syntax instead
    |
-LL |         Z0 => {}
-   |         ~~
+LL -         Z0() => {}
+LL +         Z0 => {}
+   |
 help: a tuple struct with a similar name exists
    |
-LL |         Z1() => {}
-   |         ~~
+LL -         Z0() => {}
+LL +         Z1() => {}
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found unit struct `Z0`
   --> $DIR/pat-tuple-overfield.rs:53:9
@@ -43,12 +45,14 @@ LL |         Z0(_) => {}
    |
 help: use this syntax instead
    |
-LL |         Z0 => {}
-   |         ~~
+LL -         Z0(_) => {}
+LL +         Z0 => {}
+   |
 help: a tuple struct with a similar name exists
    |
-LL |         Z1(_) => {}
-   |         ~~
+LL -         Z0(_) => {}
+LL +         Z1(_) => {}
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found unit struct `Z0`
   --> $DIR/pat-tuple-overfield.rs:54:9
@@ -63,12 +67,14 @@ LL |         Z0(_, _) => {}
    |
 help: use this syntax instead
    |
-LL |         Z0 => {}
-   |         ~~
+LL -         Z0(_, _) => {}
+LL +         Z0 => {}
+   |
 help: a tuple struct with a similar name exists
    |
-LL |         Z1(_, _) => {}
-   |         ~~
+LL -         Z0(_, _) => {}
+LL +         Z1(_, _) => {}
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found unit variant `E1::Z0`
   --> $DIR/pat-tuple-overfield.rs:64:9
@@ -83,12 +89,14 @@ LL |         E1::Z0() => {}
    |
 help: use this syntax instead
    |
-LL |         E1::Z0 => {}
-   |         ~~~~~~
+LL -         E1::Z0() => {}
+LL +         E1::Z0 => {}
+   |
 help: a tuple variant with a similar name exists
    |
-LL |         E1::Z1() => {}
-   |             ~~
+LL -         E1::Z0() => {}
+LL +         E1::Z1() => {}
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found unit variant `E1::Z0`
   --> $DIR/pat-tuple-overfield.rs:65:9
@@ -103,12 +111,14 @@ LL |         E1::Z0(_) => {}
    |
 help: use this syntax instead
    |
-LL |         E1::Z0 => {}
-   |         ~~~~~~
+LL -         E1::Z0(_) => {}
+LL +         E1::Z0 => {}
+   |
 help: a tuple variant with a similar name exists
    |
-LL |         E1::Z1(_) => {}
-   |             ~~
+LL -         E1::Z0(_) => {}
+LL +         E1::Z1(_) => {}
+   |
 
 error[E0532]: expected tuple struct or tuple variant, found unit variant `E1::Z0`
   --> $DIR/pat-tuple-overfield.rs:66:9
@@ -123,12 +133,14 @@ LL |         E1::Z0(_, _) => {}
    |
 help: use this syntax instead
    |
-LL |         E1::Z0 => {}
-   |         ~~~~~~
+LL -         E1::Z0(_, _) => {}
+LL +         E1::Z0 => {}
+   |
 help: a tuple variant with a similar name exists
    |
-LL |         E1::Z1(_, _) => {}
-   |             ~~
+LL -         E1::Z0(_, _) => {}
+LL +         E1::Z1(_, _) => {}
+   |
 
 error[E0532]: expected unit struct, unit variant or constant, found tuple variant `E1::Z1`
   --> $DIR/pat-tuple-overfield.rs:69:9
@@ -143,12 +155,14 @@ LL |         E1::Z1 => {}
    |
 help: use the tuple variant pattern syntax instead
    |
-LL |         E1::Z1() => {}
-   |         ~~~~~~~~
+LL -         E1::Z1 => {}
+LL +         E1::Z1() => {}
+   |
 help: a unit variant with a similar name exists
    |
-LL |         E1::Z0 => {}
-   |             ~~
+LL -         E1::Z1 => {}
+LL +         E1::Z0 => {}
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pat-tuple-overfield.rs:19:9
diff --git a/tests/ui/pattern/pat-tuple-underfield.stderr b/tests/ui/pattern/pat-tuple-underfield.stderr
index e75f9b38da5..c8620fe85c3 100644
--- a/tests/ui/pattern/pat-tuple-underfield.stderr
+++ b/tests/ui/pattern/pat-tuple-underfield.stderr
@@ -36,8 +36,9 @@ LL |         S(_, _) => {}
    |            +++
 help: use `..` to ignore all fields
    |
-LL |         S(..) => {}
-   |           ~~
+LL -         S(_) => {}
+LL +         S(..) => {}
+   |
 
 error[E0023]: this pattern has 0 fields, but the corresponding tuple struct has 2 fields
   --> $DIR/pat-tuple-underfield.rs:20:9
@@ -104,8 +105,9 @@ LL |         E::S(_, _) => {}
    |               +++
 help: use `..` to ignore all fields
    |
-LL |         E::S(..) => {}
-   |              ~~
+LL -         E::S(_) => {}
+LL +         E::S(..) => {}
+   |
 
 error[E0023]: this pattern has 0 fields, but the corresponding tuple variant has 2 fields
   --> $DIR/pat-tuple-underfield.rs:44:9
@@ -158,8 +160,9 @@ LL |         Point4(   a   ,     _    , _, _) => {}
    |                                  ++++++
 help: use `..` to ignore the rest of the fields
    |
-LL |         Point4(   a, ..) => {}
-   |                    ~~~~
+LL -         Point4(   a   ,     _    ) => {}
+LL +         Point4(   a, ..) => {}
+   |
 
 error: aborting due to 10 previous errors
 
diff --git a/tests/ui/pattern/patkind-ref-binding-issue-114896.stderr b/tests/ui/pattern/patkind-ref-binding-issue-114896.stderr
index e9c2fccaba2..a12b94176c0 100644
--- a/tests/ui/pattern/patkind-ref-binding-issue-114896.stderr
+++ b/tests/ui/pattern/patkind-ref-binding-issue-114896.stderr
@@ -6,8 +6,9 @@ LL |         b.make_ascii_uppercase();
    |
 help: consider changing this to be mutable
    |
-LL |         let &(mut b) = a;
-   |             ~~~~~  +
+LL -         let &b = a;
+LL +         let &(mut b) = a;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/pattern/patkind-ref-binding-issue-122415.stderr b/tests/ui/pattern/patkind-ref-binding-issue-122415.stderr
index e93b8bbaccc..68141af4910 100644
--- a/tests/ui/pattern/patkind-ref-binding-issue-122415.stderr
+++ b/tests/ui/pattern/patkind-ref-binding-issue-122415.stderr
@@ -6,8 +6,9 @@ LL |     mutate(&mut x);
    |
 help: consider changing this to be mutable
    |
-LL | fn foo(&(mut x): &i32) {
-   |        ~~~~~  +
+LL - fn foo(&x: &i32) {
+LL + fn foo(&(mut x): &i32) {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/pattern/pattern-bad-ref-box-order.stderr b/tests/ui/pattern/pattern-bad-ref-box-order.stderr
index a89d3ed21b6..6f47f704688 100644
--- a/tests/ui/pattern/pattern-bad-ref-box-order.stderr
+++ b/tests/ui/pattern/pattern-bad-ref-box-order.stderr
@@ -6,8 +6,9 @@ LL |         Some(ref box _i) => {},
    |
 help: swap them
    |
-LL |         Some(box ref _i) => {},
-   |              ~~~~~~~
+LL -         Some(ref box _i) => {},
+LL +         Some(box ref _i) => {},
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/pattern/pattern-error-continue.stderr b/tests/ui/pattern/pattern-error-continue.stderr
index 10fcccb0301..bb5582dd873 100644
--- a/tests/ui/pattern/pattern-error-continue.stderr
+++ b/tests/ui/pattern/pattern-error-continue.stderr
@@ -12,12 +12,14 @@ LL |         A::D(_) => (),
    |
 help: use this syntax instead
    |
-LL |         A::D => (),
-   |         ~~~~
+LL -         A::D(_) => (),
+LL +         A::D => (),
+   |
 help: a tuple variant with a similar name exists
    |
-LL |         A::B(_) => (),
-   |            ~
+LL -         A::D(_) => (),
+LL +         A::B(_) => (),
+   |
 
 error[E0023]: this pattern has 3 fields, but the corresponding tuple variant has 2 fields
   --> $DIR/pattern-error-continue.rs:17:14
diff --git a/tests/ui/pattern/range-pattern-meant-to-be-slice-rest-pattern.stderr b/tests/ui/pattern/range-pattern-meant-to-be-slice-rest-pattern.stderr
index 9d642b9245a..37b2d96bb01 100644
--- a/tests/ui/pattern/range-pattern-meant-to-be-slice-rest-pattern.stderr
+++ b/tests/ui/pattern/range-pattern-meant-to-be-slice-rest-pattern.stderr
@@ -6,8 +6,9 @@ LL |         [_, ...tail] => println!("{tail}"),
    |
 help: use `..=` instead
    |
-LL |         [_, ..=tail] => println!("{tail}"),
-   |             ~~~
+LL -         [_, ...tail] => println!("{tail}"),
+LL +         [_, ..=tail] => println!("{tail}"),
+   |
 
 error[E0425]: cannot find value `rest` in this scope
   --> $DIR/range-pattern-meant-to-be-slice-rest-pattern.rs:3:13
@@ -34,8 +35,9 @@ LL |         [_, ..tail] => println!("{tail}"),
    |
 help: if you meant to collect the rest of the slice in `tail`, use the at operator
    |
-LL |         [_, tail @ ..] => println!("{tail}"),
-   |             ~~~~~~~~~
+LL -         [_, ..tail] => println!("{tail}"),
+LL +         [_, tail @ ..] => println!("{tail}"),
+   |
 
 error[E0425]: cannot find value `tail` in this scope
   --> $DIR/range-pattern-meant-to-be-slice-rest-pattern.rs:11:35
@@ -51,8 +53,9 @@ LL |         [_, ...tail] => println!("{tail}"),
    |
 help: if you meant to collect the rest of the slice in `tail`, use the at operator
    |
-LL |         [_, tail @ ..] => println!("{tail}"),
-   |             ~~~~~~~~~
+LL -         [_, ...tail] => println!("{tail}"),
+LL +         [_, tail @ ..] => println!("{tail}"),
+   |
 
 error[E0425]: cannot find value `tail` in this scope
   --> $DIR/range-pattern-meant-to-be-slice-rest-pattern.rs:17:36
diff --git a/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/feature-gate-ref_pat_eat_one_layer_2024.stderr b/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/feature-gate-ref_pat_eat_one_layer_2024.stderr
index 132fe421a18..912eeb1c9c0 100644
--- a/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/feature-gate-ref_pat_eat_one_layer_2024.stderr
+++ b/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/feature-gate-ref_pat_eat_one_layer_2024.stderr
@@ -10,8 +10,9 @@ LL |     if let Some(Some(&x)) = &Some(&Some(0)) {
            found reference `&_`
 help: consider removing `&` from the pattern
    |
-LL |     if let Some(Some(x)) = &Some(&Some(0)) {
-   |                      ~
+LL -     if let Some(Some(&x)) = &Some(&Some(0)) {
+LL +     if let Some(Some(x)) = &Some(&Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/feature-gate-ref_pat_eat_one_layer_2024.rs:10:23
@@ -70,8 +71,9 @@ LL |     if let Some(Some(&mut x)) = &mut Some(&mut Some(0)) {
    |                      ^^^^^^
 help: consider removing `&mut` from the pattern
    |
-LL |     if let Some(Some(x)) = &mut Some(&mut Some(0)) {
-   |                      ~
+LL -     if let Some(Some(&mut x)) = &mut Some(&mut Some(0)) {
+LL +     if let Some(Some(x)) = &mut Some(&mut Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/feature-gate-ref_pat_eat_one_layer_2024.rs:25:22
@@ -85,8 +87,9 @@ LL |     if let Some(Some(&x)) = &Some(&Some(0)) {
            found reference `&_`
 help: consider removing `&` from the pattern
    |
-LL |     if let Some(Some(x)) = &Some(&Some(0)) {
-   |                      ~
+LL -     if let Some(Some(&x)) = &Some(&Some(0)) {
+LL +     if let Some(Some(x)) = &Some(&Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/feature-gate-ref_pat_eat_one_layer_2024.rs:29:27
@@ -100,8 +103,9 @@ LL |     if let Some(&mut Some(&x)) = &Some(&mut Some(0)) {
            found reference `&_`
 help: consider removing `&` from the pattern
    |
-LL |     if let Some(&mut Some(x)) = &Some(&mut Some(0)) {
-   |                           ~
+LL -     if let Some(&mut Some(&x)) = &Some(&mut Some(0)) {
+LL +     if let Some(&mut Some(x)) = &Some(&mut Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/feature-gate-ref_pat_eat_one_layer_2024.rs:33:23
@@ -120,8 +124,9 @@ LL |     if let Some(&Some(&mut x)) = &mut Some(&Some(0)) {
    |                       ^^^^^^
 help: consider removing `&mut` from the pattern
    |
-LL |     if let Some(&Some(x)) = &mut Some(&Some(0)) {
-   |                       ~
+LL -     if let Some(&Some(&mut x)) = &mut Some(&Some(0)) {
+LL +     if let Some(&Some(x)) = &mut Some(&Some(0)) {
+   |
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/mut-ref-mut.classic2024.stderr b/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/mut-ref-mut.classic2024.stderr
index afaa925a757..fa95b2b5a57 100644
--- a/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/mut-ref-mut.classic2024.stderr
+++ b/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/mut-ref-mut.classic2024.stderr
@@ -27,8 +27,9 @@ LL |     let [&mut mut x] = &[&mut 0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let [&mut x] = &[&mut 0];
-   |          ~
+LL -     let [&mut mut x] = &[&mut 0];
+LL +     let [&mut x] = &[&mut 0];
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/pattern-errors.classic2024.stderr b/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/pattern-errors.classic2024.stderr
index 3a124dcead5..6726a726315 100644
--- a/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/pattern-errors.classic2024.stderr
+++ b/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/pattern-errors.classic2024.stderr
@@ -7,8 +7,9 @@ LL |     if let Some(&mut x) = &Some(&mut 0) {
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     if let Some(&x) = &Some(&mut 0) {
-   |                 ~
+LL -     if let Some(&mut x) = &Some(&mut 0) {
+LL +     if let Some(&x) = &Some(&mut 0) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:18:17
@@ -19,8 +20,9 @@ LL |     if let Some(&mut Some(&x)) = &Some(&mut Some(0)) {
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     if let Some(&Some(&x)) = &Some(&mut Some(0)) {
-   |                 ~
+LL -     if let Some(&mut Some(&x)) = &Some(&mut Some(0)) {
+LL +     if let Some(&Some(&x)) = &Some(&mut Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:24:22
@@ -31,8 +33,9 @@ LL |     if let Some(Some(&mut x)) = &Some(Some(&mut 0)) {
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     if let Some(Some(&x)) = &Some(Some(&mut 0)) {
-   |                      ~
+LL -     if let Some(Some(&mut x)) = &Some(Some(&mut 0)) {
+LL +     if let Some(Some(&x)) = &Some(Some(&mut 0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:31:17
@@ -43,8 +46,9 @@ LL |     if let Some(&mut Some(&_)) = &Some(&Some(0)) {
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     if let Some(&Some(&_)) = &Some(&Some(0)) {
-   |                 ~
+LL -     if let Some(&mut Some(&_)) = &Some(&Some(0)) {
+LL +     if let Some(&Some(&_)) = &Some(&Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:41:23
@@ -55,8 +59,9 @@ LL |     if let Some(&Some(&mut _)) = &mut Some(&Some(0)) {
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     if let Some(&Some(&_)) = &mut Some(&Some(0)) {
-   |                       ~
+LL -     if let Some(&Some(&mut _)) = &mut Some(&Some(0)) {
+LL +     if let Some(&Some(&_)) = &mut Some(&Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:51:17
@@ -67,8 +72,9 @@ LL |     if let Some(&mut Some(x)) = &Some(Some(0)) {
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     if let Some(&Some(x)) = &Some(Some(0)) {
-   |                 ~
+LL -     if let Some(&mut Some(x)) = &Some(Some(0)) {
+LL +     if let Some(&Some(x)) = &Some(Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:147:10
@@ -79,8 +85,9 @@ LL |     let [&mut x] = &[&mut 0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let [&x] = &[&mut 0];
-   |          ~
+LL -     let [&mut x] = &[&mut 0];
+LL +     let [&x] = &[&mut 0];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:153:10
@@ -91,8 +98,9 @@ LL |     let [&mut &x] = &[&mut 0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let [&&x] = &[&mut 0];
-   |          ~
+LL -     let [&mut &x] = &[&mut 0];
+LL +     let [&&x] = &[&mut 0];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:159:10
@@ -103,8 +111,9 @@ LL |     let [&mut &ref x] = &[&mut 0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let [&&ref x] = &[&mut 0];
-   |          ~
+LL -     let [&mut &ref x] = &[&mut 0];
+LL +     let [&&ref x] = &[&mut 0];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:165:10
@@ -115,8 +124,9 @@ LL |     let [&mut &(mut x)] = &[&mut 0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let [&&(mut x)] = &[&mut 0];
-   |          ~
+LL -     let [&mut &(mut x)] = &[&mut 0];
+LL +     let [&&(mut x)] = &[&mut 0];
+   |
 
 error: aborting due to 10 previous errors
 
diff --git a/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/pattern-errors.stable2021.stderr b/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/pattern-errors.stable2021.stderr
index e7eb1813846..ad19b122c20 100644
--- a/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/pattern-errors.stable2021.stderr
+++ b/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/pattern-errors.stable2021.stderr
@@ -10,8 +10,9 @@ LL |     if let Some(&mut Some(&x)) = &Some(&mut Some(0)) {
            found reference `&_`
 help: consider removing `&` from the pattern
    |
-LL |     if let Some(&mut Some(x)) = &Some(&mut Some(0)) {
-   |                           ~
+LL -     if let Some(&mut Some(&x)) = &Some(&mut Some(0)) {
+LL +     if let Some(&mut Some(x)) = &Some(&mut Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:31:17
diff --git a/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/pattern-errors.structural2024.stderr b/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/pattern-errors.structural2024.stderr
index 861ed2216cd..fdf48a5a71b 100644
--- a/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/pattern-errors.structural2024.stderr
+++ b/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/pattern-errors.structural2024.stderr
@@ -7,8 +7,9 @@ LL |     if let Some(&mut Some(&_)) = &Some(&Some(0)) {
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     if let Some(&Some(&_)) = &Some(&Some(0)) {
-   |                 ~
+LL -     if let Some(&mut Some(&_)) = &Some(&Some(0)) {
+LL +     if let Some(&Some(&_)) = &Some(&Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:36:23
@@ -19,8 +20,9 @@ LL |     if let Some(&Some(&mut _)) = &Some(&mut Some(0)) {
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     if let Some(&Some(&_)) = &Some(&mut Some(0)) {
-   |                       ~
+LL -     if let Some(&Some(&mut _)) = &Some(&mut Some(0)) {
+LL +     if let Some(&Some(&_)) = &Some(&mut Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:41:23
@@ -31,8 +33,9 @@ LL |     if let Some(&Some(&mut _)) = &mut Some(&Some(0)) {
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     if let Some(&Some(&_)) = &mut Some(&Some(0)) {
-   |                       ~
+LL -     if let Some(&Some(&mut _)) = &mut Some(&Some(0)) {
+LL +     if let Some(&Some(&_)) = &mut Some(&Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:46:28
@@ -43,8 +46,9 @@ LL |     if let Some(&Some(Some(&mut _))) = &Some(Some(&mut Some(0))) {
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     if let Some(&Some(Some(&_))) = &Some(Some(&mut Some(0))) {
-   |                            ~
+LL -     if let Some(&Some(Some(&mut _))) = &Some(Some(&mut Some(0))) {
+LL +     if let Some(&Some(Some(&_))) = &Some(Some(&mut Some(0))) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:51:17
@@ -55,8 +59,9 @@ LL |     if let Some(&mut Some(x)) = &Some(Some(0)) {
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     if let Some(&Some(x)) = &Some(Some(0)) {
-   |                 ~
+LL -     if let Some(&mut Some(x)) = &Some(Some(0)) {
+LL +     if let Some(&Some(x)) = &Some(Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:59:11
@@ -67,8 +72,9 @@ LL |     let &[&mut x] = &&mut [0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let &[&x] = &&mut [0];
-   |           ~
+LL -     let &[&mut x] = &&mut [0];
+LL +     let &[&x] = &&mut [0];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:65:11
@@ -79,8 +85,9 @@ LL |     let &[&mut x] = &mut &mut [0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let &[&x] = &mut &mut [0];
-   |           ~
+LL -     let &[&mut x] = &mut &mut [0];
+LL +     let &[&x] = &mut &mut [0];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:71:11
@@ -91,8 +98,9 @@ LL |     let &[&mut ref x] = &&mut [0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let &[&ref x] = &&mut [0];
-   |           ~
+LL -     let &[&mut ref x] = &&mut [0];
+LL +     let &[&ref x] = &&mut [0];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:77:11
@@ -103,8 +111,9 @@ LL |     let &[&mut ref x] = &mut &mut [0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let &[&ref x] = &mut &mut [0];
-   |           ~
+LL -     let &[&mut ref x] = &mut &mut [0];
+LL +     let &[&ref x] = &mut &mut [0];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:83:11
@@ -115,8 +124,9 @@ LL |     let &[&mut mut x] = &&mut [0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let &[&mut x] = &&mut [0];
-   |           ~
+LL -     let &[&mut mut x] = &&mut [0];
+LL +     let &[&mut x] = &&mut [0];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:89:11
@@ -127,8 +137,9 @@ LL |     let &[&mut mut x] = &mut &mut [0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let &[&mut x] = &mut &mut [0];
-   |           ~
+LL -     let &[&mut mut x] = &mut &mut [0];
+LL +     let &[&mut x] = &mut &mut [0];
+   |
 
 error[E0658]: binding cannot be both mutable and by-reference
   --> $DIR/pattern-errors.rs:97:12
@@ -159,8 +170,9 @@ LL |     let [&&mut x] = &[&mut 0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let [&&x] = &[&mut 0];
-   |           ~
+LL -     let [&&mut x] = &[&mut 0];
+LL +     let [&&x] = &[&mut 0];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:115:11
@@ -171,8 +183,9 @@ LL |     let [&&mut x] = &mut [&mut 0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let [&&x] = &mut [&mut 0];
-   |           ~
+LL -     let [&&mut x] = &mut [&mut 0];
+LL +     let [&&x] = &mut [&mut 0];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:121:11
@@ -183,8 +196,9 @@ LL |     let [&&mut ref x] = &[&mut 0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let [&&ref x] = &[&mut 0];
-   |           ~
+LL -     let [&&mut ref x] = &[&mut 0];
+LL +     let [&&ref x] = &[&mut 0];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:127:11
@@ -195,8 +209,9 @@ LL |     let [&&mut ref x] = &mut [&mut 0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let [&&ref x] = &mut [&mut 0];
-   |           ~
+LL -     let [&&mut ref x] = &mut [&mut 0];
+LL +     let [&&ref x] = &mut [&mut 0];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:133:11
@@ -207,8 +222,9 @@ LL |     let [&&mut mut x] = &[&mut 0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let [&&mut x] = &[&mut 0];
-   |           ~
+LL -     let [&&mut mut x] = &[&mut 0];
+LL +     let [&&mut x] = &[&mut 0];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern-errors.rs:139:11
@@ -219,8 +235,9 @@ LL |     let [&&mut mut x] = &mut [&mut 0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let [&&mut x] = &mut [&mut 0];
-   |           ~
+LL -     let [&&mut mut x] = &mut [&mut 0];
+LL +     let [&&mut x] = &mut [&mut 0];
+   |
 
 error: aborting due to 19 previous errors
 
diff --git a/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/ref-binding-on-inh-ref-errors.classic2024.stderr b/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/ref-binding-on-inh-ref-errors.classic2024.stderr
index b7fb70dfd24..56125be2d6f 100644
--- a/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/ref-binding-on-inh-ref-errors.classic2024.stderr
+++ b/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/ref-binding-on-inh-ref-errors.classic2024.stderr
@@ -7,8 +7,9 @@ LL |     let [&mut ref x] = &[&mut 0];
    = note: cannot match inherited `&` with `&mut` pattern
 help: replace this `&mut` pattern with `&`
    |
-LL |     let [&ref x] = &[&mut 0];
-   |          ~
+LL -     let [&mut ref x] = &[&mut 0];
+LL +     let [&ref x] = &[&mut 0];
+   |
 
 error: binding modifiers may only be written when the default binding mode is `move`
   --> $DIR/ref-binding-on-inh-ref-errors.rs:67:10
diff --git a/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/ref_pat_eat_one_layer_2021_fail.stderr b/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/ref_pat_eat_one_layer_2021_fail.stderr
index 1a921234ea0..0158ed0f423 100644
--- a/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/ref_pat_eat_one_layer_2021_fail.stderr
+++ b/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/ref_pat_eat_one_layer_2021_fail.stderr
@@ -10,8 +10,9 @@ LL |     if let Some(Some(&x)) = &Some(&Some(0)) {
            found reference `&_`
 help: consider removing `&` from the pattern
    |
-LL |     if let Some(Some(x)) = &Some(&Some(0)) {
-   |                      ~
+LL -     if let Some(Some(&x)) = &Some(&Some(0)) {
+LL +     if let Some(Some(x)) = &Some(&Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/ref_pat_eat_one_layer_2021_fail.rs:10:23
@@ -70,8 +71,9 @@ LL |     if let Some(Some(&mut x)) = &mut Some(&mut Some(0)) {
    |                      ^^^^^^
 help: consider removing `&mut` from the pattern
    |
-LL |     if let Some(Some(x)) = &mut Some(&mut Some(0)) {
-   |                      ~
+LL -     if let Some(Some(&mut x)) = &mut Some(&mut Some(0)) {
+LL +     if let Some(Some(x)) = &mut Some(&mut Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/ref_pat_eat_one_layer_2021_fail.rs:25:22
@@ -85,8 +87,9 @@ LL |     if let Some(Some(&x)) = &Some(&Some(0)) {
            found reference `&_`
 help: consider removing `&` from the pattern
    |
-LL |     if let Some(Some(x)) = &Some(&Some(0)) {
-   |                      ~
+LL -     if let Some(Some(&x)) = &Some(&Some(0)) {
+LL +     if let Some(Some(x)) = &Some(&Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/ref_pat_eat_one_layer_2021_fail.rs:29:27
@@ -100,8 +103,9 @@ LL |     if let Some(&mut Some(&x)) = &Some(&mut Some(0)) {
            found reference `&_`
 help: consider removing `&` from the pattern
    |
-LL |     if let Some(&mut Some(x)) = &Some(&mut Some(0)) {
-   |                           ~
+LL -     if let Some(&mut Some(&x)) = &Some(&mut Some(0)) {
+LL +     if let Some(&mut Some(x)) = &Some(&mut Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/ref_pat_eat_one_layer_2021_fail.rs:33:23
@@ -120,8 +124,9 @@ LL |     if let Some(&Some(&mut x)) = &mut Some(&Some(0)) {
    |                       ^^^^^^
 help: consider removing `&mut` from the pattern
    |
-LL |     if let Some(&Some(x)) = &mut Some(&Some(0)) {
-   |                       ~
+LL -     if let Some(&Some(&mut x)) = &mut Some(&Some(0)) {
+LL +     if let Some(&Some(x)) = &mut Some(&Some(0)) {
+   |
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/well-typed-edition-2024.stable2021.stderr b/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/well-typed-edition-2024.stable2021.stderr
index e9c338de243..b1a8024397b 100644
--- a/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/well-typed-edition-2024.stable2021.stderr
+++ b/tests/ui/pattern/rfc-3627-match-ergonomics-2024/experimental/well-typed-edition-2024.stable2021.stderr
@@ -26,8 +26,9 @@ LL |     if let Some(Some(&x)) = &Some(&Some(0)) {
            found reference `&_`
 help: consider removing `&` from the pattern
    |
-LL |     if let Some(Some(x)) = &Some(&Some(0)) {
-   |                      ~
+LL -     if let Some(Some(&x)) = &Some(&Some(0)) {
+LL +     if let Some(Some(x)) = &Some(&Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/well-typed-edition-2024.rs:42:17
@@ -57,8 +58,9 @@ LL |     if let Some(Some(&mut x)) = &mut Some(&mut Some(0)) {
    |                      ^^^^^^
 help: consider removing `&mut` from the pattern
    |
-LL |     if let Some(Some(x)) = &mut Some(&mut Some(0)) {
-   |                      ~
+LL -     if let Some(Some(&mut x)) = &mut Some(&mut Some(0)) {
+LL +     if let Some(Some(x)) = &mut Some(&mut Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/well-typed-edition-2024.rs:54:23
@@ -72,8 +74,9 @@ LL |     if let Some(&Some(&x)) = Some(&Some(&mut 0)) {
                       found reference `&_`
 help: consider removing `&` from the pattern
    |
-LL |     if let Some(&Some(x)) = Some(&Some(&mut 0)) {
-   |                       ~
+LL -     if let Some(&Some(&x)) = Some(&Some(&mut 0)) {
+LL +     if let Some(&Some(x)) = Some(&Some(&mut 0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/well-typed-edition-2024.rs:61:23
@@ -87,8 +90,9 @@ LL |     if let Some(&Some(&x)) = &Some(&Some(0)) {
            found reference `&_`
 help: consider removing `&` from the pattern
    |
-LL |     if let Some(&Some(x)) = &Some(&Some(0)) {
-   |                       ~
+LL -     if let Some(&Some(&x)) = &Some(&Some(0)) {
+LL +     if let Some(&Some(x)) = &Some(&Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/well-typed-edition-2024.rs:68:17
@@ -135,8 +139,9 @@ LL |     if let Some(&Some(&x)) = &mut Some(&Some(0)) {
            found reference `&_`
 help: consider removing `&` from the pattern
    |
-LL |     if let Some(&Some(x)) = &mut Some(&Some(0)) {
-   |                       ~
+LL -     if let Some(&Some(&x)) = &mut Some(&Some(0)) {
+LL +     if let Some(&Some(x)) = &mut Some(&Some(0)) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/well-typed-edition-2024.rs:93:10
diff --git a/tests/ui/pattern/slice-pattern-refutable.stderr b/tests/ui/pattern/slice-pattern-refutable.stderr
index 3d9f769d134..ece5e0283e2 100644
--- a/tests/ui/pattern/slice-pattern-refutable.stderr
+++ b/tests/ui/pattern/slice-pattern-refutable.stderr
@@ -8,8 +8,9 @@ LL |     let [a, b, c] = Zeroes.into() else {
    |
 help: try using a fully qualified path to specify the expected types
    |
-LL |     let [a, b, c] = <Zeroes as Into<T>>::into(Zeroes) else {
-   |                     ++++++++++++++++++++++++++      ~
+LL -     let [a, b, c] = Zeroes.into() else {
+LL +     let [a, b, c] = <Zeroes as Into<T>>::into(Zeroes) else {
+   |
 
 error[E0282]: type annotations needed
   --> $DIR/slice-pattern-refutable.rs:21:31
@@ -21,8 +22,9 @@ LL |     if let [a, b, c] = Zeroes.into() {
    |
 help: try using a fully qualified path to specify the expected types
    |
-LL |     if let [a, b, c] = <Zeroes as Into<T>>::into(Zeroes) {
-   |                        ++++++++++++++++++++++++++      ~
+LL -     if let [a, b, c] = Zeroes.into() {
+LL +     if let [a, b, c] = <Zeroes as Into<T>>::into(Zeroes) {
+   |
 
 error[E0282]: type annotations needed
   --> $DIR/slice-pattern-refutable.rs:28:31
@@ -34,8 +36,9 @@ LL |     if let [a, b, c] = Zeroes.into() {
    |
 help: try using a fully qualified path to specify the expected types
    |
-LL |     if let [a, b, c] = <Zeroes as Into<T>>::into(Zeroes) {
-   |                        ++++++++++++++++++++++++++      ~
+LL -     if let [a, b, c] = Zeroes.into() {
+LL +     if let [a, b, c] = <Zeroes as Into<T>>::into(Zeroes) {
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/pattern/slice-patterns-ambiguity.stderr b/tests/ui/pattern/slice-patterns-ambiguity.stderr
index 690776196ce..539afed0bc0 100644
--- a/tests/ui/pattern/slice-patterns-ambiguity.stderr
+++ b/tests/ui/pattern/slice-patterns-ambiguity.stderr
@@ -8,8 +8,9 @@ LL |     let &[a, b] = Zeroes.into() else {
    |
 help: try using a fully qualified path to specify the expected types
    |
-LL |     let &[a, b] = <Zeroes as Into<&_>>::into(Zeroes) else {
-   |                   +++++++++++++++++++++++++++      ~
+LL -     let &[a, b] = Zeroes.into() else {
+LL +     let &[a, b] = <Zeroes as Into<&_>>::into(Zeroes) else {
+   |
 
 error[E0282]: type annotations needed
   --> $DIR/slice-patterns-ambiguity.rs:32:29
@@ -21,8 +22,9 @@ LL |     if let &[a, b] = Zeroes.into() {
    |
 help: try using a fully qualified path to specify the expected types
    |
-LL |     if let &[a, b] = <Zeroes as Into<&_>>::into(Zeroes) {
-   |                      +++++++++++++++++++++++++++      ~
+LL -     if let &[a, b] = Zeroes.into() {
+LL +     if let &[a, b] = <Zeroes as Into<&_>>::into(Zeroes) {
+   |
 
 error[E0282]: type annotations needed
   --> $DIR/slice-patterns-ambiguity.rs:39:29
@@ -34,8 +36,9 @@ LL |     if let &[a, b] = Zeroes.into() {
    |
 help: try using a fully qualified path to specify the expected types
    |
-LL |     if let &[a, b] = <Zeroes as Into<&_>>::into(Zeroes) {
-   |                      +++++++++++++++++++++++++++      ~
+LL -     if let &[a, b] = Zeroes.into() {
+LL +     if let &[a, b] = <Zeroes as Into<&_>>::into(Zeroes) {
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/pattern/usefulness/doc-hidden-fields.stderr b/tests/ui/pattern/usefulness/doc-hidden-fields.stderr
index 158eac9a1bd..2f53ebe6f3f 100644
--- a/tests/ui/pattern/usefulness/doc-hidden-fields.stderr
+++ b/tests/ui/pattern/usefulness/doc-hidden-fields.stderr
@@ -17,16 +17,19 @@ LL |     let HiddenStruct { one } = HiddenStruct::default();
    |
 help: include the missing field in the pattern and ignore the inaccessible fields
    |
-LL |     let HiddenStruct { one, two, .. } = HiddenStruct::default();
-   |                           ~~~~~~~~~~~
+LL -     let HiddenStruct { one } = HiddenStruct::default();
+LL +     let HiddenStruct { one, two, .. } = HiddenStruct::default();
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |     let HiddenStruct { one, two: _, .. } = HiddenStruct::default();
-   |                           ~~~~~~~~~~~~~~
+LL -     let HiddenStruct { one } = HiddenStruct::default();
+LL +     let HiddenStruct { one, two: _, .. } = HiddenStruct::default();
+   |
 help: or always ignore missing fields here
    |
-LL |     let HiddenStruct { one, .. } = HiddenStruct::default();
-   |                           ~~~~~~
+LL -     let HiddenStruct { one } = HiddenStruct::default();
+LL +     let HiddenStruct { one, .. } = HiddenStruct::default();
+   |
 
 error[E0027]: pattern does not mention field `two`
   --> $DIR/doc-hidden-fields.rs:21:9
@@ -36,16 +39,19 @@ LL |     let HiddenStruct { one, hide } = HiddenStruct::default();
    |
 help: include the missing field in the pattern
    |
-LL |     let HiddenStruct { one, hide, two } = HiddenStruct::default();
-   |                                 ~~~~~~~
+LL -     let HiddenStruct { one, hide } = HiddenStruct::default();
+LL +     let HiddenStruct { one, hide, two } = HiddenStruct::default();
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |     let HiddenStruct { one, hide, two: _ } = HiddenStruct::default();
-   |                                 ~~~~~~~~~~
+LL -     let HiddenStruct { one, hide } = HiddenStruct::default();
+LL +     let HiddenStruct { one, hide, two: _ } = HiddenStruct::default();
+   |
 help: or always ignore missing fields here
    |
-LL |     let HiddenStruct { one, hide, .. } = HiddenStruct::default();
-   |                                 ~~~~~~
+LL -     let HiddenStruct { one, hide } = HiddenStruct::default();
+LL +     let HiddenStruct { one, hide, .. } = HiddenStruct::default();
+   |
 
 error[E0027]: pattern does not mention field `im_hidden`
   --> $DIR/doc-hidden-fields.rs:24:9
@@ -55,16 +61,19 @@ LL |     let InCrate { a, b } = InCrate { a: 0, b: false, im_hidden: 0 };
    |
 help: include the missing field in the pattern
    |
-LL |     let InCrate { a, b, im_hidden } = InCrate { a: 0, b: false, im_hidden: 0 };
-   |                       ~~~~~~~~~~~~~
+LL -     let InCrate { a, b } = InCrate { a: 0, b: false, im_hidden: 0 };
+LL +     let InCrate { a, b, im_hidden } = InCrate { a: 0, b: false, im_hidden: 0 };
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |     let InCrate { a, b, im_hidden: _ } = InCrate { a: 0, b: false, im_hidden: 0 };
-   |                       ~~~~~~~~~~~~~~~~
+LL -     let InCrate { a, b } = InCrate { a: 0, b: false, im_hidden: 0 };
+LL +     let InCrate { a, b, im_hidden: _ } = InCrate { a: 0, b: false, im_hidden: 0 };
+   |
 help: or always ignore missing fields here
    |
-LL |     let InCrate { a, b, .. } = InCrate { a: 0, b: false, im_hidden: 0 };
-   |                       ~~~~~~
+LL -     let InCrate { a, b } = InCrate { a: 0, b: false, im_hidden: 0 };
+LL +     let InCrate { a, b, .. } = InCrate { a: 0, b: false, im_hidden: 0 };
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/pattern/usefulness/stable-gated-fields.stderr b/tests/ui/pattern/usefulness/stable-gated-fields.stderr
index d6e9bac7c13..7b44bc79acf 100644
--- a/tests/ui/pattern/usefulness/stable-gated-fields.stderr
+++ b/tests/ui/pattern/usefulness/stable-gated-fields.stderr
@@ -6,16 +6,19 @@ LL |     let UnstableStruct { stable } = UnstableStruct::default();
    |
 help: include the missing field in the pattern and ignore the inaccessible fields
    |
-LL |     let UnstableStruct { stable, stable2, .. } = UnstableStruct::default();
-   |                                ~~~~~~~~~~~~~~~
+LL -     let UnstableStruct { stable } = UnstableStruct::default();
+LL +     let UnstableStruct { stable, stable2, .. } = UnstableStruct::default();
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |     let UnstableStruct { stable, stable2: _, .. } = UnstableStruct::default();
-   |                                ~~~~~~~~~~~~~~~~~~
+LL -     let UnstableStruct { stable } = UnstableStruct::default();
+LL +     let UnstableStruct { stable, stable2: _, .. } = UnstableStruct::default();
+   |
 help: or always ignore missing fields here
    |
-LL |     let UnstableStruct { stable, .. } = UnstableStruct::default();
-   |                                ~~~~~~
+LL -     let UnstableStruct { stable } = UnstableStruct::default();
+LL +     let UnstableStruct { stable, .. } = UnstableStruct::default();
+   |
 
 error: pattern requires `..` due to inaccessible fields
   --> $DIR/stable-gated-fields.rs:11:9
diff --git a/tests/ui/pattern/usefulness/unstable-gated-fields.stderr b/tests/ui/pattern/usefulness/unstable-gated-fields.stderr
index bb10e439ee2..4487f273534 100644
--- a/tests/ui/pattern/usefulness/unstable-gated-fields.stderr
+++ b/tests/ui/pattern/usefulness/unstable-gated-fields.stderr
@@ -6,16 +6,19 @@ LL |     let UnstableStruct { stable, stable2, } = UnstableStruct::default();
    |
 help: include the missing field in the pattern
    |
-LL |     let UnstableStruct { stable, stable2, unstable } = UnstableStruct::default();
-   |                                         ~~~~~~~~~~~~
+LL -     let UnstableStruct { stable, stable2, } = UnstableStruct::default();
+LL +     let UnstableStruct { stable, stable2, unstable } = UnstableStruct::default();
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |     let UnstableStruct { stable, stable2, unstable: _ } = UnstableStruct::default();
-   |                                         ~~~~~~~~~~~~~~~
+LL -     let UnstableStruct { stable, stable2, } = UnstableStruct::default();
+LL +     let UnstableStruct { stable, stable2, unstable: _ } = UnstableStruct::default();
+   |
 help: or always ignore missing fields here
    |
-LL |     let UnstableStruct { stable, stable2, .. } = UnstableStruct::default();
-   |                                         ~~~~~~
+LL -     let UnstableStruct { stable, stable2, } = UnstableStruct::default();
+LL +     let UnstableStruct { stable, stable2, .. } = UnstableStruct::default();
+   |
 
 error[E0027]: pattern does not mention field `stable2`
   --> $DIR/unstable-gated-fields.rs:13:9
@@ -25,16 +28,19 @@ LL |     let UnstableStruct { stable, unstable, } = UnstableStruct::default();
    |
 help: include the missing field in the pattern
    |
-LL |     let UnstableStruct { stable, unstable, stable2 } = UnstableStruct::default();
-   |                                          ~~~~~~~~~~~
+LL -     let UnstableStruct { stable, unstable, } = UnstableStruct::default();
+LL +     let UnstableStruct { stable, unstable, stable2 } = UnstableStruct::default();
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |     let UnstableStruct { stable, unstable, stable2: _ } = UnstableStruct::default();
-   |                                          ~~~~~~~~~~~~~~
+LL -     let UnstableStruct { stable, unstable, } = UnstableStruct::default();
+LL +     let UnstableStruct { stable, unstable, stable2: _ } = UnstableStruct::default();
+   |
 help: or always ignore missing fields here
    |
-LL |     let UnstableStruct { stable, unstable, .. } = UnstableStruct::default();
-   |                                          ~~~~~~
+LL -     let UnstableStruct { stable, unstable, } = UnstableStruct::default();
+LL +     let UnstableStruct { stable, unstable, .. } = UnstableStruct::default();
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/pptypedef.stderr b/tests/ui/pptypedef.stderr
index 08b90b365e3..96327cfcc65 100644
--- a/tests/ui/pptypedef.stderr
+++ b/tests/ui/pptypedef.stderr
@@ -8,8 +8,9 @@ LL |     let_in(3u32, |i| { assert!(i == 3i32); });
    |
 help: change the type of the numeric literal from `i32` to `u32`
    |
-LL |     let_in(3u32, |i| { assert!(i == 3u32); });
-   |                                      ~~~
+LL -     let_in(3u32, |i| { assert!(i == 3i32); });
+LL +     let_in(3u32, |i| { assert!(i == 3u32); });
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pptypedef.rs:8:37
@@ -21,8 +22,9 @@ LL |     let_in(3i32, |i| { assert!(i == 3u32); });
    |
 help: change the type of the numeric literal from `u32` to `i32`
    |
-LL |     let_in(3i32, |i| { assert!(i == 3i32); });
-   |                                      ~~~
+LL -     let_in(3i32, |i| { assert!(i == 3u32); });
+LL +     let_in(3i32, |i| { assert!(i == 3i32); });
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/privacy/issue-75907.stderr b/tests/ui/privacy/issue-75907.stderr
index 3121cc04478..8a6484979c0 100644
--- a/tests/ui/privacy/issue-75907.stderr
+++ b/tests/ui/privacy/issue-75907.stderr
@@ -13,8 +13,9 @@ LL |     let Bar(x, y, Foo(z)) = make_bar();
    |                private field
 help: consider making the fields publicly accessible
    |
-LL |     pub(crate) struct Bar(pub u8, pub u8, pub Foo);
-   |                                   ~~~     +++
+LL -     pub(crate) struct Bar(pub u8, pub(in crate::foo) u8, Foo);
+LL +     pub(crate) struct Bar(pub u8, pub u8, pub Foo);
+   |
 
 error[E0532]: cannot match against a tuple struct which contains private fields
   --> $DIR/issue-75907.rs:15:19
diff --git a/tests/ui/privacy/privacy-in-paths.stderr b/tests/ui/privacy/privacy-in-paths.stderr
index 9c3d5e97c62..e6ece35865d 100644
--- a/tests/ui/privacy/privacy-in-paths.stderr
+++ b/tests/ui/privacy/privacy-in-paths.stderr
@@ -25,8 +25,9 @@ LL |     mod bar {
    |     ^^^^^^^
 help: consider importing this struct through its public re-export instead
    |
-LL |         foo::S::f();
-   |         ~~~~~~
+LL -         ::foo::bar::S::f();
+LL +         foo::S::f();
+   |
 
 error[E0603]: trait `T` is private
   --> $DIR/privacy-in-paths.rs:26:23
diff --git a/tests/ui/privacy/privacy-ns1.stderr b/tests/ui/privacy/privacy-ns1.stderr
index 9710cc48637..3396330c993 100644
--- a/tests/ui/privacy/privacy-ns1.stderr
+++ b/tests/ui/privacy/privacy-ns1.stderr
@@ -9,8 +9,9 @@ LL |     Bar();
    |
 help: a unit struct with a similar name exists
    |
-LL |     Baz();
-   |     ~~~
+LL -     Bar();
+LL +     Baz();
+   |
 help: consider importing this function instead
    |
 LL + use foo2::Bar;
@@ -27,8 +28,9 @@ LL |     Bar();
    |
 help: a unit struct with a similar name exists
    |
-LL |     Baz();
-   |     ~~~
+LL -     Bar();
+LL +     Baz();
+   |
 help: consider importing this function
    |
 LL + use foo2::Bar;
@@ -45,8 +47,9 @@ LL |     let _x: Box<Bar>;
    |
 help: a struct with a similar name exists
    |
-LL |     let _x: Box<Baz>;
-   |                 ~~~
+LL -     let _x: Box<Bar>;
+LL +     let _x: Box<Baz>;
+   |
 help: consider importing this trait
    |
 LL + use foo1::Bar;
diff --git a/tests/ui/privacy/privacy-ns2.stderr b/tests/ui/privacy/privacy-ns2.stderr
index 75e735e1e6a..ac98682b2b3 100644
--- a/tests/ui/privacy/privacy-ns2.stderr
+++ b/tests/ui/privacy/privacy-ns2.stderr
@@ -20,8 +20,9 @@ LL |     Bar();
    |
 help: a unit struct with a similar name exists
    |
-LL |     Baz();
-   |     ~~~
+LL -     Bar();
+LL +     Baz();
+   |
 help: consider importing this function instead
    |
 LL + use foo2::Bar;
@@ -35,8 +36,9 @@ LL |     let _x : Bar();
    |
 help: use `=` if you meant to assign
    |
-LL |     let _x = Bar();
-   |            ~
+LL -     let _x : Bar();
+LL +     let _x = Bar();
+   |
 help: consider importing this trait instead
    |
 LL + use foo1::Bar;
diff --git a/tests/ui/privacy/privacy1.stderr b/tests/ui/privacy/privacy1.stderr
index a3552e146a6..cb7b858e54d 100644
--- a/tests/ui/privacy/privacy1.stderr
+++ b/tests/ui/privacy/privacy1.stderr
@@ -142,8 +142,9 @@ LL |     mod baz {
    |     ^^^^^^^
 help: consider importing this function through its public re-export instead
    |
-LL |         bar::foo();
-   |         ~~~~~~~~
+LL -         ::bar::baz::foo();
+LL +         bar::foo();
+   |
 
 error[E0603]: module `baz` is private
   --> $DIR/privacy1.rs:128:16
@@ -158,8 +159,9 @@ LL |     mod baz {
    |     ^^^^^^^
 help: consider importing this function through its public re-export instead
    |
-LL |         bar::bar();
-   |         ~~~~~~~~
+LL -         ::bar::baz::bar();
+LL +         bar::bar();
+   |
 
 error[E0603]: trait `B` is private
   --> $DIR/privacy1.rs:157:17
diff --git a/tests/ui/privacy/privacy5.stderr b/tests/ui/privacy/privacy5.stderr
index ec3abe9b816..8f28f629ba3 100644
--- a/tests/ui/privacy/privacy5.stderr
+++ b/tests/ui/privacy/privacy5.stderr
@@ -52,8 +52,9 @@ LL |     pub struct C(pub isize, isize);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: consider making the fields publicly accessible
    |
-LL |     pub struct C(pub isize, pub isize);
-   |                             +++
+LL -     pub struct C(pub isize, isize);
+LL +     pub struct C(pub isize, pub isize);
+   |
 
 error[E0603]: tuple struct constructor `A` is private
   --> $DIR/privacy5.rs:56:12
@@ -261,8 +262,9 @@ LL |     pub struct C(pub isize, isize);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: consider making the fields publicly accessible
    |
-LL |     pub struct C(pub isize, pub isize);
-   |                             +++
+LL -     pub struct C(pub isize, isize);
+LL +     pub struct C(pub isize, pub isize);
+   |
 
 error[E0603]: tuple struct constructor `C` is private
   --> $DIR/privacy5.rs:69:12
@@ -280,8 +282,9 @@ LL |     pub struct C(pub isize, isize);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: consider making the fields publicly accessible
    |
-LL |     pub struct C(pub isize, pub isize);
-   |                             +++
+LL -     pub struct C(pub isize, isize);
+LL +     pub struct C(pub isize, pub isize);
+   |
 
 error[E0603]: tuple struct constructor `C` is private
   --> $DIR/privacy5.rs:70:12
@@ -299,8 +302,9 @@ LL |     pub struct C(pub isize, isize);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: consider making the fields publicly accessible
    |
-LL |     pub struct C(pub isize, pub isize);
-   |                             +++
+LL -     pub struct C(pub isize, isize);
+LL +     pub struct C(pub isize, pub isize);
+   |
 
 error[E0603]: tuple struct constructor `C` is private
   --> $DIR/privacy5.rs:71:12
@@ -318,8 +322,9 @@ LL |     pub struct C(pub isize, isize);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: consider making the fields publicly accessible
    |
-LL |     pub struct C(pub isize, pub isize);
-   |                             +++
+LL -     pub struct C(pub isize, isize);
+LL +     pub struct C(pub isize, pub isize);
+   |
 
 error[E0603]: tuple struct constructor `C` is private
   --> $DIR/privacy5.rs:72:18
@@ -337,8 +342,9 @@ LL |     pub struct C(pub isize, isize);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: consider making the fields publicly accessible
    |
-LL |     pub struct C(pub isize, pub isize);
-   |                             +++
+LL -     pub struct C(pub isize, isize);
+LL +     pub struct C(pub isize, pub isize);
+   |
 
 error[E0603]: tuple struct constructor `C` is private
   --> $DIR/privacy5.rs:73:18
@@ -356,8 +362,9 @@ LL |     pub struct C(pub isize, isize);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: consider making the fields publicly accessible
    |
-LL |     pub struct C(pub isize, pub isize);
-   |                             +++
+LL -     pub struct C(pub isize, isize);
+LL +     pub struct C(pub isize, pub isize);
+   |
 
 error[E0603]: tuple struct constructor `C` is private
   --> $DIR/privacy5.rs:74:18
@@ -375,8 +382,9 @@ LL |     pub struct C(pub isize, isize);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: consider making the fields publicly accessible
    |
-LL |     pub struct C(pub isize, pub isize);
-   |                             +++
+LL -     pub struct C(pub isize, isize);
+LL +     pub struct C(pub isize, pub isize);
+   |
 
 error[E0603]: tuple struct constructor `C` is private
   --> $DIR/privacy5.rs:75:18
@@ -394,8 +402,9 @@ LL |     pub struct C(pub isize, isize);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: consider making the fields publicly accessible
    |
-LL |     pub struct C(pub isize, pub isize);
-   |                             +++
+LL -     pub struct C(pub isize, isize);
+LL +     pub struct C(pub isize, pub isize);
+   |
 
 error[E0603]: tuple struct constructor `A` is private
   --> $DIR/privacy5.rs:83:17
@@ -451,8 +460,9 @@ LL |     pub struct C(pub isize, isize);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: consider making the fields publicly accessible
    |
-LL |     pub struct C(pub isize, pub isize);
-   |                             +++
+LL -     pub struct C(pub isize, isize);
+LL +     pub struct C(pub isize, pub isize);
+   |
 
 error[E0603]: tuple struct constructor `A` is private
   --> $DIR/privacy5.rs:90:20
diff --git a/tests/ui/privacy/sealed-traits/re-exported-trait.stderr b/tests/ui/privacy/sealed-traits/re-exported-trait.stderr
index 6e2f36e3f38..368389af0b9 100644
--- a/tests/ui/privacy/sealed-traits/re-exported-trait.stderr
+++ b/tests/ui/privacy/sealed-traits/re-exported-trait.stderr
@@ -11,8 +11,9 @@ LL |     mod b {
    |     ^^^^^
 help: consider importing this trait through its public re-export instead
    |
-LL | impl a::Trait for S {}
-   |      ~~~~~~~~
+LL - impl a::b::Trait for S {}
+LL + impl a::Trait for S {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/privacy/suggest-box-new.stderr b/tests/ui/privacy/suggest-box-new.stderr
index 1e28b9fbd86..da8405fd0e8 100644
--- a/tests/ui/privacy/suggest-box-new.stderr
+++ b/tests/ui/privacy/suggest-box-new.stderr
@@ -9,18 +9,23 @@ LL |     let _ = std::collections::HashMap();
    |
 help: you might have meant to use an associated function to build this type
    |
-LL |     let _ = std::collections::HashMap::new();
-   |                                      ~~~~~~~
-LL |     let _ = std::collections::HashMap::with_capacity(_);
-   |                                      ~~~~~~~~~~~~~~~~~~
-LL |     let _ = std::collections::HashMap::with_hasher(_);
-   |                                      ~~~~~~~~~~~~~~~~
-LL |     let _ = std::collections::HashMap::with_capacity_and_hasher(_, _);
-   |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = std::collections::HashMap();
+LL +     let _ = std::collections::HashMap::new();
+   |
+LL -     let _ = std::collections::HashMap();
+LL +     let _ = std::collections::HashMap::with_capacity(_);
+   |
+LL -     let _ = std::collections::HashMap();
+LL +     let _ = std::collections::HashMap::with_hasher(_);
+   |
+LL -     let _ = std::collections::HashMap();
+LL +     let _ = std::collections::HashMap::with_capacity_and_hasher(_, _);
+   |
 help: consider using the `Default` trait
    |
-LL |     let _ = <std::collections::HashMap as std::default::Default>::default();
-   |             +                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = std::collections::HashMap();
+LL +     let _ = <std::collections::HashMap as std::default::Default>::default();
+   |
 
 error[E0423]: cannot initialize a tuple struct which contains private fields
   --> $DIR/suggest-box-new.rs:8:19
@@ -36,19 +41,36 @@ note: constructor is not visible here due to private fields
    = note: private field
 help: you might have meant to use an associated function to build this type
    |
-LL |         wtf: Some(Box::new(_)),
-   |                      ~~~~~~~~
-LL |         wtf: Some(Box::new_uninit()),
-   |                      ~~~~~~~~~~~~~~
-LL |         wtf: Some(Box::new_zeroed()),
-   |                      ~~~~~~~~~~~~~~
-LL |         wtf: Some(Box::new_in(_, _)),
-   |                      ~~~~~~~~~~~~~~
+LL -         wtf: Some(Box(U {
+LL -             wtf: None,
+LL -             x: (),
+LL -         })),
+LL +         wtf: Some(Box::new(_)),
+   |
+LL -         wtf: Some(Box(U {
+LL -             wtf: None,
+LL -             x: (),
+LL -         })),
+LL +         wtf: Some(Box::new_uninit()),
+   |
+LL -         wtf: Some(Box(U {
+LL -             wtf: None,
+LL -             x: (),
+LL -         })),
+LL +         wtf: Some(Box::new_zeroed()),
+   |
+LL -         wtf: Some(Box(U {
+LL -             wtf: None,
+LL -             x: (),
+LL -         })),
+LL +         wtf: Some(Box::new_in(_, _)),
+   |
      and 12 other candidates
 help: consider using the `Default` trait
    |
-LL |         wtf: Some(<Box as std::default::Default>::default()),
-   |                   +    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -         wtf: Some(Box(U {
+LL +         wtf: Some(<Box as std::default::Default>::default()),
+   |
 
 error: cannot construct `HashMap<_, _, _>` with struct literal syntax due to private fields
   --> $DIR/suggest-box-new.rs:16:13
@@ -59,18 +81,23 @@ LL |     let _ = std::collections::HashMap {};
    = note: private field `base` that was not provided
 help: you might have meant to use an associated function to build this type
    |
-LL |     let _ = std::collections::HashMap::new();
-   |                                      ~~~~~~~
-LL |     let _ = std::collections::HashMap::with_capacity(_);
-   |                                      ~~~~~~~~~~~~~~~~~~
-LL |     let _ = std::collections::HashMap::with_hasher(_);
-   |                                      ~~~~~~~~~~~~~~~~
-LL |     let _ = std::collections::HashMap::with_capacity_and_hasher(_, _);
-   |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = std::collections::HashMap {};
+LL +     let _ = std::collections::HashMap::new();
+   |
+LL -     let _ = std::collections::HashMap {};
+LL +     let _ = std::collections::HashMap::with_capacity(_);
+   |
+LL -     let _ = std::collections::HashMap {};
+LL +     let _ = std::collections::HashMap::with_hasher(_);
+   |
+LL -     let _ = std::collections::HashMap {};
+LL +     let _ = std::collections::HashMap::with_capacity_and_hasher(_, _);
+   |
 help: consider using the `Default` trait
    |
-LL |     let _ = <std::collections::HashMap as std::default::Default>::default();
-   |             +                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = std::collections::HashMap {};
+LL +     let _ = <std::collections::HashMap as std::default::Default>::default();
+   |
 
 error: cannot construct `Box<_, _>` with struct literal syntax due to private fields
   --> $DIR/suggest-box-new.rs:18:13
@@ -81,19 +108,24 @@ LL |     let _ = Box {};
    = note: private fields `0` and `1` that were not provided
 help: you might have meant to use an associated function to build this type
    |
-LL |     let _ = Box::new(_);
-   |                ~~~~~~~~
-LL |     let _ = Box::new_uninit();
-   |                ~~~~~~~~~~~~~~
-LL |     let _ = Box::new_zeroed();
-   |                ~~~~~~~~~~~~~~
-LL |     let _ = Box::new_in(_, _);
-   |                ~~~~~~~~~~~~~~
+LL -     let _ = Box {};
+LL +     let _ = Box::new(_);
+   |
+LL -     let _ = Box {};
+LL +     let _ = Box::new_uninit();
+   |
+LL -     let _ = Box {};
+LL +     let _ = Box::new_zeroed();
+   |
+LL -     let _ = Box {};
+LL +     let _ = Box::new_in(_, _);
+   |
      and 12 other candidates
 help: consider using the `Default` trait
    |
-LL |     let _ = <Box as std::default::Default>::default();
-   |             +    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = Box {};
+LL +     let _ = <Box as std::default::Default>::default();
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/privacy/suggest-making-field-public.stderr b/tests/ui/privacy/suggest-making-field-public.stderr
index e92e9aae310..3e52232dd59 100644
--- a/tests/ui/privacy/suggest-making-field-public.stderr
+++ b/tests/ui/privacy/suggest-making-field-public.stderr
@@ -14,8 +14,9 @@ LL |     pub struct A(pub(self)String);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: consider making the field publicly accessible
    |
-LL |     pub struct A(pub String);
-   |                  ~~~
+LL -     pub struct A(pub(self)String);
+LL +     pub struct A(pub String);
+   |
 
 error[E0423]: cannot initialize a tuple struct which contains private fields
   --> $DIR/suggest-making-field-public.rs:9:9
@@ -30,8 +31,9 @@ LL |     pub struct A(pub(self)String);
    |                  ^^^^^^^^^^^^^^^ private field
 help: consider making the field publicly accessible
    |
-LL |     pub struct A(pub String);
-   |                  ~~~
+LL -     pub struct A(pub(self)String);
+LL +     pub struct A(pub String);
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/privacy/sysroot-private.default.stderr b/tests/ui/privacy/sysroot-private.default.stderr
index fef88d107e6..692b1bbd4db 100644
--- a/tests/ui/privacy/sysroot-private.default.stderr
+++ b/tests/ui/privacy/sysroot-private.default.stderr
@@ -14,8 +14,9 @@ LL | fn trait_member<T>(val: &T, key: &K) -> bool {
    |
 help: a type parameter with a similar name exists
    |
-LL | fn trait_member<T>(val: &T, key: &T) -> bool {
-   |                                   ~
+LL - fn trait_member<T>(val: &T, key: &K) -> bool {
+LL + fn trait_member<T>(val: &T, key: &T) -> bool {
+   |
 help: you might be missing a type parameter
    |
 LL | fn trait_member<T, K>(val: &T, key: &K) -> bool {
diff --git a/tests/ui/privacy/sysroot-private.rustc_private_enabled.stderr b/tests/ui/privacy/sysroot-private.rustc_private_enabled.stderr
index 4b54b59714a..dc2d890a082 100644
--- a/tests/ui/privacy/sysroot-private.rustc_private_enabled.stderr
+++ b/tests/ui/privacy/sysroot-private.rustc_private_enabled.stderr
@@ -14,8 +14,9 @@ LL | fn trait_member<T>(val: &T, key: &K) -> bool {
    |
 help: a type parameter with a similar name exists
    |
-LL | fn trait_member<T>(val: &T, key: &T) -> bool {
-   |                                   ~
+LL - fn trait_member<T>(val: &T, key: &K) -> bool {
+LL + fn trait_member<T>(val: &T, key: &T) -> bool {
+   |
 help: you might be missing a type parameter
    |
 LL | fn trait_member<T, K>(val: &T, key: &K) -> bool {
diff --git a/tests/ui/proc-macro/disappearing-resolution.stderr b/tests/ui/proc-macro/disappearing-resolution.stderr
index e66f721444f..734e0cd2ab6 100644
--- a/tests/ui/proc-macro/disappearing-resolution.stderr
+++ b/tests/ui/proc-macro/disappearing-resolution.stderr
@@ -22,8 +22,9 @@ LL | pub fn empty_derive(_: TokenStream) -> TokenStream {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ you could import this directly
 help: import `Empty` directly
    |
-LL | use test_macros::Empty;
-   |     ~~~~~~~~~~~~~~~~~~
+LL - use m::Empty;
+LL + use test_macros::Empty;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/proc-macro/issue-66286.stderr b/tests/ui/proc-macro/issue-66286.stderr
index c92bed1b563..fe6bec22164 100644
--- a/tests/ui/proc-macro/issue-66286.stderr
+++ b/tests/ui/proc-macro/issue-66286.stderr
@@ -6,8 +6,9 @@ LL | pub extern "C" fn foo(_: Vec(u32)) -> u32 {
    |
 help: use angle brackets instead
    |
-LL | pub extern "C" fn foo(_: Vec<u32>) -> u32 {
-   |                             ~   ~
+LL - pub extern "C" fn foo(_: Vec(u32)) -> u32 {
+LL + pub extern "C" fn foo(_: Vec<u32>) -> u32 {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/proc-macro/issue-86781-bad-inner-doc.stderr b/tests/ui/proc-macro/issue-86781-bad-inner-doc.stderr
index aeb824303e7..835648ab435 100644
--- a/tests/ui/proc-macro/issue-86781-bad-inner-doc.stderr
+++ b/tests/ui/proc-macro/issue-86781-bad-inner-doc.stderr
@@ -9,8 +9,9 @@ LL | pub struct Foo;
    |
 help: to annotate the struct, change the doc comment from inner to outer style
    |
-LL | /// Inner doc comment
-   |   ~
+LL - //! Inner doc comment
+LL + /// Inner doc comment
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/pub/pub-ident-fn-or-struct.stderr b/tests/ui/pub/pub-ident-fn-or-struct.stderr
index ceadc510c63..1bdb547be1e 100644
--- a/tests/ui/pub/pub-ident-fn-or-struct.stderr
+++ b/tests/ui/pub/pub-ident-fn-or-struct.stderr
@@ -6,8 +6,9 @@ LL | pub S (foo) bar
    |
 help: if you meant to call a macro, try
    |
-LL | pub S! (foo) bar
-   |     ~~
+LL - pub S (foo) bar
+LL + pub S! (foo) bar
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/pub/pub-restricted.stderr b/tests/ui/pub/pub-restricted.stderr
index fc177aa2033..35c48c6d769 100644
--- a/tests/ui/pub/pub-restricted.stderr
+++ b/tests/ui/pub/pub-restricted.stderr
@@ -10,8 +10,9 @@ LL | pub (a) fn afn() {}
            `pub(in path::to::module)`: visible only on the specified path
 help: make this visible only to module `a` with `in`
    |
-LL | pub (in a) fn afn() {}
-   |      ~~~~
+LL - pub (a) fn afn() {}
+LL + pub (in a) fn afn() {}
+   |
 
 error[E0704]: incorrect visibility restriction
   --> $DIR/pub-restricted.rs:4:6
@@ -25,8 +26,9 @@ LL | pub (b) fn bfn() {}
            `pub(in path::to::module)`: visible only on the specified path
 help: make this visible only to module `b` with `in`
    |
-LL | pub (in b) fn bfn() {}
-   |      ~~~~
+LL - pub (b) fn bfn() {}
+LL + pub (in b) fn bfn() {}
+   |
 
 error[E0704]: incorrect visibility restriction
   --> $DIR/pub-restricted.rs:5:6
@@ -40,8 +42,9 @@ LL | pub (crate::a) fn cfn() {}
            `pub(in path::to::module)`: visible only on the specified path
 help: make this visible only to module `crate::a` with `in`
    |
-LL | pub (in crate::a) fn cfn() {}
-   |      ~~~~~~~~~~~
+LL - pub (crate::a) fn cfn() {}
+LL + pub (in crate::a) fn cfn() {}
+   |
 
 error[E0704]: incorrect visibility restriction
   --> $DIR/pub-restricted.rs:22:14
@@ -55,8 +58,9 @@ LL |         pub (a) invalid: usize,
            `pub(in path::to::module)`: visible only on the specified path
 help: make this visible only to module `a` with `in`
    |
-LL |         pub (in a) invalid: usize,
-   |              ~~~~
+LL -         pub (a) invalid: usize,
+LL +         pub (in a) invalid: usize,
+   |
 
 error[E0704]: incorrect visibility restriction
   --> $DIR/pub-restricted.rs:31:6
@@ -70,8 +74,9 @@ LL | pub (xyz) fn xyz() {}
            `pub(in path::to::module)`: visible only on the specified path
 help: make this visible only to module `xyz` with `in`
    |
-LL | pub (in xyz) fn xyz() {}
-   |      ~~~~~~
+LL - pub (xyz) fn xyz() {}
+LL + pub (in xyz) fn xyz() {}
+   |
 
 error[E0742]: visibilities can only be restricted to ancestor modules
   --> $DIR/pub-restricted.rs:23:17
diff --git a/tests/ui/qualified/qualified-path-params-2.stderr b/tests/ui/qualified/qualified-path-params-2.stderr
index 56644bdd46a..6641e81013f 100644
--- a/tests/ui/qualified/qualified-path-params-2.stderr
+++ b/tests/ui/qualified/qualified-path-params-2.stderr
@@ -6,8 +6,9 @@ LL | type A = <S as Tr>::A::f<u8>;
    |
 help: if there were a trait named `Example` with associated type `f` implemented for `<S as Tr>::A`, you could use the fully-qualified path
    |
-LL | type A = <<S as Tr>::A as Example>::f;
-   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - type A = <S as Tr>::A::f<u8>;
+LL + type A = <<S as Tr>::A as Example>::f;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/regions/region-object-lifetime-in-coercion.stderr b/tests/ui/regions/region-object-lifetime-in-coercion.stderr
index b5bb08c73c8..3880ae82283 100644
--- a/tests/ui/regions/region-object-lifetime-in-coercion.stderr
+++ b/tests/ui/regions/region-object-lifetime-in-coercion.stderr
@@ -8,12 +8,14 @@ LL |     let x: Box<dyn Foo + 'static> = Box::new(v);
    |
 help: consider changing the trait object's explicit `'static` bound to the lifetime of argument `v`
    |
-LL | fn a(v: &[u8]) -> Box<dyn Foo + '_> {
-   |                                 ~~
+LL - fn a(v: &[u8]) -> Box<dyn Foo + 'static> {
+LL + fn a(v: &[u8]) -> Box<dyn Foo + '_> {
+   |
 help: alternatively, add an explicit `'static` bound to this reference
    |
-LL | fn a(v: &'static [u8]) -> Box<dyn Foo + 'static> {
-   |         ~~~~~~~~~~~~~
+LL - fn a(v: &[u8]) -> Box<dyn Foo + 'static> {
+LL + fn a(v: &'static [u8]) -> Box<dyn Foo + 'static> {
+   |
 
 error: lifetime may not live long enough
   --> $DIR/region-object-lifetime-in-coercion.rs:14:5
@@ -25,12 +27,14 @@ LL |     Box::new(v)
    |
 help: consider changing the trait object's explicit `'static` bound to the lifetime of argument `v`
    |
-LL | fn b(v: &[u8]) -> Box<dyn Foo + '_> {
-   |                                 ~~
+LL - fn b(v: &[u8]) -> Box<dyn Foo + 'static> {
+LL + fn b(v: &[u8]) -> Box<dyn Foo + '_> {
+   |
 help: alternatively, add an explicit `'static` bound to this reference
    |
-LL | fn b(v: &'static [u8]) -> Box<dyn Foo + 'static> {
-   |         ~~~~~~~~~~~~~
+LL - fn b(v: &[u8]) -> Box<dyn Foo + 'static> {
+LL + fn b(v: &'static [u8]) -> Box<dyn Foo + 'static> {
+   |
 
 error: lifetime may not live long enough
   --> $DIR/region-object-lifetime-in-coercion.rs:21:5
diff --git a/tests/ui/regions/regions-close-object-into-object-2.stderr b/tests/ui/regions/regions-close-object-into-object-2.stderr
index aacb5ea4e87..54364ef0821 100644
--- a/tests/ui/regions/regions-close-object-into-object-2.stderr
+++ b/tests/ui/regions/regions-close-object-into-object-2.stderr
@@ -8,12 +8,14 @@ LL |     Box::new(B(&*v)) as Box<dyn X>
    |
 help: consider changing the trait object's explicit `'static` bound to the lifetime of argument `v`
    |
-LL | fn g<'a, T: 'static>(v: Box<dyn A<T> + 'a>) -> Box<dyn X + 'a> {
-   |                                                            ~~
+LL - fn g<'a, T: 'static>(v: Box<dyn A<T> + 'a>) -> Box<dyn X + 'static> {
+LL + fn g<'a, T: 'static>(v: Box<dyn A<T> + 'a>) -> Box<dyn X + 'a> {
+   |
 help: alternatively, add an explicit `'static` bound to this reference
    |
-LL | fn g<'a, T: 'static>(v: Box<(dyn A<T> + 'static)>) -> Box<dyn X + 'static> {
-   |                         ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - fn g<'a, T: 'static>(v: Box<dyn A<T> + 'a>) -> Box<dyn X + 'static> {
+LL + fn g<'a, T: 'static>(v: Box<(dyn A<T> + 'static)>) -> Box<dyn X + 'static> {
+   |
 
 error[E0515]: cannot return value referencing local data `*v`
   --> $DIR/regions-close-object-into-object-2.rs:9:5
diff --git a/tests/ui/regions/regions-close-object-into-object-4.stderr b/tests/ui/regions/regions-close-object-into-object-4.stderr
index f6a79be0947..d119ec57e98 100644
--- a/tests/ui/regions/regions-close-object-into-object-4.stderr
+++ b/tests/ui/regions/regions-close-object-into-object-4.stderr
@@ -50,12 +50,14 @@ LL |     Box::new(B(&*v)) as Box<dyn X>
    |
 help: consider changing the trait object's explicit `'static` bound to the lifetime of argument `v`
    |
-LL | fn i<'a, T, U>(v: Box<dyn A<U>+'a>) -> Box<dyn X + 'a> {
-   |                                                    ~~
+LL - fn i<'a, T, U>(v: Box<dyn A<U>+'a>) -> Box<dyn X + 'static> {
+LL + fn i<'a, T, U>(v: Box<dyn A<U>+'a>) -> Box<dyn X + 'a> {
+   |
 help: alternatively, add an explicit `'static` bound to this reference
    |
-LL | fn i<'a, T, U>(v: Box<(dyn A<U> + 'static)>) -> Box<dyn X + 'static> {
-   |                   ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - fn i<'a, T, U>(v: Box<dyn A<U>+'a>) -> Box<dyn X + 'static> {
+LL + fn i<'a, T, U>(v: Box<(dyn A<U> + 'static)>) -> Box<dyn X + 'static> {
+   |
 
 error[E0515]: cannot return value referencing local data `*v`
   --> $DIR/regions-close-object-into-object-4.rs:9:5
diff --git a/tests/ui/regions/regions-proc-bound-capture.stderr b/tests/ui/regions/regions-proc-bound-capture.stderr
index 3fe497bf2e9..3149cd8c9a1 100644
--- a/tests/ui/regions/regions-proc-bound-capture.stderr
+++ b/tests/ui/regions/regions-proc-bound-capture.stderr
@@ -9,12 +9,14 @@ LL |     Box::new(move || { *x })
    |
 help: consider changing the trait object's explicit `'static` bound to the lifetime of argument `x`
    |
-LL | fn static_proc(x: &isize) -> Box<dyn FnMut() -> (isize) + '_> {
-   |                                                           ~~
+LL - fn static_proc(x: &isize) -> Box<dyn FnMut() -> (isize) + 'static> {
+LL + fn static_proc(x: &isize) -> Box<dyn FnMut() -> (isize) + '_> {
+   |
 help: alternatively, add an explicit `'static` bound to this reference
    |
-LL | fn static_proc(x: &'static isize) -> Box<dyn FnMut() -> (isize) + 'static> {
-   |                   ~~~~~~~~~~~~~~
+LL - fn static_proc(x: &isize) -> Box<dyn FnMut() -> (isize) + 'static> {
+LL + fn static_proc(x: &'static isize) -> Box<dyn FnMut() -> (isize) + 'static> {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/repeat-expr/repeat_count.stderr b/tests/ui/repeat-expr/repeat_count.stderr
index c4aebfb0e20..34e29e83666 100644
--- a/tests/ui/repeat-expr/repeat_count.stderr
+++ b/tests/ui/repeat-expr/repeat_count.stderr
@@ -6,8 +6,9 @@ LL |     let a = [0; n];
    |
 help: consider using `const` instead of `let`
    |
-LL |     const n: /* Type */ = 1;
-   |     ~~~~~  ++++++++++++
+LL -     let n = 1;
+LL +     const n: /* Type */ = 1;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/repeat_count.rs:7:17
@@ -63,8 +64,9 @@ LL |     let f = [0; 4u8];
    |
 help: change the type of the numeric literal from `u8` to `usize`
    |
-LL |     let f = [0; 4usize];
-   |                  ~~~~~
+LL -     let f = [0; 4u8];
+LL +     let f = [0; 4usize];
+   |
 
 error: aborting due to 9 previous errors
 
diff --git a/tests/ui/repeat-expr/typo-in-repeat-expr-issue-80173.stderr b/tests/ui/repeat-expr/typo-in-repeat-expr-issue-80173.stderr
index 95eddbde9e6..ce2022374f7 100644
--- a/tests/ui/repeat-expr/typo-in-repeat-expr-issue-80173.stderr
+++ b/tests/ui/repeat-expr/typo-in-repeat-expr-issue-80173.stderr
@@ -6,8 +6,9 @@ LL |     let a = ["a", 10];
    |
 help: replace the comma with a semicolon to create an array
    |
-LL |     let a = ["a"; 10];
-   |                 ~
+LL -     let a = ["a", 10];
+LL +     let a = ["a"; 10];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/typo-in-repeat-expr-issue-80173.rs:20:20
@@ -17,8 +18,9 @@ LL |     let b = [Type, size_b];
    |
 help: replace the comma with a semicolon to create an array
    |
-LL |     let b = [Type; size_b];
-   |                  ~
+LL -     let b = [Type, size_b];
+LL +     let b = [Type; size_b];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/typo-in-repeat-expr-issue-80173.rs:25:20
@@ -48,8 +50,9 @@ LL |     let f = ["f", get_size()];
    |
 help: replace the comma with a semicolon to create an array
    |
-LL |     let f = ["f"; get_size()];
-   |                 ~
+LL -     let f = ["f", get_size()];
+LL +     let f = ["f"; get_size()];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/typo-in-repeat-expr-issue-80173.rs:40:19
@@ -65,8 +68,9 @@ LL |     let g = vec![String::new(), 10];
    |
 help: replace the comma with a semicolon to create a vector
    |
-LL |     let g = vec![String::new(); 10];
-   |                               ~
+LL -     let g = vec![String::new(), 10];
+LL +     let g = vec![String::new(); 10];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/typo-in-repeat-expr-issue-80173.rs:49:24
@@ -76,8 +80,9 @@ LL |     let h = vec![Type, dyn_size];
    |
 help: replace the comma with a semicolon to create a vector
    |
-LL |     let h = vec![Type; dyn_size];
-   |                      ~
+LL -     let h = vec![Type, dyn_size];
+LL +     let h = vec![Type; dyn_size];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/typo-in-repeat-expr-issue-80173.rs:53:24
@@ -87,8 +92,9 @@ LL |     let i = vec![Type, get_dyn_size()];
    |
 help: replace the comma with a semicolon to create a vector
    |
-LL |     let i = vec![Type; get_dyn_size()];
-   |                      ~
+LL -     let i = vec![Type, get_dyn_size()];
+LL +     let i = vec![Type; get_dyn_size()];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/typo-in-repeat-expr-issue-80173.rs:57:23
@@ -98,8 +104,9 @@ LL |     let k = vec!['c', 10];
    |
 help: replace the comma with a semicolon to create a vector
    |
-LL |     let k = vec!['c'; 10];
-   |                     ~
+LL -     let k = vec!['c', 10];
+LL +     let k = vec!['c'; 10];
+   |
 
 error[E0308]: mismatched types
   --> $DIR/typo-in-repeat-expr-issue-80173.rs:61:24
diff --git a/tests/ui/resolve/const-with-typo-in-pattern-binding.stderr b/tests/ui/resolve/const-with-typo-in-pattern-binding.stderr
index a0cdac3fa25..f142f91064f 100644
--- a/tests/ui/resolve/const-with-typo-in-pattern-binding.stderr
+++ b/tests/ui/resolve/const-with-typo-in-pattern-binding.stderr
@@ -28,8 +28,9 @@ LL |         _ => {}
    |
 help: you might have meant to pattern match against the value of similarly named constant `god` instead of introducing a new catch-all binding
    |
-LL |         god => {}
-   |         ~~~
+LL -         GOD => {}
+LL +         god => {}
+   |
 
 error: unreachable pattern
   --> $DIR/const-with-typo-in-pattern-binding.rs:30:9
@@ -42,8 +43,9 @@ LL |         _ => {}
    |
 help: you might have meant to pattern match against the value of similarly named constant `GOOD` instead of introducing a new catch-all binding
    |
-LL |         GOOD => {}
-   |         ~~~~
+LL -         GOOOD => {}
+LL +         GOOD => {}
+   |
 
 error: unreachable pattern
   --> $DIR/const-with-typo-in-pattern-binding.rs:36:9
@@ -71,8 +73,9 @@ LL |         _ => {}
    |
 help: you might have meant to pattern match against the value of constant `ARCH` instead of introducing a new catch-all binding
    |
-LL |         std::env::consts::ARCH => {}
-   |         ~~~~~~~~~~~~~~~~~~~~~~
+LL -         ARCH => {}
+LL +         std::env::consts::ARCH => {}
+   |
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/ui/resolve/issue-100365.stderr b/tests/ui/resolve/issue-100365.stderr
index 2d9bab4304d..7a880c6f31a 100644
--- a/tests/ui/resolve/issue-100365.stderr
+++ b/tests/ui/resolve/issue-100365.stderr
@@ -6,8 +6,9 @@ LL |     let addr = Into::<std::net::IpAddr>.into([127, 0, 0, 1]);
    |
 help: use the path separator to refer to an item
    |
-LL |     let addr = Into::<std::net::IpAddr>::into([127, 0, 0, 1]);
-   |                                        ~~
+LL -     let addr = Into::<std::net::IpAddr>.into([127, 0, 0, 1]);
+LL +     let addr = Into::<std::net::IpAddr>::into([127, 0, 0, 1]);
+   |
 
 error[E0423]: expected value, found trait `Into`
   --> $DIR/issue-100365.rs:6:13
@@ -17,8 +18,9 @@ LL |     let _ = Into.into(());
    |
 help: use the path separator to refer to an item
    |
-LL |     let _ = Into::into(());
-   |                 ~~
+LL -     let _ = Into.into(());
+LL +     let _ = Into::into(());
+   |
 
 error[E0423]: expected value, found trait `Into`
   --> $DIR/issue-100365.rs:10:13
@@ -28,8 +30,9 @@ LL |     let _ = Into::<()>.into;
    |
 help: use the path separator to refer to an item
    |
-LL |     let _ = Into::<()>::into;
-   |                       ~~
+LL -     let _ = Into::<()>.into;
+LL +     let _ = Into::<()>::into;
+   |
 
 error[E0423]: expected value, found trait `std::iter::Iterator`
   --> $DIR/issue-100365.rs:17:9
@@ -65,8 +68,9 @@ LL |     let _ = create!();
    = note: this error originates in the macro `create` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: use the path separator to refer to an item
    |
-LL |         Into::<String>::into("")
-   |                       ~~
+LL -         Into::<String>.into("")
+LL +         Into::<String>::into("")
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/resolve/issue-101749.stderr b/tests/ui/resolve/issue-101749.stderr
index fedbf182ee8..09e800ec7c3 100644
--- a/tests/ui/resolve/issue-101749.stderr
+++ b/tests/ui/resolve/issue-101749.stderr
@@ -7,8 +7,9 @@ LL |     let _ = rect::area();
    = help: you might be missing a crate named `rect`
 help: you may have meant to call an instance method
    |
-LL |     let _ = rect.area();
-   |                 ~
+LL -     let _ = rect::area();
+LL +     let _ = rect.area();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/resolve/issue-103202.stderr b/tests/ui/resolve/issue-103202.stderr
index 87fa940ac3b..cf32efab981 100644
--- a/tests/ui/resolve/issue-103202.stderr
+++ b/tests/ui/resolve/issue-103202.stderr
@@ -6,8 +6,9 @@ LL |     fn f(self: &S::x) {}
    |
 help: if there were a trait named `Example` with associated type `x` implemented for `S`, you could use the fully-qualified path
    |
-LL |     fn f(self: &<S as Example>::x) {}
-   |                 ~~~~~~~~~~~~~~~~~
+LL -     fn f(self: &S::x) {}
+LL +     fn f(self: &<S as Example>::x) {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/resolve/issue-103474.stderr b/tests/ui/resolve/issue-103474.stderr
index e48fb31eccc..717892921f1 100644
--- a/tests/ui/resolve/issue-103474.stderr
+++ b/tests/ui/resolve/issue-103474.stderr
@@ -6,8 +6,9 @@ LL |         this.i
    |
 help: you might have meant to use `self` here instead
    |
-LL |         self.i
-   |         ~~~~
+LL -         this.i
+LL +         self.i
+   |
 help: if you meant to use `self`, you are also missing a `self` receiver argument
    |
 LL |     fn needs_self(&self) {
diff --git a/tests/ui/resolve/issue-112472-multi-generics-suggestion.stderr b/tests/ui/resolve/issue-112472-multi-generics-suggestion.stderr
index f463e2dad2c..1ed6e68c333 100644
--- a/tests/ui/resolve/issue-112472-multi-generics-suggestion.stderr
+++ b/tests/ui/resolve/issue-112472-multi-generics-suggestion.stderr
@@ -6,8 +6,9 @@ LL |     <DecodeLine as convert::TryFrom<String>>::Error: ParseError,
    |
 help: constrain the associated type to `ParseError`
    |
-LL |     DecodeLine: convert::TryFrom<String, Error = ParseError>,
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     <DecodeLine as convert::TryFrom<String>>::Error: ParseError,
+LL +     DecodeLine: convert::TryFrom<String, Error = ParseError>,
+   |
 
 error[E0404]: expected trait, found enum `ParseError`
   --> $DIR/issue-112472-multi-generics-suggestion.rs:25:45
@@ -17,8 +18,9 @@ LL |     <DecodeLine as TryFrom<String>>::Error: ParseError,
    |
 help: constrain the associated type to `ParseError`
    |
-LL |     DecodeLine: TryFrom<String, Error = ParseError>,
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     <DecodeLine as TryFrom<String>>::Error: ParseError,
+LL +     DecodeLine: TryFrom<String, Error = ParseError>,
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/resolve/issue-18252.stderr b/tests/ui/resolve/issue-18252.stderr
index 6cb9c1f1dd2..b22ad3f5225 100644
--- a/tests/ui/resolve/issue-18252.stderr
+++ b/tests/ui/resolve/issue-18252.stderr
@@ -6,8 +6,9 @@ LL |     let f = Foo::Variant(42);
    |
 help: you might have meant to create a new value of the struct
    |
-LL |     let f = Foo::Variant { x: /* value */ };
-   |                          ~~~~~~~~~~~~~~~~~~
+LL -     let f = Foo::Variant(42);
+LL +     let f = Foo::Variant { x: /* value */ };
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/resolve/issue-22692.stderr b/tests/ui/resolve/issue-22692.stderr
index be0634ebffc..546f12b35c1 100644
--- a/tests/ui/resolve/issue-22692.stderr
+++ b/tests/ui/resolve/issue-22692.stderr
@@ -6,8 +6,9 @@ LL |     let _ = String.new();
    |
 help: use the path separator to refer to an item
    |
-LL |     let _ = String::new();
-   |                   ~~
+LL -     let _ = String.new();
+LL +     let _ = String::new();
+   |
 
 error[E0423]: expected value, found struct `String`
   --> $DIR/issue-22692.rs:6:13
@@ -17,8 +18,9 @@ LL |     let _ = String.default;
    |
 help: use the path separator to refer to an item
    |
-LL |     let _ = String::default;
-   |                   ~~
+LL -     let _ = String.default;
+LL +     let _ = String::default;
+   |
 
 error[E0423]: expected value, found struct `Vec`
   --> $DIR/issue-22692.rs:10:13
@@ -28,8 +30,9 @@ LL |     let _ = Vec::<()>.with_capacity(1);
    |
 help: use the path separator to refer to an item
    |
-LL |     let _ = Vec::<()>::with_capacity(1);
-   |                      ~~
+LL -     let _ = Vec::<()>.with_capacity(1);
+LL +     let _ = Vec::<()>::with_capacity(1);
+   |
 
 error[E0423]: expected value, found struct `std::cell::Cell`
   --> $DIR/issue-22692.rs:17:9
@@ -43,8 +46,9 @@ LL |     Type!().get();
    = note: this error originates in the macro `Type` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: use the path separator to refer to an item
    |
-LL |     <Type!()>::get();
-   |     ~~~~~~~~~~~
+LL -     Type!().get();
+LL +     <Type!()>::get();
+   |
 
 error[E0423]: expected value, found struct `std::cell::Cell`
   --> $DIR/issue-22692.rs:17:9
@@ -58,8 +62,9 @@ LL |     Type! {}.get;
    = note: this error originates in the macro `Type` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: use the path separator to refer to an item
    |
-LL |     <Type! {}>::get;
-   |     ~~~~~~~~~~~~
+LL -     Type! {}.get;
+LL +     <Type! {}>::get;
+   |
 
 error[E0423]: expected value, found struct `Vec`
   --> $DIR/issue-22692.rs:26:9
@@ -73,8 +78,9 @@ LL |     let _ = create!(type method);
    = note: this error originates in the macro `create` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: use the path separator to refer to an item
    |
-LL |         Vec::new()
-   |            ~~
+LL -         Vec.new()
+LL +         Vec::new()
+   |
 
 error[E0423]: expected value, found struct `Vec`
   --> $DIR/issue-22692.rs:31:9
@@ -88,8 +94,9 @@ LL |     let _ = create!(type field);
    = note: this error originates in the macro `create` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: use the path separator to refer to an item
    |
-LL |         Vec::new
-   |            ~~
+LL -         Vec.new
+LL +         Vec::new
+   |
 
 error[E0423]: expected value, found struct `std::cell::Cell`
   --> $DIR/issue-22692.rs:17:9
@@ -103,8 +110,9 @@ LL |     let _ = create!(macro method);
    = note: this error originates in the macro `Type` which comes from the expansion of the macro `create` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: use the path separator to refer to an item
    |
-LL |         <Type!()>::new(0)
-   |         ~~~~~~~~~~~
+LL -         Type!().new(0)
+LL +         <Type!()>::new(0)
+   |
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/resolve/issue-35675.stderr b/tests/ui/resolve/issue-35675.stderr
index 44af65b0768..83d92ea7bf1 100644
--- a/tests/ui/resolve/issue-35675.stderr
+++ b/tests/ui/resolve/issue-35675.stderr
@@ -6,8 +6,9 @@ LL | fn should_return_fruit() -> Apple {
    |
 help: there is an enum variant `Fruit::Apple`; try using the variant's enum
    |
-LL | fn should_return_fruit() -> Fruit {
-   |                             ~~~~~
+LL - fn should_return_fruit() -> Apple {
+LL + fn should_return_fruit() -> Fruit {
+   |
 
 error[E0425]: cannot find function, tuple struct or tuple variant `Apple` in this scope
   --> $DIR/issue-35675.rs:9:5
@@ -57,8 +58,9 @@ LL | fn bar() -> Variant3 {
    |
 help: there is an enum variant `x::Enum::Variant3`; try using the variant's enum
    |
-LL | fn bar() -> x::Enum {
-   |             ~~~~~~~
+LL - fn bar() -> Variant3 {
+LL + fn bar() -> x::Enum {
+   |
 
 error[E0573]: expected type, found variant `Some`
   --> $DIR/issue-35675.rs:28:13
diff --git a/tests/ui/resolve/issue-3907.stderr b/tests/ui/resolve/issue-3907.stderr
index e9dc344496e..0dc85829160 100644
--- a/tests/ui/resolve/issue-3907.stderr
+++ b/tests/ui/resolve/issue-3907.stderr
@@ -6,7 +6,8 @@ LL | impl Foo for S {
    |
 help: you might have meant to use `#![feature(trait_alias)]` instead of a `type` alias
    |
-LL | trait Foo = dyn issue_3907::Foo;
+LL - type Foo = dyn issue_3907::Foo;
+LL + trait Foo = dyn issue_3907::Foo;
    |
 help: consider importing this trait instead
    |
diff --git a/tests/ui/resolve/issue-39226.stderr b/tests/ui/resolve/issue-39226.stderr
index 857f6a73517..3d771b4fc42 100644
--- a/tests/ui/resolve/issue-39226.stderr
+++ b/tests/ui/resolve/issue-39226.stderr
@@ -9,12 +9,14 @@ LL |         handle: Handle
    |
 help: use struct literal syntax instead
    |
-LL |         handle: Handle {}
-   |                 ~~~~~~~~~
+LL -         handle: Handle
+LL +         handle: Handle {}
+   |
 help: a local variable with a similar name exists
    |
-LL |         handle: handle
-   |                 ~~~~~~
+LL -         handle: Handle
+LL +         handle: handle
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/resolve/issue-42944.stderr b/tests/ui/resolve/issue-42944.stderr
index 4ffa9402c66..53c155d8f13 100644
--- a/tests/ui/resolve/issue-42944.stderr
+++ b/tests/ui/resolve/issue-42944.stderr
@@ -23,8 +23,9 @@ LL |     pub struct Bx(pub(in crate::foo) ());
    |                   ^^^^^^^^^^^^^^^^^^^^^ private field
 help: consider making the field publicly accessible
    |
-LL |     pub struct Bx(pub ());
-   |                   ~~~
+LL -     pub struct Bx(pub(in crate::foo) ());
+LL +     pub struct Bx(pub ());
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/resolve/issue-5035.stderr b/tests/ui/resolve/issue-5035.stderr
index 32b972b21ff..b249aaa4b28 100644
--- a/tests/ui/resolve/issue-5035.stderr
+++ b/tests/ui/resolve/issue-5035.stderr
@@ -15,12 +15,14 @@ LL | impl K for isize {}
    |
 help: you might have meant to use `#![feature(trait_alias)]` instead of a `type` alias
    |
-LL | trait K = dyn I;
+LL - type K = dyn I;
+LL + trait K = dyn I;
    |
 help: a trait with a similar name exists
    |
-LL | impl I for isize {}
-   |      ~
+LL - impl K for isize {}
+LL + impl I for isize {}
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/resolve/issue-5099.stderr b/tests/ui/resolve/issue-5099.stderr
index e9b2a9c4d48..991c39db335 100644
--- a/tests/ui/resolve/issue-5099.stderr
+++ b/tests/ui/resolve/issue-5099.stderr
@@ -6,8 +6,9 @@ LL |         this.a
    |
 help: you might have meant to use `self` here instead
    |
-LL |         self.a
-   |         ~~~~
+LL -         this.a
+LL +         self.a
+   |
 help: if you meant to use `self`, you are also missing a `self` receiver argument
    |
 LL |     fn a(&self) -> A {
@@ -21,8 +22,9 @@ LL |         this.b(x);
    |
 help: you might have meant to use `self` here instead
    |
-LL |         self.b(x);
-   |         ~~~~
+LL -         this.b(x);
+LL +         self.b(x);
+   |
 help: if you meant to use `self`, you are also missing a `self` receiver argument
    |
 LL |     fn b(&self, x: i32) {
@@ -36,8 +38,9 @@ LL |         let _ = || this.a;
    |
 help: you might have meant to use `self` here instead
    |
-LL |         let _ = || self.a;
-   |                    ~~~~
+LL -         let _ = || this.a;
+LL +         let _ = || self.a;
+   |
 help: if you meant to use `self`, you are also missing a `self` receiver argument
    |
 LL |     fn c(&self) {
diff --git a/tests/ui/resolve/issue-55673.stderr b/tests/ui/resolve/issue-55673.stderr
index 7d420126199..30b1cd09085 100644
--- a/tests/ui/resolve/issue-55673.stderr
+++ b/tests/ui/resolve/issue-55673.stderr
@@ -6,8 +6,9 @@ LL |     T::Baa: std::fmt::Debug,
    |
 help: change the associated type name to use `Bar` from `Foo`
    |
-LL |     T::Bar: std::fmt::Debug,
-   |        ~~~
+LL -     T::Baa: std::fmt::Debug,
+LL +     T::Bar: std::fmt::Debug,
+   |
 
 error[E0220]: associated type `Baa` not found for `T`
   --> $DIR/issue-55673.rs:16:8
@@ -17,12 +18,14 @@ LL |     T::Baa: std::fmt::Debug,
    |
 help: consider further restricting type parameter `T` with trait `Foo`
    |
-LL |     T::Baa: std::fmt::Debug, T: Foo
-   |                            ~~~~~~~~
+LL -     T::Baa: std::fmt::Debug,
+LL +     T::Baa: std::fmt::Debug, T: Foo
+   |
 help: ...and changing the associated type name
    |
-LL |     T::Bar: std::fmt::Debug,
-   |        ~~~
+LL -     T::Baa: std::fmt::Debug,
+LL +     T::Bar: std::fmt::Debug,
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/resolve/issue-73427.stderr b/tests/ui/resolve/issue-73427.stderr
index 0a9a504f79c..890bb04f24d 100644
--- a/tests/ui/resolve/issue-73427.stderr
+++ b/tests/ui/resolve/issue-73427.stderr
@@ -17,14 +17,17 @@ LL | | }
    | |_^
 help: you might have meant to use one of the following enum variants
    |
-LL |     (A::Tuple()).foo();
-   |     ~~~~~~~~~~~~
-LL |     A::Unit.foo();
-   |     ~~~~~~~
+LL -     A.foo();
+LL +     (A::Tuple()).foo();
+   |
+LL -     A.foo();
+LL +     A::Unit.foo();
+   |
 help: alternatively, the following enum variant is available
    |
-LL |     (A::TupleWithFields(/* fields */)).foo();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     A.foo();
+LL +     (A::TupleWithFields(/* fields */)).foo();
+   |
 
 error[E0423]: expected value, found enum `B`
   --> $DIR/issue-73427.rs:35:5
@@ -58,12 +61,14 @@ LL | | }
    | |_^
 help: you might have meant to use the following enum variant
    |
-LL |     C::Unit.foo();
-   |     ~~~~~~~
+LL -     C.foo();
+LL +     C::Unit.foo();
+   |
 help: alternatively, the following enum variant is available
    |
-LL |     (C::TupleWithFields(/* fields */)).foo();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     C.foo();
+LL +     (C::TupleWithFields(/* fields */)).foo();
+   |
 
 error[E0423]: expected value, found enum `D`
   --> $DIR/issue-73427.rs:39:5
@@ -81,12 +86,14 @@ LL | | }
    | |_^
 help: you might have meant to use the following enum variant
    |
-LL |     D::Unit.foo();
-   |     ~~~~~~~
+LL -     D.foo();
+LL +     D::Unit.foo();
+   |
 help: alternatively, the following enum variant is available
    |
-LL |     (D::TupleWithFields(/* fields */)).foo();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     D.foo();
+LL +     (D::TupleWithFields(/* fields */)).foo();
+   |
 
 error[E0423]: expected value, found enum `E`
   --> $DIR/issue-73427.rs:41:5
@@ -103,8 +110,9 @@ LL | | }
    | |_^
 help: the following enum variant is available
    |
-LL |     (E::TupleWithFields(/* fields */)).foo();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     E.foo();
+LL +     (E::TupleWithFields(/* fields */)).foo();
+   |
 help: consider importing one of these constants instead
    |
 LL + use std::f128::consts::E;
@@ -136,10 +144,12 @@ LL | | }
    | |_^
 help: try to match against one of the enum's variants
    |
-LL |     if let A::Tuple(3) = x { }
-   |            ~~~~~~~~
-LL |     if let A::TupleWithFields(3) = x { }
-   |            ~~~~~~~~~~~~~~~~~~
+LL -     if let A(3) = x { }
+LL +     if let A::Tuple(3) = x { }
+   |
+LL -     if let A(3) = x { }
+LL +     if let A::TupleWithFields(3) = x { }
+   |
 
 error[E0423]: expected function, tuple struct or tuple variant, found enum `A`
   --> $DIR/issue-73427.rs:46:13
@@ -161,10 +171,12 @@ LL | | }
    | |_^
 help: try to construct one of the enum's variants
    |
-LL |     let x = A::Tuple(3);
-   |             ~~~~~~~~
-LL |     let x = A::TupleWithFields(3);
-   |             ~~~~~~~~~~~~~~~~~~
+LL -     let x = A(3);
+LL +     let x = A::Tuple(3);
+   |
+LL -     let x = A(3);
+LL +     let x = A::TupleWithFields(3);
+   |
 
 error: aborting due to 7 previous errors
 
diff --git a/tests/ui/resolve/privacy-enum-ctor.stderr b/tests/ui/resolve/privacy-enum-ctor.stderr
index 12a6580048e..3bbab3716af 100644
--- a/tests/ui/resolve/privacy-enum-ctor.stderr
+++ b/tests/ui/resolve/privacy-enum-ctor.stderr
@@ -17,12 +17,14 @@ LL | |         }
    | |_________^
 help: you might have meant to use the following enum variant
    |
-LL |         m::Z::Unit;
-   |         ~~~~~~~~~~
+LL -         n::Z;
+LL +         m::Z::Unit;
+   |
 help: alternatively, the following enum variant is available
    |
-LL |         (m::Z::Fn(/* fields */));
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -         n::Z;
+LL +         (m::Z::Fn(/* fields */));
+   |
 
 error[E0423]: expected value, found enum `Z`
   --> $DIR/privacy-enum-ctor.rs:25:9
@@ -43,12 +45,14 @@ LL | |         }
    | |_________^
 help: you might have meant to use the following enum variant
    |
-LL |         m::Z::Unit;
-   |         ~~~~~~~~~~
+LL -         Z;
+LL +         m::Z::Unit;
+   |
 help: alternatively, the following enum variant is available
    |
-LL |         (m::Z::Fn(/* fields */));
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -         Z;
+LL +         (m::Z::Fn(/* fields */));
+   |
 
 error[E0423]: expected value, found enum `m::E`
   --> $DIR/privacy-enum-ctor.rs:41:16
@@ -72,16 +76,19 @@ LL | |     }
    | |_____^
 help: you might have meant to use the following enum variant
    |
-LL |     let _: E = E::Unit;
-   |                ~~~~~~~
+LL -     let _: E = m::E;
+LL +     let _: E = E::Unit;
+   |
 help: alternatively, the following enum variant is available
    |
-LL |     let _: E = (E::Fn(/* fields */));
-   |                ~~~~~~~~~~~~~~~~~~~~~
+LL -     let _: E = m::E;
+LL +     let _: E = (E::Fn(/* fields */));
+   |
 help: a function with a similar name exists
    |
-LL |     let _: E = m::f;
-   |                   ~
+LL -     let _: E = m::E;
+LL +     let _: E = m::f;
+   |
 help: consider importing one of these constants instead
    |
 LL + use std::f128::consts::E;
@@ -117,12 +124,14 @@ LL | |     }
    | |_____^
 help: you might have meant to use the following enum variant
    |
-LL |     let _: E = E::Unit;
-   |                ~~~~~~~
+LL -     let _: E = E;
+LL +     let _: E = E::Unit;
+   |
 help: alternatively, the following enum variant is available
    |
-LL |     let _: E = (E::Fn(/* fields */));
-   |                ~~~~~~~~~~~~~~~~~~~~~
+LL -     let _: E = E;
+LL +     let _: E = (E::Fn(/* fields */));
+   |
 help: consider importing one of these constants instead
    |
 LL + use std::f128::consts::E;
@@ -168,12 +177,14 @@ LL | |         }
    | |_________^
 help: you might have meant to use the following enum variant
    |
-LL |     let _: Z = m::Z::Unit;
-   |                ~~~~~~~~~~
+LL -     let _: Z = m::n::Z;
+LL +     let _: Z = m::Z::Unit;
+   |
 help: alternatively, the following enum variant is available
    |
-LL |     let _: Z = (m::Z::Fn(/* fields */));
-   |                ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _: Z = m::n::Z;
+LL +     let _: Z = (m::Z::Fn(/* fields */));
+   |
 
 error[E0412]: cannot find type `Z` in this scope
   --> $DIR/privacy-enum-ctor.rs:61:12
diff --git a/tests/ui/resolve/privacy-struct-ctor.stderr b/tests/ui/resolve/privacy-struct-ctor.stderr
index c1fcaaf0573..1d8c741c964 100644
--- a/tests/ui/resolve/privacy-struct-ctor.stderr
+++ b/tests/ui/resolve/privacy-struct-ctor.stderr
@@ -55,8 +55,9 @@ LL |         pub(in m) struct Z(pub(in m::n) u8);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: consider making the field publicly accessible
    |
-LL |         pub(in m) struct Z(pub u8);
-   |                            ~~~
+LL -         pub(in m) struct Z(pub(in m::n) u8);
+LL +         pub(in m) struct Z(pub u8);
+   |
 
 error[E0603]: tuple struct constructor `S` is private
   --> $DIR/privacy-struct-ctor.rs:29:8
@@ -112,8 +113,9 @@ LL |         pub(in m) struct Z(pub(in m::n) u8);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: consider making the field publicly accessible
    |
-LL |         pub(in m) struct Z(pub u8);
-   |                            ~~~
+LL -         pub(in m) struct Z(pub(in m::n) u8);
+LL +         pub(in m) struct Z(pub u8);
+   |
 
 error[E0603]: tuple struct constructor `S` is private
   --> $DIR/privacy-struct-ctor.rs:41:16
diff --git a/tests/ui/resolve/resolve-conflict-extern-crate-vs-extern-crate.stderr b/tests/ui/resolve/resolve-conflict-extern-crate-vs-extern-crate.stderr
index 999e9a47d6c..f1db2d71b6a 100644
--- a/tests/ui/resolve/resolve-conflict-extern-crate-vs-extern-crate.stderr
+++ b/tests/ui/resolve/resolve-conflict-extern-crate-vs-extern-crate.stderr
@@ -3,7 +3,8 @@ error[E0259]: the name `std` is defined multiple times
    = note: `std` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | extern crate std as other_std;
+LL - extern crate std;
+LL + extern crate std as other_std;
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/resolve/resolve-conflict-import-vs-extern-crate.stderr b/tests/ui/resolve/resolve-conflict-import-vs-extern-crate.stderr
index a8d0efedb6c..40c76821bb8 100644
--- a/tests/ui/resolve/resolve-conflict-import-vs-extern-crate.stderr
+++ b/tests/ui/resolve/resolve-conflict-import-vs-extern-crate.stderr
@@ -7,8 +7,9 @@ LL | use std::slice as std;
    = note: `std` must be defined only once in the type namespace of this module
 help: you can use `as` to change the binding name of the import
    |
-LL | use std::slice as other_std;
-   |                ~~~~~~~~~~~~
+LL - use std::slice as std;
+LL + use std::slice as other_std;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/resolve/resolve-inconsistent-names.stderr b/tests/ui/resolve/resolve-inconsistent-names.stderr
index d6240fb8f87..3197e0b0894 100644
--- a/tests/ui/resolve/resolve-inconsistent-names.stderr
+++ b/tests/ui/resolve/resolve-inconsistent-names.stderr
@@ -34,8 +34,9 @@ LL |         (A, B) | (ref B, c) | (c, A) => ()
    |
 help: if you meant to match on unit variant `E::A`, use the full path in the pattern
    |
-LL |         (E::A, B) | (ref B, c) | (c, A) => ()
-   |          ~~~~
+LL -         (A, B) | (ref B, c) | (c, A) => ()
+LL +         (E::A, B) | (ref B, c) | (c, A) => ()
+   |
 
 error[E0408]: variable `B` is not bound in all patterns
   --> $DIR/resolve-inconsistent-names.rs:19:31
@@ -64,8 +65,9 @@ LL |         (CONST1, _) | (_, Const2) => ()
    |
 help: if you meant to match on constant `m::Const2`, use the full path in the pattern
    |
-LL |         (CONST1, _) | (_, m::Const2) => ()
-   |                           ~~~~~~~~~
+LL -         (CONST1, _) | (_, Const2) => ()
+LL +         (CONST1, _) | (_, m::Const2) => ()
+   |
 
 error[E0408]: variable `CONST1` is not bound in all patterns
   --> $DIR/resolve-inconsistent-names.rs:31:23
diff --git a/tests/ui/resolve/resolve-issue-135614-assoc-const.import_trait_associated_functions.stderr b/tests/ui/resolve/resolve-issue-135614-assoc-const.import_trait_associated_functions.stderr
index b41fa1818e2..3d6d47578c3 100644
--- a/tests/ui/resolve/resolve-issue-135614-assoc-const.import_trait_associated_functions.stderr
+++ b/tests/ui/resolve/resolve-issue-135614-assoc-const.import_trait_associated_functions.stderr
@@ -11,8 +11,9 @@ LL |     const DEFAULT: u32 = 0;
    = note: the matched value is of type `u32`
 help: introduce a variable instead
    |
-LL |     let DEFAULT_var: u32 = 0;
-   |         ~~~~~~~~~~~
+LL -     let DEFAULT: u32 = 0;
+LL +     let DEFAULT_var: u32 = 0;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/resolve/resolve-issue-135614-assoc-const.normal.stderr b/tests/ui/resolve/resolve-issue-135614-assoc-const.normal.stderr
index 908f5bdd897..f041487da41 100644
--- a/tests/ui/resolve/resolve-issue-135614-assoc-const.normal.stderr
+++ b/tests/ui/resolve/resolve-issue-135614-assoc-const.normal.stderr
@@ -21,8 +21,9 @@ LL |     const DEFAULT: u32 = 0;
    = note: the matched value is of type `u32`
 help: introduce a variable instead
    |
-LL |     let DEFAULT_var: u32 = 0;
-   |         ~~~~~~~~~~~
+LL -     let DEFAULT: u32 = 0;
+LL +     let DEFAULT_var: u32 = 0;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/resolve/resolve-variant-assoc-item.stderr b/tests/ui/resolve/resolve-variant-assoc-item.stderr
index 9a5a605ac05..4b15114f022 100644
--- a/tests/ui/resolve/resolve-variant-assoc-item.stderr
+++ b/tests/ui/resolve/resolve-variant-assoc-item.stderr
@@ -6,8 +6,9 @@ LL |     E::V::associated_item;
    |
 help: there is an enum variant `E::V`; try using the variant's enum
    |
-LL |     E::associated_item;
-   |     ~
+LL -     E::V::associated_item;
+LL +     E::associated_item;
+   |
 
 error[E0433]: failed to resolve: `V` is a variant, not a module
   --> $DIR/resolve-variant-assoc-item.rs:6:5
@@ -17,8 +18,9 @@ LL |     V::associated_item;
    |
 help: there is an enum variant `E::V`; try using the variant's enum
    |
-LL |     E::associated_item;
-   |     ~
+LL -     V::associated_item;
+LL +     E::associated_item;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/resolve/suggest-path-for-tuple-struct.stderr b/tests/ui/resolve/suggest-path-for-tuple-struct.stderr
index 12c631f5a83..68a5b550978 100644
--- a/tests/ui/resolve/suggest-path-for-tuple-struct.stderr
+++ b/tests/ui/resolve/suggest-path-for-tuple-struct.stderr
@@ -6,8 +6,9 @@ LL |     let _ = SomeTupleStruct.new();
    |
 help: use the path separator to refer to an item
    |
-LL |     let _ = SomeTupleStruct::new();
-   |                            ~~
+LL -     let _ = SomeTupleStruct.new();
+LL +     let _ = SomeTupleStruct::new();
+   |
 
 error[E0423]: expected value, found struct `SomeRegularStruct`
   --> $DIR/suggest-path-for-tuple-struct.rs:24:13
@@ -17,8 +18,9 @@ LL |     let _ = SomeRegularStruct.new();
    |
 help: use the path separator to refer to an item
    |
-LL |     let _ = SomeRegularStruct::new();
-   |                              ~~
+LL -     let _ = SomeRegularStruct.new();
+LL +     let _ = SomeRegularStruct::new();
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/resolve/suggest-path-instead-of-mod-dot-item.stderr b/tests/ui/resolve/suggest-path-instead-of-mod-dot-item.stderr
index 9c12fd2644c..5db943cd10d 100644
--- a/tests/ui/resolve/suggest-path-instead-of-mod-dot-item.stderr
+++ b/tests/ui/resolve/suggest-path-instead-of-mod-dot-item.stderr
@@ -6,8 +6,9 @@ LL |     a.I
    |
 help: use the path separator to refer to an item
    |
-LL |     a::I
-   |      ~~
+LL -     a.I
+LL +     a::I
+   |
 
 error[E0423]: expected value, found module `a`
   --> $DIR/suggest-path-instead-of-mod-dot-item.rs:23:5
@@ -17,8 +18,9 @@ LL |     a.g()
    |
 help: use the path separator to refer to an item
    |
-LL |     a::g()
-   |      ~~
+LL -     a.g()
+LL +     a::g()
+   |
 
 error[E0423]: expected value, found module `a`
   --> $DIR/suggest-path-instead-of-mod-dot-item.rs:29:5
@@ -28,8 +30,9 @@ LL |     a.b.J
    |
 help: use the path separator to refer to an item
    |
-LL |     a::b.J
-   |      ~~
+LL -     a.b.J
+LL +     a::b.J
+   |
 
 error[E0423]: expected value, found module `a::b`
   --> $DIR/suggest-path-instead-of-mod-dot-item.rs:35:5
@@ -42,12 +45,14 @@ LL |     a::b.J
    |
 help: use the path separator to refer to an item
    |
-LL |     a::b::J
-   |         ~~
+LL -     a::b.J
+LL +     a::b::J
+   |
 help: a constant with a similar name exists
    |
-LL |     a::I.J
-   |        ~
+LL -     a::b.J
+LL +     a::I.J
+   |
 
 error[E0423]: expected value, found module `a`
   --> $DIR/suggest-path-instead-of-mod-dot-item.rs:42:5
@@ -57,8 +62,9 @@ LL |     a.b.f();
    |
 help: use the path separator to refer to an item
    |
-LL |     a::b.f();
-   |      ~~
+LL -     a.b.f();
+LL +     a::b.f();
+   |
 
 error[E0423]: expected value, found module `a::b`
   --> $DIR/suggest-path-instead-of-mod-dot-item.rs:46:12
@@ -82,12 +88,14 @@ LL |     a::b.f()
    |
 help: use the path separator to refer to an item
    |
-LL |     a::b::f()
-   |         ~~
+LL -     a::b.f()
+LL +     a::b::f()
+   |
 help: a constant with a similar name exists
    |
-LL |     a::I.f()
-   |        ~
+LL -     a::b.f()
+LL +     a::I.f()
+   |
 
 error[E0423]: expected value, found module `a::b`
   --> $DIR/suggest-path-instead-of-mod-dot-item.rs:59:5
@@ -145,8 +153,9 @@ LL |     let _ = create!(method);
    = note: this error originates in the macro `create` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: use the path separator to refer to an item
    |
-LL |         a::f()
-   |          ~~
+LL -         a.f()
+LL +         a::f()
+   |
 
 error[E0423]: expected value, found module `a`
   --> $DIR/suggest-path-instead-of-mod-dot-item.rs:85:9
@@ -160,8 +169,9 @@ LL |     let _ = create!(field);
    = note: this error originates in the macro `create` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: use the path separator to refer to an item
    |
-LL |         a::f
-   |          ~~
+LL -         a.f
+LL +         a::f
+   |
 
 error: aborting due to 13 previous errors
 
diff --git a/tests/ui/resolve/typo-suggestion-for-variable-with-name-similar-to-struct-field.stderr b/tests/ui/resolve/typo-suggestion-for-variable-with-name-similar-to-struct-field.stderr
index 5662021a2d5..15fdb975a1b 100644
--- a/tests/ui/resolve/typo-suggestion-for-variable-with-name-similar-to-struct-field.stderr
+++ b/tests/ui/resolve/typo-suggestion-for-variable-with-name-similar-to-struct-field.stderr
@@ -28,8 +28,9 @@ LL |         println!("{self.config}");
    |                    +++++
 help: a local variable with a similar name exists
    |
-LL |         println!("{cofig}");
-   |                    ~~~~~
+LL -         println!("{config}");
+LL +         println!("{cofig}");
+   |
 
 error[E0425]: cannot find value `bah` in this scope
   --> $DIR/typo-suggestion-for-variable-with-name-similar-to-struct-field.rs:33:9
@@ -46,8 +47,9 @@ LL |         Self::bah;
    |         ++++++
 help: a function with a similar name exists
    |
-LL |         ba;
-   |         ~~
+LL -         bah;
+LL +         ba;
+   |
 
 error[E0425]: cannot find value `BAR` in this scope
   --> $DIR/typo-suggestion-for-variable-with-name-similar-to-struct-field.rs:35:9
@@ -64,8 +66,9 @@ LL |         Self::BAR;
    |         ++++++
 help: a constant with a similar name exists
    |
-LL |         BARR;
-   |         ~~~~
+LL -         BAR;
+LL +         BARR;
+   |
 
 error[E0412]: cannot find type `Baz` in this scope
   --> $DIR/typo-suggestion-for-variable-with-name-similar-to-struct-field.rs:37:18
@@ -82,8 +85,9 @@ LL |         let foo: Self::Baz = "".to_string();
    |                  ++++++
 help: a type alias with a similar name exists
    |
-LL |         let foo: Bar = "".to_string();
-   |                  ~~~
+LL -         let foo: Baz = "".to_string();
+LL +         let foo: Bar = "".to_string();
+   |
 
 error[E0425]: cannot find function `baz` in this scope
   --> $DIR/typo-suggestion-for-variable-with-name-similar-to-struct-field.rs:31:9
@@ -100,8 +104,9 @@ LL |         self.baz();
    |         +++++
 help: a function with a similar name exists
    |
-LL |         ba();
-   |         ~~
+LL -         baz();
+LL +         ba();
+   |
 
 error: aborting due to 7 previous errors
 
diff --git a/tests/ui/resolve/typo-suggestion-mistyped-in-path.stderr b/tests/ui/resolve/typo-suggestion-mistyped-in-path.stderr
index 3ae134e43bc..1ea7f1d39cb 100644
--- a/tests/ui/resolve/typo-suggestion-mistyped-in-path.stderr
+++ b/tests/ui/resolve/typo-suggestion-mistyped-in-path.stderr
@@ -18,8 +18,9 @@ LL |     Struct::fob();
    |
 help: there is an associated function `foo` with a similar name
    |
-LL |     Struct::foo();
-   |             ~~~
+LL -     Struct::fob();
+LL +     Struct::foo();
+   |
 
 error[E0433]: failed to resolve: use of undeclared type `Struc`
   --> $DIR/typo-suggestion-mistyped-in-path.rs:27:5
@@ -38,8 +39,9 @@ LL |     modul::foo();
    |
 help: there is a crate or module with a similar name
    |
-LL |     module::foo();
-   |     ~~~~~~
+LL -     modul::foo();
+LL +     module::foo();
+   |
 
 error[E0433]: failed to resolve: use of undeclared type `Trai`
   --> $DIR/typo-suggestion-mistyped-in-path.rs:39:5
diff --git a/tests/ui/resolve/unboxed-closure-sugar-nonexistent-trait.stderr b/tests/ui/resolve/unboxed-closure-sugar-nonexistent-trait.stderr
index 8addc0303fb..f885705a17b 100644
--- a/tests/ui/resolve/unboxed-closure-sugar-nonexistent-trait.stderr
+++ b/tests/ui/resolve/unboxed-closure-sugar-nonexistent-trait.stderr
@@ -12,7 +12,8 @@ LL | fn g<F:Typedef(isize) -> isize>(x: F) {}
    |
 help: you might have meant to use `#![feature(trait_alias)]` instead of a `type` alias
    |
-LL | trait Typedef = isize;
+LL - type Typedef = isize;
+LL + trait Typedef = isize;
    |
 
 error: aborting due to 2 previous errors
diff --git a/tests/ui/rfcs/rfc-2008-non-exhaustive/struct.stderr b/tests/ui/rfcs/rfc-2008-non-exhaustive/struct.stderr
index 39b1ef1e078..d0244f39769 100644
--- a/tests/ui/rfcs/rfc-2008-non-exhaustive/struct.stderr
+++ b/tests/ui/rfcs/rfc-2008-non-exhaustive/struct.stderr
@@ -58,8 +58,9 @@ LL |     let NormalStruct { first_field, second_field } = ns;
    |
 help: add `..` at the end of the field list to ignore all other fields
    |
-LL |     let NormalStruct { first_field, second_field , .. } = ns;
-   |                                                  ~~~~~~
+LL -     let NormalStruct { first_field, second_field } = ns;
+LL +     let NormalStruct { first_field, second_field , .. } = ns;
+   |
 
 error[E0423]: cannot initialize a tuple struct which contains private fields
   --> $DIR/struct.rs:20:14
@@ -75,8 +76,9 @@ LL |     let TupleStruct { 0: first_field, 1: second_field } = ts;
    |
 help: add `..` at the end of the field list to ignore all other fields
    |
-LL |     let TupleStruct { 0: first_field, 1: second_field , .. } = ts;
-   |                                                       ~~~~~~
+LL -     let TupleStruct { 0: first_field, 1: second_field } = ts;
+LL +     let TupleStruct { 0: first_field, 1: second_field , .. } = ts;
+   |
 
 error[E0638]: `..` required with struct marked as non-exhaustive
   --> $DIR/struct.rs:35:9
@@ -86,8 +88,9 @@ LL |     let UnitStruct { } = us;
    |
 help: add `..` at the end of the field list to ignore all other fields
    |
-LL |     let UnitStruct { .. } = us;
-   |                      ~~~~
+LL -     let UnitStruct { } = us;
+LL +     let UnitStruct { .. } = us;
+   |
 
 error: aborting due to 9 previous errors
 
diff --git a/tests/ui/rfcs/rfc-2008-non-exhaustive/variant.stderr b/tests/ui/rfcs/rfc-2008-non-exhaustive/variant.stderr
index 4083f57a9cd..4cabd5a8140 100644
--- a/tests/ui/rfcs/rfc-2008-non-exhaustive/variant.stderr
+++ b/tests/ui/rfcs/rfc-2008-non-exhaustive/variant.stderr
@@ -82,8 +82,9 @@ LL |         NonExhaustiveVariants::Struct { field } => ""
    |
 help: add `..` at the end of the field list to ignore all other fields
    |
-LL |         NonExhaustiveVariants::Struct { field , .. } => ""
-   |                                               ~~~~~~
+LL -         NonExhaustiveVariants::Struct { field } => ""
+LL +         NonExhaustiveVariants::Struct { field , .. } => ""
+   |
 
 error[E0638]: `..` required with variant marked as non-exhaustive
   --> $DIR/variant.rs:30:12
@@ -93,8 +94,9 @@ LL |     if let NonExhaustiveVariants::Struct { field } = variant_struct {
    |
 help: add `..` at the end of the field list to ignore all other fields
    |
-LL |     if let NonExhaustiveVariants::Struct { field , .. } = variant_struct {
-   |                                                  ~~~~~~
+LL -     if let NonExhaustiveVariants::Struct { field } = variant_struct {
+LL +     if let NonExhaustiveVariants::Struct { field , .. } = variant_struct {
+   |
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/rfcs/rfc-2126-extern-absolute-paths/not-allowed.stderr b/tests/ui/rfcs/rfc-2126-extern-absolute-paths/not-allowed.stderr
index d0c084f7bd5..37a0f2bcaa8 100644
--- a/tests/ui/rfcs/rfc-2126-extern-absolute-paths/not-allowed.stderr
+++ b/tests/ui/rfcs/rfc-2126-extern-absolute-paths/not-allowed.stderr
@@ -6,8 +6,9 @@ LL | use alloc;
    |
 help: consider importing this module instead
    |
-LL | use std::alloc;
-   |     ~~~~~~~~~~
+LL - use alloc;
+LL + use std::alloc;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/rmeta/rmeta_meta_main.stderr b/tests/ui/rmeta/rmeta_meta_main.stderr
index af11c88d928..7ee44ce29b2 100644
--- a/tests/ui/rmeta/rmeta_meta_main.stderr
+++ b/tests/ui/rmeta/rmeta_meta_main.stderr
@@ -6,8 +6,9 @@ LL |     let _ = Foo { field2: 42 };
    |
 help: a field with a similar name exists
    |
-LL |     let _ = Foo { field: 42 };
-   |                   ~~~~~
+LL -     let _ = Foo { field2: 42 };
+LL +     let _ = Foo { field: 42 };
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/rust-2018/remove-extern-crate.stderr b/tests/ui/rust-2018/remove-extern-crate.stderr
index 020db9975c0..cb090c621e9 100644
--- a/tests/ui/rust-2018/remove-extern-crate.stderr
+++ b/tests/ui/rust-2018/remove-extern-crate.stderr
@@ -19,8 +19,9 @@ LL |     extern crate core;
    |
 help: convert it to a `use`
    |
-LL |     use core;
-   |     ~~~
+LL -     extern crate core;
+LL +     use core;
+   |
 
 warning: `extern crate` is not idiomatic in the new edition
   --> $DIR/remove-extern-crate.rs:45:5
@@ -30,8 +31,9 @@ LL |     pub extern crate core;
    |
 help: convert it to a `use`
    |
-LL |     pub use core;
-   |         ~~~
+LL -     pub extern crate core;
+LL +     pub use core;
+   |
 
 warning: 3 warnings emitted
 
diff --git a/tests/ui/rust-2018/trait-import-suggestions.stderr b/tests/ui/rust-2018/trait-import-suggestions.stderr
index 85262888579..077b4a6cf2f 100644
--- a/tests/ui/rust-2018/trait-import-suggestions.stderr
+++ b/tests/ui/rust-2018/trait-import-suggestions.stderr
@@ -14,8 +14,9 @@ LL +     use crate::foo::foobar::Foobar;
    |
 help: there is a method `bar` with a similar name
    |
-LL |         x.bar();
-   |           ~~~
+LL -         x.foobar();
+LL +         x.bar();
+   |
 
 error[E0599]: no method named `bar` found for type `u32` in the current scope
   --> $DIR/trait-import-suggestions.rs:28:7
@@ -33,8 +34,9 @@ LL + use crate::foo::Bar;
    |
 help: there is a method `foobar` with a similar name
    |
-LL |     x.foobar();
-   |       ~~~~~~
+LL -     x.bar();
+LL +     x.foobar();
+   |
 
 error[E0599]: no method named `baz` found for type `u32` in the current scope
   --> $DIR/trait-import-suggestions.rs:29:7
@@ -44,8 +46,9 @@ LL |     x.baz();
    |
 help: there is a method `bar` with a similar name
    |
-LL |     x.bar();
-   |       ~~~
+LL -     x.baz();
+LL +     x.bar();
+   |
 
 error[E0599]: no function or associated item named `from_str` found for type `u32` in the current scope
   --> $DIR/trait-import-suggestions.rs:30:18
@@ -60,8 +63,9 @@ LL + use std::str::FromStr;
    |
 help: there is an associated function `from` with a similar name
    |
-LL |     let y = u32::from("33");
-   |                  ~~~~
+LL -     let y = u32::from_str("33");
+LL +     let y = u32::from("33");
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/rust-2021/future-prelude-collision-shadow.stderr b/tests/ui/rust-2021/future-prelude-collision-shadow.stderr
index d9c0fa47eca..966613e12b5 100644
--- a/tests/ui/rust-2021/future-prelude-collision-shadow.stderr
+++ b/tests/ui/rust-2021/future-prelude-collision-shadow.stderr
@@ -14,8 +14,9 @@ LL +     use std::convert::TryInto;
    |
 help: there is a method `into` with a similar name
    |
-LL |         let _: u32 = 3u8.into().unwrap();
-   |                          ~~~~
+LL -         let _: u32 = 3u8.try_into().unwrap();
+LL +         let _: u32 = 3u8.into().unwrap();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/rust-2021/ice-return-unsized-can-impl-2.stderr b/tests/ui/rust-2021/ice-return-unsized-can-impl-2.stderr
index b8a9a5c8129..ac19f91881d 100644
--- a/tests/ui/rust-2021/ice-return-unsized-can-impl-2.stderr
+++ b/tests/ui/rust-2021/ice-return-unsized-can-impl-2.stderr
@@ -7,8 +7,9 @@ LL |     fn concrete(b: B) -> B;
    = note: `B` it is dyn-incompatible, so it can't be `dyn`
 help: use a new generic type parameter, constrained by `B`
    |
-LL |     fn concrete<T: B>(b: T) -> B;
-   |                ++++++    ~
+LL -     fn concrete(b: B) -> B;
+LL +     fn concrete<T: B>(b: T) -> B;
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL |     fn concrete(b: impl B) -> B;
@@ -34,8 +35,9 @@ LL |     fn f(a: A) -> A;
    = note: `A` it is dyn-incompatible, so it can't be `dyn`
 help: use a new generic type parameter, constrained by `A`
    |
-LL |     fn f<T: A>(a: T) -> A;
-   |         ++++++    ~
+LL -     fn f(a: A) -> A;
+LL +     fn f<T: A>(a: T) -> A;
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL |     fn f(a: impl A) -> A;
diff --git a/tests/ui/rust-2021/ice-return-unsized-can-impl.stderr b/tests/ui/rust-2021/ice-return-unsized-can-impl.stderr
index c0969570e92..463c6892ca2 100644
--- a/tests/ui/rust-2021/ice-return-unsized-can-impl.stderr
+++ b/tests/ui/rust-2021/ice-return-unsized-can-impl.stderr
@@ -7,8 +7,9 @@ LL |     fn g(new: B) -> B;
    = note: `B` it is dyn-incompatible, so it can't be `dyn`
 help: use a new generic type parameter, constrained by `B`
    |
-LL |     fn g<T: B>(new: T) -> B;
-   |         ++++++      ~
+LL -     fn g(new: B) -> B;
+LL +     fn g<T: B>(new: T) -> B;
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL |     fn g(new: impl B) -> B;
diff --git a/tests/ui/rust-2021/ice-unsized-fn-params-2.stderr b/tests/ui/rust-2021/ice-unsized-fn-params-2.stderr
index d35c8ab3e42..7f837bbe50f 100644
--- a/tests/ui/rust-2021/ice-unsized-fn-params-2.stderr
+++ b/tests/ui/rust-2021/ice-unsized-fn-params-2.stderr
@@ -7,8 +7,9 @@ LL | fn guard(_s: Copy) -> bool {
    = note: `Copy` it is dyn-incompatible, so it can't be `dyn`
 help: use a new generic type parameter, constrained by `Copy`
    |
-LL | fn guard<T: Copy>(_s: T) -> bool {
-   |         +++++++++     ~
+LL - fn guard(_s: Copy) -> bool {
+LL + fn guard<T: Copy>(_s: T) -> bool {
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL | fn guard(_s: impl Copy) -> bool {
diff --git a/tests/ui/rust-2021/ice-unsized-fn-params.stderr b/tests/ui/rust-2021/ice-unsized-fn-params.stderr
index d56e9981a28..c31500ba800 100644
--- a/tests/ui/rust-2021/ice-unsized-fn-params.stderr
+++ b/tests/ui/rust-2021/ice-unsized-fn-params.stderr
@@ -7,8 +7,9 @@ LL |     fn g(b: B) -> B;
    = note: `B` it is dyn-incompatible, so it can't be `dyn`
 help: use a new generic type parameter, constrained by `B`
    |
-LL |     fn g<T: B>(b: T) -> B;
-   |         ++++++    ~
+LL -     fn g(b: B) -> B;
+LL +     fn g<T: B>(b: T) -> B;
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL |     fn g(b: impl B) -> B;
@@ -34,8 +35,9 @@ LL |     fn f(a: A) -> A;
    = note: `A` it is dyn-incompatible, so it can't be `dyn`
 help: use a new generic type parameter, constrained by `A`
    |
-LL |     fn f<T: A>(a: T) -> A;
-   |         ++++++    ~
+LL -     fn f(a: A) -> A;
+LL +     fn f<T: A>(a: T) -> A;
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL |     fn f(a: impl A) -> A;
diff --git a/tests/ui/self/arbitrary_self_type_mut_difference.stderr b/tests/ui/self/arbitrary_self_type_mut_difference.stderr
index ffc61ee0d78..31c1c9b7382 100644
--- a/tests/ui/self/arbitrary_self_type_mut_difference.stderr
+++ b/tests/ui/self/arbitrary_self_type_mut_difference.stderr
@@ -11,8 +11,9 @@ LL |     fn x(self: Pin<&mut Self>) {}
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: there is a method `y` with a similar name
    |
-LL |     Pin::new(&S).y();
-   |                  ~
+LL -     Pin::new(&S).x();
+LL +     Pin::new(&S).y();
+   |
 
 error[E0599]: no method named `y` found for struct `Pin<&mut S>` in the current scope
   --> $DIR/arbitrary_self_type_mut_difference.rs:12:22
@@ -27,8 +28,9 @@ LL |     fn y(self: Pin<&Self>) {}
    |     ^^^^^^^^^^^^^^^^^^^^^^
 help: there is a method `x` with a similar name
    |
-LL |     Pin::new(&mut S).x();
-   |                      ~
+LL -     Pin::new(&mut S).y();
+LL +     Pin::new(&mut S).x();
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/self/arbitrary_self_types_not_allow_call_with_no_deref.stderr b/tests/ui/self/arbitrary_self_types_not_allow_call_with_no_deref.stderr
index 4c0ab88493e..8843efc6ff8 100644
--- a/tests/ui/self/arbitrary_self_types_not_allow_call_with_no_deref.stderr
+++ b/tests/ui/self/arbitrary_self_types_not_allow_call_with_no_deref.stderr
@@ -13,8 +13,9 @@ LL |     foo_cpp_ref.0.frobnicate_ref();
    |                 ++
 help: there is a method `frobnicate_cpp_ref` with a similar name
    |
-LL |     foo_cpp_ref.frobnicate_cpp_ref();
-   |                 ~~~~~~~~~~~~~~~~~~
+LL -     foo_cpp_ref.frobnicate_ref();
+LL +     foo_cpp_ref.frobnicate_cpp_ref();
+   |
 
 error[E0599]: no method named `frobnicate_self` found for struct `CppRef` in the current scope
   --> $DIR/arbitrary_self_types_not_allow_call_with_no_deref.rs:32:17
@@ -31,8 +32,9 @@ LL |     foo_cpp_ref.0.frobnicate_self(); // would desugar to `Foo::frobnicate_s
    |                 ++
 help: there is a method `frobnicate_cpp_ref` with a similar name
    |
-LL |     foo_cpp_ref.frobnicate_cpp_ref(); // would desugar to `Foo::frobnicate_self(*foo_cpp_ref)`
-   |                 ~~~~~~~~~~~~~~~~~~
+LL -     foo_cpp_ref.frobnicate_self(); // would desugar to `Foo::frobnicate_self(*foo_cpp_ref)`
+LL +     foo_cpp_ref.frobnicate_cpp_ref(); // would desugar to `Foo::frobnicate_self(*foo_cpp_ref)`
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/self/self-infer.stderr b/tests/ui/self/self-infer.stderr
index 4f9e3f21dca..c6bdff22b69 100644
--- a/tests/ui/self/self-infer.stderr
+++ b/tests/ui/self/self-infer.stderr
@@ -6,8 +6,9 @@ LL |     fn f(self: _) {}
    |
 help: use type parameters instead
    |
-LL |     fn f<T>(self: T) {}
-   |         +++       ~
+LL -     fn f(self: _) {}
+LL +     fn f<T>(self: T) {}
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/self-infer.rs:5:17
@@ -17,8 +18,9 @@ LL |     fn g(self: &_) {}
    |
 help: use type parameters instead
    |
-LL |     fn g<T>(self: &T) {}
-   |         +++        ~
+LL -     fn g(self: &_) {}
+LL +     fn g<T>(self: &T) {}
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/simd/portable-intrinsics-arent-exposed.stderr b/tests/ui/simd/portable-intrinsics-arent-exposed.stderr
index d38667f750d..71b4273fa06 100644
--- a/tests/ui/simd/portable-intrinsics-arent-exposed.stderr
+++ b/tests/ui/simd/portable-intrinsics-arent-exposed.stderr
@@ -15,8 +15,9 @@ LL | use std::simd::intrinsics;
    |
 help: consider importing this module instead
    |
-LL | use std::intrinsics;
-   |     ~~~~~~~~~~~~~~~
+LL - use std::simd::intrinsics;
+LL + use std::intrinsics;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/span/issue-35987.stderr b/tests/ui/span/issue-35987.stderr
index 36c59137b31..634bb5ed68f 100644
--- a/tests/ui/span/issue-35987.stderr
+++ b/tests/ui/span/issue-35987.stderr
@@ -17,10 +17,12 @@ LL |     fn add(self, rhs: Self) -> Self::Output {
    |
 help: use fully-qualified syntax
    |
-LL |     fn add(self, rhs: Self) -> <Foo<T> as BitOr>::Output {
-   |                                ~~~~~~~~~~~~~~~~~~~~~~~~~
-LL |     fn add(self, rhs: Self) -> <Foo<T> as IntoFuture>::Output {
-   |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     fn add(self, rhs: Self) -> Self::Output {
+LL +     fn add(self, rhs: Self) -> <Foo<T> as BitOr>::Output {
+   |
+LL -     fn add(self, rhs: Self) -> Self::Output {
+LL +     fn add(self, rhs: Self) -> <Foo<T> as IntoFuture>::Output {
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/span/issue-37767.stderr b/tests/ui/span/issue-37767.stderr
index 457870821a1..2bb64e3da86 100644
--- a/tests/ui/span/issue-37767.stderr
+++ b/tests/ui/span/issue-37767.stderr
@@ -16,12 +16,14 @@ LL |     fn foo(&mut self) {}
    |     ^^^^^^^^^^^^^^^^^
 help: disambiguate the method for candidate #1
    |
-LL |     A::foo(&mut a)
-   |     ~~~~~~~~~~~~~~
+LL -     a.foo()
+LL +     A::foo(&mut a)
+   |
 help: disambiguate the method for candidate #2
    |
-LL |     B::foo(&mut a)
-   |     ~~~~~~~~~~~~~~
+LL -     a.foo()
+LL +     B::foo(&mut a)
+   |
 
 error[E0034]: multiple applicable items in scope
   --> $DIR/issue-37767.rs:22:7
@@ -41,12 +43,14 @@ LL |     fn foo(&self) {}
    |     ^^^^^^^^^^^^^
 help: disambiguate the method for candidate #1
    |
-LL |     C::foo(&a)
-   |     ~~~~~~~~~~
+LL -     a.foo()
+LL +     C::foo(&a)
+   |
 help: disambiguate the method for candidate #2
    |
-LL |     D::foo(&a)
-   |     ~~~~~~~~~~
+LL -     a.foo()
+LL +     D::foo(&a)
+   |
 
 error[E0034]: multiple applicable items in scope
   --> $DIR/issue-37767.rs:34:7
@@ -66,12 +70,14 @@ LL |     fn foo(self) {}
    |     ^^^^^^^^^^^^
 help: disambiguate the method for candidate #1
    |
-LL |     E::foo(a)
-   |     ~~~~~~~~~
+LL -     a.foo()
+LL +     E::foo(a)
+   |
 help: disambiguate the method for candidate #2
    |
-LL |     F::foo(a)
-   |     ~~~~~~~~~
+LL -     a.foo()
+LL +     F::foo(a)
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/span/issue-81800.stderr b/tests/ui/span/issue-81800.stderr
index 86c64573b14..c1583c3ef8f 100644
--- a/tests/ui/span/issue-81800.stderr
+++ b/tests/ui/span/issue-81800.stderr
@@ -6,8 +6,9 @@ LL | fn x˂-
    |
 help: Unicode character '˂' (Modifier Letter Left Arrowhead) looks like '<' (Less-Than Sign), but it is not
    |
-LL | fn x<-
-   |     ~
+LL - fn x˂-
+LL + fn x<-
+   |
 
 error: expected one of `#`, `>`, `const`, identifier, or lifetime, found `-`
   --> $DIR/issue-81800.rs:1:6
diff --git a/tests/ui/span/missing-unit-argument.stderr b/tests/ui/span/missing-unit-argument.stderr
index 6261831b752..e77ec3c8447 100644
--- a/tests/ui/span/missing-unit-argument.stderr
+++ b/tests/ui/span/missing-unit-argument.stderr
@@ -8,8 +8,9 @@ note: tuple variant defined here
   --> $SRC_DIR/core/src/result.rs:LL:COL
 help: provide the argument
    |
-LL |     let _: Result<(), String> = Ok(());
-   |                                   ~~~~
+LL -     let _: Result<(), String> = Ok();
+LL +     let _: Result<(), String> = Ok(());
+   |
 
 error[E0061]: this function takes 2 arguments but 0 arguments were supplied
   --> $DIR/missing-unit-argument.rs:12:5
@@ -24,8 +25,9 @@ LL | fn foo(():(), ():()) {}
    |    ^^^ -----  -----
 help: provide the arguments
    |
-LL |     foo((), ());
-   |        ~~~~~~~~
+LL -     foo();
+LL +     foo((), ());
+   |
 
 error[E0061]: this function takes 2 arguments but 1 argument was supplied
   --> $DIR/missing-unit-argument.rs:13:5
@@ -40,8 +42,9 @@ LL | fn foo(():(), ():()) {}
    |    ^^^        -----
 help: provide the argument
    |
-LL |     foo((), ());
-   |        ~~~~~~~~
+LL -     foo(());
+LL +     foo((), ());
+   |
 
 error[E0061]: this function takes 1 argument but 0 arguments were supplied
   --> $DIR/missing-unit-argument.rs:14:5
@@ -56,8 +59,9 @@ LL | fn bar(():()) {}
    |    ^^^ -----
 help: provide the argument
    |
-LL |     bar(());
-   |        ~~~~
+LL -     bar();
+LL +     bar(());
+   |
 
 error[E0061]: this method takes 1 argument but 0 arguments were supplied
   --> $DIR/missing-unit-argument.rs:15:7
@@ -72,8 +76,9 @@ LL |     fn baz(self, (): ()) { }
    |        ^^^       ------
 help: provide the argument
    |
-LL |     S.baz(());
-   |          ~~~~
+LL -     S.baz();
+LL +     S.baz(());
+   |
 
 error[E0061]: this method takes 1 argument but 0 arguments were supplied
   --> $DIR/missing-unit-argument.rs:16:7
@@ -88,8 +93,9 @@ LL |     fn generic<T>(self, _: T) { }
    |        ^^^^^^^          ----
 help: provide the argument
    |
-LL |     S.generic::<()>(());
-   |                    ~~~~
+LL -     S.generic::<()>();
+LL +     S.generic::<()>(());
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/stability-attribute/const-stability-attribute-implies-using-stable.stderr b/tests/ui/stability-attribute/const-stability-attribute-implies-using-stable.stderr
index 050834ab676..4cbd93d17cf 100644
--- a/tests/ui/stability-attribute/const-stability-attribute-implies-using-stable.stderr
+++ b/tests/ui/stability-attribute/const-stability-attribute-implies-using-stable.stderr
@@ -11,8 +11,9 @@ LL | #![deny(stable_features)]
    |         ^^^^^^^^^^^^^^^
 help: if you are using features which are still unstable, change to using `const_foobar`
    |
-LL | #![feature(const_foobar)]
-   |            ~~~~~~~~~~~~
+LL - #![feature(const_foo)]
+LL + #![feature(const_foobar)]
+   |
 help: if you are using features which are now stable, remove this line
    |
 LL - #![feature(const_foo)]
diff --git a/tests/ui/stability-attribute/const-stability-attribute-implies-using-unstable.stderr b/tests/ui/stability-attribute/const-stability-attribute-implies-using-unstable.stderr
index 50cc14c3b4f..38331919ee8 100644
--- a/tests/ui/stability-attribute/const-stability-attribute-implies-using-unstable.stderr
+++ b/tests/ui/stability-attribute/const-stability-attribute-implies-using-unstable.stderr
@@ -11,8 +11,9 @@ LL | #![deny(stable_features)]
    |         ^^^^^^^^^^^^^^^
 help: if you are using features which are still unstable, change to using `const_foobar`
    |
-LL | #![feature(const_foobar)]
-   |            ~~~~~~~~~~~~
+LL - #![feature(const_foo)]
+LL + #![feature(const_foobar)]
+   |
 help: if you are using features which are now stable, remove this line
    |
 LL - #![feature(const_foo)]
diff --git a/tests/ui/stability-attribute/stability-attribute-implies-using-stable.stderr b/tests/ui/stability-attribute/stability-attribute-implies-using-stable.stderr
index d783f1e8e40..1080b977410 100644
--- a/tests/ui/stability-attribute/stability-attribute-implies-using-stable.stderr
+++ b/tests/ui/stability-attribute/stability-attribute-implies-using-stable.stderr
@@ -11,8 +11,9 @@ LL | #![deny(stable_features)]
    |         ^^^^^^^^^^^^^^^
 help: if you are using features which are still unstable, change to using `foobar`
    |
-LL | #![feature(foobar)]
-   |            ~~~~~~
+LL - #![feature(foo)]
+LL + #![feature(foobar)]
+   |
 help: if you are using features which are now stable, remove this line
    |
 LL - #![feature(foo)]
diff --git a/tests/ui/stability-attribute/stability-attribute-implies-using-unstable.stderr b/tests/ui/stability-attribute/stability-attribute-implies-using-unstable.stderr
index 4940650fd42..02cb25633ab 100644
--- a/tests/ui/stability-attribute/stability-attribute-implies-using-unstable.stderr
+++ b/tests/ui/stability-attribute/stability-attribute-implies-using-unstable.stderr
@@ -11,8 +11,9 @@ LL | #![deny(stable_features)]
    |         ^^^^^^^^^^^^^^^
 help: if you are using features which are still unstable, change to using `foobar`
    |
-LL | #![feature(foobar)]
-   |            ~~~~~~
+LL - #![feature(foo)]
+LL + #![feature(foobar)]
+   |
 help: if you are using features which are now stable, remove this line
    |
 LL - #![feature(foo)]
diff --git a/tests/ui/static/static-reference-to-fn-1.stderr b/tests/ui/static/static-reference-to-fn-1.stderr
index 6bf64974ef5..72036269b29 100644
--- a/tests/ui/static/static-reference-to-fn-1.stderr
+++ b/tests/ui/static/static-reference-to-fn-1.stderr
@@ -9,8 +9,9 @@ LL |         func: &foo,
    = note: fn items are distinct from fn pointers
 help: consider casting to a fn pointer
    |
-LL |         func: &(foo as fn() -> Option<isize>),
-   |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -         func: &foo,
+LL +         func: &(foo as fn() -> Option<isize>),
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/statics/issue-15261.stderr b/tests/ui/statics/issue-15261.stderr
index 4067d151de3..7edd79e08b1 100644
--- a/tests/ui/statics/issue-15261.stderr
+++ b/tests/ui/statics/issue-15261.stderr
@@ -9,8 +9,9 @@ LL | static n: &'static usize = unsafe { &n_mut };
    = note: `#[warn(static_mut_refs)]` on by default
 help: use `&raw const` instead to create a raw pointer
    |
-LL | static n: &'static usize = unsafe { &raw const n_mut };
-   |                                     ~~~~~~~~~~
+LL - static n: &'static usize = unsafe { &n_mut };
+LL + static n: &'static usize = unsafe { &raw const n_mut };
+   |
 
 warning: 1 warning emitted
 
diff --git a/tests/ui/statics/static-mut-shared-parens.stderr b/tests/ui/statics/static-mut-shared-parens.stderr
index aa7a760ded8..f428f9a18d4 100644
--- a/tests/ui/statics/static-mut-shared-parens.stderr
+++ b/tests/ui/statics/static-mut-shared-parens.stderr
@@ -9,8 +9,9 @@ LL |     let _ = unsafe { (&TEST) as *const usize };
    = note: `#[warn(static_mut_refs)]` on by default
 help: use `&raw const` instead to create a raw pointer
    |
-LL |     let _ = unsafe { (&raw const TEST) as *const usize };
-   |                       ~~~~~~~~~~
+LL -     let _ = unsafe { (&TEST) as *const usize };
+LL +     let _ = unsafe { (&raw const TEST) as *const usize };
+   |
 
 warning: creating a mutable reference to mutable static is discouraged
   --> $DIR/static-mut-shared-parens.rs:11:22
@@ -22,8 +23,9 @@ LL |     let _ = unsafe { ((&mut TEST)) as *const usize };
    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
 help: use `&raw mut` instead to create a raw pointer
    |
-LL |     let _ = unsafe { ((&raw mut TEST)) as *const usize };
-   |                        ~~~~~~~~
+LL -     let _ = unsafe { ((&mut TEST)) as *const usize };
+LL +     let _ = unsafe { ((&raw mut TEST)) as *const usize };
+   |
 
 warning: 2 warnings emitted
 
diff --git a/tests/ui/statics/static-mut-xc.stderr b/tests/ui/statics/static-mut-xc.stderr
index 176deb518fc..d03835c30d8 100644
--- a/tests/ui/statics/static-mut-xc.stderr
+++ b/tests/ui/statics/static-mut-xc.stderr
@@ -54,8 +54,9 @@ LL |     static_bound(&static_mut_xc::a);
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
-LL |     static_bound(&raw const static_mut_xc::a);
-   |                  ~~~~~~~~~~
+LL -     static_bound(&static_mut_xc::a);
+LL +     static_bound(&raw const static_mut_xc::a);
+   |
 
 warning: creating a mutable reference to mutable static is discouraged
   --> $DIR/static-mut-xc.rs:35:22
@@ -67,8 +68,9 @@ LL |     static_bound_set(&mut static_mut_xc::a);
    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
 help: use `&raw mut` instead to create a raw pointer
    |
-LL |     static_bound_set(&raw mut static_mut_xc::a);
-   |                      ~~~~~~~~
+LL -     static_bound_set(&mut static_mut_xc::a);
+LL +     static_bound_set(&raw mut static_mut_xc::a);
+   |
 
 warning: 7 warnings emitted
 
diff --git a/tests/ui/statics/static-recursive.stderr b/tests/ui/statics/static-recursive.stderr
index f2dd5b8a6cf..8ea997fa214 100644
--- a/tests/ui/statics/static-recursive.stderr
+++ b/tests/ui/statics/static-recursive.stderr
@@ -9,8 +9,9 @@ LL | static mut S: *const u8 = unsafe { &S as *const *const u8 as *const u8 };
    = note: `#[warn(static_mut_refs)]` on by default
 help: use `&raw const` instead to create a raw pointer
    |
-LL | static mut S: *const u8 = unsafe { &raw const S as *const *const u8 as *const u8 };
-   |                                    ~~~~~~~~~~
+LL - static mut S: *const u8 = unsafe { &S as *const *const u8 as *const u8 };
+LL + static mut S: *const u8 = unsafe { &raw const S as *const *const u8 as *const u8 };
+   |
 
 warning: creating a shared reference to mutable static is discouraged
   --> $DIR/static-recursive.rs:19:20
diff --git a/tests/ui/stdlib-unit-tests/atomic-from-mut-not-available.alignment_mismatch.stderr b/tests/ui/stdlib-unit-tests/atomic-from-mut-not-available.alignment_mismatch.stderr
index 47b17f9fcd7..6a8a7b152c5 100644
--- a/tests/ui/stdlib-unit-tests/atomic-from-mut-not-available.alignment_mismatch.stderr
+++ b/tests/ui/stdlib-unit-tests/atomic-from-mut-not-available.alignment_mismatch.stderr
@@ -9,8 +9,9 @@ note: if you're trying to build a new `AtomicU64`, consider using `AtomicU64::ne
    = note: this error originates in the macro `atomic_int` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: there is an associated function `from` with a similar name
    |
-LL |     core::sync::atomic::AtomicU64::from(&mut 0u64);
-   |                                    ~~~~
+LL -     core::sync::atomic::AtomicU64::from_mut(&mut 0u64);
+LL +     core::sync::atomic::AtomicU64::from(&mut 0u64);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/str/str-as-char.stderr b/tests/ui/str/str-as-char.stderr
index 0638d371c17..b2c716fa4f5 100644
--- a/tests/ui/str/str-as-char.stderr
+++ b/tests/ui/str/str-as-char.stderr
@@ -6,8 +6,9 @@ LL |     println!('●●');
    |
 help: if you meant to write a string literal, use double quotes
    |
-LL |     println!("●●");
-   |              ~  ~
+LL -     println!('●●');
+LL +     println!("●●");
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/structs-enums/issue-103869.stderr b/tests/ui/structs-enums/issue-103869.stderr
index 2334e5e9712..10e0f29f876 100644
--- a/tests/ui/structs-enums/issue-103869.stderr
+++ b/tests/ui/structs-enums/issue-103869.stderr
@@ -10,8 +10,9 @@ LL |     vec: Vec<usize>,
    = help: enum variants can be `Variant`, `Variant = <integer>`, `Variant(Type, ..., TypeN)` or `Variant { fields: Types }`
 help: perhaps you meant to use `struct` here
    |
-LL | struct VecOrMap {
-   | ~~~~~~
+LL - enum VecOrMap {
+LL + struct VecOrMap {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/structs-enums/struct-enum-ignoring-field-with-underscore.stderr b/tests/ui/structs-enums/struct-enum-ignoring-field-with-underscore.stderr
index 664a00e3303..231bada006c 100644
--- a/tests/ui/structs-enums/struct-enum-ignoring-field-with-underscore.stderr
+++ b/tests/ui/structs-enums/struct-enum-ignoring-field-with-underscore.stderr
@@ -6,8 +6,9 @@ LL |     if let Some(Foo::Bar {_}) = foo {}
    |
 help: to omit remaining fields, use `..`
    |
-LL |     if let Some(Foo::Bar {..}) = foo {}
-   |                           ~~
+LL -     if let Some(Foo::Bar {_}) = foo {}
+LL +     if let Some(Foo::Bar {..}) = foo {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/structs/default-field-values/non-exhaustive-ctor.disabled.stderr b/tests/ui/structs/default-field-values/non-exhaustive-ctor.disabled.stderr
index 63793425657..c7689cfd323 100644
--- a/tests/ui/structs/default-field-values/non-exhaustive-ctor.disabled.stderr
+++ b/tests/ui/structs/default-field-values/non-exhaustive-ctor.disabled.stderr
@@ -66,8 +66,9 @@ LL |     let _ = S { };
    |
 help: all remaining fields have default values, if you added `#![feature(default_field_values)]` to your crate you could use those values with `..`
    |
-LL |     let _ = S { .. };
-   |               ~~~~~~
+LL -     let _ = S { };
+LL +     let _ = S { .. };
+   |
 
 error[E0063]: missing fields `field1` and `field2` in initializer of `S`
   --> $DIR/non-exhaustive-ctor.rs:26:13
diff --git a/tests/ui/structs/default-field-values/non-exhaustive-ctor.enabled.stderr b/tests/ui/structs/default-field-values/non-exhaustive-ctor.enabled.stderr
index 6d035ebdc47..d9b8e76aa0d 100644
--- a/tests/ui/structs/default-field-values/non-exhaustive-ctor.enabled.stderr
+++ b/tests/ui/structs/default-field-values/non-exhaustive-ctor.enabled.stderr
@@ -6,8 +6,9 @@ LL |     let _ = S { };
    |
 help: all remaining fields have default values, you can use those values with `..`
    |
-LL |     let _ = S { .. };
-   |               ~~~~~~
+LL -     let _ = S { };
+LL +     let _ = S { .. };
+   |
 
 error[E0063]: missing fields `field1` and `field2` in initializer of `S`
   --> $DIR/non-exhaustive-ctor.rs:26:13
diff --git a/tests/ui/structs/struct-field-cfg.stderr b/tests/ui/structs/struct-field-cfg.stderr
index f30d343d582..2bca6f302db 100644
--- a/tests/ui/structs/struct-field-cfg.stderr
+++ b/tests/ui/structs/struct-field-cfg.stderr
@@ -20,16 +20,19 @@ LL |     let Foo { #[cfg(any())] present: () } = foo;
    |
 help: include the missing field in the pattern
    |
-LL |     let Foo { present } = foo;
-   |             ~~~~~~~~~~~
+LL -     let Foo { #[cfg(any())] present: () } = foo;
+LL +     let Foo { present } = foo;
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |     let Foo { present: _ } = foo;
-   |             ~~~~~~~~~~~~~~
+LL -     let Foo { #[cfg(any())] present: () } = foo;
+LL +     let Foo { present: _ } = foo;
+   |
 help: or always ignore missing fields here
    |
-LL |     let Foo { .. } = foo;
-   |             ~~~~~~
+LL -     let Foo { #[cfg(any())] present: () } = foo;
+LL +     let Foo { .. } = foo;
+   |
 
 error[E0026]: struct `Foo` does not have a field named `absent`
   --> $DIR/struct-field-cfg.rs:16:42
diff --git a/tests/ui/structs/struct-fields-hints-no-dupe.stderr b/tests/ui/structs/struct-fields-hints-no-dupe.stderr
index 2b88d802833..650f6ddfa88 100644
--- a/tests/ui/structs/struct-fields-hints-no-dupe.stderr
+++ b/tests/ui/structs/struct-fields-hints-no-dupe.stderr
@@ -6,8 +6,9 @@ LL |         bar : 42,
    |
 help: a field with a similar name exists
    |
-LL |         barr : 42,
-   |         ~~~~
+LL -         bar : 42,
+LL +         barr : 42,
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/structs/struct-fields-hints.stderr b/tests/ui/structs/struct-fields-hints.stderr
index 8217d7a6e81..6526e49600e 100644
--- a/tests/ui/structs/struct-fields-hints.stderr
+++ b/tests/ui/structs/struct-fields-hints.stderr
@@ -6,8 +6,9 @@ LL |         bar : 42,
    |
 help: a field with a similar name exists
    |
-LL |         car : 42,
-   |         ~~~
+LL -         bar : 42,
+LL +         car : 42,
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/structs/struct-fields-typo.stderr b/tests/ui/structs/struct-fields-typo.stderr
index d87bace7277..dacf2ecea17 100644
--- a/tests/ui/structs/struct-fields-typo.stderr
+++ b/tests/ui/structs/struct-fields-typo.stderr
@@ -6,8 +6,9 @@ LL |     let x = foo.baa;
    |
 help: a field with a similar name exists
    |
-LL |     let x = foo.bar;
-   |                 ~~~
+LL -     let x = foo.baa;
+LL +     let x = foo.bar;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/structs/struct-pat-derived-error.stderr b/tests/ui/structs/struct-pat-derived-error.stderr
index d1d68121cf1..a086de08983 100644
--- a/tests/ui/structs/struct-pat-derived-error.stderr
+++ b/tests/ui/structs/struct-pat-derived-error.stderr
@@ -6,8 +6,9 @@ LL |         let A { x, y } = self.d;
    |
 help: a field with a similar name exists
    |
-LL |         let A { x, y } = self.b;
-   |                               ~
+LL -         let A { x, y } = self.d;
+LL +         let A { x, y } = self.b;
+   |
 
 error[E0026]: struct `A` does not have fields named `x`, `y`
   --> $DIR/struct-pat-derived-error.rs:8:17
@@ -23,16 +24,19 @@ LL |         let A { x, y } = self.d;
    |
 help: include the missing fields in the pattern
    |
-LL |         let A { x, y, b, c } = self.d;
-   |                     ~~~~~~~~
+LL -         let A { x, y } = self.d;
+LL +         let A { x, y, b, c } = self.d;
+   |
 help: if you don't care about these missing fields, you can explicitly ignore them
    |
-LL |         let A { x, y, b: _, c: _ } = self.d;
-   |                     ~~~~~~~~~~~~~~
+LL -         let A { x, y } = self.d;
+LL +         let A { x, y, b: _, c: _ } = self.d;
+   |
 help: or always ignore missing fields here
    |
-LL |         let A { x, y, .. } = self.d;
-   |                     ~~~~~~
+LL -         let A { x, y } = self.d;
+LL +         let A { x, y, .. } = self.d;
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/structs/struct-path-self-type-mismatch.stderr b/tests/ui/structs/struct-path-self-type-mismatch.stderr
index bbe5bae29bb..6517d7f00dd 100644
--- a/tests/ui/structs/struct-path-self-type-mismatch.stderr
+++ b/tests/ui/structs/struct-path-self-type-mismatch.stderr
@@ -44,8 +44,9 @@ LL | |         }
    = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters
 help: use the type name directly
    |
-LL |         Foo::<U> {
-   |         ~~~~~~~~
+LL -         Self {
+LL +         Foo::<U> {
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/structs/struct-tuple-field-names.stderr b/tests/ui/structs/struct-tuple-field-names.stderr
index 5f1ab2f9d68..7692010aa54 100644
--- a/tests/ui/structs/struct-tuple-field-names.stderr
+++ b/tests/ui/structs/struct-tuple-field-names.stderr
@@ -6,8 +6,9 @@ LL |         E::S { 0, 1 } => {}
    |
 help: use the tuple variant pattern syntax instead
    |
-LL |         E::S(_, _) => {}
-   |             ~~~~~~
+LL -         E::S { 0, 1 } => {}
+LL +         E::S(_, _) => {}
+   |
 
 error[E0769]: tuple variant `S` written as struct variant
   --> $DIR/struct-tuple-field-names.rs:13:9
@@ -17,8 +18,9 @@ LL |         S { } => {}
    |
 help: use the tuple variant pattern syntax instead
    |
-LL |         S(_, _) => {}
-   |          ~~~~~~
+LL -         S { } => {}
+LL +         S(_, _) => {}
+   |
 
 error[E0027]: pattern does not mention field `1`
   --> $DIR/struct-tuple-field-names.rs:16:12
@@ -28,16 +30,19 @@ LL |     if let E::S { 0: a } = x {
    |
 help: include the missing field in the pattern
    |
-LL |     if let E::S { 0: a, 1: _ } = x {
-   |                       ~~~~~~~~
+LL -     if let E::S { 0: a } = x {
+LL +     if let E::S { 0: a, 1: _ } = x {
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |     if let E::S { 0: a, 1: _ } = x {
-   |                       ~~~~~~~~
+LL -     if let E::S { 0: a } = x {
+LL +     if let E::S { 0: a, 1: _ } = x {
+   |
 help: or always ignore missing fields here
    |
-LL |     if let E::S { 0: a, .. } = x {
-   |                       ~~~~~~
+LL -     if let E::S { 0: a } = x {
+LL +     if let E::S { 0: a, .. } = x {
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/structs/suggest-private-fields.stderr b/tests/ui/structs/suggest-private-fields.stderr
index f67a4ed78e2..adf90f0e1fd 100644
--- a/tests/ui/structs/suggest-private-fields.stderr
+++ b/tests/ui/structs/suggest-private-fields.stderr
@@ -6,8 +6,9 @@ LL |         aa: 20,
    |
 help: a field with a similar name exists
    |
-LL |         a: 20,
-   |         ~
+LL -         aa: 20,
+LL +         a: 20,
+   |
 
 error[E0560]: struct `B` has no field named `bb`
   --> $DIR/suggest-private-fields.rs:17:9
@@ -25,8 +26,9 @@ LL |         aa: 20,
    |
 help: a field with a similar name exists
    |
-LL |         a: 20,
-   |         ~
+LL -         aa: 20,
+LL +         a: 20,
+   |
 
 error[E0560]: struct `A` has no field named `bb`
   --> $DIR/suggest-private-fields.rs:24:9
@@ -36,8 +38,9 @@ LL |         bb: 20,
    |
 help: a field with a similar name exists
    |
-LL |         b: 20,
-   |         ~
+LL -         bb: 20,
+LL +         b: 20,
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/structs/suggest-replacing-field-when-specifying-same-type.stderr b/tests/ui/structs/suggest-replacing-field-when-specifying-same-type.stderr
index af530e2b759..befc6a1b538 100644
--- a/tests/ui/structs/suggest-replacing-field-when-specifying-same-type.stderr
+++ b/tests/ui/structs/suggest-replacing-field-when-specifying-same-type.stderr
@@ -15,16 +15,19 @@ LL |         Foo::Bar { a, aa: 1, c } => (),
    |
 help: include the missing field in the pattern
    |
-LL |         Foo::Bar { a, aa: 1, c, b } => (),
-   |                               ~~~~~
+LL -         Foo::Bar { a, aa: 1, c } => (),
+LL +         Foo::Bar { a, aa: 1, c, b } => (),
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |         Foo::Bar { a, aa: 1, c, b: _ } => (),
-   |                               ~~~~~~~~
+LL -         Foo::Bar { a, aa: 1, c } => (),
+LL +         Foo::Bar { a, aa: 1, c, b: _ } => (),
+   |
 help: or always ignore missing fields here
    |
-LL |         Foo::Bar { a, aa: 1, c, .. } => (),
-   |                               ~~~~~~
+LL -         Foo::Bar { a, aa: 1, c } => (),
+LL +         Foo::Bar { a, aa: 1, c, .. } => (),
+   |
 
 error[E0026]: variant `Foo::Baz` does not have a field named `bb`
   --> $DIR/suggest-replacing-field-when-specifying-same-type.rs:13:20
@@ -43,16 +46,19 @@ LL |         Foo::Baz { bb: 1.0 } => (),
    |
 help: include the missing field in the pattern
    |
-LL |         Foo::Baz { bb: 1.0, a } => (),
-   |                           ~~~~~
+LL -         Foo::Baz { bb: 1.0 } => (),
+LL +         Foo::Baz { bb: 1.0, a } => (),
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |         Foo::Baz { bb: 1.0, a: _ } => (),
-   |                           ~~~~~~~~
+LL -         Foo::Baz { bb: 1.0 } => (),
+LL +         Foo::Baz { bb: 1.0, a: _ } => (),
+   |
 help: or always ignore missing fields here
    |
-LL |         Foo::Baz { bb: 1.0, .. } => (),
-   |                           ~~~~~~
+LL -         Foo::Baz { bb: 1.0 } => (),
+LL +         Foo::Baz { bb: 1.0, .. } => (),
+   |
 
 error[E0026]: variant `Foo::Bar` does not have a field named `aa`
   --> $DIR/suggest-replacing-field-when-specifying-same-type.rs:20:23
@@ -68,16 +74,19 @@ LL |         Foo::Bar { a, aa: "", c } => (),
    |
 help: include the missing field in the pattern
    |
-LL |         Foo::Bar { a, aa: "", c, b } => (),
-   |                                ~~~~~
+LL -         Foo::Bar { a, aa: "", c } => (),
+LL +         Foo::Bar { a, aa: "", c, b } => (),
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |         Foo::Bar { a, aa: "", c, b: _ } => (),
-   |                                ~~~~~~~~
+LL -         Foo::Bar { a, aa: "", c } => (),
+LL +         Foo::Bar { a, aa: "", c, b: _ } => (),
+   |
 help: or always ignore missing fields here
    |
-LL |         Foo::Bar { a, aa: "", c, .. } => (),
-   |                                ~~~~~~
+LL -         Foo::Bar { a, aa: "", c } => (),
+LL +         Foo::Bar { a, aa: "", c, .. } => (),
+   |
 
 error[E0026]: variant `Foo::Baz` does not have a field named `bb`
   --> $DIR/suggest-replacing-field-when-specifying-same-type.rs:23:20
@@ -93,16 +102,19 @@ LL |         Foo::Baz { bb: "" } => (),
    |
 help: include the missing field in the pattern
    |
-LL |         Foo::Baz { bb: "", a } => (),
-   |                          ~~~~~
+LL -         Foo::Baz { bb: "" } => (),
+LL +         Foo::Baz { bb: "", a } => (),
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |         Foo::Baz { bb: "", a: _ } => (),
-   |                          ~~~~~~~~
+LL -         Foo::Baz { bb: "" } => (),
+LL +         Foo::Baz { bb: "", a: _ } => (),
+   |
 help: or always ignore missing fields here
    |
-LL |         Foo::Baz { bb: "", .. } => (),
-   |                          ~~~~~~
+LL -         Foo::Baz { bb: "" } => (),
+LL +         Foo::Baz { bb: "", .. } => (),
+   |
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/suggestions/ambiguous-assoc-type-path-suggest-similar-item.stderr b/tests/ui/suggestions/ambiguous-assoc-type-path-suggest-similar-item.stderr
index 5863aa28f41..76e3c21473d 100644
--- a/tests/ui/suggestions/ambiguous-assoc-type-path-suggest-similar-item.stderr
+++ b/tests/ui/suggestions/ambiguous-assoc-type-path-suggest-similar-item.stderr
@@ -6,8 +6,9 @@ LL |     String::from::utf8;
    |
 help: there is an associated function with a similar name: `from_utf8`
    |
-LL |     String::from_utf8;
-   |             ~~~~~~~~~
+LL -     String::from::utf8;
+LL +     String::from_utf8;
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/ambiguous-assoc-type-path-suggest-similar-item.rs:16:5
@@ -17,8 +18,9 @@ LL |     String::from::utf8();
    |
 help: there is an associated function with a similar name: `from_utf8`
    |
-LL |     String::from_utf8();
-   |             ~~~~~~~~~
+LL -     String::from::utf8();
+LL +     String::from_utf8();
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/ambiguous-assoc-type-path-suggest-similar-item.rs:19:5
@@ -28,8 +30,9 @@ LL |     String::from::utf16();
    |
 help: there is an associated function with a similar name: `from_utf16`
    |
-LL |     String::from_utf16();
-   |             ~~~~~~~~~~
+LL -     String::from::utf16();
+LL +     String::from_utf16();
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/ambiguous-assoc-type-path-suggest-similar-item.rs:22:5
@@ -39,8 +42,9 @@ LL |     String::from::method_that_doesnt_exist();
    |
 help: if there were a trait named `Example` with associated type `from` implemented for `String`, you could use the fully-qualified path
    |
-LL |     <String as Example>::from::method_that_doesnt_exist();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     String::from::method_that_doesnt_exist();
+LL +     <String as Example>::from::method_that_doesnt_exist();
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/ambiguous-assoc-type-path-suggest-similar-item.rs:25:5
@@ -50,8 +54,9 @@ LL |     str::into::string();
    |
 help: there is an associated function with a similar name: `into_string`
    |
-LL |     str::into_string();
-   |          ~~~~~~~~~~~
+LL -     str::into::string();
+LL +     str::into_string();
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/ambiguous-assoc-type-path-suggest-similar-item.rs:28:5
@@ -61,8 +66,9 @@ LL |     str::char::indices();
    |
 help: there is an associated function with a similar name: `char_indices`
    |
-LL |     str::char_indices();
-   |          ~~~~~~~~~~~~
+LL -     str::char::indices();
+LL +     str::char_indices();
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/ambiguous-assoc-type-path-suggest-similar-item.rs:31:5
@@ -72,8 +78,9 @@ LL |     Foo::bar::baz;
    |
 help: there is an associated function with a similar name: `bar_baz`
    |
-LL |     Foo::bar_baz;
-   |          ~~~~~~~
+LL -     Foo::bar::baz;
+LL +     Foo::bar_baz;
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/ambiguous-assoc-type-path-suggest-similar-item.rs:34:5
@@ -83,8 +90,9 @@ LL |     Foo::bar::quux;
    |
 help: there is an associated function with a similar name: `bar_quux`
    |
-LL |     Foo::bar_quux;
-   |          ~~~~~~~~
+LL -     Foo::bar::quux;
+LL +     Foo::bar_quux;
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/ambiguous-assoc-type-path-suggest-similar-item.rs:37:5
@@ -94,8 +102,9 @@ LL |     Foo::bar::fizz;
    |
 help: if there were a trait named `Example` with associated type `bar` implemented for `Foo`, you could use the fully-qualified path
    |
-LL |     <Foo as Example>::bar::fizz;
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     Foo::bar::fizz;
+LL +     <Foo as Example>::bar::fizz;
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/ambiguous-assoc-type-path-suggest-similar-item.rs:40:5
@@ -105,8 +114,9 @@ LL |     i32::wrapping::add;
    |
 help: there is an associated function with a similar name: `wrapping_add`
    |
-LL |     i32::wrapping_add;
-   |          ~~~~~~~~~~~~
+LL -     i32::wrapping::add;
+LL +     i32::wrapping_add;
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/ambiguous-assoc-type-path-suggest-similar-item.rs:43:5
@@ -116,8 +126,9 @@ LL |     i32::wrapping::method_that_doesnt_exist;
    |
 help: if there were a trait named `Example` with associated type `wrapping` implemented for `i32`, you could use the fully-qualified path
    |
-LL |     <i32 as Example>::wrapping::method_that_doesnt_exist;
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     i32::wrapping::method_that_doesnt_exist;
+LL +     <i32 as Example>::wrapping::method_that_doesnt_exist;
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/ambiguous-assoc-type-path-suggest-similar-item.rs:48:5
@@ -127,8 +138,9 @@ LL |     <dyn std::any::Any>::downcast::mut_unchecked;
    |
 help: if there were a trait named `Example` with associated type `downcast` implemented for `(dyn Any + 'static)`, you could use the fully-qualified path
    |
-LL |     <(dyn Any + 'static) as Example>::downcast::mut_unchecked;
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     <dyn std::any::Any>::downcast::mut_unchecked;
+LL +     <(dyn Any + 'static) as Example>::downcast::mut_unchecked;
+   |
 
 error: aborting due to 12 previous errors
 
diff --git a/tests/ui/suggestions/args-instead-of-tuple-errors.stderr b/tests/ui/suggestions/args-instead-of-tuple-errors.stderr
index 1051a16b40d..8644f4a1dd4 100644
--- a/tests/ui/suggestions/args-instead-of-tuple-errors.stderr
+++ b/tests/ui/suggestions/args-instead-of-tuple-errors.stderr
@@ -60,8 +60,9 @@ note: tuple variant defined here
   --> $SRC_DIR/core/src/option.rs:LL:COL
 help: provide the argument
    |
-LL |     let _: Option<(i8,)> = Some(/* (i8,) */);
-   |                                ~~~~~~~~~~~~~
+LL -     let _: Option<(i8,)> = Some();
+LL +     let _: Option<(i8,)> = Some(/* (i8,) */);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/args-instead-of-tuple-errors.rs:14:34
diff --git a/tests/ui/suggestions/args-instead-of-tuple.stderr b/tests/ui/suggestions/args-instead-of-tuple.stderr
index 3ca560f93eb..4b0bab971ee 100644
--- a/tests/ui/suggestions/args-instead-of-tuple.stderr
+++ b/tests/ui/suggestions/args-instead-of-tuple.stderr
@@ -34,8 +34,9 @@ note: tuple variant defined here
   --> $SRC_DIR/core/src/option.rs:LL:COL
 help: provide the argument
    |
-LL |     let _: Option<()> = Some(());
-   |                             ~~~~
+LL -     let _: Option<()> = Some();
+LL +     let _: Option<()> = Some(());
+   |
 
 error[E0308]: mismatched types
   --> $DIR/args-instead-of-tuple.rs:14:34
diff --git a/tests/ui/suggestions/assoc-const-as-field.stderr b/tests/ui/suggestions/assoc-const-as-field.stderr
index 6c095e52ac9..54b7ff39926 100644
--- a/tests/ui/suggestions/assoc-const-as-field.stderr
+++ b/tests/ui/suggestions/assoc-const-as-field.stderr
@@ -6,8 +6,9 @@ LL |     foo(Mod::Foo.Bar);
    |
 help: use the path separator to refer to an item
    |
-LL |     foo(Mod::Foo::Bar);
-   |                 ~~
+LL -     foo(Mod::Foo.Bar);
+LL +     foo(Mod::Foo::Bar);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/assoc-ct-for-assoc-method.stderr b/tests/ui/suggestions/assoc-ct-for-assoc-method.stderr
index 8f00a72f1e8..6d6fd983038 100644
--- a/tests/ui/suggestions/assoc-ct-for-assoc-method.stderr
+++ b/tests/ui/suggestions/assoc-ct-for-assoc-method.stderr
@@ -10,8 +10,9 @@ LL |     let x: i32 = MyS::foo;
            found fn item `fn() -> MyS {MyS::foo}`
 help: try referring to the associated const `FOO` instead (notice the capitalization difference)
    |
-LL |     let x: i32 = MyS::FOO;
-   |                       ~~~
+LL -     let x: i32 = MyS::foo;
+LL +     let x: i32 = MyS::FOO;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/assoc-ct-for-assoc-method.rs:15:18
@@ -25,8 +26,9 @@ LL |     let z: i32 = i32::max;
            found fn item `fn(i32, i32) -> i32 {<i32 as Ord>::max}`
 help: try referring to the associated const `MAX` instead
    |
-LL |     let z: i32 = i32::MAX;
-   |                       ~~~
+LL -     let z: i32 = i32::max;
+LL +     let z: i32 = i32::MAX;
+   |
 
 error[E0369]: cannot subtract `{integer}` from `fn(i32, i32) -> i32 {<i32 as Ord>::max}`
   --> $DIR/assoc-ct-for-assoc-method.rs:22:27
diff --git a/tests/ui/suggestions/bad-hex-float-lit.stderr b/tests/ui/suggestions/bad-hex-float-lit.stderr
index bc09abb1a56..94c0715a4e6 100644
--- a/tests/ui/suggestions/bad-hex-float-lit.stderr
+++ b/tests/ui/suggestions/bad-hex-float-lit.stderr
@@ -8,10 +8,12 @@ LL |     let _f: f32 = 0xAAf32;
    |
 help: rewrite this as a decimal floating point literal, or use `as` to turn a hex literal into a float
    |
-LL |     let _f: f32 = 0xAA as f32;
-   |                   ~~~~~~~~~~~
-LL |     let _f: f32 = 170_f32;
-   |                   ~~~~~~~
+LL -     let _f: f32 = 0xAAf32;
+LL +     let _f: f32 = 0xAA as f32;
+   |
+LL -     let _f: f32 = 0xAAf32;
+LL +     let _f: f32 = 170_f32;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/bad-hex-float-lit.rs:6:19
@@ -23,10 +25,12 @@ LL |     let _f: f32 = 0xAB_f32;
    |
 help: rewrite this as a decimal floating point literal, or use `as` to turn a hex literal into a float
    |
-LL |     let _f: f32 = 0xAB as f32;
-   |                   ~~~~~~~~~~~
-LL |     let _f: f32 = 171_f32;
-   |                   ~~~~~~~
+LL -     let _f: f32 = 0xAB_f32;
+LL +     let _f: f32 = 0xAB as f32;
+   |
+LL -     let _f: f32 = 0xAB_f32;
+LL +     let _f: f32 = 171_f32;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/bad-hex-float-lit.rs:10:19
@@ -38,10 +42,12 @@ LL |     let _f: f64 = 0xFF_f64;
    |
 help: rewrite this as a decimal floating point literal, or use `as` to turn a hex literal into a float
    |
-LL |     let _f: f64 = 0xFF as f64;
-   |                   ~~~~~~~~~~~
-LL |     let _f: f64 = 255_f64;
-   |                   ~~~~~~~
+LL -     let _f: f64 = 0xFF_f64;
+LL +     let _f: f64 = 0xFF as f64;
+   |
+LL -     let _f: f64 = 0xFF_f64;
+LL +     let _f: f64 = 255_f64;
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/suggestions/bad-infer-in-trait-impl.stderr b/tests/ui/suggestions/bad-infer-in-trait-impl.stderr
index 50c398de2b0..68d8f5402e4 100644
--- a/tests/ui/suggestions/bad-infer-in-trait-impl.stderr
+++ b/tests/ui/suggestions/bad-infer-in-trait-impl.stderr
@@ -6,8 +6,9 @@ LL |     fn bar(s: _) {}
    |
 help: use type parameters instead
    |
-LL |     fn bar<T>(s: T) {}
-   |           +++    ~
+LL -     fn bar(s: _) {}
+LL +     fn bar<T>(s: T) {}
+   |
 
 error[E0050]: method `bar` has 1 parameter but the declaration in trait `Foo::bar` has 0
   --> $DIR/bad-infer-in-trait-impl.rs:6:15
diff --git a/tests/ui/suggestions/bool_typo_err_suggest.stderr b/tests/ui/suggestions/bool_typo_err_suggest.stderr
index 8d59ed63e54..faf799d0fda 100644
--- a/tests/ui/suggestions/bool_typo_err_suggest.stderr
+++ b/tests/ui/suggestions/bool_typo_err_suggest.stderr
@@ -6,8 +6,9 @@ LL |     let x = True;
    |
 help: you may want to use a bool value instead
    |
-LL |     let x = true;
-   |             ~~~~
+LL -     let x = True;
+LL +     let x = true;
+   |
 
 error[E0425]: cannot find value `False` in this scope
   --> $DIR/bool_typo_err_suggest.rs:9:13
@@ -17,8 +18,9 @@ LL |     let y = False;
    |
 help: you may want to use a bool value instead (notice the capitalization difference)
    |
-LL |     let y = false;
-   |             ~~~~~
+LL -     let y = False;
+LL +     let y = false;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/suggestions/bound-suggestions.stderr b/tests/ui/suggestions/bound-suggestions.stderr
index e30deb11398..51a6a51e7da 100644
--- a/tests/ui/suggestions/bound-suggestions.stderr
+++ b/tests/ui/suggestions/bound-suggestions.stderr
@@ -43,8 +43,9 @@ LL |     println!("{:?} {:?}", x, y);
    = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: consider further restricting type parameter `Y` with trait `Debug`
    |
-LL | fn test_no_bounds_where<X, Y>(x: X, y: Y) where X: std::fmt::Debug, Y: std::fmt::Debug {
-   |                                                                   ~~~~~~~~~~~~~~~~~~~~
+LL - fn test_no_bounds_where<X, Y>(x: X, y: Y) where X: std::fmt::Debug, {
+LL + fn test_no_bounds_where<X, Y>(x: X, y: Y) where X: std::fmt::Debug, Y: std::fmt::Debug {
+   |
 
 error[E0277]: `X` doesn't implement `Debug`
   --> $DIR/bound-suggestions.rs:33:22
diff --git a/tests/ui/suggestions/const-pat-non-exaustive-let-new-var.stderr b/tests/ui/suggestions/const-pat-non-exaustive-let-new-var.stderr
index 4f92d3aceef..55a353c40ca 100644
--- a/tests/ui/suggestions/const-pat-non-exaustive-let-new-var.stderr
+++ b/tests/ui/suggestions/const-pat-non-exaustive-let-new-var.stderr
@@ -12,8 +12,9 @@ LL |     const A: i32 = 2;
    = note: the matched value is of type `i32`
 help: introduce a variable instead
    |
-LL |     let A_var = 3;
-   |         ~~~~~
+LL -     let A = 3;
+LL +     let A_var = 3;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/crate-or-module-typo.stderr b/tests/ui/suggestions/crate-or-module-typo.stderr
index 75aa6e614b6..0ca0582105b 100644
--- a/tests/ui/suggestions/crate-or-module-typo.stderr
+++ b/tests/ui/suggestions/crate-or-module-typo.stderr
@@ -6,8 +6,9 @@ LL | use st::cell::Cell;
    |
 help: there is a crate or module with a similar name
    |
-LL | use std::cell::Cell;
-   |     ~~~
+LL - use st::cell::Cell;
+LL + use std::cell::Cell;
+   |
 
 error[E0432]: unresolved import `bas`
   --> $DIR/crate-or-module-typo.rs:11:5
@@ -17,8 +18,9 @@ LL | use bas::bar;
    |
 help: there is a crate or module with a similar name
    |
-LL | use bar::bar;
-   |     ~~~
+LL - use bas::bar;
+LL + use bar::bar;
+   |
 
 error[E0433]: failed to resolve: use of unresolved module or unlinked crate `st`
   --> $DIR/crate-or-module-typo.rs:14:10
@@ -28,8 +30,9 @@ LL |     bar: st::cell::Cell<bool>
    |
 help: there is a crate or module with a similar name
    |
-LL |     bar: std::cell::Cell<bool>
-   |          ~~~
+LL -     bar: st::cell::Cell<bool>
+LL +     bar: std::cell::Cell<bool>
+   |
 help: consider importing this module
    |
 LL + use std::cell;
diff --git a/tests/ui/suggestions/deref-path-method.stderr b/tests/ui/suggestions/deref-path-method.stderr
index bfcc2307fd7..dc2f6f66437 100644
--- a/tests/ui/suggestions/deref-path-method.stderr
+++ b/tests/ui/suggestions/deref-path-method.stderr
@@ -13,8 +13,9 @@ note: if you're trying to build a new `Vec<_, _>` consider using one of the foll
   --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
 help: the function `contains` is implemented on `[_]`
    |
-LL |     <[_]>::contains(&vec, &0);
-   |     ~~~~~
+LL -     Vec::contains(&vec, &0);
+LL +     <[_]>::contains(&vec, &0);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/dont-suggest-try_into-in-macros.stderr b/tests/ui/suggestions/dont-suggest-try_into-in-macros.stderr
index 348f7e00d46..53fdb5880c0 100644
--- a/tests/ui/suggestions/dont-suggest-try_into-in-macros.stderr
+++ b/tests/ui/suggestions/dont-suggest-try_into-in-macros.stderr
@@ -6,8 +6,9 @@ LL |     assert_eq!(10u64, 10usize);
    |
 help: change the type of the numeric literal from `usize` to `u64`
    |
-LL |     assert_eq!(10u64, 10u64);
-   |                         ~~~
+LL -     assert_eq!(10u64, 10usize);
+LL +     assert_eq!(10u64, 10u64);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/dyn-incompatible-trait-should-use-self-2021-without-dyn.stderr b/tests/ui/suggestions/dyn-incompatible-trait-should-use-self-2021-without-dyn.stderr
index 404df206e18..20aa227d10f 100644
--- a/tests/ui/suggestions/dyn-incompatible-trait-should-use-self-2021-without-dyn.stderr
+++ b/tests/ui/suggestions/dyn-incompatible-trait-should-use-self-2021-without-dyn.stderr
@@ -7,8 +7,9 @@ LL |     fn f(a: A) -> A;
    = note: `A` it is dyn-incompatible, so it can't be `dyn`
 help: use a new generic type parameter, constrained by `A`
    |
-LL |     fn f<T: A>(a: T) -> A;
-   |         ++++++    ~
+LL -     fn f(a: A) -> A;
+LL +     fn f<T: A>(a: T) -> A;
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL |     fn f(a: impl A) -> A;
@@ -34,8 +35,9 @@ LL |     fn f(b: B) -> B;
    = note: `B` it is dyn-incompatible, so it can't be `dyn`
 help: use a new generic type parameter, constrained by `B`
    |
-LL |     fn f<T: B>(b: T) -> B;
-   |         ++++++    ~
+LL -     fn f(b: B) -> B;
+LL +     fn f<T: B>(b: T) -> B;
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL |     fn f(b: impl B) -> B;
@@ -61,8 +63,9 @@ LL |     fn f(&self, c: C) -> C;
    = note: `C` it is dyn-incompatible, so it can't be `dyn`
 help: use a new generic type parameter, constrained by `C`
    |
-LL |     fn f<T: C>(&self, c: T) -> C;
-   |         ++++++           ~
+LL -     fn f(&self, c: C) -> C;
+LL +     fn f<T: C>(&self, c: T) -> C;
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL |     fn f(&self, c: impl C) -> C;
@@ -89,8 +92,9 @@ LL |     fn f(a: A) -> A;
    |
 help: you might have meant to use `Self` to refer to the implementing type
    |
-LL |     fn f(a: Self) -> Self;
-   |             ~~~~     ~~~~
+LL -     fn f(a: A) -> A;
+LL +     fn f(a: Self) -> Self;
+   |
 
 error: associated item referring to unboxed trait object for its own trait
   --> $DIR/dyn-incompatible-trait-should-use-self-2021-without-dyn.rs:10:13
@@ -102,8 +106,9 @@ LL |     fn f(b: B) -> B;
    |
 help: you might have meant to use `Self` to refer to the implementing type
    |
-LL |     fn f(b: Self) -> Self;
-   |             ~~~~     ~~~~
+LL -     fn f(b: B) -> B;
+LL +     fn f(b: Self) -> Self;
+   |
 
 error: associated item referring to unboxed trait object for its own trait
   --> $DIR/dyn-incompatible-trait-should-use-self-2021-without-dyn.rs:16:20
@@ -115,8 +120,9 @@ LL |     fn f(&self, c: C) -> C;
    |
 help: you might have meant to use `Self` to refer to the implementing type
    |
-LL |     fn f(&self, c: Self) -> Self;
-   |                    ~~~~     ~~~~
+LL -     fn f(&self, c: C) -> C;
+LL +     fn f(&self, c: Self) -> Self;
+   |
 
 error: aborting due to 9 previous errors
 
diff --git a/tests/ui/suggestions/dyn-incompatible-trait-should-use-self-2021.stderr b/tests/ui/suggestions/dyn-incompatible-trait-should-use-self-2021.stderr
index 742011ad0c0..2e3919db1b7 100644
--- a/tests/ui/suggestions/dyn-incompatible-trait-should-use-self-2021.stderr
+++ b/tests/ui/suggestions/dyn-incompatible-trait-should-use-self-2021.stderr
@@ -8,8 +8,9 @@ LL |     fn f(a: dyn A) -> dyn A;
    |
 help: you might have meant to use `Self` to refer to the implementing type
    |
-LL |     fn f(a: Self) -> Self;
-   |             ~~~~     ~~~~
+LL -     fn f(a: dyn A) -> dyn A;
+LL +     fn f(a: Self) -> Self;
+   |
 
 error[E0038]: the trait `A` is not dyn compatible
   --> $DIR/dyn-incompatible-trait-should-use-self-2021.rs:4:13
@@ -36,8 +37,9 @@ LL |     fn f(a: dyn B) -> dyn B;
    |
 help: you might have meant to use `Self` to refer to the implementing type
    |
-LL |     fn f(a: Self) -> Self;
-   |             ~~~~     ~~~~
+LL -     fn f(a: dyn B) -> dyn B;
+LL +     fn f(a: Self) -> Self;
+   |
 
 error[E0038]: the trait `B` is not dyn compatible
   --> $DIR/dyn-incompatible-trait-should-use-self-2021.rs:9:13
diff --git a/tests/ui/suggestions/dyn-incompatible-trait-should-use-self.stderr b/tests/ui/suggestions/dyn-incompatible-trait-should-use-self.stderr
index 843c139851d..f4b669d7fcd 100644
--- a/tests/ui/suggestions/dyn-incompatible-trait-should-use-self.stderr
+++ b/tests/ui/suggestions/dyn-incompatible-trait-should-use-self.stderr
@@ -8,8 +8,9 @@ LL |     fn f(a: A) -> A;
    |
 help: you might have meant to use `Self` to refer to the implementing type
    |
-LL |     fn f(a: Self) -> Self;
-   |             ~~~~     ~~~~
+LL -     fn f(a: A) -> A;
+LL +     fn f(a: Self) -> Self;
+   |
 
 error[E0038]: the trait `A` is not dyn compatible
   --> $DIR/dyn-incompatible-trait-should-use-self.rs:3:13
@@ -36,8 +37,9 @@ LL |     fn f(a: B) -> B;
    |
 help: you might have meant to use `Self` to refer to the implementing type
    |
-LL |     fn f(a: Self) -> Self;
-   |             ~~~~     ~~~~
+LL -     fn f(a: B) -> B;
+LL +     fn f(a: Self) -> Self;
+   |
 
 error[E0038]: the trait `B` is not dyn compatible
   --> $DIR/dyn-incompatible-trait-should-use-self.rs:8:13
diff --git a/tests/ui/suggestions/dyn-incompatible-trait-should-use-where-sized.stderr b/tests/ui/suggestions/dyn-incompatible-trait-should-use-where-sized.stderr
index e2250807603..ac93c5df05e 100644
--- a/tests/ui/suggestions/dyn-incompatible-trait-should-use-where-sized.stderr
+++ b/tests/ui/suggestions/dyn-incompatible-trait-should-use-where-sized.stderr
@@ -20,12 +20,14 @@ LL |     fn foo(&self) where Self: Other, { }
    |            +++++
 help: alternatively, consider constraining `foo` so it does not apply to trait objects
    |
-LL |     fn foo() where Self: Other, Self: Sized { }
-   |                               ~~~~~~~~~~~~~
+LL -     fn foo() where Self: Other, { }
+LL +     fn foo() where Self: Other, Self: Sized { }
+   |
 help: consider changing method `bar`'s `self` parameter to be `&self`
    |
-LL |     fn bar(self: &Self) {}
-   |                  ~~~~~
+LL -     fn bar(self: ()) {}
+LL +     fn bar(self: &Self) {}
+   |
 
 error[E0307]: invalid `self` parameter type: `()`
   --> $DIR/dyn-incompatible-trait-should-use-where-sized.rs:6:18
diff --git a/tests/ui/suggestions/field-access.stderr b/tests/ui/suggestions/field-access.stderr
index 007bc6ecf93..4696950930f 100644
--- a/tests/ui/suggestions/field-access.stderr
+++ b/tests/ui/suggestions/field-access.stderr
@@ -11,8 +11,9 @@ LL |     if let B::Fst = a {};
    |
 help: you might have meant to use field `b` whose type is `B`
    |
-LL |     if let B::Fst = a.b {};
-   |                     ~~~
+LL -     if let B::Fst = a {};
+LL +     if let B::Fst = a.b {};
+   |
 
 error[E0308]: mismatched types
   --> $DIR/field-access.rs:25:9
@@ -28,8 +29,9 @@ LL |         B::Fst => (),
    |
 help: you might have meant to use field `b` whose type is `B`
    |
-LL |     match a.b {
-   |           ~~~
+LL -     match a {
+LL +     match a.b {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/field-access.rs:26:9
@@ -45,8 +47,9 @@ LL |         B::Snd => (),
    |
 help: you might have meant to use field `b` whose type is `B`
    |
-LL |     match a.b {
-   |           ~~~
+LL -     match a {
+LL +     match a.b {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/field-access.rs:32:9
@@ -59,8 +62,9 @@ LL |         1u32 => (),
    |
 help: you might have meant to use field `bar` whose type is `u32`
    |
-LL |     match unsafe { foo.bar } {
-   |           ~~~~~~~~~~~~~~~~~~
+LL -     match foo {
+LL +     match unsafe { foo.bar } {
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/suggestions/fn-to-method.normal.stderr b/tests/ui/suggestions/fn-to-method.normal.stderr
index 502be79481a..9bd9497ab4d 100644
--- a/tests/ui/suggestions/fn-to-method.normal.stderr
+++ b/tests/ui/suggestions/fn-to-method.normal.stderr
@@ -6,8 +6,9 @@ LL |     let x = cmp(&1, &2);
    |
 help: use the `.` operator to call the method `Ord::cmp` on `&{integer}`
    |
-LL |     let x = (&1).cmp(&2);
-   |             ~  ~~~~~~~~~
+LL -     let x = cmp(&1, &2);
+LL +     let x = (&1).cmp(&2);
+   |
 
 error[E0425]: cannot find function `len` in this scope
   --> $DIR/fn-to-method.rs:16:13
diff --git a/tests/ui/suggestions/for-loop-missing-in.stderr b/tests/ui/suggestions/for-loop-missing-in.stderr
index 61830b800a6..4e0cb229d50 100644
--- a/tests/ui/suggestions/for-loop-missing-in.stderr
+++ b/tests/ui/suggestions/for-loop-missing-in.stderr
@@ -17,8 +17,9 @@ LL |     for _i of 0..2 {
    |
 help: try using `in` here instead
    |
-LL |     for _i in 0..2 {
-   |            ~~
+LL -     for _i of 0..2 {
+LL +     for _i in 0..2 {
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/suggestions/ice-unwrap-probe-many-result-125876.stderr b/tests/ui/suggestions/ice-unwrap-probe-many-result-125876.stderr
index d610a3b7cad..f943688e657 100644
--- a/tests/ui/suggestions/ice-unwrap-probe-many-result-125876.stderr
+++ b/tests/ui/suggestions/ice-unwrap-probe-many-result-125876.stderr
@@ -31,8 +31,9 @@ LL |     std::ptr::from_ref(num).cast_mut().as_deref();
    |
 help: there is a method `as_ref` with a similar name
    |
-LL |     std::ptr::from_ref(num).cast_mut().as_ref();
-   |                                        ~~~~~~
+LL -     std::ptr::from_ref(num).cast_mut().as_deref();
+LL +     std::ptr::from_ref(num).cast_mut().as_ref();
+   |
 
 error: aborting due to 2 previous errors; 2 warnings emitted
 
diff --git a/tests/ui/suggestions/imm-ref-trait-object-literal.stderr b/tests/ui/suggestions/imm-ref-trait-object-literal.stderr
index 79fa468dc49..90dee9005ab 100644
--- a/tests/ui/suggestions/imm-ref-trait-object-literal.stderr
+++ b/tests/ui/suggestions/imm-ref-trait-object-literal.stderr
@@ -14,8 +14,9 @@ LL | fn foo<X: Trait>(_: X) {}
    |           ^^^^^ required by this bound in `foo`
 help: consider changing this borrow's mutability
    |
-LL |   foo(&mut s);
-   |       ~~~~
+LL -   foo(&s);
+LL +   foo(&mut s);
+   |
 
 error[E0277]: the trait bound `S: Trait` is not satisfied
   --> $DIR/imm-ref-trait-object-literal.rs:13:7
diff --git a/tests/ui/suggestions/impl-trait-missing-lifetime-gated.stderr b/tests/ui/suggestions/impl-trait-missing-lifetime-gated.stderr
index 30f4509d49d..299cf1d74d5 100644
--- a/tests/ui/suggestions/impl-trait-missing-lifetime-gated.stderr
+++ b/tests/ui/suggestions/impl-trait-missing-lifetime-gated.stderr
@@ -11,8 +11,9 @@ LL |     fn g(mut x: impl Iterator<Item = &()>) -> Option<&'static ()> { x.next(
    |                                                       +++++++
 help: consider introducing a named lifetime parameter
    |
-LL |     fn g<'a>(mut x: impl Iterator<Item = &'a ()>) -> Option<&'a ()> { x.next() }
-   |         ++++                             ~~~                ~~~
+LL -     fn g(mut x: impl Iterator<Item = &()>) -> Option<&()> { x.next() }
+LL +     fn g<'a>(mut x: impl Iterator<Item = &'a ()>) -> Option<&'a ()> { x.next() }
+   |
 help: alternatively, you might want to return an owned value
    |
 LL -     fn g(mut x: impl Iterator<Item = &()>) -> Option<&()> { x.next() }
@@ -32,8 +33,9 @@ LL |     async fn i(mut x: impl Iterator<Item = &()>) -> Option<&'static ()> { x
    |                                                             +++++++
 help: consider introducing a named lifetime parameter
    |
-LL |     async fn i<'a>(mut x: impl Iterator<Item = &'a ()>) -> Option<&'a ()> { x.next() }
-   |               ++++                             ~~~                ~~~
+LL -     async fn i(mut x: impl Iterator<Item = &()>) -> Option<&()> { x.next() }
+LL +     async fn i<'a>(mut x: impl Iterator<Item = &'a ()>) -> Option<&'a ()> { x.next() }
+   |
 help: alternatively, you might want to return an owned value
    |
 LL -     async fn i(mut x: impl Iterator<Item = &()>) -> Option<&()> { x.next() }
@@ -49,12 +51,14 @@ LL |     fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next()
    = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
 help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values
    |
-LL |     fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'static ()> { x.next() }
-   |                                                          ~~~~~~~
+LL -     fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
+LL +     fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'static ()> { x.next() }
+   |
 help: consider introducing a named lifetime parameter
    |
-LL |     fn g<'a>(mut x: impl Iterator<Item = &'a ()>) -> Option<&'a ()> { x.next() }
-   |         ++++                             ~~~                ~~~
+LL -     fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
+LL +     fn g<'a>(mut x: impl Iterator<Item = &'a ()>) -> Option<&'a ()> { x.next() }
+   |
 help: alternatively, you might want to return an owned value
    |
 LL -     fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
@@ -70,12 +74,14 @@ LL |     async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.n
    = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
 help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values
    |
-LL |     async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'static ()> { x.next() }
-   |                                                                ~~~~~~~
+LL -     async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
+LL +     async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'static ()> { x.next() }
+   |
 help: consider introducing a named lifetime parameter
    |
-LL |     async fn i<'a>(mut x: impl Iterator<Item = &'a ()>) -> Option<&'a ()> { x.next() }
-   |               ++++                             ~~~                ~~~
+LL -     async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
+LL +     async fn i<'a>(mut x: impl Iterator<Item = &'a ()>) -> Option<&'a ()> { x.next() }
+   |
 help: alternatively, you might want to return an owned value
    |
 LL -     async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
@@ -95,8 +101,9 @@ LL |     fn g(mut x: impl Foo) -> Option<&'static ()> { x.next() }
    |                                      +++++++
 help: consider introducing a named lifetime parameter
    |
-LL |     fn g<'a>(mut x: impl Foo) -> Option<&'a ()> { x.next() }
-   |         ++++                            ~~~
+LL -     fn g(mut x: impl Foo) -> Option<&()> { x.next() }
+LL +     fn g<'a>(mut x: impl Foo) -> Option<&'a ()> { x.next() }
+   |
 help: alternatively, you might want to return an owned value
    |
 LL -     fn g(mut x: impl Foo) -> Option<&()> { x.next() }
@@ -116,8 +123,9 @@ LL |     fn g(mut x: impl Foo<()>) -> Option<&'static ()> { x.next() }
    |                                          +++++++
 help: consider introducing a named lifetime parameter
    |
-LL |     fn g<'a>(mut x: impl Foo<()>) -> Option<&'a ()> { x.next() }
-   |         ++++                                ~~~
+LL -     fn g(mut x: impl Foo<()>) -> Option<&()> { x.next() }
+LL +     fn g<'a>(mut x: impl Foo<()>) -> Option<&'a ()> { x.next() }
+   |
 help: alternatively, you might want to return an owned value
    |
 LL -     fn g(mut x: impl Foo<()>) -> Option<&()> { x.next() }
@@ -176,8 +184,9 @@ LL |     fn f(_: impl Iterator<Item = &'_ ()>) {}
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 help: consider introducing a named lifetime parameter
    |
-LL |     fn f<'a>(_: impl Iterator<Item = &'a ()>) {}
-   |         ++++                          ~~
+LL -     fn f(_: impl Iterator<Item = &'_ ()>) {}
+LL +     fn f<'a>(_: impl Iterator<Item = &'a ()>) {}
+   |
 
 error[E0658]: anonymous lifetimes in `impl Trait` are unstable
   --> $DIR/impl-trait-missing-lifetime-gated.rs:28:39
@@ -189,8 +198,9 @@ LL |     fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next()
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 help: consider introducing a named lifetime parameter
    |
-LL |     fn g<'a>(mut x: impl Iterator<Item = &'a ()>) -> Option<&'_ ()> { x.next() }
-   |         ++++                              ~~
+LL -     fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
+LL +     fn g<'a>(mut x: impl Iterator<Item = &'a ()>) -> Option<&'_ ()> { x.next() }
+   |
 
 error: lifetime may not live long enough
   --> $DIR/impl-trait-missing-lifetime-gated.rs:38:73
diff --git a/tests/ui/suggestions/impl-trait-missing-lifetime.stderr b/tests/ui/suggestions/impl-trait-missing-lifetime.stderr
index 70998b67c04..dfbc883680b 100644
--- a/tests/ui/suggestions/impl-trait-missing-lifetime.stderr
+++ b/tests/ui/suggestions/impl-trait-missing-lifetime.stderr
@@ -7,12 +7,14 @@ LL | fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
    = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
 help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values
    |
-LL | fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'static ()> { x.next() }
-   |                                                      ~~~~~~~
+LL - fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
+LL + fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'static ()> { x.next() }
+   |
 help: consider introducing a named lifetime parameter
    |
-LL | fn g<'a>(mut x: impl Iterator<Item = &'a ()>) -> Option<&'a ()> { x.next() }
-   |     ++++                             ~~~                ~~~
+LL - fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
+LL + fn g<'a>(mut x: impl Iterator<Item = &'a ()>) -> Option<&'a ()> { x.next() }
+   |
 help: alternatively, you might want to return an owned value
    |
 LL - fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
@@ -28,12 +30,14 @@ LL | async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next(
    = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
 help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values
    |
-LL | async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'static ()> { x.next() }
-   |                                                            ~~~~~~~
+LL - async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
+LL + async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'static ()> { x.next() }
+   |
 help: consider introducing a named lifetime parameter
    |
-LL | async fn i<'a>(mut x: impl Iterator<Item = &'a ()>) -> Option<&'a ()> { x.next() }
-   |           ++++                             ~~~                ~~~
+LL - async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
+LL + async fn i<'a>(mut x: impl Iterator<Item = &'a ()>) -> Option<&'a ()> { x.next() }
+   |
 help: alternatively, you might want to return an owned value
    |
 LL - async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
diff --git a/tests/ui/suggestions/impl-trait-with-missing-bounds.stderr b/tests/ui/suggestions/impl-trait-with-missing-bounds.stderr
index a763eb6f2f8..d0ce7c9ed4e 100644
--- a/tests/ui/suggestions/impl-trait-with-missing-bounds.stderr
+++ b/tests/ui/suggestions/impl-trait-with-missing-bounds.stderr
@@ -14,8 +14,9 @@ LL | fn qux(_: impl std::fmt::Debug) {}
    |                ^^^^^^^^^^^^^^^ required by this bound in `qux`
 help: introduce a type parameter with a trait bound instead of using `impl Trait`
    |
-LL | fn foo<I: Iterator>(constraints: I) where <I as Iterator>::Item: Debug {
-   |       +++++++++++++              ~  ++++++++++++++++++++++++++++++++++
+LL - fn foo(constraints: impl  Iterator) {
+LL + fn foo<I: Iterator>(constraints: I) where <I as Iterator>::Item: Debug {
+   |
 
 error[E0277]: `<impl Iterator as Iterator>::Item` doesn't implement `Debug`
   --> $DIR/impl-trait-with-missing-bounds.rs:14:13
@@ -33,8 +34,9 @@ LL | fn qux(_: impl std::fmt::Debug) {}
    |                ^^^^^^^^^^^^^^^ required by this bound in `qux`
 help: introduce a type parameter with a trait bound instead of using `impl Trait`
    |
-LL | fn bar<T, I: Iterator>(t: T, constraints: I) where T: std::fmt::Debug, <I as Iterator>::Item: Debug {
-   |         +++++++++++++                     ~                          ++++++++++++++++++++++++++++++
+LL - fn bar<T>(t: T, constraints: impl Iterator) where T: std::fmt::Debug {
+LL + fn bar<T, I: Iterator>(t: T, constraints: I) where T: std::fmt::Debug, <I as Iterator>::Item: Debug {
+   |
 
 error[E0277]: `<impl Iterator as Iterator>::Item` doesn't implement `Debug`
   --> $DIR/impl-trait-with-missing-bounds.rs:22:13
@@ -52,8 +54,9 @@ LL | fn qux(_: impl std::fmt::Debug) {}
    |                ^^^^^^^^^^^^^^^ required by this bound in `qux`
 help: introduce a type parameter with a trait bound instead of using `impl Trait`
    |
-LL | fn baz<I: Iterator>(t: impl std::fmt::Debug, constraints: I) where <I as Iterator>::Item: Debug {
-   |       +++++++++++++                                       ~  ++++++++++++++++++++++++++++++++++
+LL - fn baz(t: impl std::fmt::Debug, constraints: impl Iterator) {
+LL + fn baz<I: Iterator>(t: impl std::fmt::Debug, constraints: I) where <I as Iterator>::Item: Debug {
+   |
 
 error[E0277]: `<impl Iterator as Iterator>::Item` doesn't implement `Debug`
   --> $DIR/impl-trait-with-missing-bounds.rs:30:13
@@ -71,8 +74,9 @@ LL | fn qux(_: impl std::fmt::Debug) {}
    |                ^^^^^^^^^^^^^^^ required by this bound in `qux`
 help: introduce a type parameter with a trait bound instead of using `impl Trait`
    |
-LL | fn bat<I, T: std::fmt::Debug, U: Iterator>(t: T, constraints: U, _: I) where <U as Iterator>::Item: Debug {
-   |                             +++++++++++++                     ~        ++++++++++++++++++++++++++++++++++
+LL - fn bat<I, T: std::fmt::Debug>(t: T, constraints: impl Iterator, _: I) {
+LL + fn bat<I, T: std::fmt::Debug, U: Iterator>(t: T, constraints: U, _: I) where <U as Iterator>::Item: Debug {
+   |
 
 error[E0277]: `<impl Iterator + std::fmt::Debug as Iterator>::Item` doesn't implement `Debug`
   --> $DIR/impl-trait-with-missing-bounds.rs:37:13
@@ -90,8 +94,9 @@ LL | fn qux(_: impl std::fmt::Debug) {}
    |                ^^^^^^^^^^^^^^^ required by this bound in `qux`
 help: introduce a type parameter with a trait bound instead of using `impl Trait`
    |
-LL | fn bak<I: Iterator + std::fmt::Debug>(constraints: I) where <I as Iterator>::Item: Debug {
-   |       +++++++++++++++++++++++++++++++              ~  ++++++++++++++++++++++++++++++++++
+LL - fn bak(constraints: impl  Iterator + std::fmt::Debug) {
+LL + fn bak<I: Iterator + std::fmt::Debug>(constraints: I) where <I as Iterator>::Item: Debug {
+   |
 
 error[E0277]: `<impl Iterator as Iterator>::Item` doesn't implement `Debug`
   --> $DIR/impl-trait-with-missing-bounds.rs:45:13
@@ -109,8 +114,9 @@ LL | fn qux(_: impl std::fmt::Debug) {}
    |                ^^^^^^^^^^^^^^^ required by this bound in `qux`
 help: introduce a type parameter with a trait bound instead of using `impl Trait`
    |
-LL | fn baw<I: Iterator>(constraints: I) where <I as Iterator>::Item: Debug {
-   |       ~~~~~~~~~~~~~              ~  ++++++++++++++++++++++++++++++++++
+LL - fn baw<>(constraints: impl Iterator) {
+LL + fn baw<I: Iterator>(constraints: I) where <I as Iterator>::Item: Debug {
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/suggestions/incorrect-variant-literal.svg b/tests/ui/suggestions/incorrect-variant-literal.svg
index 980a7b29a00..0f2ade633c5 100644
--- a/tests/ui/suggestions/incorrect-variant-literal.svg
+++ b/tests/ui/suggestions/incorrect-variant-literal.svg
@@ -1,4 +1,4 @@
-<svg width="886px" height="9038px" xmlns="http://www.w3.org/2000/svg">
+<svg width="886px" height="9542px" xmlns="http://www.w3.org/2000/svg">
   <style>
     .fg { fill: #AAAAAA }
     .bg { background: #000000 }
@@ -103,567 +103,567 @@
 </tspan>
     <tspan x="10px" y="748px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="766px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::Tuple</tspan><tspan class="fg-ansi256-010">(/* i32 */)</tspan><tspan>;</tspan>
+    <tspan x="10px" y="766px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::Tuple</tspan><tspan class="fg-ansi256-009">()</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="784px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="784px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::Tuple</tspan><tspan class="fg-ansi256-010">(/* i32 */)</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="802px">
+    <tspan x="10px" y="802px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="820px"><tspan class="fg-ansi256-009 bold">error[E0533]</tspan><tspan class="bold">: expected value, found struct variant `Enum::Struct`</tspan>
+    <tspan x="10px" y="820px">
 </tspan>
-    <tspan x="10px" y="838px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:16:5</tspan>
+    <tspan x="10px" y="838px"><tspan class="fg-ansi256-009 bold">error[E0533]</tspan><tspan class="bold">: expected value, found struct variant `Enum::Struct`</tspan>
 </tspan>
-    <tspan x="10px" y="856px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="856px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:16:5</tspan>
 </tspan>
-    <tspan x="10px" y="874px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Struct();</tspan>
+    <tspan x="10px" y="874px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="892px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">not a value</tspan>
+    <tspan x="10px" y="892px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Struct();</tspan>
 </tspan>
-    <tspan x="10px" y="910px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="910px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">not a value</tspan>
 </tspan>
-    <tspan x="10px" y="928px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: you might have meant to create a new value of the struct</tspan>
+    <tspan x="10px" y="928px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="946px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="946px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: you might have meant to create a new value of the struct</tspan>
 </tspan>
-    <tspan x="10px" y="964px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::Struct</tspan><tspan class="fg-ansi256-010"> { x: /* value */ }</tspan><tspan>;</tspan>
+    <tspan x="10px" y="964px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="982px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                  </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="982px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::Struct</tspan><tspan class="fg-ansi256-009">()</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="1000px">
+    <tspan x="10px" y="1000px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::Struct</tspan><tspan class="fg-ansi256-010"> { x: /* value */ }</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="1018px"><tspan class="fg-ansi256-009 bold">error[E0063]</tspan><tspan class="bold">: missing field `0` in initializer of `Enum`</tspan>
+    <tspan x="10px" y="1018px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="1036px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:18:5</tspan>
+    <tspan x="10px" y="1036px">
 </tspan>
-    <tspan x="10px" y="1054px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="1054px"><tspan class="fg-ansi256-009 bold">error[E0063]</tspan><tspan class="bold">: missing field `0` in initializer of `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="1072px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Tuple {};</tspan>
+    <tspan x="10px" y="1072px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:18:5</tspan>
 </tspan>
-    <tspan x="10px" y="1090px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">missing `0`</tspan>
+    <tspan x="10px" y="1090px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="1108px">
+    <tspan x="10px" y="1108px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Tuple {};</tspan>
 </tspan>
-    <tspan x="10px" y="1126px"><tspan class="fg-ansi256-009 bold">error[E0063]</tspan><tspan class="bold">: missing field `x` in initializer of `Enum`</tspan>
+    <tspan x="10px" y="1126px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">missing `0`</tspan>
 </tspan>
-    <tspan x="10px" y="1144px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:19:5</tspan>
+    <tspan x="10px" y="1144px">
 </tspan>
-    <tspan x="10px" y="1162px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="1162px"><tspan class="fg-ansi256-009 bold">error[E0063]</tspan><tspan class="bold">: missing field `x` in initializer of `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="1180px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Struct {};</tspan>
+    <tspan x="10px" y="1180px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:19:5</tspan>
 </tspan>
-    <tspan x="10px" y="1198px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">missing `x`</tspan>
+    <tspan x="10px" y="1198px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="1216px">
+    <tspan x="10px" y="1216px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Struct {};</tspan>
 </tspan>
-    <tspan x="10px" y="1234px"><tspan class="fg-ansi256-009 bold">error[E0618]</tspan><tspan class="bold">: expected function, found `Enum`</tspan>
+    <tspan x="10px" y="1234px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">missing `x`</tspan>
 </tspan>
-    <tspan x="10px" y="1252px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:20:5</tspan>
+    <tspan x="10px" y="1252px">
 </tspan>
-    <tspan x="10px" y="1270px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="1270px"><tspan class="fg-ansi256-009 bold">error[E0618]</tspan><tspan class="bold">: expected function, found `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="1288px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Unit,</tspan>
+    <tspan x="10px" y="1288px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:20:5</tspan>
 </tspan>
-    <tspan x="10px" y="1306px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">----</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">`Enum::Unit` defined here</tspan>
+    <tspan x="10px" y="1306px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="1324px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="1324px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Unit,</tspan>
 </tspan>
-    <tspan x="10px" y="1342px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Unit(0);</tspan>
+    <tspan x="10px" y="1342px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">----</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">`Enum::Unit` defined here</tspan>
 </tspan>
-    <tspan x="10px" y="1360px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^^^</tspan><tspan class="fg-ansi256-012 bold">---</tspan>
+    <tspan x="10px" y="1360px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="1378px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="1378px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Unit(0);</tspan>
 </tspan>
-    <tspan x="10px" y="1396px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">call expression requires function</tspan>
+    <tspan x="10px" y="1396px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^^^</tspan><tspan class="fg-ansi256-012 bold">---</tspan>
 </tspan>
-    <tspan x="10px" y="1414px">
+    <tspan x="10px" y="1414px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="1432px"><tspan class="fg-ansi256-009 bold">error[E0533]</tspan><tspan class="bold">: expected value, found struct variant `Enum::Struct`</tspan>
+    <tspan x="10px" y="1432px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">call expression requires function</tspan>
 </tspan>
-    <tspan x="10px" y="1450px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:22:5</tspan>
+    <tspan x="10px" y="1450px">
 </tspan>
-    <tspan x="10px" y="1468px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="1468px"><tspan class="fg-ansi256-009 bold">error[E0533]</tspan><tspan class="bold">: expected value, found struct variant `Enum::Struct`</tspan>
 </tspan>
-    <tspan x="10px" y="1486px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Struct(0);</tspan>
+    <tspan x="10px" y="1486px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:22:5</tspan>
 </tspan>
-    <tspan x="10px" y="1504px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">not a value</tspan>
+    <tspan x="10px" y="1504px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="1522px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="1522px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Struct(0);</tspan>
 </tspan>
-    <tspan x="10px" y="1540px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: you might have meant to create a new value of the struct</tspan>
+    <tspan x="10px" y="1540px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">not a value</tspan>
 </tspan>
     <tspan x="10px" y="1558px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="1576px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::Struct</tspan><tspan class="fg-ansi256-010"> { x: /* value */ }</tspan><tspan>;</tspan>
+    <tspan x="10px" y="1576px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: you might have meant to create a new value of the struct</tspan>
 </tspan>
-    <tspan x="10px" y="1594px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                  </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="1594px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="1612px">
+    <tspan x="10px" y="1612px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::Struct</tspan><tspan class="fg-ansi256-009">(0)</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="1630px"><tspan class="fg-ansi256-009 bold">error[E0559]</tspan><tspan class="bold">: variant `Enum::Unit` has no field named `x`</tspan>
+    <tspan x="10px" y="1630px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::Struct</tspan><tspan class="fg-ansi256-010"> { x: /* value */ }</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="1648px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:23:18</tspan>
+    <tspan x="10px" y="1648px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="1666px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="1666px">
 </tspan>
-    <tspan x="10px" y="1684px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Unit { x: 0 };</tspan>
+    <tspan x="10px" y="1684px"><tspan class="fg-ansi256-009 bold">error[E0559]</tspan><tspan class="bold">: variant `Enum::Unit` has no field named `x`</tspan>
 </tspan>
-    <tspan x="10px" y="1702px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                  </tspan><tspan class="fg-ansi256-009 bold">^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">`Enum::Unit` does not have this field</tspan>
+    <tspan x="10px" y="1702px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:23:18</tspan>
 </tspan>
     <tspan x="10px" y="1720px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="1738px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">= </tspan><tspan class="bold">note</tspan><tspan>: all struct fields are already assigned</tspan>
+    <tspan x="10px" y="1738px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Unit { x: 0 };</tspan>
 </tspan>
-    <tspan x="10px" y="1756px">
+    <tspan x="10px" y="1756px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                  </tspan><tspan class="fg-ansi256-009 bold">^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">`Enum::Unit` does not have this field</tspan>
 </tspan>
-    <tspan x="10px" y="1774px"><tspan class="fg-ansi256-009 bold">error[E0559]</tspan><tspan class="bold">: variant `Enum::Tuple` has no field named `x`</tspan>
+    <tspan x="10px" y="1774px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="1792px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:24:19</tspan>
+    <tspan x="10px" y="1792px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">= </tspan><tspan class="bold">note</tspan><tspan>: all struct fields are already assigned</tspan>
 </tspan>
-    <tspan x="10px" y="1810px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="1810px">
 </tspan>
-    <tspan x="10px" y="1828px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Tuple(i32),</tspan>
+    <tspan x="10px" y="1828px"><tspan class="fg-ansi256-009 bold">error[E0559]</tspan><tspan class="bold">: variant `Enum::Tuple` has no field named `x`</tspan>
 </tspan>
-    <tspan x="10px" y="1846px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">-----</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">`Enum::Tuple` defined here</tspan>
+    <tspan x="10px" y="1846px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:24:19</tspan>
 </tspan>
-    <tspan x="10px" y="1864px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="1864px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="1882px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Tuple { x: 0 };</tspan>
+    <tspan x="10px" y="1882px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Tuple(i32),</tspan>
 </tspan>
-    <tspan x="10px" y="1900px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                   </tspan><tspan class="fg-ansi256-009 bold">^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">field does not exist</tspan>
+    <tspan x="10px" y="1900px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">-----</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">`Enum::Tuple` defined here</tspan>
 </tspan>
-    <tspan x="10px" y="1918px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="1918px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="1936px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: `Enum::Tuple` is a tuple variant, use the appropriate syntax</tspan>
+    <tspan x="10px" y="1936px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Tuple { x: 0 };</tspan>
 </tspan>
-    <tspan x="10px" y="1954px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="1954px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                   </tspan><tspan class="fg-ansi256-009 bold">^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">field does not exist</tspan>
 </tspan>
-    <tspan x="10px" y="1972px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::Tuple</tspan><tspan class="fg-ansi256-010">(/* i32 */)</tspan><tspan>;</tspan>
+    <tspan x="10px" y="1972px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="1990px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="1990px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: `Enum::Tuple` is a tuple variant, use the appropriate syntax</tspan>
 </tspan>
-    <tspan x="10px" y="2008px">
+    <tspan x="10px" y="2008px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="2026px"><tspan class="fg-ansi256-009 bold">error[E0618]</tspan><tspan class="bold">: expected function, found `Enum`</tspan>
+    <tspan x="10px" y="2026px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::Tuple</tspan><tspan class="fg-ansi256-009"> { x: 0 }</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="2044px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:26:5</tspan>
+    <tspan x="10px" y="2044px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::Tuple</tspan><tspan class="fg-ansi256-010">(/* i32 */)</tspan><tspan>;</tspan>
 </tspan>
     <tspan x="10px" y="2062px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="2080px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Unit,</tspan>
+    <tspan x="10px" y="2080px">
 </tspan>
-    <tspan x="10px" y="2098px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">----</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">`Enum::Unit` defined here</tspan>
+    <tspan x="10px" y="2098px"><tspan class="fg-ansi256-009 bold">error[E0618]</tspan><tspan class="bold">: expected function, found `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="2116px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="2116px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:26:5</tspan>
 </tspan>
-    <tspan x="10px" y="2134px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Unit(0, 0);</tspan>
+    <tspan x="10px" y="2134px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="2152px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^^^</tspan><tspan class="fg-ansi256-012 bold">------</tspan>
+    <tspan x="10px" y="2152px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Unit,</tspan>
 </tspan>
-    <tspan x="10px" y="2170px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="2170px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">----</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">`Enum::Unit` defined here</tspan>
 </tspan>
-    <tspan x="10px" y="2188px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">call expression requires function</tspan>
+    <tspan x="10px" y="2188px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="2206px">
+    <tspan x="10px" y="2206px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Unit(0, 0);</tspan>
 </tspan>
-    <tspan x="10px" y="2224px"><tspan class="fg-ansi256-009 bold">error[E0061]</tspan><tspan class="bold">: this enum variant takes 1 argument but 2 arguments were supplied</tspan>
+    <tspan x="10px" y="2224px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^^^</tspan><tspan class="fg-ansi256-012 bold">------</tspan>
 </tspan>
-    <tspan x="10px" y="2242px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:27:5</tspan>
+    <tspan x="10px" y="2242px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="2260px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="2260px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">call expression requires function</tspan>
 </tspan>
-    <tspan x="10px" y="2278px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Tuple(0, 0);</tspan>
+    <tspan x="10px" y="2278px">
 </tspan>
-    <tspan x="10px" y="2296px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^^^^</tspan><tspan>    </tspan><tspan class="fg-ansi256-012 bold">-</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">unexpected argument #2 of type `{integer}`</tspan>
+    <tspan x="10px" y="2296px"><tspan class="fg-ansi256-009 bold">error[E0061]</tspan><tspan class="bold">: this enum variant takes 1 argument but 2 arguments were supplied</tspan>
 </tspan>
-    <tspan x="10px" y="2314px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="2314px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:27:5</tspan>
 </tspan>
-    <tspan x="10px" y="2332px"><tspan class="fg-ansi256-010 bold">note</tspan><tspan>: tuple variant defined here</tspan>
+    <tspan x="10px" y="2332px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="2350px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:6:5</tspan>
+    <tspan x="10px" y="2350px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Tuple(0, 0);</tspan>
 </tspan>
-    <tspan x="10px" y="2368px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="2368px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^^^^</tspan><tspan>    </tspan><tspan class="fg-ansi256-012 bold">-</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">unexpected argument #2 of type `{integer}`</tspan>
 </tspan>
-    <tspan x="10px" y="2386px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Tuple(i32),</tspan>
+    <tspan x="10px" y="2386px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="2404px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-010 bold">^^^^^</tspan>
+    <tspan x="10px" y="2404px"><tspan class="fg-ansi256-010 bold">note</tspan><tspan>: tuple variant defined here</tspan>
 </tspan>
-    <tspan x="10px" y="2422px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: remove the extra argument</tspan>
+    <tspan x="10px" y="2422px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:6:5</tspan>
 </tspan>
     <tspan x="10px" y="2440px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="2458px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::Tuple(0</tspan><tspan class="fg-ansi256-009">, 0</tspan><tspan>);</tspan>
+    <tspan x="10px" y="2458px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Tuple(i32),</tspan>
 </tspan>
-    <tspan x="10px" y="2476px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::Tuple(0);</tspan>
+    <tspan x="10px" y="2476px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-010 bold">^^^^^</tspan>
 </tspan>
-    <tspan x="10px" y="2494px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="2494px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: remove the extra argument</tspan>
 </tspan>
-    <tspan x="10px" y="2512px">
+    <tspan x="10px" y="2512px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="2530px"><tspan class="fg-ansi256-009 bold">error[E0533]</tspan><tspan class="bold">: expected value, found struct variant `Enum::Struct`</tspan>
+    <tspan x="10px" y="2530px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::Tuple(0</tspan><tspan class="fg-ansi256-009">, 0</tspan><tspan>);</tspan>
 </tspan>
-    <tspan x="10px" y="2548px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:28:5</tspan>
+    <tspan x="10px" y="2548px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::Tuple(0);</tspan>
 </tspan>
     <tspan x="10px" y="2566px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="2584px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Struct(0, 0);</tspan>
+    <tspan x="10px" y="2584px">
 </tspan>
-    <tspan x="10px" y="2602px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">not a value</tspan>
+    <tspan x="10px" y="2602px"><tspan class="fg-ansi256-009 bold">error[E0533]</tspan><tspan class="bold">: expected value, found struct variant `Enum::Struct`</tspan>
 </tspan>
-    <tspan x="10px" y="2620px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="2620px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:28:5</tspan>
 </tspan>
-    <tspan x="10px" y="2638px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: you might have meant to create a new value of the struct</tspan>
+    <tspan x="10px" y="2638px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="2656px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="2656px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Struct(0, 0);</tspan>
 </tspan>
-    <tspan x="10px" y="2674px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::Struct</tspan><tspan class="fg-ansi256-010"> { x: /* value */ }</tspan><tspan>;</tspan>
+    <tspan x="10px" y="2674px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">not a value</tspan>
 </tspan>
-    <tspan x="10px" y="2692px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                  </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="2692px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="2710px">
+    <tspan x="10px" y="2710px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: you might have meant to create a new value of the struct</tspan>
 </tspan>
-    <tspan x="10px" y="2728px"><tspan class="fg-ansi256-009 bold">error[E0559]</tspan><tspan class="bold">: variant `Enum::Unit` has no field named `x`</tspan>
+    <tspan x="10px" y="2728px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="2746px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:29:18</tspan>
+    <tspan x="10px" y="2746px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::Struct</tspan><tspan class="fg-ansi256-009">(0, 0)</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="2764px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="2764px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::Struct</tspan><tspan class="fg-ansi256-010"> { x: /* value */ }</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="2782px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Unit { x: 0, y: 0 };</tspan>
+    <tspan x="10px" y="2782px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="2800px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                  </tspan><tspan class="fg-ansi256-009 bold">^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">`Enum::Unit` does not have this field</tspan>
+    <tspan x="10px" y="2800px">
 </tspan>
-    <tspan x="10px" y="2818px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="2818px"><tspan class="fg-ansi256-009 bold">error[E0559]</tspan><tspan class="bold">: variant `Enum::Unit` has no field named `x`</tspan>
 </tspan>
-    <tspan x="10px" y="2836px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">= </tspan><tspan class="bold">note</tspan><tspan>: all struct fields are already assigned</tspan>
+    <tspan x="10px" y="2836px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:29:18</tspan>
 </tspan>
-    <tspan x="10px" y="2854px">
+    <tspan x="10px" y="2854px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="2872px"><tspan class="fg-ansi256-009 bold">error[E0559]</tspan><tspan class="bold">: variant `Enum::Unit` has no field named `y`</tspan>
+    <tspan x="10px" y="2872px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Unit { x: 0, y: 0 };</tspan>
 </tspan>
-    <tspan x="10px" y="2890px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:29:24</tspan>
+    <tspan x="10px" y="2890px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                  </tspan><tspan class="fg-ansi256-009 bold">^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">`Enum::Unit` does not have this field</tspan>
 </tspan>
     <tspan x="10px" y="2908px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="2926px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Unit { x: 0, y: 0 };</tspan>
+    <tspan x="10px" y="2926px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">= </tspan><tspan class="bold">note</tspan><tspan>: all struct fields are already assigned</tspan>
 </tspan>
-    <tspan x="10px" y="2944px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                        </tspan><tspan class="fg-ansi256-009 bold">^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">`Enum::Unit` does not have this field</tspan>
+    <tspan x="10px" y="2944px">
 </tspan>
-    <tspan x="10px" y="2962px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="2962px"><tspan class="fg-ansi256-009 bold">error[E0559]</tspan><tspan class="bold">: variant `Enum::Unit` has no field named `y`</tspan>
 </tspan>
-    <tspan x="10px" y="2980px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">= </tspan><tspan class="bold">note</tspan><tspan>: all struct fields are already assigned</tspan>
+    <tspan x="10px" y="2980px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:29:24</tspan>
 </tspan>
-    <tspan x="10px" y="2998px">
+    <tspan x="10px" y="2998px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="3016px"><tspan class="fg-ansi256-009 bold">error[E0559]</tspan><tspan class="bold">: variant `Enum::Tuple` has no field named `x`</tspan>
+    <tspan x="10px" y="3016px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Unit { x: 0, y: 0 };</tspan>
 </tspan>
-    <tspan x="10px" y="3034px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:31:19</tspan>
+    <tspan x="10px" y="3034px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                        </tspan><tspan class="fg-ansi256-009 bold">^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">`Enum::Unit` does not have this field</tspan>
 </tspan>
     <tspan x="10px" y="3052px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="3070px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Tuple(i32),</tspan>
+    <tspan x="10px" y="3070px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">= </tspan><tspan class="bold">note</tspan><tspan>: all struct fields are already assigned</tspan>
 </tspan>
-    <tspan x="10px" y="3088px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">-----</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">`Enum::Tuple` defined here</tspan>
+    <tspan x="10px" y="3088px">
 </tspan>
-    <tspan x="10px" y="3106px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="3106px"><tspan class="fg-ansi256-009 bold">error[E0559]</tspan><tspan class="bold">: variant `Enum::Tuple` has no field named `x`</tspan>
 </tspan>
-    <tspan x="10px" y="3124px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Tuple { x: 0, y: 0 };</tspan>
+    <tspan x="10px" y="3124px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:31:19</tspan>
 </tspan>
-    <tspan x="10px" y="3142px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                   </tspan><tspan class="fg-ansi256-009 bold">^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">field does not exist</tspan>
+    <tspan x="10px" y="3142px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="3160px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="3160px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Tuple(i32),</tspan>
 </tspan>
-    <tspan x="10px" y="3178px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: `Enum::Tuple` is a tuple variant, use the appropriate syntax</tspan>
+    <tspan x="10px" y="3178px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">-----</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">`Enum::Tuple` defined here</tspan>
 </tspan>
-    <tspan x="10px" y="3196px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="3196px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="3214px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::Tuple</tspan><tspan class="fg-ansi256-010">(/* i32 */)</tspan><tspan>;</tspan>
+    <tspan x="10px" y="3214px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Tuple { x: 0, y: 0 };</tspan>
 </tspan>
-    <tspan x="10px" y="3232px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="3232px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                   </tspan><tspan class="fg-ansi256-009 bold">^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">field does not exist</tspan>
 </tspan>
-    <tspan x="10px" y="3250px">
+    <tspan x="10px" y="3250px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="3268px"><tspan class="fg-ansi256-009 bold">error[E0559]</tspan><tspan class="bold">: variant `Enum::Tuple` has no field named `y`</tspan>
+    <tspan x="10px" y="3268px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: `Enum::Tuple` is a tuple variant, use the appropriate syntax</tspan>
 </tspan>
-    <tspan x="10px" y="3286px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:31:25</tspan>
+    <tspan x="10px" y="3286px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="3304px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="3304px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::Tuple</tspan><tspan class="fg-ansi256-009"> { x: 0, y: 0 }</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="3322px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Tuple(i32),</tspan>
+    <tspan x="10px" y="3322px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::Tuple</tspan><tspan class="fg-ansi256-010">(/* i32 */)</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="3340px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">-----</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">`Enum::Tuple` defined here</tspan>
+    <tspan x="10px" y="3340px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="3358px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="3358px">
 </tspan>
-    <tspan x="10px" y="3376px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Tuple { x: 0, y: 0 };</tspan>
+    <tspan x="10px" y="3376px"><tspan class="fg-ansi256-009 bold">error[E0559]</tspan><tspan class="bold">: variant `Enum::Tuple` has no field named `y`</tspan>
 </tspan>
-    <tspan x="10px" y="3394px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                         </tspan><tspan class="fg-ansi256-009 bold">^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">field does not exist</tspan>
+    <tspan x="10px" y="3394px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:31:25</tspan>
 </tspan>
     <tspan x="10px" y="3412px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="3430px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: `Enum::Tuple` is a tuple variant, use the appropriate syntax</tspan>
+    <tspan x="10px" y="3430px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Tuple(i32),</tspan>
 </tspan>
-    <tspan x="10px" y="3448px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="3448px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     </tspan><tspan class="fg-ansi256-012 bold">-----</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">`Enum::Tuple` defined here</tspan>
 </tspan>
-    <tspan x="10px" y="3466px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::Tuple</tspan><tspan class="fg-ansi256-010">(/* i32 */)</tspan><tspan>;</tspan>
+    <tspan x="10px" y="3466px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="3484px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="3484px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Tuple { x: 0, y: 0 };</tspan>
 </tspan>
-    <tspan x="10px" y="3502px">
+    <tspan x="10px" y="3502px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                         </tspan><tspan class="fg-ansi256-009 bold">^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">field does not exist</tspan>
 </tspan>
-    <tspan x="10px" y="3520px"><tspan class="fg-ansi256-009 bold">error[E0559]</tspan><tspan class="bold">: variant `Enum::Struct` has no field named `y`</tspan>
+    <tspan x="10px" y="3520px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="3538px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:33:26</tspan>
+    <tspan x="10px" y="3538px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: `Enum::Tuple` is a tuple variant, use the appropriate syntax</tspan>
 </tspan>
     <tspan x="10px" y="3556px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="3574px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Struct { x: 0, y: 0 };</tspan>
+    <tspan x="10px" y="3574px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::Tuple</tspan><tspan class="fg-ansi256-009"> { x: 0, y: 0 }</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="3592px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                          </tspan><tspan class="fg-ansi256-009 bold">^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">`Enum::Struct` does not have this field</tspan>
+    <tspan x="10px" y="3592px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::Tuple</tspan><tspan class="fg-ansi256-010">(/* i32 */)</tspan><tspan>;</tspan>
 </tspan>
     <tspan x="10px" y="3610px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="3628px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">= </tspan><tspan class="bold">note</tspan><tspan>: all struct fields are already assigned</tspan>
+    <tspan x="10px" y="3628px">
 </tspan>
-    <tspan x="10px" y="3646px">
+    <tspan x="10px" y="3646px"><tspan class="fg-ansi256-009 bold">error[E0559]</tspan><tspan class="bold">: variant `Enum::Struct` has no field named `y`</tspan>
 </tspan>
-    <tspan x="10px" y="3664px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `unit` found for enum `Enum` in the current scope</tspan>
+    <tspan x="10px" y="3664px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:33:26</tspan>
 </tspan>
-    <tspan x="10px" y="3682px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:34:11</tspan>
+    <tspan x="10px" y="3682px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="3700px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="3700px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::Struct { x: 0, y: 0 };</tspan>
 </tspan>
-    <tspan x="10px" y="3718px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="3718px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>                          </tspan><tspan class="fg-ansi256-009 bold">^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">`Enum::Struct` does not have this field</tspan>
 </tspan>
-    <tspan x="10px" y="3736px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `unit` not found for this enum</tspan>
+    <tspan x="10px" y="3736px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="3754px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="3754px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">= </tspan><tspan class="bold">note</tspan><tspan>: all struct fields are already assigned</tspan>
 </tspan>
-    <tspan x="10px" y="3772px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::unit;</tspan>
+    <tspan x="10px" y="3772px">
 </tspan>
-    <tspan x="10px" y="3790px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
+    <tspan x="10px" y="3790px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `unit` found for enum `Enum` in the current scope</tspan>
 </tspan>
-    <tspan x="10px" y="3808px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="3808px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:34:11</tspan>
 </tspan>
-    <tspan x="10px" y="3826px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name (notice the capitalization difference)</tspan>
+    <tspan x="10px" y="3826px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="3844px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="3844px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="3862px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Unit</tspan><tspan>;</tspan>
+    <tspan x="10px" y="3862px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `unit` not found for this enum</tspan>
 </tspan>
-    <tspan x="10px" y="3880px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~</tspan>
+    <tspan x="10px" y="3880px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="3898px">
+    <tspan x="10px" y="3898px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::unit;</tspan>
 </tspan>
-    <tspan x="10px" y="3916px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `tuple` found for enum `Enum` in the current scope</tspan>
+    <tspan x="10px" y="3916px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="3934px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:35:11</tspan>
+    <tspan x="10px" y="3934px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="3952px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="3952px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name (notice the capitalization difference)</tspan>
 </tspan>
-    <tspan x="10px" y="3970px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="3970px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="3988px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `tuple` not found for this enum</tspan>
+    <tspan x="10px" y="3988px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">unit</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="4006px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="4006px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Unit</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="4024px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::tuple;</tspan>
+    <tspan x="10px" y="4024px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="4042px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
+    <tspan x="10px" y="4042px">
 </tspan>
-    <tspan x="10px" y="4060px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="4060px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `tuple` found for enum `Enum` in the current scope</tspan>
 </tspan>
-    <tspan x="10px" y="4078px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="4078px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:35:11</tspan>
 </tspan>
     <tspan x="10px" y="4096px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="4114px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Tuple(/* i32 */)</tspan><tspan>;</tspan>
+    <tspan x="10px" y="4114px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="4132px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="4132px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `tuple` not found for this enum</tspan>
 </tspan>
-    <tspan x="10px" y="4150px">
+    <tspan x="10px" y="4150px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="4168px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `r#struct` found for enum `Enum` in the current scope</tspan>
+    <tspan x="10px" y="4168px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::tuple;</tspan>
 </tspan>
-    <tspan x="10px" y="4186px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:36:11</tspan>
+    <tspan x="10px" y="4186px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
 </tspan>
     <tspan x="10px" y="4204px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="4222px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="4222px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
-    <tspan x="10px" y="4240px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `r#struct` not found for this enum</tspan>
+    <tspan x="10px" y="4240px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="4258px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="4258px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">tuple</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="4276px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::r#struct;</tspan>
+    <tspan x="10px" y="4276px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Tuple(/* i32 */)</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="4294px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
+    <tspan x="10px" y="4294px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="4312px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="4312px">
 </tspan>
-    <tspan x="10px" y="4330px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="4330px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `r#struct` found for enum `Enum` in the current scope</tspan>
 </tspan>
-    <tspan x="10px" y="4348px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="4348px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:36:11</tspan>
 </tspan>
-    <tspan x="10px" y="4366px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Struct { x: /* value */ }</tspan><tspan>;</tspan>
+    <tspan x="10px" y="4366px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="4384px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~~~~~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="4384px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="4402px">
+    <tspan x="10px" y="4402px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `r#struct` not found for this enum</tspan>
 </tspan>
-    <tspan x="10px" y="4420px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `unit` found for enum `Enum` in the current scope</tspan>
+    <tspan x="10px" y="4420px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="4438px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:37:11</tspan>
+    <tspan x="10px" y="4438px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::r#struct;</tspan>
 </tspan>
-    <tspan x="10px" y="4456px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="4456px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="4474px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="4474px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="4492px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `unit` not found for this enum</tspan>
+    <tspan x="10px" y="4492px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
-    <tspan x="10px" y="4510px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="4510px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="4528px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::unit();</tspan>
+    <tspan x="10px" y="4528px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">r#struct</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="4546px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
+    <tspan x="10px" y="4546px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Struct { x: /* value */ }</tspan><tspan>;</tspan>
 </tspan>
     <tspan x="10px" y="4564px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="4582px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="4582px">
 </tspan>
-    <tspan x="10px" y="4600px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="4600px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `unit` found for enum `Enum` in the current scope</tspan>
 </tspan>
-    <tspan x="10px" y="4618px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Unit</tspan><tspan>;</tspan>
+    <tspan x="10px" y="4618px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:37:11</tspan>
 </tspan>
-    <tspan x="10px" y="4636px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~</tspan>
+    <tspan x="10px" y="4636px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="4654px">
+    <tspan x="10px" y="4654px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="4672px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `tuple` found for enum `Enum` in the current scope</tspan>
+    <tspan x="10px" y="4672px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `unit` not found for this enum</tspan>
 </tspan>
-    <tspan x="10px" y="4690px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:38:11</tspan>
+    <tspan x="10px" y="4690px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="4708px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="4708px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::unit();</tspan>
 </tspan>
-    <tspan x="10px" y="4726px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="4726px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="4744px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `tuple` not found for this enum</tspan>
+    <tspan x="10px" y="4744px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="4762px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="4762px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
-    <tspan x="10px" y="4780px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::tuple();</tspan>
+    <tspan x="10px" y="4780px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="4798px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
+    <tspan x="10px" y="4798px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">unit()</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="4816px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="4816px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Unit</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="4834px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="4834px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="4852px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="4852px">
 </tspan>
-    <tspan x="10px" y="4870px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Tuple(/* i32 */)</tspan><tspan>;</tspan>
+    <tspan x="10px" y="4870px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `tuple` found for enum `Enum` in the current scope</tspan>
 </tspan>
-    <tspan x="10px" y="4888px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="4888px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:38:11</tspan>
 </tspan>
-    <tspan x="10px" y="4906px">
+    <tspan x="10px" y="4906px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="4924px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `r#struct` found for enum `Enum` in the current scope</tspan>
+    <tspan x="10px" y="4924px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="4942px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:39:11</tspan>
+    <tspan x="10px" y="4942px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `tuple` not found for this enum</tspan>
 </tspan>
-    <tspan x="10px" y="4960px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="4960px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="4978px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="4978px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::tuple();</tspan>
 </tspan>
-    <tspan x="10px" y="4996px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `r#struct` not found for this enum</tspan>
+    <tspan x="10px" y="4996px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="5014px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="5014px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="5032px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::r#struct();</tspan>
+    <tspan x="10px" y="5032px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
-    <tspan x="10px" y="5050px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
+    <tspan x="10px" y="5050px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="5068px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="5068px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">tuple()</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="5086px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="5086px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Tuple(/* i32 */)</tspan><tspan>;</tspan>
 </tspan>
     <tspan x="10px" y="5104px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="5122px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Struct { x: /* value */ }</tspan><tspan>;</tspan>
+    <tspan x="10px" y="5122px">
 </tspan>
-    <tspan x="10px" y="5140px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~~~~~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="5140px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `r#struct` found for enum `Enum` in the current scope</tspan>
 </tspan>
-    <tspan x="10px" y="5158px">
+    <tspan x="10px" y="5158px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:39:11</tspan>
 </tspan>
-    <tspan x="10px" y="5176px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `unit` found for enum `Enum`</tspan>
+    <tspan x="10px" y="5176px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="5194px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:40:11</tspan>
+    <tspan x="10px" y="5194px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="5212px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="5212px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `r#struct` not found for this enum</tspan>
 </tspan>
-    <tspan x="10px" y="5230px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="5230px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="5248px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `unit` not found here</tspan>
+    <tspan x="10px" y="5248px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::r#struct();</tspan>
 </tspan>
-    <tspan x="10px" y="5266px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="5266px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="5284px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::unit {};</tspan>
+    <tspan x="10px" y="5284px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="5302px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^</tspan>
+    <tspan x="10px" y="5302px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
     <tspan x="10px" y="5320px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="5338px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="5338px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">r#struct()</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="5356px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="5356px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Struct { x: /* value */ }</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="5374px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Unit</tspan><tspan>;</tspan>
+    <tspan x="10px" y="5374px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="5392px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~</tspan>
+    <tspan x="10px" y="5392px">
 </tspan>
-    <tspan x="10px" y="5410px">
+    <tspan x="10px" y="5410px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `unit` found for enum `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="5428px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `tuple` found for enum `Enum`</tspan>
+    <tspan x="10px" y="5428px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:40:11</tspan>
 </tspan>
-    <tspan x="10px" y="5446px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:41:11</tspan>
+    <tspan x="10px" y="5446px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="5464px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="5464px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="5482px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="5482px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `unit` not found here</tspan>
 </tspan>
-    <tspan x="10px" y="5500px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `tuple` not found here</tspan>
+    <tspan x="10px" y="5500px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="5518px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="5518px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::unit {};</tspan>
 </tspan>
-    <tspan x="10px" y="5536px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::tuple {};</tspan>
+    <tspan x="10px" y="5536px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^</tspan>
 </tspan>
-    <tspan x="10px" y="5554px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^</tspan>
+    <tspan x="10px" y="5554px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="5572px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="5572px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
-    <tspan x="10px" y="5590px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="5590px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="5608px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="5608px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">unit {}</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="5626px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Tuple(/* i32 */)</tspan><tspan>;</tspan>
+    <tspan x="10px" y="5626px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Unit</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="5644px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="5644px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
     <tspan x="10px" y="5662px">
 </tspan>
-    <tspan x="10px" y="5680px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `r#struct` found for enum `Enum`</tspan>
+    <tspan x="10px" y="5680px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `tuple` found for enum `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="5698px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:42:11</tspan>
+    <tspan x="10px" y="5698px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:41:11</tspan>
 </tspan>
     <tspan x="10px" y="5716px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
     <tspan x="10px" y="5734px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="5752px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `r#struct` not found here</tspan>
+    <tspan x="10px" y="5752px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `tuple` not found here</tspan>
 </tspan>
     <tspan x="10px" y="5770px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="5788px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::r#struct {};</tspan>
+    <tspan x="10px" y="5788px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::tuple {};</tspan>
 </tspan>
-    <tspan x="10px" y="5806px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^</tspan>
+    <tspan x="10px" y="5806px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^</tspan>
 </tspan>
     <tspan x="10px" y="5824px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
@@ -671,357 +671,413 @@
 </tspan>
     <tspan x="10px" y="5860px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="5878px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Struct { x: /* value */ }</tspan><tspan>;</tspan>
+    <tspan x="10px" y="5878px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">tuple {}</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="5896px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~~~~~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="5896px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Tuple(/* i32 */)</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="5914px">
+    <tspan x="10px" y="5914px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="5932px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `unit` found for enum `Enum` in the current scope</tspan>
+    <tspan x="10px" y="5932px">
 </tspan>
-    <tspan x="10px" y="5950px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:43:11</tspan>
+    <tspan x="10px" y="5950px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `r#struct` found for enum `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="5968px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="5968px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:42:11</tspan>
 </tspan>
-    <tspan x="10px" y="5986px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="5986px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="6004px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `unit` not found for this enum</tspan>
+    <tspan x="10px" y="6004px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="6022px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="6022px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `r#struct` not found here</tspan>
 </tspan>
-    <tspan x="10px" y="6040px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::unit(0);</tspan>
+    <tspan x="10px" y="6040px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="6058px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
+    <tspan x="10px" y="6058px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::r#struct {};</tspan>
 </tspan>
-    <tspan x="10px" y="6076px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="6076px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^</tspan>
 </tspan>
-    <tspan x="10px" y="6094px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="6094px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="6112px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="6112px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
-    <tspan x="10px" y="6130px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Unit</tspan><tspan>;</tspan>
+    <tspan x="10px" y="6130px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="6148px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~</tspan>
+    <tspan x="10px" y="6148px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">r#struct {}</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="6166px">
+    <tspan x="10px" y="6166px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Struct { x: /* value */ }</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="6184px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `tuple` found for enum `Enum` in the current scope</tspan>
+    <tspan x="10px" y="6184px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="6202px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:44:11</tspan>
+    <tspan x="10px" y="6202px">
 </tspan>
-    <tspan x="10px" y="6220px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="6220px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `unit` found for enum `Enum` in the current scope</tspan>
 </tspan>
-    <tspan x="10px" y="6238px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="6238px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:43:11</tspan>
 </tspan>
-    <tspan x="10px" y="6256px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `tuple` not found for this enum</tspan>
+    <tspan x="10px" y="6256px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="6274px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="6274px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="6292px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::tuple(0);</tspan>
+    <tspan x="10px" y="6292px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `unit` not found for this enum</tspan>
 </tspan>
-    <tspan x="10px" y="6310px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
+    <tspan x="10px" y="6310px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="6328px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="6328px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::unit(0);</tspan>
 </tspan>
-    <tspan x="10px" y="6346px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="6346px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
 </tspan>
     <tspan x="10px" y="6364px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="6382px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Tuple</tspan><tspan>(0);</tspan>
+    <tspan x="10px" y="6382px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
-    <tspan x="10px" y="6400px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~~</tspan>
+    <tspan x="10px" y="6400px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="6418px">
+    <tspan x="10px" y="6418px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">unit(0)</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="6436px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `r#struct` found for enum `Enum` in the current scope</tspan>
+    <tspan x="10px" y="6436px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Unit</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="6454px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:45:11</tspan>
+    <tspan x="10px" y="6454px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="6472px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="6472px">
 </tspan>
-    <tspan x="10px" y="6490px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="6490px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `tuple` found for enum `Enum` in the current scope</tspan>
 </tspan>
-    <tspan x="10px" y="6508px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `r#struct` not found for this enum</tspan>
+    <tspan x="10px" y="6508px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:44:11</tspan>
 </tspan>
-    <tspan x="10px" y="6526px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="6526px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="6544px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::r#struct(0);</tspan>
+    <tspan x="10px" y="6544px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="6562px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
+    <tspan x="10px" y="6562px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `tuple` not found for this enum</tspan>
 </tspan>
-    <tspan x="10px" y="6580px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="6580px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="6598px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="6598px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::tuple(0);</tspan>
 </tspan>
-    <tspan x="10px" y="6616px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="6616px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="6634px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Struct { x: /* value */ }</tspan><tspan>;</tspan>
+    <tspan x="10px" y="6634px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="6652px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~~~~~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="6652px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
-    <tspan x="10px" y="6670px">
+    <tspan x="10px" y="6670px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="6688px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `unit` found for enum `Enum`</tspan>
+    <tspan x="10px" y="6688px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">tuple</tspan><tspan>(0);</tspan>
 </tspan>
-    <tspan x="10px" y="6706px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:46:11</tspan>
+    <tspan x="10px" y="6706px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Tuple</tspan><tspan>(0);</tspan>
 </tspan>
     <tspan x="10px" y="6724px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="6742px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="6742px">
 </tspan>
-    <tspan x="10px" y="6760px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `unit` not found here</tspan>
+    <tspan x="10px" y="6760px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `r#struct` found for enum `Enum` in the current scope</tspan>
 </tspan>
-    <tspan x="10px" y="6778px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="6778px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:45:11</tspan>
 </tspan>
-    <tspan x="10px" y="6796px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::unit { x: 0 };</tspan>
+    <tspan x="10px" y="6796px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="6814px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^</tspan>
+    <tspan x="10px" y="6814px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="6832px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="6832px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `r#struct` not found for this enum</tspan>
 </tspan>
-    <tspan x="10px" y="6850px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="6850px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="6868px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="6868px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::r#struct(0);</tspan>
 </tspan>
-    <tspan x="10px" y="6886px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Unit</tspan><tspan>;</tspan>
+    <tspan x="10px" y="6886px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="6904px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~</tspan>
+    <tspan x="10px" y="6904px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="6922px">
+    <tspan x="10px" y="6922px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
-    <tspan x="10px" y="6940px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `tuple` found for enum `Enum`</tspan>
+    <tspan x="10px" y="6940px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="6958px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:47:11</tspan>
+    <tspan x="10px" y="6958px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">r#struct(0)</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="6976px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="6976px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Struct { x: /* value */ }</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="6994px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="6994px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="7012px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `tuple` not found here</tspan>
+    <tspan x="10px" y="7012px">
 </tspan>
-    <tspan x="10px" y="7030px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="7030px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `unit` found for enum `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="7048px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::tuple { x: 0 };</tspan>
+    <tspan x="10px" y="7048px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:46:11</tspan>
 </tspan>
-    <tspan x="10px" y="7066px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^</tspan>
+    <tspan x="10px" y="7066px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="7084px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="7084px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="7102px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="7102px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `unit` not found here</tspan>
 </tspan>
-    <tspan x="10px" y="7120px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="7120px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="7138px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Tuple(/* i32 */)</tspan><tspan>;</tspan>
+    <tspan x="10px" y="7138px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::unit { x: 0 };</tspan>
 </tspan>
-    <tspan x="10px" y="7156px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="7156px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^</tspan>
 </tspan>
-    <tspan x="10px" y="7174px">
+    <tspan x="10px" y="7174px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="7192px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `r#struct` found for enum `Enum`</tspan>
+    <tspan x="10px" y="7192px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
-    <tspan x="10px" y="7210px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:48:11</tspan>
+    <tspan x="10px" y="7210px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="7228px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="7228px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">unit { x: 0 }</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="7246px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="7246px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Unit</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="7264px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `r#struct` not found here</tspan>
+    <tspan x="10px" y="7264px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="7282px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="7282px">
 </tspan>
-    <tspan x="10px" y="7300px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::r#struct { x: 0 };</tspan>
+    <tspan x="10px" y="7300px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `tuple` found for enum `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="7318px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^</tspan>
+    <tspan x="10px" y="7318px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:47:11</tspan>
 </tspan>
     <tspan x="10px" y="7336px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="7354px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="7354px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="7372px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="7372px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `tuple` not found here</tspan>
 </tspan>
-    <tspan x="10px" y="7390px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Struct { x: /* value */ }</tspan><tspan>;</tspan>
+    <tspan x="10px" y="7390px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="7408px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~~~~~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="7408px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::tuple { x: 0 };</tspan>
 </tspan>
-    <tspan x="10px" y="7426px">
+    <tspan x="10px" y="7426px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^</tspan>
 </tspan>
-    <tspan x="10px" y="7444px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `unit` found for enum `Enum` in the current scope</tspan>
+    <tspan x="10px" y="7444px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="7462px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:49:11</tspan>
+    <tspan x="10px" y="7462px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
     <tspan x="10px" y="7480px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="7498px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="7498px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">tuple { x: 0 }</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="7516px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `unit` not found for this enum</tspan>
+    <tspan x="10px" y="7516px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Tuple(/* i32 */)</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="7534px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="7534px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="7552px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::unit(0, 0);</tspan>
+    <tspan x="10px" y="7552px">
 </tspan>
-    <tspan x="10px" y="7570px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
+    <tspan x="10px" y="7570px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `r#struct` found for enum `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="7588px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="7588px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:48:11</tspan>
 </tspan>
-    <tspan x="10px" y="7606px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="7606px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="7624px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="7624px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="7642px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Unit</tspan><tspan>;</tspan>
+    <tspan x="10px" y="7642px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `r#struct` not found here</tspan>
 </tspan>
-    <tspan x="10px" y="7660px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~</tspan>
+    <tspan x="10px" y="7660px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="7678px">
+    <tspan x="10px" y="7678px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::r#struct { x: 0 };</tspan>
 </tspan>
-    <tspan x="10px" y="7696px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `tuple` found for enum `Enum` in the current scope</tspan>
+    <tspan x="10px" y="7696px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^</tspan>
 </tspan>
-    <tspan x="10px" y="7714px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:50:11</tspan>
+    <tspan x="10px" y="7714px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="7732px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="7732px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
-    <tspan x="10px" y="7750px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="7750px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="7768px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `tuple` not found for this enum</tspan>
+    <tspan x="10px" y="7768px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">r#struct { x: 0 }</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="7786px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="7786px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Struct { x: /* value */ }</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="7804px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::tuple(0, 0);</tspan>
+    <tspan x="10px" y="7804px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="7822px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
+    <tspan x="10px" y="7822px">
 </tspan>
-    <tspan x="10px" y="7840px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="7840px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `unit` found for enum `Enum` in the current scope</tspan>
 </tspan>
-    <tspan x="10px" y="7858px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="7858px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:49:11</tspan>
 </tspan>
     <tspan x="10px" y="7876px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="7894px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Tuple</tspan><tspan>(</tspan><tspan class="fg-ansi256-010">/* i32 */</tspan><tspan>);</tspan>
+    <tspan x="10px" y="7894px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="7912px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~~</tspan><tspan> </tspan><tspan class="fg-ansi256-010">~~~~~~~~~</tspan>
+    <tspan x="10px" y="7912px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `unit` not found for this enum</tspan>
 </tspan>
-    <tspan x="10px" y="7930px">
+    <tspan x="10px" y="7930px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="7948px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `r#struct` found for enum `Enum` in the current scope</tspan>
+    <tspan x="10px" y="7948px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::unit(0, 0);</tspan>
 </tspan>
-    <tspan x="10px" y="7966px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:51:11</tspan>
+    <tspan x="10px" y="7966px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
 </tspan>
     <tspan x="10px" y="7984px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="8002px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="8002px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
-    <tspan x="10px" y="8020px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `r#struct` not found for this enum</tspan>
+    <tspan x="10px" y="8020px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="8038px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="8038px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">unit(0, 0)</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="8056px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::r#struct(0, 0);</tspan>
+    <tspan x="10px" y="8056px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Unit</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="8074px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
+    <tspan x="10px" y="8074px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="8092px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="8092px">
 </tspan>
-    <tspan x="10px" y="8110px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="8110px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `tuple` found for enum `Enum` in the current scope</tspan>
 </tspan>
-    <tspan x="10px" y="8128px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="8128px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:50:11</tspan>
 </tspan>
-    <tspan x="10px" y="8146px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Struct { x: /* value */ }</tspan><tspan>;</tspan>
+    <tspan x="10px" y="8146px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="8164px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~~~~~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="8164px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="8182px">
+    <tspan x="10px" y="8182px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `tuple` not found for this enum</tspan>
 </tspan>
-    <tspan x="10px" y="8200px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `unit` found for enum `Enum`</tspan>
+    <tspan x="10px" y="8200px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="8218px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:52:11</tspan>
+    <tspan x="10px" y="8218px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::tuple(0, 0);</tspan>
 </tspan>
-    <tspan x="10px" y="8236px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="8236px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="8254px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="8254px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="8272px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `unit` not found here</tspan>
+    <tspan x="10px" y="8272px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
-    <tspan x="10px" y="8290px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="8290px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="8308px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::unit { x: 0, y: 0 };</tspan>
+    <tspan x="10px" y="8308px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">tuple</tspan><tspan>(</tspan><tspan class="fg-ansi256-009">0, 0</tspan><tspan>);</tspan>
 </tspan>
-    <tspan x="10px" y="8326px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^</tspan>
+    <tspan x="10px" y="8326px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Tuple</tspan><tspan>(</tspan><tspan class="fg-ansi256-010">/* i32 */</tspan><tspan>);</tspan>
 </tspan>
     <tspan x="10px" y="8344px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="8362px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="8362px">
 </tspan>
-    <tspan x="10px" y="8380px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="8380px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant or associated item named `r#struct` found for enum `Enum` in the current scope</tspan>
 </tspan>
-    <tspan x="10px" y="8398px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Unit</tspan><tspan>;</tspan>
+    <tspan x="10px" y="8398px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:51:11</tspan>
 </tspan>
-    <tspan x="10px" y="8416px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~</tspan>
+    <tspan x="10px" y="8416px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="8434px">
+    <tspan x="10px" y="8434px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="8452px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `tuple` found for enum `Enum`</tspan>
+    <tspan x="10px" y="8452px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant or associated item `r#struct` not found for this enum</tspan>
 </tspan>
-    <tspan x="10px" y="8470px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:53:11</tspan>
+    <tspan x="10px" y="8470px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="8488px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="8488px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::r#struct(0, 0);</tspan>
 </tspan>
-    <tspan x="10px" y="8506px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="8506px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-ansi256-009 bold">variant or associated item not found in `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="8524px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `tuple` not found here</tspan>
+    <tspan x="10px" y="8524px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="8542px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="8542px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
-    <tspan x="10px" y="8560px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::tuple { x: 0, y: 0 };</tspan>
+    <tspan x="10px" y="8560px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="8578px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^</tspan>
+    <tspan x="10px" y="8578px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">r#struct(0, 0)</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="8596px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="8596px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Struct { x: /* value */ }</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="8614px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="8614px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="8632px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="8632px">
 </tspan>
-    <tspan x="10px" y="8650px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Tuple(/* i32 */)</tspan><tspan>;</tspan>
+    <tspan x="10px" y="8650px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `unit` found for enum `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="8668px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="8668px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:52:11</tspan>
 </tspan>
-    <tspan x="10px" y="8686px">
+    <tspan x="10px" y="8686px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="8704px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `r#struct` found for enum `Enum`</tspan>
+    <tspan x="10px" y="8704px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="8722px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:54:11</tspan>
+    <tspan x="10px" y="8722px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `unit` not found here</tspan>
 </tspan>
-    <tspan x="10px" y="8740px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="8740px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="8758px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+    <tspan x="10px" y="8758px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::unit { x: 0, y: 0 };</tspan>
 </tspan>
-    <tspan x="10px" y="8776px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `r#struct` not found here</tspan>
+    <tspan x="10px" y="8776px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^</tspan>
 </tspan>
-    <tspan x="10px" y="8794px"><tspan class="fg-ansi256-012 bold">...</tspan>
+    <tspan x="10px" y="8794px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="8812px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::r#struct { x: 0, y: 0 };</tspan>
+    <tspan x="10px" y="8812px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
 </tspan>
-    <tspan x="10px" y="8830px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^</tspan>
+    <tspan x="10px" y="8830px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="8848px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+    <tspan x="10px" y="8848px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">unit { x: 0, y: 0 }</tspan><tspan>;</tspan>
 </tspan>
-    <tspan x="10px" y="8866px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+    <tspan x="10px" y="8866px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Unit</tspan><tspan>;</tspan>
 </tspan>
     <tspan x="10px" y="8884px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="8902px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">| </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Struct { x: /* value */ }</tspan><tspan>;</tspan>
+    <tspan x="10px" y="8902px">
 </tspan>
-    <tspan x="10px" y="8920px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-010">~~~~~~~~~~~~~~~~~~~~~~~~~</tspan>
+    <tspan x="10px" y="8920px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `tuple` found for enum `Enum`</tspan>
 </tspan>
-    <tspan x="10px" y="8938px">
+    <tspan x="10px" y="8938px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:53:11</tspan>
 </tspan>
-    <tspan x="10px" y="8956px"><tspan class="fg-ansi256-009 bold">error</tspan><tspan class="bold">: aborting due to 39 previous errors</tspan>
+    <tspan x="10px" y="8956px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
 </tspan>
-    <tspan x="10px" y="8974px">
+    <tspan x="10px" y="8974px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
 </tspan>
-    <tspan x="10px" y="8992px"><tspan class="bold">Some errors have detailed explanations: E0061, E0063, E0533, E0559, E0599, E0618.</tspan>
+    <tspan x="10px" y="8992px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `tuple` not found here</tspan>
 </tspan>
-    <tspan x="10px" y="9010px"><tspan class="bold">For more information about an error, try `rustc --explain E0061`.</tspan>
+    <tspan x="10px" y="9010px"><tspan class="fg-ansi256-012 bold">...</tspan>
 </tspan>
-    <tspan x="10px" y="9028px">
+    <tspan x="10px" y="9028px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::tuple { x: 0, y: 0 };</tspan>
+</tspan>
+    <tspan x="10px" y="9046px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^</tspan>
+</tspan>
+    <tspan x="10px" y="9064px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+</tspan>
+    <tspan x="10px" y="9082px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+</tspan>
+    <tspan x="10px" y="9100px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+</tspan>
+    <tspan x="10px" y="9118px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">tuple { x: 0, y: 0 }</tspan><tspan>;</tspan>
+</tspan>
+    <tspan x="10px" y="9136px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Tuple(/* i32 */)</tspan><tspan>;</tspan>
+</tspan>
+    <tspan x="10px" y="9154px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+</tspan>
+    <tspan x="10px" y="9172px">
+</tspan>
+    <tspan x="10px" y="9190px"><tspan class="fg-ansi256-009 bold">error[E0599]</tspan><tspan class="bold">: no variant named `r#struct` found for enum `Enum`</tspan>
+</tspan>
+    <tspan x="10px" y="9208px"><tspan>  </tspan><tspan class="fg-ansi256-012 bold">--&gt; </tspan><tspan>$DIR/incorrect-variant-literal.rs:54:11</tspan>
+</tspan>
+    <tspan x="10px" y="9226px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+</tspan>
+    <tspan x="10px" y="9244px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> enum Enum {</tspan>
+</tspan>
+    <tspan x="10px" y="9262px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">---------</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">variant `r#struct` not found here</tspan>
+</tspan>
+    <tspan x="10px" y="9280px"><tspan class="fg-ansi256-012 bold">...</tspan>
+</tspan>
+    <tspan x="10px" y="9298px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>     Enum::r#struct { x: 0, y: 0 };</tspan>
+</tspan>
+    <tspan x="10px" y="9316px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan><tspan>           </tspan><tspan class="fg-ansi256-009 bold">^^^^^^^^</tspan>
+</tspan>
+    <tspan x="10px" y="9334px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+</tspan>
+    <tspan x="10px" y="9352px"><tspan class="fg-ansi256-014 bold">help</tspan><tspan>: there is a variant with a similar name</tspan>
+</tspan>
+    <tspan x="10px" y="9370px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+</tspan>
+    <tspan x="10px" y="9388px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-009">- </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-009">r#struct { x: 0, y: 0 }</tspan><tspan>;</tspan>
+</tspan>
+    <tspan x="10px" y="9406px"><tspan class="fg-ansi256-012 bold">LL</tspan><tspan> </tspan><tspan class="fg-ansi256-010">+ </tspan><tspan>    Enum::</tspan><tspan class="fg-ansi256-010">Struct { x: /* value */ }</tspan><tspan>;</tspan>
+</tspan>
+    <tspan x="10px" y="9424px"><tspan>   </tspan><tspan class="fg-ansi256-012 bold">|</tspan>
+</tspan>
+    <tspan x="10px" y="9442px">
+</tspan>
+    <tspan x="10px" y="9460px"><tspan class="fg-ansi256-009 bold">error</tspan><tspan class="bold">: aborting due to 39 previous errors</tspan>
+</tspan>
+    <tspan x="10px" y="9478px">
+</tspan>
+    <tspan x="10px" y="9496px"><tspan class="bold">Some errors have detailed explanations: E0061, E0063, E0533, E0559, E0599, E0618.</tspan>
+</tspan>
+    <tspan x="10px" y="9514px"><tspan class="bold">For more information about an error, try `rustc --explain E0061`.</tspan>
+</tspan>
+    <tspan x="10px" y="9532px">
 </tspan>
   </text>
 
diff --git a/tests/ui/suggestions/issue-101465.stderr b/tests/ui/suggestions/issue-101465.stderr
index 0dad813b389..ff612a908cb 100644
--- a/tests/ui/suggestions/issue-101465.stderr
+++ b/tests/ui/suggestions/issue-101465.stderr
@@ -12,8 +12,9 @@ LL | |     }
    |
 help: you could change the return type to be a boxed trait object
    |
-LL | fn foo() -> Box<dyn Tr> {
-   |             ~~~~~~~   +
+LL - fn foo() -> impl Tr {
+LL + fn foo() -> Box<dyn Tr> {
+   |
 help: if you change the return type to expect trait objects, box the returned expressions
    |
 LL ~         true => Box::new(B),
diff --git a/tests/ui/suggestions/issue-102972.stderr b/tests/ui/suggestions/issue-102972.stderr
index 4b0d3b96f85..438f28ad032 100644
--- a/tests/ui/suggestions/issue-102972.stderr
+++ b/tests/ui/suggestions/issue-102972.stderr
@@ -32,8 +32,9 @@ note: `into_iter` takes ownership of the receiver `self`, which moves `iter`
   --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
 help: if you want to call `next` on a iterator within the loop, consider using `while let`
    |
-LL |     while let Some(_i) = iter.next() {
-   |     ~~~~~~~~~~~~~~~  ~~~     +++++++
+LL -     for _i in iter {
+LL +     while let Some(_i) = iter.next() {
+   |
 
 error[E0499]: cannot borrow `i` as mutable more than once at a time
   --> $DIR/issue-102972.rs:22:9
@@ -69,8 +70,9 @@ note: `into_iter` takes ownership of the receiver `self`, which moves `iter`
   --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
 help: if you want to call `next` on a iterator within the loop, consider using `while let`
    |
-LL |     while let Some(()) = iter.next() {
-   |     ~~~~~~~~~~~~~~~  ~~~     +++++++
+LL -     for () in iter {
+LL +     while let Some(()) = iter.next() {
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/suggestions/issue-109291.stderr b/tests/ui/suggestions/issue-109291.stderr
index d4a9351af3a..c2c36f10544 100644
--- a/tests/ui/suggestions/issue-109291.stderr
+++ b/tests/ui/suggestions/issue-109291.stderr
@@ -11,8 +11,9 @@ note: if you're trying to build a new `Backtrace` consider using one of the foll
   --> $SRC_DIR/std/src/backtrace.rs:LL:COL
 help: there is an associated function `force_capture` with a similar name
    |
-LL |     println!("Custom backtrace: {}", std::backtrace::Backtrace::force_capture());
-   |                                                                 ~~~~~~~~~~~~~
+LL -     println!("Custom backtrace: {}", std::backtrace::Backtrace::forced_capture());
+LL +     println!("Custom backtrace: {}", std::backtrace::Backtrace::force_capture());
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/issue-79843-impl-trait-with-missing-bounds-on-async-fn.stderr b/tests/ui/suggestions/issue-79843-impl-trait-with-missing-bounds-on-async-fn.stderr
index a3ab0b8efb0..75d78ed6a35 100644
--- a/tests/ui/suggestions/issue-79843-impl-trait-with-missing-bounds-on-async-fn.stderr
+++ b/tests/ui/suggestions/issue-79843-impl-trait-with-missing-bounds-on-async-fn.stderr
@@ -14,8 +14,9 @@ LL | fn assert_is_send<T: Send>(_: &T) {}
    |                      ^^^^ required by this bound in `assert_is_send`
 help: introduce a type parameter with a trait bound instead of using `impl Trait`
    |
-LL | async fn run<F: Foo>(_: &(), foo: F) -> std::io::Result<()> where <F as Foo>::Bar: Send {
-   |             ++++++++              ~                         +++++++++++++++++++++++++++
+LL - async fn run(_: &(), foo: impl Foo) -> std::io::Result<()> {
+LL + async fn run<F: Foo>(_: &(), foo: F) -> std::io::Result<()> where <F as Foo>::Bar: Send {
+   |
 
 error[E0277]: `<impl Foo as Foo>::Bar` cannot be sent between threads safely
   --> $DIR/issue-79843-impl-trait-with-missing-bounds-on-async-fn.rs:24:20
@@ -33,8 +34,9 @@ LL | fn assert_is_send<T: Send>(_: &T) {}
    |                      ^^^^ required by this bound in `assert_is_send`
 help: introduce a type parameter with a trait bound instead of using `impl Trait`
    |
-LL | async fn run2<F: Foo>(_: &(), foo: F) -> std::io::Result<()> where <F as Foo>::Bar: Send {
-   |              ~~~~~~~~              ~                         +++++++++++++++++++++++++++
+LL - async fn run2< >(_: &(), foo: impl Foo) -> std::io::Result<()> {
+LL + async fn run2<F: Foo>(_: &(), foo: F) -> std::io::Result<()> where <F as Foo>::Bar: Send {
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/suggestions/issue-84592.stderr b/tests/ui/suggestions/issue-84592.stderr
index fe0a7b6731e..751bd5dc2dd 100644
--- a/tests/ui/suggestions/issue-84592.stderr
+++ b/tests/ui/suggestions/issue-84592.stderr
@@ -9,8 +9,9 @@ LL | fn two_lifetimes_needed(a: &(), b: &()) -> TwoLifetimes<'_, '_> {
    = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `a` or `b`
 help: consider introducing a named lifetime parameter
    |
-LL | fn two_lifetimes_needed<'a>(a: &'a (), b: &'a ()) -> TwoLifetimes<'a, 'a> {
-   |                        ++++     ++         ++                     ~~  ~~
+LL - fn two_lifetimes_needed(a: &(), b: &()) -> TwoLifetimes<'_, '_> {
+LL + fn two_lifetimes_needed<'a>(a: &'a (), b: &'a ()) -> TwoLifetimes<'a, 'a> {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/issue-84700.stderr b/tests/ui/suggestions/issue-84700.stderr
index d0705582660..e68b6fb5447 100644
--- a/tests/ui/suggestions/issue-84700.stderr
+++ b/tests/ui/suggestions/issue-84700.stderr
@@ -15,8 +15,9 @@ LL |         FarmAnimal::Chicken(_) => "cluck, cluck!".to_string(),
    |
 help: the struct variant's field is being ignored
    |
-LL |         FarmAnimal::Chicken { num_eggs: _ } => "cluck, cluck!".to_string(),
-   |                             ~~~~~~~~~~~~~~~
+LL -         FarmAnimal::Chicken(_) => "cluck, cluck!".to_string(),
+LL +         FarmAnimal::Chicken { num_eggs: _ } => "cluck, cluck!".to_string(),
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/suggestions/issue-89064.stderr b/tests/ui/suggestions/issue-89064.stderr
index 837fef60d1e..457cd7982aa 100644
--- a/tests/ui/suggestions/issue-89064.stderr
+++ b/tests/ui/suggestions/issue-89064.stderr
@@ -64,8 +64,9 @@ LL |     let _ = 42.into::<Option<_>>();
    |
 help: consider moving this generic argument to the `Into` trait, which takes up to 1 argument
    |
-LL |     let _ = Into::<Option<_>>::into(42);
-   |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = 42.into::<Option<_>>();
+LL +     let _ = Into::<Option<_>>::into(42);
+   |
 help: remove the unnecessary generics
    |
 LL -     let _ = 42.into::<Option<_>>();
diff --git a/tests/ui/suggestions/issue-89640.stderr b/tests/ui/suggestions/issue-89640.stderr
index 3252cd6bba4..e23b8eada9c 100644
--- a/tests/ui/suggestions/issue-89640.stderr
+++ b/tests/ui/suggestions/issue-89640.stderr
@@ -6,8 +6,9 @@ LL |     le t x: i32 = 3;
    |
 help: consider removing the space to spell keyword `let`
    |
-LL |     let x: i32 = 3;
-   |     ~~~
+LL -     le t x: i32 = 3;
+LL +     let x: i32 = 3;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/issue-90974.stderr b/tests/ui/suggestions/issue-90974.stderr
index 1a732ecaf94..114024789fb 100644
--- a/tests/ui/suggestions/issue-90974.stderr
+++ b/tests/ui/suggestions/issue-90974.stderr
@@ -6,8 +6,9 @@ LL |     println!("{}", (3.).recip());
    |
 help: you must specify a concrete type for this numeric value, like `f32`
    |
-LL |     println!("{}", (3_f32).recip());
-   |                     ~~~~~
+LL -     println!("{}", (3.).recip());
+LL +     println!("{}", (3_f32).recip());
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/issue-94171.stderr b/tests/ui/suggestions/issue-94171.stderr
index 3d73ee1d27a..bcbd46cd8ec 100644
--- a/tests/ui/suggestions/issue-94171.stderr
+++ b/tests/ui/suggestions/issue-94171.stderr
@@ -6,8 +6,9 @@ LL | (; {`
    |
 help: Unicode character '`' (Grave Accent) looks like ''' (Single Quote), but it is not
    |
-LL | (; {'
-   |     ~
+LL - (; {`
+LL + (; {'
+   |
 
 error: mismatched closing delimiter: `]`
   --> $DIR/issue-94171.rs:1:5
diff --git a/tests/ui/suggestions/js-style-comparison-op.stderr b/tests/ui/suggestions/js-style-comparison-op.stderr
index 58b1fddd3dd..f63ce8a8345 100644
--- a/tests/ui/suggestions/js-style-comparison-op.stderr
+++ b/tests/ui/suggestions/js-style-comparison-op.stderr
@@ -6,8 +6,9 @@ LL |     if 1 === 1 {
    |
 help: `===` is not a valid comparison operator, use `==`
    |
-LL |     if 1 == 1 {
-   |          ~~
+LL -     if 1 === 1 {
+LL +     if 1 == 1 {
+   |
 
 error: invalid comparison operator `!==`
   --> $DIR/js-style-comparison-op.rs:5:17
@@ -17,8 +18,9 @@ LL |     } else if 1 !== 1 {
    |
 help: `!==` is not a valid comparison operator, use `!=`
    |
-LL |     } else if 1 != 1 {
-   |                 ~~
+LL -     } else if 1 !== 1 {
+LL +     } else if 1 != 1 {
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/suggestions/lifetimes/issue-105544.stderr b/tests/ui/suggestions/lifetimes/issue-105544.stderr
index 553643c0c3f..526f7e36163 100644
--- a/tests/ui/suggestions/lifetimes/issue-105544.stderr
+++ b/tests/ui/suggestions/lifetimes/issue-105544.stderr
@@ -9,8 +9,9 @@ LL |     (d, p)
    |
 help: consider adding an explicit lifetime bound
    |
-LL | fn foo<'a>(d: impl Sized + 'a, p: &'a mut ()) -> impl Sized + 'a {
-   |       ++++               ++++      ++                         ~~
+LL - fn foo(d: impl Sized, p: &mut ()) -> impl Sized + '_ {
+LL + fn foo<'a>(d: impl Sized + 'a, p: &'a mut ()) -> impl Sized + 'a {
+   |
 
 error[E0309]: the parameter type `impl Sized` may not live long enough
   --> $DIR/issue-105544.rs:15:5
@@ -37,8 +38,9 @@ LL |     (d, p)
    |
 help: consider adding an explicit lifetime bound
    |
-LL | fn foo2<'b, 'a>(d: impl Sized + 'a + 'b, p: &'b mut ()) -> impl Sized + 'b {
-   |         +++                        ++++      ++                         ~~
+LL - fn foo2<'a>(d: impl Sized + 'a, p: &mut ()) -> impl Sized + '_ {
+LL + fn foo2<'b, 'a>(d: impl Sized + 'a + 'b, p: &'b mut ()) -> impl Sized + 'b {
+   |
 
 error[E0311]: the parameter type `T` may not live long enough
   --> $DIR/issue-105544.rs:28:5
@@ -51,8 +53,9 @@ LL |     (d, p)
    |
 help: consider adding an explicit lifetime bound
    |
-LL | fn bar<'a, T : Sized + 'a>(d: T, p: &'a  mut ()) -> impl Sized + 'a {
-   |        +++           ++++            ++                          ~~
+LL - fn bar<T : Sized>(d: T, p: & mut ()) -> impl Sized + '_ {
+LL + fn bar<'a, T : Sized + 'a>(d: T, p: &'a  mut ()) -> impl Sized + 'a {
+   |
 
 error[E0309]: the parameter type `T` may not live long enough
   --> $DIR/issue-105544.rs:36:5
@@ -79,8 +82,9 @@ LL |     (d, p)
    |
 help: consider adding an explicit lifetime bound
    |
-LL | fn bar2<'b, 'a, T : Sized + 'a + 'b>(d: T, p: &'b mut ()) -> impl Sized + 'b {
-   |         +++                    ++++            ++                         ~~
+LL - fn bar2<'a, T : Sized + 'a>(d: T, p: &mut ()) -> impl Sized + '_ {
+LL + fn bar2<'b, 'a, T : Sized + 'a + 'b>(d: T, p: &'b mut ()) -> impl Sized + 'b {
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/suggestions/lifetimes/missing-lifetimes-in-signature.stderr b/tests/ui/suggestions/lifetimes/missing-lifetimes-in-signature.stderr
index ea01dcd5020..b92719e8033 100644
--- a/tests/ui/suggestions/lifetimes/missing-lifetimes-in-signature.stderr
+++ b/tests/ui/suggestions/lifetimes/missing-lifetimes-in-signature.stderr
@@ -66,8 +66,9 @@ LL | |     }
    |
 help: consider adding an explicit lifetime bound
    |
-LL | fn qux<'b, 'a, G: 'a + 'b, T>(g: G, dest: &'b mut T) -> impl FnOnce() + 'b
-   |        +++           ++++                  ++                           ~~
+LL - fn qux<'a, G: 'a, T>(g: G, dest: &mut T) -> impl FnOnce() + '_
+LL + fn qux<'b, 'a, G: 'a + 'b, T>(g: G, dest: &'b mut T) -> impl FnOnce() + 'b
+   |
 
 error[E0311]: the parameter type `G` may not live long enough
   --> $DIR/missing-lifetimes-in-signature.rs:61:9
@@ -82,8 +83,9 @@ LL | |         }
    |
 help: consider adding an explicit lifetime bound
    |
-LL |     fn qux<'c, 'b, G: Get<T> + 'b + 'c, T>(g: G, dest: &'c mut T) -> impl FnOnce() + 'c {
-   |            +++                    ++++                  ++                           ~~
+LL -     fn qux<'b, G: Get<T> + 'b, T>(g: G, dest: &mut T) -> impl FnOnce() + '_ {
+LL +     fn qux<'c, 'b, G: Get<T> + 'b + 'c, T>(g: G, dest: &'c mut T) -> impl FnOnce() + 'c {
+   |
 
 error[E0311]: the parameter type `G` may not live long enough
   --> $DIR/missing-lifetimes-in-signature.rs:73:5
@@ -100,8 +102,9 @@ LL | |     }
    |
 help: consider adding an explicit lifetime bound
    |
-LL | fn bat<'b, 'a, G: 'a + 'b, T>(g: G, dest: &'b mut T) -> impl FnOnce() + 'b + 'a
-   |        +++           ++++                  ++                           ~~
+LL - fn bat<'a, G: 'a, T>(g: G, dest: &mut T) -> impl FnOnce() + '_ + 'a
+LL + fn bat<'b, 'a, G: 'a + 'b, T>(g: G, dest: &'b mut T) -> impl FnOnce() + 'b + 'a
+   |
 
 error[E0621]: explicit lifetime required in the type of `dest`
   --> $DIR/missing-lifetimes-in-signature.rs:73:5
diff --git a/tests/ui/suggestions/lifetimes/type-param-missing-lifetime.stderr b/tests/ui/suggestions/lifetimes/type-param-missing-lifetime.stderr
index 2f74a006b3b..c2d41f093f8 100644
--- a/tests/ui/suggestions/lifetimes/type-param-missing-lifetime.stderr
+++ b/tests/ui/suggestions/lifetimes/type-param-missing-lifetime.stderr
@@ -44,8 +44,9 @@ LL |         check_bound(arg, lt);
    |
 help: consider adding an explicit lifetime bound
    |
-LL |     async fn bar2<'c, 'b>(_dummy: &'a u8, arg: A, lt: Inv<'c>) where A: 'c {
-   |                   +++                                     ~~   +++++++++++
+LL -     async fn bar2<'b>(_dummy: &'a u8, arg: A, lt: Inv<'_>) {
+LL +     async fn bar2<'c, 'b>(_dummy: &'a u8, arg: A, lt: Inv<'c>) where A: 'c {
+   |
 
 error[E0311]: the parameter type `A` may not live long enough
   --> $DIR/type-param-missing-lifetime.rs:47:9
@@ -58,8 +59,9 @@ LL |         check_bound(self.0 .1, self.0 .0);
    |
 help: consider adding an explicit lifetime bound
    |
-LL | impl<'a, A: 'a> MyTy<Elided<'a, A>> {
-   |      +++  ++++              ~~
+LL - impl<A> MyTy<Elided<'_, A>> {
+LL + impl<'a, A: 'a> MyTy<Elided<'a, A>> {
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/suggestions/missing-impl-trait-block-but-not-ascii.stderr b/tests/ui/suggestions/missing-impl-trait-block-but-not-ascii.stderr
index 56cdc11b62e..96b57928ef6 100644
--- a/tests/ui/suggestions/missing-impl-trait-block-but-not-ascii.stderr
+++ b/tests/ui/suggestions/missing-impl-trait-block-but-not-ascii.stderr
@@ -6,8 +6,9 @@ LL | impl T for S;
    |
 help: Unicode character ';' (Fullwidth Semicolon) looks like ';' (Semicolon), but it is not
    |
-LL | impl T for S;
-   |             ~
+LL - impl T for S;
+LL + impl T for S;
+   |
 
 error: expected `{}`, found `;`
   --> $DIR/missing-impl-trait-block-but-not-ascii.rs:8:13
diff --git a/tests/ui/suggestions/move-generic-to-trait-in-method-with-params.stderr b/tests/ui/suggestions/move-generic-to-trait-in-method-with-params.stderr
index cc735ef4c5e..0819fa86a45 100644
--- a/tests/ui/suggestions/move-generic-to-trait-in-method-with-params.stderr
+++ b/tests/ui/suggestions/move-generic-to-trait-in-method-with-params.stderr
@@ -11,8 +11,9 @@ LL |     fn bar(&self, _: T);
    |        ^^^
 help: consider moving this generic argument to the `Foo` trait, which takes up to 1 argument
    |
-LL |     Foo::<i32>::bar(1, 0);
-   |     ~~~~~~~~~~~~~~~~~~~~~
+LL -     1.bar::<i32>(0);
+LL +     Foo::<i32>::bar(1, 0);
+   |
 help: remove the unnecessary generics
    |
 LL -     1.bar::<i32>(0);
diff --git a/tests/ui/suggestions/multibyte-escapes.stderr b/tests/ui/suggestions/multibyte-escapes.stderr
index 1e7c43e6538..7208d2f5be8 100644
--- a/tests/ui/suggestions/multibyte-escapes.stderr
+++ b/tests/ui/suggestions/multibyte-escapes.stderr
@@ -6,8 +6,9 @@ LL |     b'µ';
    |
 help: if you meant to use the unicode code point for 'µ', use a \xHH escape
    |
-LL |     b'\xB5';
-   |       ~~~~
+LL -     b'µ';
+LL +     b'\xB5';
+   |
 
 error: non-ASCII character in byte literal
   --> $DIR/multibyte-escapes.rs:9:7
@@ -26,8 +27,9 @@ LL |     b"字";
    |
 help: if you meant to use the UTF-8 encoding of '字', use \xHH escapes
    |
-LL |     b"\xE5\xAD\x97";
-   |       ~~~~~~~~~~~~
+LL -     b"字";
+LL +     b"\xE5\xAD\x97";
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/suggestions/nested-non-tuple-tuple-struct.stderr b/tests/ui/suggestions/nested-non-tuple-tuple-struct.stderr
index 4523333850c..fd518f987f5 100644
--- a/tests/ui/suggestions/nested-non-tuple-tuple-struct.stderr
+++ b/tests/ui/suggestions/nested-non-tuple-tuple-struct.stderr
@@ -9,8 +9,9 @@ LL |     let _x = (S { x: 1.0, y: 2.0 }, S { x: 3.0, y: 4.0 });
    |
 help: `S` is a tuple struct, use the appropriate syntax
    |
-LL |     let _x = (S(/* f32 */, /* f32 */), S { x: 3.0, y: 4.0 });
-   |               ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = (S { x: 1.0, y: 2.0 }, S { x: 3.0, y: 4.0 });
+LL +     let _x = (S(/* f32 */, /* f32 */), S { x: 3.0, y: 4.0 });
+   |
 
 error[E0560]: struct `S` has no field named `y`
   --> $DIR/nested-non-tuple-tuple-struct.rs:8:27
@@ -23,8 +24,9 @@ LL |     let _x = (S { x: 1.0, y: 2.0 }, S { x: 3.0, y: 4.0 });
    |
 help: `S` is a tuple struct, use the appropriate syntax
    |
-LL |     let _x = (S(/* f32 */, /* f32 */), S { x: 3.0, y: 4.0 });
-   |               ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = (S { x: 1.0, y: 2.0 }, S { x: 3.0, y: 4.0 });
+LL +     let _x = (S(/* f32 */, /* f32 */), S { x: 3.0, y: 4.0 });
+   |
 
 error[E0560]: struct `S` has no field named `x`
   --> $DIR/nested-non-tuple-tuple-struct.rs:8:41
@@ -37,8 +39,9 @@ LL |     let _x = (S { x: 1.0, y: 2.0 }, S { x: 3.0, y: 4.0 });
    |
 help: `S` is a tuple struct, use the appropriate syntax
    |
-LL |     let _x = (S { x: 1.0, y: 2.0 }, S(/* f32 */, /* f32 */));
-   |                                     ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = (S { x: 1.0, y: 2.0 }, S { x: 3.0, y: 4.0 });
+LL +     let _x = (S { x: 1.0, y: 2.0 }, S(/* f32 */, /* f32 */));
+   |
 
 error[E0560]: struct `S` has no field named `y`
   --> $DIR/nested-non-tuple-tuple-struct.rs:8:49
@@ -51,8 +54,9 @@ LL |     let _x = (S { x: 1.0, y: 2.0 }, S { x: 3.0, y: 4.0 });
    |
 help: `S` is a tuple struct, use the appropriate syntax
    |
-LL |     let _x = (S { x: 1.0, y: 2.0 }, S(/* f32 */, /* f32 */));
-   |                                     ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _x = (S { x: 1.0, y: 2.0 }, S { x: 3.0, y: 4.0 });
+LL +     let _x = (S { x: 1.0, y: 2.0 }, S(/* f32 */, /* f32 */));
+   |
 
 error[E0559]: variant `E::V` has no field named `x`
   --> $DIR/nested-non-tuple-tuple-struct.rs:13:22
@@ -65,8 +69,9 @@ LL |     let _y = (E::V { x: 1.0, y: 2.0 }, E::V { x: 3.0, y: 4.0 });
    |
 help: `E::V` is a tuple variant, use the appropriate syntax
    |
-LL |     let _y = (E::V(/* f32 */, /* f32 */), E::V { x: 3.0, y: 4.0 });
-   |                   ~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _y = (E::V { x: 1.0, y: 2.0 }, E::V { x: 3.0, y: 4.0 });
+LL +     let _y = (E::V(/* f32 */, /* f32 */), E::V { x: 3.0, y: 4.0 });
+   |
 
 error[E0559]: variant `E::V` has no field named `y`
   --> $DIR/nested-non-tuple-tuple-struct.rs:13:30
@@ -79,8 +84,9 @@ LL |     let _y = (E::V { x: 1.0, y: 2.0 }, E::V { x: 3.0, y: 4.0 });
    |
 help: `E::V` is a tuple variant, use the appropriate syntax
    |
-LL |     let _y = (E::V(/* f32 */, /* f32 */), E::V { x: 3.0, y: 4.0 });
-   |                   ~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _y = (E::V { x: 1.0, y: 2.0 }, E::V { x: 3.0, y: 4.0 });
+LL +     let _y = (E::V(/* f32 */, /* f32 */), E::V { x: 3.0, y: 4.0 });
+   |
 
 error[E0559]: variant `E::V` has no field named `x`
   --> $DIR/nested-non-tuple-tuple-struct.rs:13:47
@@ -93,8 +99,9 @@ LL |     let _y = (E::V { x: 1.0, y: 2.0 }, E::V { x: 3.0, y: 4.0 });
    |
 help: `E::V` is a tuple variant, use the appropriate syntax
    |
-LL |     let _y = (E::V { x: 1.0, y: 2.0 }, E::V(/* f32 */, /* f32 */));
-   |                                            ~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _y = (E::V { x: 1.0, y: 2.0 }, E::V { x: 3.0, y: 4.0 });
+LL +     let _y = (E::V { x: 1.0, y: 2.0 }, E::V(/* f32 */, /* f32 */));
+   |
 
 error[E0559]: variant `E::V` has no field named `y`
   --> $DIR/nested-non-tuple-tuple-struct.rs:13:55
@@ -107,8 +114,9 @@ LL |     let _y = (E::V { x: 1.0, y: 2.0 }, E::V { x: 3.0, y: 4.0 });
    |
 help: `E::V` is a tuple variant, use the appropriate syntax
    |
-LL |     let _y = (E::V { x: 1.0, y: 2.0 }, E::V(/* f32 */, /* f32 */));
-   |                                            ~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _y = (E::V { x: 1.0, y: 2.0 }, E::V { x: 3.0, y: 4.0 });
+LL +     let _y = (E::V { x: 1.0, y: 2.0 }, E::V(/* f32 */, /* f32 */));
+   |
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/suggestions/parenthesized-deref-suggestion.stderr b/tests/ui/suggestions/parenthesized-deref-suggestion.stderr
index 29e973b3a17..71ee56dfc81 100644
--- a/tests/ui/suggestions/parenthesized-deref-suggestion.stderr
+++ b/tests/ui/suggestions/parenthesized-deref-suggestion.stderr
@@ -17,8 +17,9 @@ LL |     (x as [u32; 1]).0;
    |
 help: instead of using tuple indexing, use array indexing
    |
-LL |     (x as [u32; 1])[0];
-   |                    ~ +
+LL -     (x as [u32; 1]).0;
+LL +     (x as [u32; 1])[0];
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/suggestions/partialeq_suggest_swap.stderr b/tests/ui/suggestions/partialeq_suggest_swap.stderr
index 2cadc5a16d5..dc1748b7ad5 100644
--- a/tests/ui/suggestions/partialeq_suggest_swap.stderr
+++ b/tests/ui/suggestions/partialeq_suggest_swap.stderr
@@ -9,8 +9,9 @@ LL |     4i32 == T(4);
    = note: `T` implements `PartialEq<i32>`
 help: consider swapping the equality
    |
-LL |     T(4) == 4i32;
-   |     ~~~~    ~~~~
+LL -     4i32 == T(4);
+LL +     T(4) == 4i32;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/range-index-instead-of-colon.stderr b/tests/ui/suggestions/range-index-instead-of-colon.stderr
index df29356cc16..a3264fc2359 100644
--- a/tests/ui/suggestions/range-index-instead-of-colon.stderr
+++ b/tests/ui/suggestions/range-index-instead-of-colon.stderr
@@ -6,8 +6,9 @@ LL |     &[1, 2, 3][1:2];
    |
 help: you might have meant a range expression
    |
-LL |     &[1, 2, 3][1..2];
-   |                 ~~
+LL -     &[1, 2, 3][1:2];
+LL +     &[1, 2, 3][1..2];
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/raw-byte-string-prefix.stderr b/tests/ui/suggestions/raw-byte-string-prefix.stderr
index 4f5106849d5..20f255c2b39 100644
--- a/tests/ui/suggestions/raw-byte-string-prefix.stderr
+++ b/tests/ui/suggestions/raw-byte-string-prefix.stderr
@@ -7,8 +7,9 @@ LL |     rb"abc";
    = note: prefixed identifiers and literals are reserved since Rust 2021
 help: use `br` for a raw byte string
    |
-LL |     br"abc";
-   |     ~~
+LL -     rb"abc";
+LL +     br"abc";
+   |
 
 error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `"abc"`
   --> $DIR/raw-byte-string-prefix.rs:6:7
diff --git a/tests/ui/suggestions/recover-missing-turbofish-surrounding-angle-braket.stderr b/tests/ui/suggestions/recover-missing-turbofish-surrounding-angle-braket.stderr
index dde6060c433..06f465e9c0d 100644
--- a/tests/ui/suggestions/recover-missing-turbofish-surrounding-angle-braket.stderr
+++ b/tests/ui/suggestions/recover-missing-turbofish-surrounding-angle-braket.stderr
@@ -17,8 +17,9 @@ LL |     let _ = vec![1, 2, 3].into_iter().collect::Vec<_>>>>();
    |
 help: surround the type parameters with angle brackets
    |
-LL |     let _ = vec![1, 2, 3].into_iter().collect::<Vec<_>>();
-   |                                                +      ~
+LL -     let _ = vec![1, 2, 3].into_iter().collect::Vec<_>>>>();
+LL +     let _ = vec![1, 2, 3].into_iter().collect::<Vec<_>>();
+   |
 
 error: generic parameters without surrounding angle brackets
   --> $DIR/recover-missing-turbofish-surrounding-angle-braket.rs:6:48
@@ -28,8 +29,9 @@ LL |     let _ = vec![1, 2, 3].into_iter().collect::Vec<_>>>();
    |
 help: surround the type parameters with angle brackets
    |
-LL |     let _ = vec![1, 2, 3].into_iter().collect::<Vec<_>>();
-   |                                                +      ~
+LL -     let _ = vec![1, 2, 3].into_iter().collect::Vec<_>>>();
+LL +     let _ = vec![1, 2, 3].into_iter().collect::<Vec<_>>();
+   |
 
 error: generic parameters without surrounding angle brackets
   --> $DIR/recover-missing-turbofish-surrounding-angle-braket.rs:8:48
@@ -39,8 +41,9 @@ LL |     let _ = vec![1, 2, 3].into_iter().collect::Vec<_>>();
    |
 help: surround the type parameters with angle brackets
    |
-LL |     let _ = vec![1, 2, 3].into_iter().collect::<Vec<_>>();
-   |                                                +
+LL -     let _ = vec![1, 2, 3].into_iter().collect::Vec<_>>();
+LL +     let _ = vec![1, 2, 3].into_iter().collect::<Vec<_>>();
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/suggestions/shadowed-lplace-method-2.stderr b/tests/ui/suggestions/shadowed-lplace-method-2.stderr
index 088da83f589..09815306d22 100644
--- a/tests/ui/suggestions/shadowed-lplace-method-2.stderr
+++ b/tests/ui/suggestions/shadowed-lplace-method-2.stderr
@@ -13,8 +13,9 @@ LL |     *x.foo(0) = ();
    |        ^^^ refers to `X::foo`
 help: you might have meant to call the other method; you can use the fully-qualified path to call it explicitly
    |
-LL |     *<_ as A>::foo(&mut x, 0) = ();
-   |      ++++++++++++++++++  ~
+LL -     *x.foo(0) = ();
+LL +     *<_ as A>::foo(&mut x, 0) = ();
+   |
 help: try wrapping the expression in `X`
    |
 LL |     *x.foo(0) = X { x: () };
diff --git a/tests/ui/suggestions/shadowed-lplace-method.stderr b/tests/ui/suggestions/shadowed-lplace-method.stderr
index 3e49716b031..aab9e442007 100644
--- a/tests/ui/suggestions/shadowed-lplace-method.stderr
+++ b/tests/ui/suggestions/shadowed-lplace-method.stderr
@@ -18,8 +18,9 @@ LL |     *rc.borrow_mut() = false;
    |         ^^^^^^^^^^ refers to `std::borrow::BorrowMut::borrow_mut`
 help: you might have meant to call the other method; you can use the fully-qualified path to call it explicitly
    |
-LL |     *std::cell::RefCell::<_>::borrow_mut(&rc) = false;
-   |      +++++++++++++++++++++++++++++++++++++  ~
+LL -     *rc.borrow_mut() = false;
+LL +     *std::cell::RefCell::<_>::borrow_mut(&rc) = false;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/silenced-binding-typo.stderr b/tests/ui/suggestions/silenced-binding-typo.stderr
index a1e8b9e30d4..f1321b6d597 100644
--- a/tests/ui/suggestions/silenced-binding-typo.stderr
+++ b/tests/ui/suggestions/silenced-binding-typo.stderr
@@ -8,8 +8,9 @@ LL |     let _y = x;
    |
 help: the leading underscore in `_x` marks it as unused, consider renaming it to `x`
    |
-LL |     let x = 42;
-   |         ~
+LL -     let _x = 42;
+LL +     let x = 42;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/struct-field-type-including-single-colon.stderr b/tests/ui/suggestions/struct-field-type-including-single-colon.stderr
index 4dd514480da..247454b8710 100644
--- a/tests/ui/suggestions/struct-field-type-including-single-colon.stderr
+++ b/tests/ui/suggestions/struct-field-type-including-single-colon.stderr
@@ -6,8 +6,9 @@ LL |     a: foo:A,
    |
 help: write a path separator here
    |
-LL |     a: foo::A,
-   |           ~~
+LL -     a: foo:A,
+LL +     a: foo::A,
+   |
 
 error: expected `,`, or `}`, found `:`
   --> $DIR/struct-field-type-including-single-colon.rs:9:11
@@ -25,8 +26,9 @@ LL |     b: foo::bar:B,
    |
 help: write a path separator here
    |
-LL |     b: foo::bar::B,
-   |                ~~
+LL -     b: foo::bar:B,
+LL +     b: foo::bar::B,
+   |
 
 error: expected `,`, or `}`, found `:`
   --> $DIR/struct-field-type-including-single-colon.rs:15:16
diff --git a/tests/ui/suggestions/suggest-blanket-impl-local-trait.stderr b/tests/ui/suggestions/suggest-blanket-impl-local-trait.stderr
index 102438e1ec5..4fda1e49911 100644
--- a/tests/ui/suggestions/suggest-blanket-impl-local-trait.stderr
+++ b/tests/ui/suggestions/suggest-blanket-impl-local-trait.stderr
@@ -10,8 +10,9 @@ LL | impl LocalTraitOne for dyn fmt::Display {}
    |                        +++
 help: alternatively use a blanket implementation to implement `LocalTraitOne` for all types that also implement `fmt::Display`
    |
-LL | impl<T: fmt::Display> LocalTraitOne for T {}
-   |     +++++++++++++++++                   ~
+LL - impl LocalTraitOne for fmt::Display {}
+LL + impl<T: fmt::Display> LocalTraitOne for T {}
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/suggest-blanket-impl-local-trait.rs:40:24
@@ -25,8 +26,9 @@ LL | impl LocalTraitOne for dyn fmt::Display + Send {}
    |                        +++
 help: alternatively use a blanket implementation to implement `LocalTraitOne` for all types that also implement `fmt::Display + Send`
    |
-LL | impl<T: fmt::Display + Send> LocalTraitOne for T {}
-   |     ++++++++++++++++++++++++                   ~
+LL - impl LocalTraitOne for fmt::Display + Send {}
+LL + impl<T: fmt::Display + Send> LocalTraitOne for T {}
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/suggest-blanket-impl-local-trait.rs:13:24
@@ -40,8 +42,9 @@ LL | impl LocalTraitTwo for dyn LocalTraitOne {}
    |                        +++
 help: alternatively use a blanket implementation to implement `LocalTraitTwo` for all types that also implement `LocalTraitOne`
    |
-LL | impl<T: LocalTraitOne> LocalTraitTwo for T {}
-   |     ++++++++++++++++++                   ~
+LL - impl LocalTraitTwo for LocalTraitOne {}
+LL + impl<T: LocalTraitOne> LocalTraitTwo for T {}
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/suggest-blanket-impl-local-trait.rs:46:29
@@ -55,8 +58,9 @@ LL | impl<E> GenericTrait<E> for dyn LocalTraitOne {}
    |                             +++
 help: alternatively use a blanket implementation to implement `GenericTrait<E>` for all types that also implement `LocalTraitOne`
    |
-LL | impl<E, T: LocalTraitOne> GenericTrait<E> for T {}
-   |       ++++++++++++++++++                      ~
+LL - impl<E> GenericTrait<E> for LocalTraitOne {}
+LL + impl<E, T: LocalTraitOne> GenericTrait<E> for T {}
+   |
 
 error[E0782]: expected a type, found a trait
   --> $DIR/suggest-blanket-impl-local-trait.rs:18:23
@@ -92,8 +96,9 @@ LL | impl<T, E> GenericTraitTwo<E> for dyn GenericTrait<T> {}
    |                                   +++
 help: alternatively use a blanket implementation to implement `GenericTraitTwo<E>` for all types that also implement `GenericTrait<T>`
    |
-LL | impl<T, E, U: GenericTrait<T>> GenericTraitTwo<E> for U {}
-   |          ++++++++++++++++++++                         ~
+LL - impl<T, E> GenericTraitTwo<E> for GenericTrait<T> {}
+LL + impl<T, E, U: GenericTrait<T>> GenericTraitTwo<E> for U {}
+   |
 
 error: aborting due to 7 previous errors
 
diff --git a/tests/ui/suggestions/suggest-change-mut.stderr b/tests/ui/suggestions/suggest-change-mut.stderr
index 216d1e810fd..5315456efea 100644
--- a/tests/ui/suggestions/suggest-change-mut.stderr
+++ b/tests/ui/suggestions/suggest-change-mut.stderr
@@ -19,8 +19,9 @@ LL | fn issue_81421<T: Read + Write>(mut stream: T) where &T: std::io::Read {
    |                                                +++++++++++++++++++++++
 help: consider changing this borrow's mutability
    |
-LL |         let mut stream_reader = BufReader::new(&mut stream);
-   |                                                ~~~~
+LL -         let mut stream_reader = BufReader::new(&stream);
+LL +         let mut stream_reader = BufReader::new(&mut stream);
+   |
 
 error[E0599]: the method `read_until` exists for struct `BufReader<&T>`, but its trait bounds were not satisfied
   --> $DIR/suggest-change-mut.rs:16:23
diff --git a/tests/ui/suggestions/suggest-closure-return-type-1.stderr b/tests/ui/suggestions/suggest-closure-return-type-1.stderr
index be473d3cfa2..146bf69a8bd 100644
--- a/tests/ui/suggestions/suggest-closure-return-type-1.stderr
+++ b/tests/ui/suggestions/suggest-closure-return-type-1.stderr
@@ -6,8 +6,9 @@ LL |     unbound_drop(|| -> _ { [] });
    |
 help: try giving this closure an explicit return type
    |
-LL |     unbound_drop(|| -> [_; 0] { [] });
-   |                        ~~~~~~
+LL -     unbound_drop(|| -> _ { [] });
+LL +     unbound_drop(|| -> [_; 0] { [] });
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/suggest-deref-in-match-issue-132784.stderr b/tests/ui/suggestions/suggest-deref-in-match-issue-132784.stderr
index 9338ef19089..54c927b59d4 100644
--- a/tests/ui/suggestions/suggest-deref-in-match-issue-132784.stderr
+++ b/tests/ui/suggestions/suggest-deref-in-match-issue-132784.stderr
@@ -11,8 +11,9 @@ LL |         Some(_) => {}
                 found enum `Option<_>`
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |     match *x {
-   |           ~~
+LL -     match x {
+LL +     match *x {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-deref-in-match-issue-132784.rs:9:9
@@ -27,8 +28,9 @@ LL |         None => {}
                 found enum `Option<_>`
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |     match *x {
-   |           ~~
+LL -     match x {
+LL +     match *x {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-deref-in-match-issue-132784.rs:16:9
@@ -43,8 +45,9 @@ LL |         Some(_) => {}
                 found enum `Option<_>`
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |     match &*x {
-   |           ~~~
+LL -     match &x {
+LL +     match &*x {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-deref-in-match-issue-132784.rs:18:9
@@ -59,8 +62,9 @@ LL |         None => {}
                 found enum `Option<_>`
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |     match &*x {
-   |           ~~~
+LL -     match &x {
+LL +     match &*x {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-deref-in-match-issue-132784.rs:26:9
@@ -75,8 +79,9 @@ LL |         Some(_) => {}
                 found enum `Option<_>`
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |     match *y {
-   |           ~~
+LL -     match y {
+LL +     match *y {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-deref-in-match-issue-132784.rs:28:9
@@ -91,8 +96,9 @@ LL |         None => {}
                 found enum `Option<_>`
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |     match *y {
-   |           ~~
+LL -     match y {
+LL +     match *y {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-deref-in-match-issue-132784.rs:36:9
@@ -107,8 +113,9 @@ LL |         Some(_) => {}
                 found enum `Option<_>`
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |     match *(z as Arc<Option<i32>>) {
-   |           ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     match z as Arc<Option<i32>> {
+LL +     match *(z as Arc<Option<i32>>) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-deref-in-match-issue-132784.rs:38:9
@@ -123,8 +130,9 @@ LL |         None => {}
                 found enum `Option<_>`
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |     match *(z as Arc<Option<i32>>) {
-   |           ~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     match z as Arc<Option<i32>> {
+LL +     match *(z as Arc<Option<i32>>) {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-deref-in-match-issue-132784.rs:46:9
@@ -139,8 +147,9 @@ LL |         Some(_) => {}
                 found enum `Option<_>`
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |     match &**z_const {
-   |           ~~~~~~~~~~
+LL -     match z_const {
+LL +     match &**z_const {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-deref-in-match-issue-132784.rs:48:9
@@ -155,8 +164,9 @@ LL |         None => {}
                 found enum `Option<_>`
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |     match &**z_const {
-   |           ~~~~~~~~~~
+LL -     match z_const {
+LL +     match &**z_const {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-deref-in-match-issue-132784.rs:57:9
@@ -171,8 +181,9 @@ LL |         Some(_) => {}
                 found enum `Option<_>`
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |     match &**z_mut {
-   |           ~~~~~~~~
+LL -     match z_mut {
+LL +     match &**z_mut {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-deref-in-match-issue-132784.rs:59:9
@@ -187,8 +198,9 @@ LL |         None => {}
                 found enum `Option<_>`
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |     match &**z_mut {
-   |           ~~~~~~~~
+LL -     match z_mut {
+LL +     match &**z_mut {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-deref-in-match-issue-132784.rs:68:9
@@ -203,8 +215,9 @@ LL |         Some(_) => {}
                 found enum `Option<_>`
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |     match &**y_mut {
-   |           ~~~~~~~~
+LL -     match y_mut {
+LL +     match &**y_mut {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-deref-in-match-issue-132784.rs:70:9
@@ -219,8 +232,9 @@ LL |         None => {}
                 found enum `Option<_>`
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |     match &**y_mut {
-   |           ~~~~~~~~
+LL -     match y_mut {
+LL +     match &**y_mut {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-deref-in-match-issue-132784.rs:79:9
@@ -235,8 +249,9 @@ LL |         Some(_) => {}
                 found enum `Option<_>`
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |     match &*difficult {
-   |           ~~~~~~~~~~~
+LL -     match (& (&difficult)  ) {
+LL +     match &*difficult {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-deref-in-match-issue-132784.rs:81:9
@@ -251,8 +266,9 @@ LL |         None => {}
                 found enum `Option<_>`
 help: consider dereferencing to access the inner value using the Deref trait
    |
-LL |     match &*difficult {
-   |           ~~~~~~~~~~~
+LL -     match (& (&difficult)  ) {
+LL +     match &*difficult {
+   |
 
 error: aborting due to 16 previous errors
 
diff --git a/tests/ui/suggestions/suggest-field-through-deref.stderr b/tests/ui/suggestions/suggest-field-through-deref.stderr
index cc9fe2044c9..e3889781884 100644
--- a/tests/ui/suggestions/suggest-field-through-deref.stderr
+++ b/tests/ui/suggestions/suggest-field-through-deref.stderr
@@ -6,8 +6,9 @@ LL |     let _ = x.longname;
    |
 help: a field with a similar name exists
    |
-LL |     let _ = x.long_name;
-   |               ~~~~~~~~~
+LL -     let _ = x.longname;
+LL +     let _ = x.long_name;
+   |
 
 error[E0609]: no field `longname` on type `S`
   --> $DIR/suggest-field-through-deref.rs:12:15
@@ -17,8 +18,9 @@ LL |     let _ = y.longname;
    |
 help: a field with a similar name exists
    |
-LL |     let _ = y.long_name;
-   |               ~~~~~~~~~
+LL -     let _ = y.longname;
+LL +     let _ = y.long_name;
+   |
 
 error[E0609]: no field `longname` on type `Option<Arc<S>>`
   --> $DIR/suggest-field-through-deref.rs:14:15
@@ -28,8 +30,9 @@ LL |     let _ = a.longname;
    |
 help: a field with a similar name exists
    |
-LL |     let _ = a.unwrap().long_name;
-   |               ~~~~~~~~~~~~~~~~~~
+LL -     let _ = a.longname;
+LL +     let _ = a.unwrap().long_name;
+   |
 
 error[E0609]: no field `long_name` on type `Option<S>`
   --> $DIR/suggest-field-through-deref.rs:16:15
@@ -50,8 +53,9 @@ LL |     let _ = c.longname;
    |
 help: a field with a similar name exists
    |
-LL |     let _ = c.unwrap().long_name;
-   |               ~~~~~~~~~~~~~~~~~~
+LL -     let _ = c.longname;
+LL +     let _ = c.unwrap().long_name;
+   |
 
 error[E0609]: no field `long_name` on type `Result<S, ()>`
   --> $DIR/suggest-field-through-deref.rs:20:15
diff --git a/tests/ui/suggestions/suggest-let-and-typo-issue-132483.stderr b/tests/ui/suggestions/suggest-let-and-typo-issue-132483.stderr
index c84f9363f03..57983a07bf5 100644
--- a/tests/ui/suggestions/suggest-let-and-typo-issue-132483.stderr
+++ b/tests/ui/suggestions/suggest-let-and-typo-issue-132483.stderr
@@ -6,8 +6,9 @@ LL |     x2 = 1;
    |
 help: a local variable with a similar name exists
    |
-LL |     x1 = 1;
-   |     ~~
+LL -     x2 = 1;
+LL +     x1 = 1;
+   |
 help: you might have meant to introduce a new binding
    |
 LL |     let x2 = 1;
diff --git a/tests/ui/suggestions/suggest-let-for-assignment.stderr b/tests/ui/suggestions/suggest-let-for-assignment.stderr
index 8d97dbeb14a..9dc859dbe0e 100644
--- a/tests/ui/suggestions/suggest-let-for-assignment.stderr
+++ b/tests/ui/suggestions/suggest-let-for-assignment.stderr
@@ -40,8 +40,9 @@ LL |     let_some_variable = 6;
    |
 help: you might have meant to introduce a new binding
    |
-LL |     let some_variable = 6;
-   |     ~~~~~~~~~~~~~~~~~
+LL -     let_some_variable = 6;
+LL +     let some_variable = 6;
+   |
 
 error[E0425]: cannot find value `some_variable` in this scope
   --> $DIR/suggest-let-for-assignment.rs:11:35
@@ -57,8 +58,9 @@ LL |     letother_variable = 6;
    |
 help: you might have meant to introduce a new binding
    |
-LL |     let other_variable = 6;
-   |     ~~~~~~~~~~~~~~~~~~
+LL -     letother_variable = 6;
+LL +     let other_variable = 6;
+   |
 
 error[E0425]: cannot find value `other_variable` in this scope
   --> $DIR/suggest-let-for-assignment.rs:14:36
diff --git a/tests/ui/suggestions/suggest-methods.stderr b/tests/ui/suggestions/suggest-methods.stderr
index 5bacad8c6e8..6f1c2cc4cab 100644
--- a/tests/ui/suggestions/suggest-methods.stderr
+++ b/tests/ui/suggestions/suggest-methods.stderr
@@ -21,8 +21,9 @@ LL |     let _ = s.is_emtpy();
    |
 help: there is a method `is_empty` with a similar name
    |
-LL |     let _ = s.is_empty();
-   |               ~~~~~~~~
+LL -     let _ = s.is_emtpy();
+LL +     let _ = s.is_empty();
+   |
 
 error[E0599]: no method named `count_eos` found for type `u32` in the current scope
   --> $DIR/suggest-methods.rs:27:19
@@ -32,8 +33,9 @@ LL |     let _ = 63u32.count_eos();
    |
 help: there is a method `count_zeros` with a similar name
    |
-LL |     let _ = 63u32.count_zeros();
-   |                   ~~~~~~~~~~~
+LL -     let _ = 63u32.count_eos();
+LL +     let _ = 63u32.count_zeros();
+   |
 
 error[E0599]: no method named `count_o` found for type `u32` in the current scope
   --> $DIR/suggest-methods.rs:30:19
@@ -43,8 +45,9 @@ LL |     let _ = 63u32.count_o();
    |
 help: there is a method `count_ones` with a similar name
    |
-LL |     let _ = 63u32.count_ones();
-   |                   ~~~~~~~~~~
+LL -     let _ = 63u32.count_o();
+LL +     let _ = 63u32.count_ones();
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/suggestions/suggest-move-types.stderr b/tests/ui/suggestions/suggest-move-types.stderr
index b222e8142ba..397e8ad29c6 100644
--- a/tests/ui/suggestions/suggest-move-types.stderr
+++ b/tests/ui/suggestions/suggest-move-types.stderr
@@ -8,8 +8,9 @@ LL | struct A<T, M: One<A=(), T>> {
    |
 help: move the constraint after the generic argument
    |
-LL | struct A<T, M: One<T, A = ()>> {
-   |                   ~~~~~~~~~~~
+LL - struct A<T, M: One<A=(), T>> {
+LL + struct A<T, M: One<T, A = ()>> {
+   |
 
 error: generic arguments must come before the first constraint
   --> $DIR/suggest-move-types.rs:33:43
@@ -21,8 +22,9 @@ LL | struct Al<'a, T, M: OneWithLifetime<A=(), T, 'a>> {
    |
 help: move the constraint after the generic arguments
    |
-LL | struct Al<'a, T, M: OneWithLifetime<'a, T, A = ()>> {
-   |                                    ~~~~~~~~~~~~~~~
+LL - struct Al<'a, T, M: OneWithLifetime<A=(), T, 'a>> {
+LL + struct Al<'a, T, M: OneWithLifetime<'a, T, A = ()>> {
+   |
 
 error: generic arguments must come before the first constraint
   --> $DIR/suggest-move-types.rs:40:46
@@ -34,8 +36,9 @@ LL | struct B<T, U, V, M: Three<A=(), B=(), C=(), T, U, V>> {
    |
 help: move the constraints after the generic arguments
    |
-LL | struct B<T, U, V, M: Three<T, U, V, A = (), B = (), C = ()>> {
-   |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - struct B<T, U, V, M: Three<A=(), B=(), C=(), T, U, V>> {
+LL + struct B<T, U, V, M: Three<T, U, V, A = (), B = (), C = ()>> {
+   |
 
 error: generic arguments must come before the first constraint
   --> $DIR/suggest-move-types.rs:48:71
@@ -47,8 +50,9 @@ LL | struct Bl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<A=(), B=(), C=(), T, U,
    |
 help: move the constraints after the generic arguments
    |
-LL | struct Bl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<'a, 'b, 'c, T, U, V, A = (), B = (), C = ()>> {
-   |                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - struct Bl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<A=(), B=(), C=(), T, U, V, 'a, 'b, 'c>> {
+LL + struct Bl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<'a, 'b, 'c, T, U, V, A = (), B = (), C = ()>> {
+   |
 
 error: generic arguments must come before the first constraint
   --> $DIR/suggest-move-types.rs:57:28
@@ -60,8 +64,9 @@ LL | struct C<T, U, V, M: Three<T, A=(), B=(), C=(), U, V>> {
    |
 help: move the constraints after the generic arguments
    |
-LL | struct C<T, U, V, M: Three<T, U, V, A = (), B = (), C = ()>> {
-   |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - struct C<T, U, V, M: Three<T, A=(), B=(), C=(), U, V>> {
+LL + struct C<T, U, V, M: Three<T, U, V, A = (), B = (), C = ()>> {
+   |
 
 error: generic arguments must come before the first constraint
   --> $DIR/suggest-move-types.rs:65:53
@@ -73,8 +78,9 @@ LL | struct Cl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<T, 'a, A=(), B=(), C=()
    |
 help: move the constraints after the generic arguments
    |
-LL | struct Cl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<'a, 'b, 'c, T, U, V, A = (), B = (), C = ()>> {
-   |                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - struct Cl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<T, 'a, A=(), B=(), C=(), U, 'b, V, 'c>> {
+LL + struct Cl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<'a, 'b, 'c, T, U, V, A = (), B = (), C = ()>> {
+   |
 
 error: generic arguments must come before the first constraint
   --> $DIR/suggest-move-types.rs:74:28
@@ -86,8 +92,9 @@ LL | struct D<T, U, V, M: Three<T, A=(), B=(), U, C=(), V>> {
    |
 help: move the constraints after the generic arguments
    |
-LL | struct D<T, U, V, M: Three<T, U, V, A = (), B = (), C = ()>> {
-   |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - struct D<T, U, V, M: Three<T, A=(), B=(), U, C=(), V>> {
+LL + struct D<T, U, V, M: Three<T, U, V, A = (), B = (), C = ()>> {
+   |
 
 error: generic arguments must come before the first constraint
   --> $DIR/suggest-move-types.rs:82:53
@@ -99,8 +106,9 @@ LL | struct Dl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<T, 'a, A=(), B=(), U, '
    |
 help: move the constraints after the generic arguments
    |
-LL | struct Dl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<'a, 'b, 'c, T, U, V, A = (), B = (), C = ()>> {
-   |                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - struct Dl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<T, 'a, A=(), B=(), U, 'b, C=(), V, 'c>> {
+LL + struct Dl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<'a, 'b, 'c, T, U, V, A = (), B = (), C = ()>> {
+   |
 
 error[E0747]: type provided when a lifetime was expected
   --> $DIR/suggest-move-types.rs:33:43
diff --git a/tests/ui/suggestions/suggest-null-ptr.stderr b/tests/ui/suggestions/suggest-null-ptr.stderr
index a811d6d19c7..5be33d47237 100644
--- a/tests/ui/suggestions/suggest-null-ptr.stderr
+++ b/tests/ui/suggestions/suggest-null-ptr.stderr
@@ -15,8 +15,9 @@ LL |     fn foo(ptr: *const u8);
    |        ^^^ ---
 help: if you meant to create a null pointer, use `std::ptr::null()`
    |
-LL |         foo(std::ptr::null());
-   |             ~~~~~~~~~~~~~~~~
+LL -         foo(0);
+LL +         foo(std::ptr::null());
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-null-ptr.rs:21:17
@@ -35,8 +36,9 @@ LL |     fn foo_mut(ptr: *mut u8);
    |        ^^^^^^^ ---
 help: if you meant to create a null pointer, use `std::ptr::null_mut()`
    |
-LL |         foo_mut(std::ptr::null_mut());
-   |                 ~~~~~~~~~~~~~~~~~~~~
+LL -         foo_mut(0);
+LL +         foo_mut(std::ptr::null_mut());
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-null-ptr.rs:24:15
@@ -55,8 +57,9 @@ LL |     fn usize(ptr: *const usize);
    |        ^^^^^ ---
 help: if you meant to create a null pointer, use `std::ptr::null()`
    |
-LL |         usize(std::ptr::null());
-   |               ~~~~~~~~~~~~~~~~
+LL -         usize(0);
+LL +         usize(std::ptr::null());
+   |
 
 error[E0308]: mismatched types
   --> $DIR/suggest-null-ptr.rs:27:19
@@ -75,8 +78,9 @@ LL |     fn usize_mut(ptr: *mut usize);
    |        ^^^^^^^^^ ---
 help: if you meant to create a null pointer, use `std::ptr::null_mut()`
    |
-LL |         usize_mut(std::ptr::null_mut());
-   |                   ~~~~~~~~~~~~~~~~~~~~
+LL -         usize_mut(0);
+LL +         usize_mut(std::ptr::null_mut());
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/suggestions/suggest-slice-swap.stderr b/tests/ui/suggestions/suggest-slice-swap.stderr
index 2840fc0a761..95b547aad5d 100644
--- a/tests/ui/suggestions/suggest-slice-swap.stderr
+++ b/tests/ui/suggestions/suggest-slice-swap.stderr
@@ -9,8 +9,9 @@ LL |     std::mem::swap(&mut arr[0], &mut arr[1]);
    |
 help: use `.swap()` to swap elements at the specified indices instead
    |
-LL |     arr.swap(1, 0);
-   |     ~~~~~~~~~~~~~~
+LL -     std::mem::swap(&mut arr[0], &mut arr[1]);
+LL +     arr.swap(1, 0);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/suggest-swapping-self-ty-and-trait-edition-2021.stderr b/tests/ui/suggestions/suggest-swapping-self-ty-and-trait-edition-2021.stderr
index 0bd601e2170..e73aba51847 100644
--- a/tests/ui/suggestions/suggest-swapping-self-ty-and-trait-edition-2021.stderr
+++ b/tests/ui/suggestions/suggest-swapping-self-ty-and-trait-edition-2021.stderr
@@ -6,8 +6,9 @@ LL | impl<'a, T> Struct<T> for Trait<'a, T> {}
    |
 help: `impl` items mention the trait being implemented first and the type it is being implemented for second
    |
-LL | impl<'a, T> Trait<'a, T> for Struct<T> {}
-   |             ~~~~~~~~~~~~     ~~~~~~~~~
+LL - impl<'a, T> Struct<T> for Trait<'a, T> {}
+LL + impl<'a, T> Trait<'a, T> for Struct<T> {}
+   |
 
 error[E0404]: expected trait, found enum `Enum`
   --> $DIR/suggest-swapping-self-ty-and-trait-edition-2021.rs:19:13
@@ -17,8 +18,9 @@ LL | impl<'a, T> Enum<T> for Trait<'a, T> {}
    |
 help: `impl` items mention the trait being implemented first and the type it is being implemented for second
    |
-LL | impl<'a, T> Trait<'a, T> for Enum<T> {}
-   |             ~~~~~~~~~~~~     ~~~~~~~
+LL - impl<'a, T> Enum<T> for Trait<'a, T> {}
+LL + impl<'a, T> Trait<'a, T> for Enum<T> {}
+   |
 
 error[E0404]: expected trait, found union `Union`
   --> $DIR/suggest-swapping-self-ty-and-trait-edition-2021.rs:23:13
@@ -28,8 +30,9 @@ LL | impl<'a, T> Union<T> for Trait<'a, T> {}
    |
 help: `impl` items mention the trait being implemented first and the type it is being implemented for second
    |
-LL | impl<'a, T> Trait<'a, T> for Union<T> {}
-   |             ~~~~~~~~~~~~     ~~~~~~~~
+LL - impl<'a, T> Union<T> for Trait<'a, T> {}
+LL + impl<'a, T> Trait<'a, T> for Union<T> {}
+   |
 
 error[E0392]: type parameter `T` is never used
   --> $DIR/suggest-swapping-self-ty-and-trait-edition-2021.rs:5:19
diff --git a/tests/ui/suggestions/suggest-swapping-self-ty-and-trait.stderr b/tests/ui/suggestions/suggest-swapping-self-ty-and-trait.stderr
index d1da9a89c19..929f893e34f 100644
--- a/tests/ui/suggestions/suggest-swapping-self-ty-and-trait.stderr
+++ b/tests/ui/suggestions/suggest-swapping-self-ty-and-trait.stderr
@@ -6,8 +6,9 @@ LL | impl<'a, T> Struct<T> for Trait<'a, T> {}
    |
 help: `impl` items mention the trait being implemented first and the type it is being implemented for second
    |
-LL | impl<'a, T> Trait<'a, T> for Struct<T> {}
-   |             ~~~~~~~~~~~~     ~~~~~~~~~
+LL - impl<'a, T> Struct<T> for Trait<'a, T> {}
+LL + impl<'a, T> Trait<'a, T> for Struct<T> {}
+   |
 
 error[E0404]: expected trait, found enum `Enum`
   --> $DIR/suggest-swapping-self-ty-and-trait.rs:18:13
@@ -17,8 +18,9 @@ LL | impl<'a, T> Enum<T> for Trait<'a, T> {}
    |
 help: `impl` items mention the trait being implemented first and the type it is being implemented for second
    |
-LL | impl<'a, T> Trait<'a, T> for Enum<T> {}
-   |             ~~~~~~~~~~~~     ~~~~~~~
+LL - impl<'a, T> Enum<T> for Trait<'a, T> {}
+LL + impl<'a, T> Trait<'a, T> for Enum<T> {}
+   |
 
 error[E0404]: expected trait, found union `Union`
   --> $DIR/suggest-swapping-self-ty-and-trait.rs:23:13
@@ -28,8 +30,9 @@ LL | impl<'a, T> Union<T> for Trait<'a, T> {}
    |
 help: `impl` items mention the trait being implemented first and the type it is being implemented for second
    |
-LL | impl<'a, T> Trait<'a, T> for Union<T> {}
-   |             ~~~~~~~~~~~~     ~~~~~~~~
+LL - impl<'a, T> Union<T> for Trait<'a, T> {}
+LL + impl<'a, T> Trait<'a, T> for Union<T> {}
+   |
 
 error[E0392]: type parameter `T` is never used
   --> $DIR/suggest-swapping-self-ty-and-trait.rs:3:19
diff --git a/tests/ui/suggestions/suggest-trait-in-ufcs-in-hrtb.stderr b/tests/ui/suggestions/suggest-trait-in-ufcs-in-hrtb.stderr
index cabaa76a886..fac93da9829 100644
--- a/tests/ui/suggestions/suggest-trait-in-ufcs-in-hrtb.stderr
+++ b/tests/ui/suggestions/suggest-trait-in-ufcs-in-hrtb.stderr
@@ -6,10 +6,12 @@ LL | impl<S> Foo for Bar<S> where for<'a> <&'a S>::Item: Foo {}
    |
 help: use fully-qualified syntax
    |
-LL | impl<S> Foo for Bar<S> where for<'a> <&'a S as IntoAsyncIterator>::Item: Foo {}
-   |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-LL | impl<S> Foo for Bar<S> where for<'a> <&'a S as IntoIterator>::Item: Foo {}
-   |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - impl<S> Foo for Bar<S> where for<'a> <&'a S>::Item: Foo {}
+LL + impl<S> Foo for Bar<S> where for<'a> <&'a S as IntoAsyncIterator>::Item: Foo {}
+   |
+LL - impl<S> Foo for Bar<S> where for<'a> <&'a S>::Item: Foo {}
+LL + impl<S> Foo for Bar<S> where for<'a> <&'a S as IntoIterator>::Item: Foo {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/suggest-tryinto-edition-change.stderr b/tests/ui/suggestions/suggest-tryinto-edition-change.stderr
index 5be55f75cd1..0008b4fb5ed 100644
--- a/tests/ui/suggestions/suggest-tryinto-edition-change.stderr
+++ b/tests/ui/suggestions/suggest-tryinto-edition-change.stderr
@@ -31,8 +31,9 @@ LL |     let _v: Vec<_> = FromIterator::from_iter(&[1]);
    = note: 'std::iter::FromIterator' is included in the prelude starting in Edition 2021
 help: a trait with a similar name exists
    |
-LL |     let _v: Vec<_> = IntoIterator::from_iter(&[1]);
-   |                      ~~~~~~~~~~~~
+LL -     let _v: Vec<_> = FromIterator::from_iter(&[1]);
+LL +     let _v: Vec<_> = IntoIterator::from_iter(&[1]);
+   |
 help: consider importing this trait
    |
 LL + use std::iter::FromIterator;
@@ -55,8 +56,9 @@ LL + use std::convert::TryInto;
    |
 help: there is a method `into` with a similar name
    |
-LL |     let _i: i16 = 0_i32.into().unwrap();
-   |                         ~~~~
+LL -     let _i: i16 = 0_i32.try_into().unwrap();
+LL +     let _i: i16 = 0_i32.into().unwrap();
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/suggestions/suggest-using-chars.stderr b/tests/ui/suggestions/suggest-using-chars.stderr
index ba80ec6a201..a197223beb0 100644
--- a/tests/ui/suggestions/suggest-using-chars.stderr
+++ b/tests/ui/suggestions/suggest-using-chars.stderr
@@ -6,8 +6,9 @@ LL |     let _ = "foo".iter();
    |
 help: because of the in-memory representation of `&str`, to obtain an `Iterator` over each of its codepoint use method `chars`
    |
-LL |     let _ = "foo".chars();
-   |                   ~~~~~
+LL -     let _ = "foo".iter();
+LL +     let _ = "foo".chars();
+   |
 
 error[E0599]: no method named `foo` found for reference `&'static str` in the current scope
   --> $DIR/suggest-using-chars.rs:3:19
@@ -23,8 +24,9 @@ LL |     let _ = String::from("bar").iter();
    |
 help: because of the in-memory representation of `&str`, to obtain an `Iterator` over each of its codepoint use method `chars`
    |
-LL |     let _ = String::from("bar").chars();
-   |                                 ~~~~~
+LL -     let _ = String::from("bar").iter();
+LL +     let _ = String::from("bar").chars();
+   |
 
 error[E0599]: no method named `iter` found for reference `&String` in the current scope
   --> $DIR/suggest-using-chars.rs:5:36
@@ -34,8 +36,9 @@ LL |     let _ = (&String::from("bar")).iter();
    |
 help: because of the in-memory representation of `&str`, to obtain an `Iterator` over each of its codepoint use method `chars`
    |
-LL |     let _ = (&String::from("bar")).chars();
-   |                                    ~~~~~
+LL -     let _ = (&String::from("bar")).iter();
+LL +     let _ = (&String::from("bar")).chars();
+   |
 
 error[E0599]: no method named `iter` found for type `{integer}` in the current scope
   --> $DIR/suggest-using-chars.rs:6:15
diff --git a/tests/ui/suggestions/suggest-variants.stderr b/tests/ui/suggestions/suggest-variants.stderr
index d93bf2d8cd7..b422da8fbfa 100644
--- a/tests/ui/suggestions/suggest-variants.stderr
+++ b/tests/ui/suggestions/suggest-variants.stderr
@@ -9,8 +9,9 @@ LL |     println!("My shape is {:?}", Shape::Squareee { size: 5});
    |
 help: there is a variant with a similar name
    |
-LL |     println!("My shape is {:?}", Shape::Square { size: 5});
-   |                                         ~~~~~~
+LL -     println!("My shape is {:?}", Shape::Squareee { size: 5});
+LL +     println!("My shape is {:?}", Shape::Square { size: 5});
+   |
 
 error[E0599]: no variant named `Circl` found for enum `Shape`
   --> $DIR/suggest-variants.rs:13:41
@@ -23,8 +24,9 @@ LL |     println!("My shape is {:?}", Shape::Circl { size: 5});
    |
 help: there is a variant with a similar name
    |
-LL |     println!("My shape is {:?}", Shape::Circle { size: 5});
-   |                                         ~~~~~~
+LL -     println!("My shape is {:?}", Shape::Circl { size: 5});
+LL +     println!("My shape is {:?}", Shape::Circle { size: 5});
+   |
 
 error[E0599]: no variant named `Rombus` found for enum `Shape`
   --> $DIR/suggest-variants.rs:14:41
@@ -46,8 +48,9 @@ LL |     Shape::Squareee;
    |
 help: there is a variant with a similar name
    |
-LL |     Shape::Square { size: /* value */ };
-   |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     Shape::Squareee;
+LL +     Shape::Square { size: /* value */ };
+   |
 
 error[E0599]: no variant or associated item named `Circl` found for enum `Shape` in the current scope
   --> $DIR/suggest-variants.rs:16:12
@@ -60,8 +63,9 @@ LL |     Shape::Circl;
    |
 help: there is a variant with a similar name
    |
-LL |     Shape::Circle { radius: /* value */ };
-   |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     Shape::Circl;
+LL +     Shape::Circle { radius: /* value */ };
+   |
 
 error[E0599]: no variant or associated item named `Rombus` found for enum `Shape` in the current scope
   --> $DIR/suggest-variants.rs:17:12
diff --git a/tests/ui/suggestions/suggest_print_over_printf.stderr b/tests/ui/suggestions/suggest_print_over_printf.stderr
index 8a79745133c..48a50de0f7a 100644
--- a/tests/ui/suggestions/suggest_print_over_printf.stderr
+++ b/tests/ui/suggestions/suggest_print_over_printf.stderr
@@ -6,8 +6,9 @@ LL |     printf("%d", x);
    |
 help: you may have meant to use the `print` macro
    |
-LL |     print!("%d", x);
-   |     ~~~~~~
+LL -     printf("%d", x);
+LL +     print!("%d", x);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/type-ascription-instead-of-path-2.stderr b/tests/ui/suggestions/type-ascription-instead-of-path-2.stderr
index ba0682cda32..70e8f5b58ac 100644
--- a/tests/ui/suggestions/type-ascription-instead-of-path-2.stderr
+++ b/tests/ui/suggestions/type-ascription-instead-of-path-2.stderr
@@ -7,8 +7,9 @@ LL |     let _ = vec![Ok(2)].into_iter().collect:<Result<Vec<_>,_>>()?;
    = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
 help: maybe write a path separator here
    |
-LL |     let _ = vec![Ok(2)].into_iter().collect::<Result<Vec<_>,_>>()?;
-   |                                            ~~
+LL -     let _ = vec![Ok(2)].into_iter().collect:<Result<Vec<_>,_>>()?;
+LL +     let _ = vec![Ok(2)].into_iter().collect::<Result<Vec<_>,_>>()?;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/suggestions/type-ascription-instead-of-path-in-type.stderr b/tests/ui/suggestions/type-ascription-instead-of-path-in-type.stderr
index 56b6a69a283..5ba56d095f7 100644
--- a/tests/ui/suggestions/type-ascription-instead-of-path-in-type.stderr
+++ b/tests/ui/suggestions/type-ascription-instead-of-path-in-type.stderr
@@ -6,8 +6,9 @@ LL |     let _: Vec<A:B> = A::B;
    |
 help: you might have meant to write a path instead of an associated type bound
    |
-LL |     let _: Vec<A::B> = A::B;
-   |                 ~~
+LL -     let _: Vec<A:B> = A::B;
+LL +     let _: Vec<A::B> = A::B;
+   |
 
 error[E0107]: struct takes at least 1 generic argument but 0 generic arguments were supplied
   --> $DIR/type-ascription-instead-of-path-in-type.rs:6:12
diff --git a/tests/ui/suggestions/type-mismatch-byte-literal.stderr b/tests/ui/suggestions/type-mismatch-byte-literal.stderr
index 3d27149f0dc..e96ead569d9 100644
--- a/tests/ui/suggestions/type-mismatch-byte-literal.stderr
+++ b/tests/ui/suggestions/type-mismatch-byte-literal.stderr
@@ -8,8 +8,9 @@ LL |     let _x: u8 = 'X';
    |
 help: if you meant to write a byte literal, prefix with `b`
    |
-LL |     let _x: u8 = b'X';
-   |                  ~~~~
+LL -     let _x: u8 = 'X';
+LL +     let _x: u8 = b'X';
+   |
 
 error[E0308]: mismatched types
   --> $DIR/type-mismatch-byte-literal.rs:11:9
@@ -26,8 +27,9 @@ LL | fn foo(_t: u8) {}
    |    ^^^ ------
 help: if you meant to write a byte literal, prefix with `b`
    |
-LL |     foo(b'#');
-   |         ~~~~
+LL -     foo('#');
+LL +     foo(b'#');
+   |
 
 error[E0308]: mismatched types
   --> $DIR/type-mismatch-byte-literal.rs:15:18
@@ -39,8 +41,9 @@ LL |     let _a: u8 = '\x20';
    |
 help: if you meant to write a byte literal, prefix with `b`
    |
-LL |     let _a: u8 = b'\x20';
-   |                  ~~~~~~~
+LL -     let _a: u8 = '\x20';
+LL +     let _a: u8 = b'\x20';
+   |
 
 error[E0308]: mismatched types
   --> $DIR/type-mismatch-byte-literal.rs:20:9
diff --git a/tests/ui/suggestions/type-mismatch-struct-field-shorthand-2.stderr b/tests/ui/suggestions/type-mismatch-struct-field-shorthand-2.stderr
index fb3573ee2a4..e60de526945 100644
--- a/tests/ui/suggestions/type-mismatch-struct-field-shorthand-2.stderr
+++ b/tests/ui/suggestions/type-mismatch-struct-field-shorthand-2.stderr
@@ -28,8 +28,9 @@ LL |     let _ = RGB { r, g, c };
    |
 help: a field with a similar name exists
    |
-LL |     let _ = RGB { r, g, b };
-   |                         ~
+LL -     let _ = RGB { r, g, c };
+LL +     let _ = RGB { r, g, b };
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/suggestions/unnamable-types.stderr b/tests/ui/suggestions/unnamable-types.stderr
index dc236af91f8..bcd1a905194 100644
--- a/tests/ui/suggestions/unnamable-types.stderr
+++ b/tests/ui/suggestions/unnamable-types.stderr
@@ -12,8 +12,9 @@ LL | static B: _ = "abc";
    |
 help: replace this with a fully-specified type
    |
-LL | static B: &str = "abc";
-   |           ~~~~
+LL - static B: _ = "abc";
+LL + static B: &str = "abc";
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for constants
   --> $DIR/unnamable-types.rs:17:10
diff --git a/tests/ui/suggestions/unnecessary_dot_for_floating_point_literal.stderr b/tests/ui/suggestions/unnecessary_dot_for_floating_point_literal.stderr
index c0162ec2cab..ade3f3099a3 100644
--- a/tests/ui/suggestions/unnecessary_dot_for_floating_point_literal.stderr
+++ b/tests/ui/suggestions/unnecessary_dot_for_floating_point_literal.stderr
@@ -10,8 +10,9 @@ LL |     let _: f64 = 0..10;
             found struct `std::ops::Range<{integer}>`
 help: remove the unnecessary `.` operator for a floating point literal
    |
-LL |     let _: f64 = 0.10;
-   |                   ~
+LL -     let _: f64 = 0..10;
+LL +     let _: f64 = 0.10;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/unnecessary_dot_for_floating_point_literal.rs:3:18
@@ -25,8 +26,9 @@ LL |     let _: f64 = 1..;
             found struct `std::ops::RangeFrom<{integer}>`
 help: remove the unnecessary `.` operator for a floating point literal
    |
-LL |     let _: f64 = 1.;
-   |                   ~
+LL -     let _: f64 = 1..;
+LL +     let _: f64 = 1.;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/unnecessary_dot_for_floating_point_literal.rs:4:18
@@ -40,8 +42,9 @@ LL |     let _: f64 = ..10;
             found struct `RangeTo<{integer}>`
 help: remove the unnecessary `.` operator and add an integer part for a floating point literal
    |
-LL |     let _: f64 = 0.10;
-   |                  ~~
+LL -     let _: f64 = ..10;
+LL +     let _: f64 = 0.10;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/unnecessary_dot_for_floating_point_literal.rs:5:18
diff --git a/tests/ui/test-attrs/inaccessible-test-modules.stderr b/tests/ui/test-attrs/inaccessible-test-modules.stderr
index 7635f579d66..39f69b164fb 100644
--- a/tests/ui/test-attrs/inaccessible-test-modules.stderr
+++ b/tests/ui/test-attrs/inaccessible-test-modules.stderr
@@ -12,8 +12,9 @@ LL | use test as y;
    |
 help: consider importing this module instead
    |
-LL | use test::test as y;
-   |     ~~~~~~~~~~~~~~~
+LL - use test as y;
+LL + use test::test as y;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/test-attrs/issue-109816.stderr b/tests/ui/test-attrs/issue-109816.stderr
index 6f5e3ae6b63..433421fff1b 100644
--- a/tests/ui/test-attrs/issue-109816.stderr
+++ b/tests/ui/test-attrs/issue-109816.stderr
@@ -9,7 +9,8 @@ LL |     struct A5(u32, u8);
    |
 help: replace with conditional compilation to make the item only exist when tests are being run
    |
-LL |     #[cfg(test)]
+LL -     #[test]
+LL +     #[cfg(test)]
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/test-attrs/test-attr-non-associated-functions.stderr b/tests/ui/test-attrs/test-attr-non-associated-functions.stderr
index 3e3a951aff3..0ede0cbb97f 100644
--- a/tests/ui/test-attrs/test-attr-non-associated-functions.stderr
+++ b/tests/ui/test-attrs/test-attr-non-associated-functions.stderr
@@ -6,7 +6,8 @@ LL |     #[test]
    |
 help: replace with conditional compilation to make the item only exist when tests are being run
    |
-LL |     #[cfg(test)]
+LL -     #[test]
+LL +     #[cfg(test)]
    |
 
 error: the `#[test]` attribute may only be used on a non-associated function
@@ -17,7 +18,8 @@ LL |     #[test]
    |
 help: replace with conditional compilation to make the item only exist when tests are being run
    |
-LL |     #[cfg(test)]
+LL -     #[test]
+LL +     #[cfg(test)]
    |
 
 error: aborting due to 2 previous errors
diff --git a/tests/ui/test-attrs/test-on-not-fn.stderr b/tests/ui/test-attrs/test-on-not-fn.stderr
index 7a9913fbcfa..a282db01254 100644
--- a/tests/ui/test-attrs/test-on-not-fn.stderr
+++ b/tests/ui/test-attrs/test-on-not-fn.stderr
@@ -8,8 +8,9 @@ LL | mod test {}
    |
 help: replace with conditional compilation to make the item only exist when tests are being run
    |
-LL | #[cfg(test)]
-   | ~~~~~~~~~~~~
+LL - #[test]
+LL + #[cfg(test)]
+   |
 
 error: the `#[test]` attribute may only be used on a non-associated function
   --> $DIR/test-on-not-fn.rs:6:1
@@ -27,8 +28,9 @@ LL | | }
    |
 help: replace with conditional compilation to make the item only exist when tests are being run
    |
-LL | #[cfg(test)]
-   | ~~~~~~~~~~~~
+LL - #[test]
+LL + #[cfg(test)]
+   |
 
 error: the `#[test]` attribute may only be used on a non-associated function
   --> $DIR/test-on-not-fn.rs:20:1
@@ -40,8 +42,9 @@ LL | extern "C" {}
    |
 help: replace with conditional compilation to make the item only exist when tests are being run
    |
-LL | #[cfg(test)]
-   | ~~~~~~~~~~~~
+LL - #[test]
+LL + #[cfg(test)]
+   |
 
 error: the `#[test]` attribute may only be used on a non-associated function
   --> $DIR/test-on-not-fn.rs:23:1
@@ -53,8 +56,9 @@ LL | trait Foo {}
    |
 help: replace with conditional compilation to make the item only exist when tests are being run
    |
-LL | #[cfg(test)]
-   | ~~~~~~~~~~~~
+LL - #[test]
+LL + #[cfg(test)]
+   |
 
 error: the `#[test]` attribute may only be used on a non-associated function
   --> $DIR/test-on-not-fn.rs:26:1
@@ -66,8 +70,9 @@ LL | impl Foo for i32 {}
    |
 help: replace with conditional compilation to make the item only exist when tests are being run
    |
-LL | #[cfg(test)]
-   | ~~~~~~~~~~~~
+LL - #[test]
+LL + #[cfg(test)]
+   |
 
 error: the `#[test]` attribute may only be used on a non-associated function
   --> $DIR/test-on-not-fn.rs:29:1
@@ -79,8 +84,9 @@ LL | const FOO: i32 = -1_i32;
    |
 help: replace with conditional compilation to make the item only exist when tests are being run
    |
-LL | #[cfg(test)]
-   | ~~~~~~~~~~~~
+LL - #[test]
+LL + #[cfg(test)]
+   |
 
 error: the `#[test]` attribute may only be used on a non-associated function
   --> $DIR/test-on-not-fn.rs:32:1
@@ -92,8 +98,9 @@ LL | static BAR: u64 = 10_000_u64;
    |
 help: replace with conditional compilation to make the item only exist when tests are being run
    |
-LL | #[cfg(test)]
-   | ~~~~~~~~~~~~
+LL - #[test]
+LL + #[cfg(test)]
+   |
 
 error: the `#[test]` attribute may only be used on a non-associated function
   --> $DIR/test-on-not-fn.rs:35:1
@@ -107,8 +114,9 @@ LL | | }
    |
 help: replace with conditional compilation to make the item only exist when tests are being run
    |
-LL | #[cfg(test)]
-   | ~~~~~~~~~~~~
+LL - #[test]
+LL + #[cfg(test)]
+   |
 
 error: the `#[test]` attribute may only be used on a non-associated function
   --> $DIR/test-on-not-fn.rs:40:1
@@ -120,8 +128,9 @@ LL | struct NewI32(i32);
    |
 help: replace with conditional compilation to make the item only exist when tests are being run
    |
-LL | #[cfg(test)]
-   | ~~~~~~~~~~~~
+LL - #[test]
+LL + #[cfg(test)]
+   |
 
 error: the `#[test]` attribute may only be used on a non-associated function
   --> $DIR/test-on-not-fn.rs:43:1
@@ -136,8 +145,9 @@ LL | | }
    |
 help: replace with conditional compilation to make the item only exist when tests are being run
    |
-LL | #[cfg(test)]
-   | ~~~~~~~~~~~~
+LL - #[test]
+LL + #[cfg(test)]
+   |
 
 error: the `#[test]` attribute may only be used on a non-associated function
   --> $DIR/test-on-not-fn.rs:50:1
@@ -153,8 +163,9 @@ LL | | }
    |
 help: replace with conditional compilation to make the item only exist when tests are being run
    |
-LL | #[cfg(test)]
-   | ~~~~~~~~~~~~
+LL - #[test]
+LL + #[cfg(test)]
+   |
 
 warning: the `#[test]` attribute may only be used on a non-associated function
   --> $DIR/test-on-not-fn.rs:61:1
@@ -166,8 +177,9 @@ LL | foo!();
    |
 help: replace with conditional compilation to make the item only exist when tests are being run
    |
-LL | #[cfg(test)]
-   | ~~~~~~~~~~~~
+LL - #[test]
+LL + #[cfg(test)]
+   |
 
 error: aborting due to 11 previous errors; 1 warning emitted
 
diff --git a/tests/ui/trait-bounds/argument-with-unnecessary-method-call.stderr b/tests/ui/trait-bounds/argument-with-unnecessary-method-call.stderr
index 49230c98a12..7d795581ea9 100644
--- a/tests/ui/trait-bounds/argument-with-unnecessary-method-call.stderr
+++ b/tests/ui/trait-bounds/argument-with-unnecessary-method-call.stderr
@@ -14,8 +14,9 @@ LL | fn qux(_: impl From<Bar>) {}
    |                ^^^^^^^^^ required by this bound in `qux`
 help: try using a fully qualified path to specify the expected types
    |
-LL |     qux(<Bar as Into<T>>::into(Bar));
-   |         +++++++++++++++++++++++   ~
+LL -     qux(Bar.into());
+LL +     qux(<Bar as Into<T>>::into(Bar));
+   |
 help: consider removing this method call, as the receiver has type `Bar` and `Bar: From<Bar>` trivially holds
    |
 LL -     qux(Bar.into());
diff --git a/tests/ui/traits/alias/ambiguous.stderr b/tests/ui/traits/alias/ambiguous.stderr
index 034e8a3fb7b..542ee190129 100644
--- a/tests/ui/traits/alias/ambiguous.stderr
+++ b/tests/ui/traits/alias/ambiguous.stderr
@@ -16,12 +16,14 @@ LL |         fn foo(&self) {}
    |         ^^^^^^^^^^^^^
 help: disambiguate the method for candidate #1
    |
-LL |     A::foo(&t);
-   |     ~~~~~~~~~~
+LL -     t.foo();
+LL +     A::foo(&t);
+   |
 help: disambiguate the method for candidate #2
    |
-LL |     B::foo(&t);
-   |     ~~~~~~~~~~
+LL -     t.foo();
+LL +     B::foo(&t);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/traits/alias/dont-elaborate-non-self.stderr b/tests/ui/traits/alias/dont-elaborate-non-self.stderr
index 952f78dd3da..1d96a6a6994 100644
--- a/tests/ui/traits/alias/dont-elaborate-non-self.stderr
+++ b/tests/ui/traits/alias/dont-elaborate-non-self.stderr
@@ -8,8 +8,9 @@ LL | fn f<Fut>(a: dyn F<Fut>) {}
    = help: unsized fn params are gated as an unstable feature
 help: you can use `impl Trait` as the argument type
    |
-LL | fn f<Fut>(a: impl F<Fut>) {}
-   |              ~~~~
+LL - fn f<Fut>(a: dyn F<Fut>) {}
+LL + fn f<Fut>(a: impl F<Fut>) {}
+   |
 help: function arguments must have a statically known size, borrowed types always have a known size
    |
 LL | fn f<Fut>(a: &dyn F<Fut>) {}
diff --git a/tests/ui/traits/alias/self-in-const-generics.stderr b/tests/ui/traits/alias/self-in-const-generics.stderr
index b5538cb6e2f..ea201a2dd97 100644
--- a/tests/ui/traits/alias/self-in-const-generics.stderr
+++ b/tests/ui/traits/alias/self-in-const-generics.stderr
@@ -14,8 +14,9 @@ LL | trait BB = Bar<{ 2 + 1 }>;
    |       this trait is not dyn compatible...
 help: consider using an opaque type instead
    |
-LL | fn foo(x: &impl BB) {}
-   |            ~~~~
+LL - fn foo(x: &dyn BB) {}
+LL + fn foo(x: &impl BB) {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/traits/alias/self-in-generics.stderr b/tests/ui/traits/alias/self-in-generics.stderr
index afe4dff45ed..abeb11907ad 100644
--- a/tests/ui/traits/alias/self-in-generics.stderr
+++ b/tests/ui/traits/alias/self-in-generics.stderr
@@ -16,8 +16,9 @@ LL | pub trait SelfInput = Fn(&mut Self);
    |           this trait is not dyn compatible...
 help: consider using an opaque type instead
    |
-LL | pub fn f(_f: &impl SelfInput) {}
-   |               ~~~~
+LL - pub fn f(_f: &dyn SelfInput) {}
+LL + pub fn f(_f: &impl SelfInput) {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/traits/alias/suggest-trait-alias-instead-of-type.stderr b/tests/ui/traits/alias/suggest-trait-alias-instead-of-type.stderr
index afe34a125b2..af4e4214be2 100644
--- a/tests/ui/traits/alias/suggest-trait-alias-instead-of-type.stderr
+++ b/tests/ui/traits/alias/suggest-trait-alias-instead-of-type.stderr
@@ -6,7 +6,8 @@ LL | struct Struct<S: Strings>(S);
    |
 help: you might have meant to use `#![feature(trait_alias)]` instead of a `type` alias
    |
-LL | trait Strings = Iterator<Item=String>;
+LL - type Strings = Iterator<Item=String>;
+LL + trait Strings = Iterator<Item=String>;
    |
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.stderr b/tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.stderr
index 0020f9e416d..23974c5b4aa 100644
--- a/tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.stderr
+++ b/tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.stderr
@@ -9,12 +9,14 @@ LL | struct Foo<T> where T: Bar, <T as Bar>::Baz: String {
    |
 help: constrain the associated type to `String`
    |
-LL | struct Foo<T> where T: Bar, T: Bar<Baz = String> {
-   |                             ~~~~~~~~~~~~~~~~~~~~
+LL - struct Foo<T> where T: Bar, <T as Bar>::Baz: String {
+LL + struct Foo<T> where T: Bar, T: Bar<Baz = String> {
+   |
 help: a trait with a similar name exists
    |
-LL | struct Foo<T> where T: Bar, <T as Bar>::Baz: ToString {
-   |                                              ~~~~~~~~
+LL - struct Foo<T> where T: Bar, <T as Bar>::Baz: String {
+LL + struct Foo<T> where T: Bar, <T as Bar>::Baz: ToString {
+   |
 
 error[E0404]: expected trait, found struct `String`
   --> $DIR/assoc_type_bound_with_struct.rs:9:54
@@ -27,12 +29,14 @@ LL | struct Qux<'a, T> where T: Bar, <&'a T as Bar>::Baz: String {
    |
 help: constrain the associated type to `String`
    |
-LL | struct Qux<'a, T> where T: Bar, &'a T: Bar<Baz = String> {
-   |                                 ~~~~~~~~~~~~~~~~~~~~~~~~
+LL - struct Qux<'a, T> where T: Bar, <&'a T as Bar>::Baz: String {
+LL + struct Qux<'a, T> where T: Bar, &'a T: Bar<Baz = String> {
+   |
 help: a trait with a similar name exists
    |
-LL | struct Qux<'a, T> where T: Bar, <&'a T as Bar>::Baz: ToString {
-   |                                                      ~~~~~~~~
+LL - struct Qux<'a, T> where T: Bar, <&'a T as Bar>::Baz: String {
+LL + struct Qux<'a, T> where T: Bar, <&'a T as Bar>::Baz: ToString {
+   |
 
 error[E0404]: expected trait, found struct `String`
   --> $DIR/assoc_type_bound_with_struct.rs:13:45
@@ -45,12 +49,14 @@ LL | fn foo<T: Bar>(_: T) where <T as Bar>::Baz: String {
    |
 help: constrain the associated type to `String`
    |
-LL | fn foo<T: Bar>(_: T) where T: Bar<Baz = String> {
-   |                            ~~~~~~~~~~~~~~~~~~~~
+LL - fn foo<T: Bar>(_: T) where <T as Bar>::Baz: String {
+LL + fn foo<T: Bar>(_: T) where T: Bar<Baz = String> {
+   |
 help: a trait with a similar name exists
    |
-LL | fn foo<T: Bar>(_: T) where <T as Bar>::Baz: ToString {
-   |                                             ~~~~~~~~
+LL - fn foo<T: Bar>(_: T) where <T as Bar>::Baz: String {
+LL + fn foo<T: Bar>(_: T) where <T as Bar>::Baz: ToString {
+   |
 
 error[E0404]: expected trait, found struct `String`
   --> $DIR/assoc_type_bound_with_struct.rs:16:57
@@ -63,12 +69,14 @@ LL | fn qux<'a, T: Bar>(_: &'a T) where <&'a T as Bar>::Baz: String {
    |
 help: constrain the associated type to `String`
    |
-LL | fn qux<'a, T: Bar>(_: &'a T) where &'a T: Bar<Baz = String> {
-   |                                    ~~~~~~~~~~~~~~~~~~~~~~~~
+LL - fn qux<'a, T: Bar>(_: &'a T) where <&'a T as Bar>::Baz: String {
+LL + fn qux<'a, T: Bar>(_: &'a T) where &'a T: Bar<Baz = String> {
+   |
 help: a trait with a similar name exists
    |
-LL | fn qux<'a, T: Bar>(_: &'a T) where <&'a T as Bar>::Baz: ToString {
-   |                                                         ~~~~~~~~
+LL - fn qux<'a, T: Bar>(_: &'a T) where <&'a T as Bar>::Baz: String {
+LL + fn qux<'a, T: Bar>(_: &'a T) where <&'a T as Bar>::Baz: ToString {
+   |
 
 error[E0405]: cannot find trait `Unresolved` in this scope
   --> $DIR/assoc_type_bound_with_struct.rs:19:31
diff --git a/tests/ui/traits/bound/not-on-bare-trait-2021.stderr b/tests/ui/traits/bound/not-on-bare-trait-2021.stderr
index e50186aff7e..b81aa54b88d 100644
--- a/tests/ui/traits/bound/not-on-bare-trait-2021.stderr
+++ b/tests/ui/traits/bound/not-on-bare-trait-2021.stderr
@@ -6,8 +6,9 @@ LL | fn foo(_x: Foo + Send) {
    |
 help: use a new generic type parameter, constrained by `Foo + Send`
    |
-LL | fn foo<T: Foo + Send>(_x: T) {
-   |       +++++++++++++++     ~
+LL - fn foo(_x: Foo + Send) {
+LL + fn foo<T: Foo + Send>(_x: T) {
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL | fn foo(_x: impl Foo + Send) {
@@ -25,8 +26,9 @@ LL | fn bar(x: Foo) -> Foo {
    |
 help: use a new generic type parameter, constrained by `Foo`
    |
-LL | fn bar<T: Foo>(x: T) -> Foo {
-   |       ++++++++    ~
+LL - fn bar(x: Foo) -> Foo {
+LL + fn bar<T: Foo>(x: T) -> Foo {
+   |
 help: you can also use an opaque type, but users won't be able to specify the type parameter when calling the `fn`, having to rely exclusively on type inference
    |
 LL | fn bar(x: impl Foo) -> Foo {
diff --git a/tests/ui/traits/bound/not-on-bare-trait.stderr b/tests/ui/traits/bound/not-on-bare-trait.stderr
index c2cb303b018..9028e66fa02 100644
--- a/tests/ui/traits/bound/not-on-bare-trait.stderr
+++ b/tests/ui/traits/bound/not-on-bare-trait.stderr
@@ -39,8 +39,9 @@ LL | fn bar(_x: (dyn Foo + Send)) {
    = help: unsized fn params are gated as an unstable feature
 help: you can use `impl Trait` as the argument type
    |
-LL | fn bar(_x: (impl Foo + Send)) {
-   |             ~~~~
+LL - fn bar(_x: (dyn Foo + Send)) {
+LL + fn bar(_x: (impl Foo + Send)) {
+   |
 help: function arguments must have a statically known size, borrowed types always have a known size
    |
 LL | fn bar(_x: (&(dyn Foo + Send))) {
diff --git a/tests/ui/traits/bound/not-on-struct.stderr b/tests/ui/traits/bound/not-on-struct.stderr
index 2de35dc7fc3..1fb5b1c2067 100644
--- a/tests/ui/traits/bound/not-on-struct.stderr
+++ b/tests/ui/traits/bound/not-on-struct.stderr
@@ -166,8 +166,9 @@ LL + fn g() -> Traitor {
    |
 help: a trait with a similar name exists
    |
-LL | fn g() -> Trait + 'static {
-   |           ~~~~~
+LL - fn g() -> Traitor + 'static {
+LL + fn g() -> Trait + 'static {
+   |
 
 error: aborting due to 11 previous errors
 
diff --git a/tests/ui/traits/const-traits/eval-bad-signature.stderr b/tests/ui/traits/const-traits/eval-bad-signature.stderr
index a64cf631743..52de5283f7f 100644
--- a/tests/ui/traits/const-traits/eval-bad-signature.stderr
+++ b/tests/ui/traits/const-traits/eval-bad-signature.stderr
@@ -13,8 +13,9 @@ LL |     fn value() -> u32;
               found signature `fn() -> i64`
 help: change the output type to match the trait
    |
-LL |     fn value() -> u32 {
-   |                   ~~~
+LL -     fn value() -> i64 {
+LL +     fn value() -> u32 {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/traits/const-traits/ice-119717-constant-lifetime.stderr b/tests/ui/traits/const-traits/ice-119717-constant-lifetime.stderr
index 5af263de28c..c6e0c699520 100644
--- a/tests/ui/traits/const-traits/ice-119717-constant-lifetime.stderr
+++ b/tests/ui/traits/const-traits/ice-119717-constant-lifetime.stderr
@@ -24,8 +24,9 @@ LL |     fn from_residual(t: T) -> _ {
    |
 help: try replacing `_` with the type in the corresponding trait method signature
    |
-LL |     fn from_residual(t: T) -> T {
-   |                               ~
+LL -     fn from_residual(t: T) -> _ {
+LL +     fn from_residual(t: T) -> T {
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.stderr b/tests/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.stderr
index 460595dd961..139488d79f1 100644
--- a/tests/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.stderr
+++ b/tests/ui/traits/do-not-mention-type-params-by-name-in-suggestion-issue-96292.stderr
@@ -14,8 +14,9 @@ LL | impl<X> Method<u32> for Thing<X> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <Thing<bool> as Method<T>>::method(thing, 42);
-   |     +++++++++++++++++++++++++++++++++++     ~
+LL -     thing.method(42);
+LL +     <Thing<bool> as Method<T>>::method(thing, 42);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/traits/issue-28576.stderr b/tests/ui/traits/issue-28576.stderr
index ba61ce98554..50d7f8c56b2 100644
--- a/tests/ui/traits/issue-28576.stderr
+++ b/tests/ui/traits/issue-28576.stderr
@@ -38,8 +38,9 @@ LL | pub trait Bar: Foo<Assoc=()> {
    |           this trait is not dyn compatible...
 help: consider using an opaque type instead
    |
-LL |            impl Bar
-   |            ~~~~
+LL -            dyn Bar
+LL +            impl Bar
+   |
 
 error[E0277]: the size for values of type `Self` cannot be known at compilation time
   --> $DIR/issue-28576.rs:5:16
diff --git a/tests/ui/traits/issue-35869.stderr b/tests/ui/traits/issue-35869.stderr
index 503f9cee246..73cf9617854 100644
--- a/tests/ui/traits/issue-35869.stderr
+++ b/tests/ui/traits/issue-35869.stderr
@@ -13,8 +13,9 @@ LL |     fn foo(_: fn(u8) -> ());
               found signature `fn(fn(u16))`
 help: change the parameter type to match the trait
    |
-LL |     fn foo(_: fn(u8)) {}
-   |               ~~~~~~
+LL -     fn foo(_: fn(u16) -> ()) {}
+LL +     fn foo(_: fn(u8)) {}
+   |
 
 error[E0053]: method `bar` has an incompatible type for trait
   --> $DIR/issue-35869.rs:13:15
@@ -31,8 +32,9 @@ LL |     fn bar(_: Option<u8>);
               found signature `fn(Option<u16>)`
 help: change the parameter type to match the trait
    |
-LL |     fn bar(_: Option<u8>) {}
-   |               ~~~~~~~~~~
+LL -     fn bar(_: Option<u16>) {}
+LL +     fn bar(_: Option<u8>) {}
+   |
 
 error[E0053]: method `baz` has an incompatible type for trait
   --> $DIR/issue-35869.rs:15:15
@@ -49,8 +51,9 @@ LL |     fn baz(_: (u8, u16));
               found signature `fn((u16, _))`
 help: change the parameter type to match the trait
    |
-LL |     fn baz(_: (u8, u16)) {}
-   |               ~~~~~~~~~
+LL -     fn baz(_: (u16, u16)) {}
+LL +     fn baz(_: (u8, u16)) {}
+   |
 
 error[E0053]: method `qux` has an incompatible type for trait
   --> $DIR/issue-35869.rs:17:17
@@ -67,8 +70,9 @@ LL |     fn qux() -> u8;
               found signature `fn() -> u16`
 help: change the output type to match the trait
    |
-LL |     fn qux() -> u8 { 5u16 }
-   |                 ~~
+LL -     fn qux() -> u16 { 5u16 }
+LL +     fn qux() -> u8 { 5u16 }
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/traits/issue-50480.stderr b/tests/ui/traits/issue-50480.stderr
index 330b23b5755..d3c11238ede 100644
--- a/tests/ui/traits/issue-50480.stderr
+++ b/tests/ui/traits/issue-50480.stderr
@@ -47,8 +47,9 @@ LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
    |
 help: a type parameter with a similar name exists
    |
-LL | struct Bar<T>(T, T, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
-   |                  ~
+LL - struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
+LL + struct Bar<T>(T, T, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
+   |
 help: you might be missing a type parameter
    |
 LL | struct Bar<T, N>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
diff --git a/tests/ui/traits/issue-77982.stderr b/tests/ui/traits/issue-77982.stderr
index 4907a6dd17a..edc7f56ea46 100644
--- a/tests/ui/traits/issue-77982.stderr
+++ b/tests/ui/traits/issue-77982.stderr
@@ -52,8 +52,9 @@ LL |     let ips: Vec<_> = (0..100_000).map(|_| u32::from(0u32.into())).collect(
            - impl From<u8> for u32;
 help: try using a fully qualified path to specify the expected types
    |
-LL |     let ips: Vec<_> = (0..100_000).map(|_| u32::from(<u32 as Into<T>>::into(0u32))).collect();
-   |                                                      +++++++++++++++++++++++    ~
+LL -     let ips: Vec<_> = (0..100_000).map(|_| u32::from(0u32.into())).collect();
+LL +     let ips: Vec<_> = (0..100_000).map(|_| u32::from(<u32 as Into<T>>::into(0u32))).collect();
+   |
 
 error[E0283]: type annotations needed for `Box<_>`
   --> $DIR/issue-77982.rs:39:9
diff --git a/tests/ui/traits/issue-78372.stderr b/tests/ui/traits/issue-78372.stderr
index 86234d15a5d..d4dfba4f039 100644
--- a/tests/ui/traits/issue-78372.stderr
+++ b/tests/ui/traits/issue-78372.stderr
@@ -19,8 +19,9 @@ LL | impl<T> DispatchFromDyn<Smaht<U, MISC>> for T {}
    |
 help: a type parameter with a similar name exists
    |
-LL | impl<T> DispatchFromDyn<Smaht<T, MISC>> for T {}
-   |                               ~
+LL - impl<T> DispatchFromDyn<Smaht<U, MISC>> for T {}
+LL + impl<T> DispatchFromDyn<Smaht<T, MISC>> for T {}
+   |
 help: you might be missing a type parameter
    |
 LL | impl<T, U> DispatchFromDyn<Smaht<U, MISC>> for T {}
diff --git a/tests/ui/traits/item-privacy.stderr b/tests/ui/traits/item-privacy.stderr
index 58c558d6685..ddead3fdfd3 100644
--- a/tests/ui/traits/item-privacy.stderr
+++ b/tests/ui/traits/item-privacy.stderr
@@ -11,8 +11,9 @@ LL |     S.a();
    = help: trait `method::A` which provides `a` is implemented but not reachable
 help: there is a method `b` with a similar name
    |
-LL |     S.b();
-   |       ~
+LL -     S.a();
+LL +     S.b();
+   |
 
 error[E0599]: no method named `b` found for struct `S` in the current scope
   --> $DIR/item-privacy.rs:68:7
@@ -33,8 +34,9 @@ LL + use method::B;
    |
 help: there is a method `c` with a similar name
    |
-LL |     S.c();
-   |       ~
+LL -     S.b();
+LL +     S.c();
+   |
 
 error[E0624]: method `a` is private
   --> $DIR/item-privacy.rs:72:7
@@ -104,8 +106,9 @@ LL |     S::A;
    = help: trait `assoc_const::A` which provides `A` is implemented but not reachable
 help: there is an associated constant `B` with a similar name
    |
-LL |     S::B;
-   |        ~
+LL -     S::A;
+LL +     S::B;
+   |
 
 error[E0599]: no associated item named `B` found for struct `S` in the current scope
   --> $DIR/item-privacy.rs:98:8
@@ -169,8 +172,9 @@ LL |     let _: S::A;
    |
 help: if there were a trait named `Example` with associated type `A` implemented for `S`, you could use the fully-qualified path
    |
-LL |     let _: <S as Example>::A;
-   |            ~~~~~~~~~~~~~~~~~
+LL -     let _: S::A;
+LL +     let _: <S as Example>::A;
+   |
 
 error[E0223]: ambiguous associated type
   --> $DIR/item-privacy.rs:116:12
diff --git a/tests/ui/traits/method-argument-mismatch-variance-ice-119867.stderr b/tests/ui/traits/method-argument-mismatch-variance-ice-119867.stderr
index e63cc522dd1..d535c39639f 100644
--- a/tests/ui/traits/method-argument-mismatch-variance-ice-119867.stderr
+++ b/tests/ui/traits/method-argument-mismatch-variance-ice-119867.stderr
@@ -6,8 +6,9 @@ LL |     fn deserialize(s: _) {}
    |
 help: try replacing `_` with the type in the corresponding trait method signature
    |
-LL |     fn deserialize(s: &ArchivedVec<T>) {}
-   |                       ~~~~~~~~~~~~~~~
+LL -     fn deserialize(s: _) {}
+LL +     fn deserialize(s: &ArchivedVec<T>) {}
+   |
 
 error[E0186]: method `deserialize` has a `&self` declaration in the trait, but not in the impl
   --> $DIR/method-argument-mismatch-variance-ice-119867.rs:8:5
diff --git a/tests/ui/traits/multidispatch-bad.stderr b/tests/ui/traits/multidispatch-bad.stderr
index 0bb095fb0e1..f605459ca8c 100644
--- a/tests/ui/traits/multidispatch-bad.stderr
+++ b/tests/ui/traits/multidispatch-bad.stderr
@@ -13,8 +13,9 @@ LL | fn test<T,U>(_: T, _: U)
    |    ^^^^            ----
 help: change the type of the numeric literal from `i32` to `u32`
    |
-LL |     test(22i32, 44u32);
-   |                   ~~~
+LL -     test(22i32, 44i32);
+LL +     test(22i32, 44u32);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/traits/next-solver/diagnostics/coerce-in-may-coerce.stderr b/tests/ui/traits/next-solver/diagnostics/coerce-in-may-coerce.stderr
index 9c28f7b0792..e4775e41ba1 100644
--- a/tests/ui/traits/next-solver/diagnostics/coerce-in-may-coerce.stderr
+++ b/tests/ui/traits/next-solver/diagnostics/coerce-in-may-coerce.stderr
@@ -13,8 +13,9 @@ LL | fn arg_error(x: <fn() as Mirror>::Assoc, y: ()) { todo!() }
    |    ^^^^^^^^^
 help: swap these arguments
    |
-LL |     arg_error(|| (), ());
-   |              ~~~~~~~~~~~
+LL -     arg_error((), || ());
+LL +     arg_error(|| (), ());
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/traits/non_lifetime_binders/missing-assoc-item.stderr b/tests/ui/traits/non_lifetime_binders/missing-assoc-item.stderr
index eecf8e88fb6..02295307cb2 100644
--- a/tests/ui/traits/non_lifetime_binders/missing-assoc-item.stderr
+++ b/tests/ui/traits/non_lifetime_binders/missing-assoc-item.stderr
@@ -15,8 +15,9 @@ LL |     for<B> B::Item: Send,
    |
 help: if there were a trait named `Example` with associated type `Item` implemented for `B`, you could use the fully-qualified path
    |
-LL |     for<B> <B as Example>::Item: Send,
-   |            ~~~~~~~~~~~~~~~~~~~~
+LL -     for<B> B::Item: Send,
+LL +     for<B> <B as Example>::Item: Send,
+   |
 
 error: aborting due to 1 previous error; 1 warning emitted
 
diff --git a/tests/ui/traits/non_lifetime_binders/type-match-with-late-bound.stderr b/tests/ui/traits/non_lifetime_binders/type-match-with-late-bound.stderr
index 40e16dde6e4..1117ee7efb3 100644
--- a/tests/ui/traits/non_lifetime_binders/type-match-with-late-bound.stderr
+++ b/tests/ui/traits/non_lifetime_binders/type-match-with-late-bound.stderr
@@ -25,8 +25,9 @@ LL |     for<F> F: 'a,
    |               ^^
 help: consider adding an explicit lifetime bound
    |
-LL |     for<F> F: 'a, !1_"F": 'a
-   |                 ~~~~~~~~~~~~
+LL -     for<F> F: 'a,
+LL +     for<F> F: 'a, !1_"F": 'a
+   |
 
 error[E0309]: the placeholder type `!1_"F"` may not live long enough
   --> $DIR/type-match-with-late-bound.rs:11:1
@@ -39,8 +40,9 @@ LL | {}
    |
 help: consider adding an explicit lifetime bound
    |
-LL |     for<F> F: 'a, !1_"F": 'a
-   |                 ~~~~~~~~~~~~
+LL -     for<F> F: 'a,
+LL +     for<F> F: 'a, !1_"F": 'a
+   |
 
 error[E0309]: the placeholder type `!2_"F"` may not live long enough
   --> $DIR/type-match-with-late-bound.rs:11:1
@@ -53,8 +55,9 @@ LL | {}
    |
 help: consider adding an explicit lifetime bound
    |
-LL |     for<F> F: 'a, !2_"F": 'a
-   |                 ~~~~~~~~~~~~
+LL -     for<F> F: 'a,
+LL +     for<F> F: 'a, !2_"F": 'a
+   |
 
 error: aborting due to 3 previous errors; 1 warning emitted
 
diff --git a/tests/ui/traits/not-suggest-non-existing-fully-qualified-path.stderr b/tests/ui/traits/not-suggest-non-existing-fully-qualified-path.stderr
index 1d5489845ef..7a2db203ac3 100644
--- a/tests/ui/traits/not-suggest-non-existing-fully-qualified-path.stderr
+++ b/tests/ui/traits/not-suggest-non-existing-fully-qualified-path.stderr
@@ -21,8 +21,9 @@ LL |     T: I<U>,
    |        ---- unsatisfied trait bound introduced here
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <A<B> as V<U>>::method(a);
-   |     +++++++++++++++++++++++ ~
+LL -     a.method();
+LL +     <A<B> as V<U>>::method(a);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/traits/suggest-fully-qualified-closure.stderr b/tests/ui/traits/suggest-fully-qualified-closure.stderr
index a2c1115e673..8975d04d5b3 100644
--- a/tests/ui/traits/suggest-fully-qualified-closure.stderr
+++ b/tests/ui/traits/suggest-fully-qualified-closure.stderr
@@ -14,8 +14,9 @@ LL | impl MyTrait<u64> for Qqq{
    | ^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <Qqq as MyTrait<T>>::lol::<_>(&q, ||());
-   |     +++++++++++++++++++++++++++++++ ~
+LL -     q.lol(||());
+LL +     <Qqq as MyTrait<T>>::lol::<_>(&q, ||());
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/traits/suggest-fully-qualified-path-with-adjustment.stderr b/tests/ui/traits/suggest-fully-qualified-path-with-adjustment.stderr
index 841acb5ffd3..0996227e697 100644
--- a/tests/ui/traits/suggest-fully-qualified-path-with-adjustment.stderr
+++ b/tests/ui/traits/suggest-fully-qualified-path-with-adjustment.stderr
@@ -14,8 +14,9 @@ LL | impl Method<u32> for Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <Thing as Method<T>>::method(&thing);
-   |     ++++++++++++++++++++++++++++++     ~
+LL -     thing.method();
+LL +     <Thing as Method<T>>::method(&thing);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-with-adjustment.rs:46:11
@@ -33,8 +34,9 @@ LL | impl Method<u32> for Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <Thing as Method<T>>::mut_method(&mut thing);
-   |     +++++++++++++++++++++++++++++++++++++      ~
+LL -     thing.mut_method();
+LL +     <Thing as Method<T>>::mut_method(&mut thing);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-with-adjustment.rs:47:11
@@ -52,8 +54,9 @@ LL | impl MethodRef<u32> for &Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <&Thing as MethodRef<T>>::by_self(&thing);
-   |     +++++++++++++++++++++++++++++++++++     ~
+LL -     thing.by_self();
+LL +     <&Thing as MethodRef<T>>::by_self(&thing);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-with-adjustment.rs:50:14
@@ -71,8 +74,9 @@ LL | impl Method<u32> for Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <Thing as Method<T>>::method(&deref_to);
-   |     ++++++++++++++++++++++++++++++        ~
+LL -     deref_to.method();
+LL +     <Thing as Method<T>>::method(&deref_to);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-with-adjustment.rs:51:14
@@ -90,8 +94,9 @@ LL | impl Method<u32> for Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <Thing as Method<T>>::mut_method(&mut deref_to);
-   |     +++++++++++++++++++++++++++++++++++++         ~
+LL -     deref_to.mut_method();
+LL +     <Thing as Method<T>>::mut_method(&mut deref_to);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-with-adjustment.rs:52:14
@@ -109,8 +114,9 @@ LL | impl MethodRef<u32> for &Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <&Thing as MethodRef<T>>::by_self(&deref_to);
-   |     +++++++++++++++++++++++++++++++++++        ~
+LL -     deref_to.by_self();
+LL +     <&Thing as MethodRef<T>>::by_self(&deref_to);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-with-adjustment.rs:55:20
@@ -128,8 +134,9 @@ LL | impl Method<u32> for Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <Thing as Method<T>>::method(&deref_deref_to);
-   |     ++++++++++++++++++++++++++++++              ~
+LL -     deref_deref_to.method();
+LL +     <Thing as Method<T>>::method(&deref_deref_to);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-with-adjustment.rs:56:20
@@ -147,8 +154,9 @@ LL | impl Method<u32> for Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <Thing as Method<T>>::mut_method(&mut deref_deref_to);
-   |     +++++++++++++++++++++++++++++++++++++               ~
+LL -     deref_deref_to.mut_method();
+LL +     <Thing as Method<T>>::mut_method(&mut deref_deref_to);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-with-adjustment.rs:57:20
@@ -166,8 +174,9 @@ LL | impl MethodRef<u32> for &Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <&Thing as MethodRef<T>>::by_self(&deref_deref_to);
-   |     +++++++++++++++++++++++++++++++++++              ~
+LL -     deref_deref_to.by_self();
+LL +     <&Thing as MethodRef<T>>::by_self(&deref_deref_to);
+   |
 
 error: aborting due to 9 previous errors
 
diff --git a/tests/ui/traits/suggest-fully-qualified-path-without-adjustment.stderr b/tests/ui/traits/suggest-fully-qualified-path-without-adjustment.stderr
index 1865d81bad1..629904815f3 100644
--- a/tests/ui/traits/suggest-fully-qualified-path-without-adjustment.stderr
+++ b/tests/ui/traits/suggest-fully-qualified-path-without-adjustment.stderr
@@ -14,8 +14,9 @@ LL | impl Method<u32> for Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <Thing as Method<T>>::method(ref_thing);
-   |     +++++++++++++++++++++++++++++         ~
+LL -     ref_thing.method();
+LL +     <Thing as Method<T>>::method(ref_thing);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-without-adjustment.rs:46:15
@@ -33,8 +34,9 @@ LL | impl MethodRef<u32> for &Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <&Thing as MethodRef<T>>::by_self(ref_thing);
-   |     ++++++++++++++++++++++++++++++++++         ~
+LL -     ref_thing.by_self();
+LL +     <&Thing as MethodRef<T>>::by_self(ref_thing);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-without-adjustment.rs:49:15
@@ -52,8 +54,9 @@ LL | impl Method<u32> for Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <Thing as Method<T>>::method(mut_thing);
-   |     +++++++++++++++++++++++++++++         ~
+LL -     mut_thing.method();
+LL +     <Thing as Method<T>>::method(mut_thing);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-without-adjustment.rs:50:15
@@ -71,8 +74,9 @@ LL | impl Method<u32> for Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <Thing as Method<T>>::mut_method(mut_thing);
-   |     +++++++++++++++++++++++++++++++++         ~
+LL -     mut_thing.mut_method();
+LL +     <Thing as Method<T>>::mut_method(mut_thing);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-without-adjustment.rs:51:15
@@ -90,8 +94,9 @@ LL | impl MethodRef<u32> for &Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <&Thing as MethodRef<T>>::by_self(mut_thing);
-   |     ++++++++++++++++++++++++++++++++++         ~
+LL -     mut_thing.by_self();
+LL +     <&Thing as MethodRef<T>>::by_self(mut_thing);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-without-adjustment.rs:54:14
@@ -109,8 +114,9 @@ LL | impl Method<u32> for Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <Thing as Method<T>>::method(deref_to);
-   |     +++++++++++++++++++++++++++++        ~
+LL -     deref_to.method();
+LL +     <Thing as Method<T>>::method(deref_to);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-without-adjustment.rs:55:14
@@ -128,8 +134,9 @@ LL | impl Method<u32> for Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <Thing as Method<T>>::mut_method(deref_to);
-   |     +++++++++++++++++++++++++++++++++        ~
+LL -     deref_to.mut_method();
+LL +     <Thing as Method<T>>::mut_method(deref_to);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-without-adjustment.rs:56:14
@@ -147,8 +154,9 @@ LL | impl MethodRef<u32> for &Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <&Thing as MethodRef<T>>::by_self(deref_to);
-   |     ++++++++++++++++++++++++++++++++++        ~
+LL -     deref_to.by_self();
+LL +     <&Thing as MethodRef<T>>::by_self(deref_to);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-without-adjustment.rs:59:20
@@ -166,8 +174,9 @@ LL | impl Method<u32> for Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <Thing as Method<T>>::method(deref_deref_to);
-   |     +++++++++++++++++++++++++++++              ~
+LL -     deref_deref_to.method();
+LL +     <Thing as Method<T>>::method(deref_deref_to);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-without-adjustment.rs:60:20
@@ -185,8 +194,9 @@ LL | impl Method<u32> for Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <Thing as Method<T>>::mut_method(deref_deref_to);
-   |     +++++++++++++++++++++++++++++++++              ~
+LL -     deref_deref_to.mut_method();
+LL +     <Thing as Method<T>>::mut_method(deref_deref_to);
+   |
 
 error[E0283]: type annotations needed
   --> $DIR/suggest-fully-qualified-path-without-adjustment.rs:61:20
@@ -204,8 +214,9 @@ LL | impl MethodRef<u32> for &Thing {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: try using a fully qualified path to specify the expected types
    |
-LL |     <&Thing as MethodRef<T>>::by_self(deref_deref_to);
-   |     ++++++++++++++++++++++++++++++++++              ~
+LL -     deref_deref_to.by_self();
+LL +     <&Thing as MethodRef<T>>::by_self(deref_deref_to);
+   |
 
 error: aborting due to 11 previous errors
 
diff --git a/tests/ui/traits/trait-upcasting/subtrait-method.stderr b/tests/ui/traits/trait-upcasting/subtrait-method.stderr
index a7658a7bcd3..a16daa11d6f 100644
--- a/tests/ui/traits/trait-upcasting/subtrait-method.stderr
+++ b/tests/ui/traits/trait-upcasting/subtrait-method.stderr
@@ -12,8 +12,9 @@ LL | trait Baz: Bar {
    | ^^^^^^^^^^^^^^
 help: there is a method `a` with a similar name
    |
-LL |     bar.a();
-   |         ~
+LL -     bar.c();
+LL +     bar.a();
+   |
 
 error[E0599]: no method named `b` found for reference `&dyn Foo` in the current scope
   --> $DIR/subtrait-method.rs:57:9
@@ -29,8 +30,9 @@ LL | trait Bar: Foo {
    | ^^^^^^^^^^^^^^
 help: there is a method `a` with a similar name
    |
-LL |     foo.a();
-   |         ~
+LL -     foo.b();
+LL +     foo.a();
+   |
 
 error[E0599]: no method named `c` found for reference `&dyn Foo` in the current scope
   --> $DIR/subtrait-method.rs:59:9
@@ -46,8 +48,9 @@ LL | trait Baz: Bar {
    | ^^^^^^^^^^^^^^
 help: there is a method `a` with a similar name
    |
-LL |     foo.a();
-   |         ~
+LL -     foo.c();
+LL +     foo.a();
+   |
 
 error[E0599]: no method named `b` found for reference `&dyn Foo` in the current scope
   --> $DIR/subtrait-method.rs:63:9
@@ -63,8 +66,9 @@ LL | trait Bar: Foo {
    | ^^^^^^^^^^^^^^
 help: there is a method `a` with a similar name
    |
-LL |     foo.a();
-   |         ~
+LL -     foo.b();
+LL +     foo.a();
+   |
 
 error[E0599]: no method named `c` found for reference `&dyn Foo` in the current scope
   --> $DIR/subtrait-method.rs:65:9
@@ -80,8 +84,9 @@ LL | trait Baz: Bar {
    | ^^^^^^^^^^^^^^
 help: there is a method `a` with a similar name
    |
-LL |     foo.a();
-   |         ~
+LL -     foo.c();
+LL +     foo.a();
+   |
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/ui/traits/wrong-mul-method-signature.stderr b/tests/ui/traits/wrong-mul-method-signature.stderr
index e30b61622ae..c85775f4887 100644
--- a/tests/ui/traits/wrong-mul-method-signature.stderr
+++ b/tests/ui/traits/wrong-mul-method-signature.stderr
@@ -8,8 +8,9 @@ LL |     fn mul(self, s: &f64) -> Vec1 {
               found signature `fn(Vec1, &_) -> Vec1`
 help: change the parameter type to match the trait
    |
-LL |     fn mul(self, s: f64) -> Vec1 {
-   |                     ~~~
+LL -     fn mul(self, s: &f64) -> Vec1 {
+LL +     fn mul(self, s: f64) -> Vec1 {
+   |
 
 error[E0053]: method `mul` has an incompatible type for trait
   --> $DIR/wrong-mul-method-signature.rs:33:21
@@ -21,8 +22,9 @@ LL |     fn mul(self, s: f64) -> Vec2 {
               found signature `fn(Vec2, f64) -> Vec2`
 help: change the parameter type to match the trait
    |
-LL |     fn mul(self, s: Vec2) -> Vec2 {
-   |                     ~~~~
+LL -     fn mul(self, s: f64) -> Vec2 {
+LL +     fn mul(self, s: Vec2) -> Vec2 {
+   |
 
 error[E0053]: method `mul` has an incompatible type for trait
   --> $DIR/wrong-mul-method-signature.rs:52:29
@@ -34,8 +36,9 @@ LL |     fn mul(self, s: f64) -> f64 {
               found signature `fn(Vec3, _) -> f64`
 help: change the output type to match the trait
    |
-LL |     fn mul(self, s: f64) -> i32 {
-   |                             ~~~
+LL -     fn mul(self, s: f64) -> f64 {
+LL +     fn mul(self, s: f64) -> i32 {
+   |
 
 error[E0308]: mismatched types
   --> $DIR/wrong-mul-method-signature.rs:63:45
diff --git a/tests/ui/transmutability/assoc-bound.stderr b/tests/ui/transmutability/assoc-bound.stderr
index b3c7680bf29..4ff67bd636a 100644
--- a/tests/ui/transmutability/assoc-bound.stderr
+++ b/tests/ui/transmutability/assoc-bound.stderr
@@ -12,8 +12,9 @@ LL |     type AssocB: std::mem::TransmuteFrom<()>;
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `B::AssocB`
 help: consider further restricting the associated type
    |
-LL |     T: A, <T as A>::AssocA: TransmuteFrom<(), Assume { alignment: false, lifetimes: false, safety: false, validity: false }>
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     T: A,
+LL +     T: A, <T as A>::AssocA: TransmuteFrom<(), Assume { alignment: false, lifetimes: false, safety: false, validity: false }>
+   |
 
 error[E0277]: `()` cannot be safely transmuted into `<&i32 as A>::AssocA`
   --> $DIR/assoc-bound.rs:24:19
diff --git a/tests/ui/tuple/tuple-index-not-tuple.stderr b/tests/ui/tuple/tuple-index-not-tuple.stderr
index a267e41b1bc..faf9a313478 100644
--- a/tests/ui/tuple/tuple-index-not-tuple.stderr
+++ b/tests/ui/tuple/tuple-index-not-tuple.stderr
@@ -6,8 +6,9 @@ LL |     origin.0;
    |
 help: a field with a similar name exists
    |
-LL |     origin.x;
-   |            ~
+LL -     origin.0;
+LL +     origin.x;
+   |
 
 error[E0609]: no field `0` on type `Empty`
   --> $DIR/tuple-index-not-tuple.rs:8:11
diff --git a/tests/ui/tuple/tuple-index-out-of-bounds.stderr b/tests/ui/tuple/tuple-index-out-of-bounds.stderr
index 96090435d06..8b3c835c3e3 100644
--- a/tests/ui/tuple/tuple-index-out-of-bounds.stderr
+++ b/tests/ui/tuple/tuple-index-out-of-bounds.stderr
@@ -6,8 +6,9 @@ LL |     origin.2;
    |
 help: a field with a similar name exists
    |
-LL |     origin.0;
-   |            ~
+LL -     origin.2;
+LL +     origin.0;
+   |
 
 error[E0609]: no field `2` on type `({integer}, {integer})`
   --> $DIR/tuple-index-out-of-bounds.rs:12:11
diff --git a/tests/ui/type-alias-enum-variants/enum-variant-generic-args.stderr b/tests/ui/type-alias-enum-variants/enum-variant-generic-args.stderr
index 482a314db60..8caf17ae2da 100644
--- a/tests/ui/type-alias-enum-variants/enum-variant-generic-args.stderr
+++ b/tests/ui/type-alias-enum-variants/enum-variant-generic-args.stderr
@@ -43,8 +43,9 @@ LL | impl<T> Enum<T> {
    | --------------- `Self` is on type `Enum` in this `impl`
 help: the `Self` type doesn't accept type parameters, use the concrete type's name `Enum` instead if you want to specify its type parameters
    |
-LL |         Enum::<()>::TSVariant(());
-   |         ~~~~
+LL -         Self::<()>::TSVariant(());
+LL +         Enum::<()>::TSVariant(());
+   |
 
 error[E0308]: mismatched types
   --> $DIR/enum-variant-generic-args.rs:17:31
@@ -83,8 +84,9 @@ LL | impl<T> Enum<T> {
    | --------------- `Self` is on type `Enum` in this `impl`
 help: the `Self` type doesn't accept type parameters, use the concrete type's name `Enum` instead if you want to specify its type parameters
    |
-LL |         Enum::<()>::TSVariant::<()>(());
-   |         ~~~~
+LL -         Self::<()>::TSVariant::<()>(());
+LL +         Enum::<()>::TSVariant::<()>(());
+   |
 
 error[E0109]: type arguments are not allowed on this type
   --> $DIR/enum-variant-generic-args.rs:20:33
@@ -151,8 +153,9 @@ LL | impl<T> Enum<T> {
    | --------------- `Self` is on type `Enum` in this `impl`
 help: the `Self` type doesn't accept type parameters, use the concrete type's name `Enum` instead if you want to specify its type parameters
    |
-LL |         Enum::<()>::SVariant { v: () };
-   |         ~~~~
+LL -         Self::<()>::SVariant { v: () };
+LL +         Enum::<()>::SVariant { v: () };
+   |
 
 error[E0308]: mismatched types
   --> $DIR/enum-variant-generic-args.rs:31:35
@@ -184,8 +187,9 @@ LL | impl<T> Enum<T> {
    | --------------- `Self` is on type `Enum` in this `impl`
 help: the `Self` type doesn't accept type parameters, use the concrete type's name `Enum` instead if you want to specify its type parameters
    |
-LL |         Enum::<()>::SVariant::<()> { v: () };
-   |         ~~~~
+LL -         Self::<()>::SVariant::<()> { v: () };
+LL +         Enum::<()>::SVariant::<()> { v: () };
+   |
 
 error[E0109]: type arguments are not allowed on this type
   --> $DIR/enum-variant-generic-args.rs:34:32
@@ -240,8 +244,9 @@ LL | impl<T> Enum<T> {
    | --------------- `Self` is on type `Enum` in this `impl`
 help: the `Self` type doesn't accept type parameters, use the concrete type's name `Enum` instead if you want to specify its type parameters
    |
-LL |         Enum::<()>::UVariant;
-   |         ~~~~
+LL -         Self::<()>::UVariant;
+LL +         Enum::<()>::UVariant;
+   |
 
 error[E0109]: type arguments are not allowed on self type
   --> $DIR/enum-variant-generic-args.rs:45:16
@@ -261,8 +266,9 @@ LL | impl<T> Enum<T> {
    | --------------- `Self` is on type `Enum` in this `impl`
 help: the `Self` type doesn't accept type parameters, use the concrete type's name `Enum` instead if you want to specify its type parameters
    |
-LL |         Enum::<()>::UVariant::<()>;
-   |         ~~~~
+LL -         Self::<()>::UVariant::<()>;
+LL +         Enum::<()>::UVariant::<()>;
+   |
 
 error[E0109]: type arguments are not allowed on this type
   --> $DIR/enum-variant-generic-args.rs:45:32
diff --git a/tests/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.stderr b/tests/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.stderr
index 371f5b10988..c4deafd4f6b 100644
--- a/tests/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.stderr
+++ b/tests/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.stderr
@@ -11,8 +11,9 @@ LL |     V(u8)
    |     ^
 help: provide the argument
    |
-LL |     <E>::V(/* u8 */);
-   |           ~~~~~~~~~~
+LL -     <E>::V();
+LL +     <E>::V(/* u8 */);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/enum-variant-priority-higher-than-other-inherent.rs:22:17
diff --git a/tests/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.stderr b/tests/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.stderr
index 714b4fd7d25..1ed78cbc0da 100644
--- a/tests/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.stderr
+++ b/tests/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.stderr
@@ -28,8 +28,9 @@ LL |     let Alias::Braced(..) = panic!();
    |
 help: use the struct variant pattern syntax
    |
-LL |     let Alias::Braced {} = panic!();
-   |                       ~~
+LL -     let Alias::Braced(..) = panic!();
+LL +     let Alias::Braced {} = panic!();
+   |
 
 error[E0618]: expected function, found enum variant `Alias::Unit`
   --> $DIR/incorrect-variant-form-through-alias-caught.rs:15:5
diff --git a/tests/ui/type-alias-impl-trait/unnameable_type.stderr b/tests/ui/type-alias-impl-trait/unnameable_type.stderr
index 5b331c5660d..25dc41df419 100644
--- a/tests/ui/type-alias-impl-trait/unnameable_type.stderr
+++ b/tests/ui/type-alias-impl-trait/unnameable_type.stderr
@@ -16,8 +16,9 @@ LL |         fn dont_define_this(_private: Private) {}
               found signature `fn(MyPrivate)`
 help: change the parameter type to match the trait
    |
-LL |     fn dont_define_this(private: Private) {
-   |                                  ~~~~~~~
+LL -     fn dont_define_this(private: MyPrivate) {
+LL +     fn dont_define_this(private: Private) {
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/type-alias/unresolved-assoc-ty-suggest-trait.eager.stderr b/tests/ui/type-alias/unresolved-assoc-ty-suggest-trait.eager.stderr
index e891ff10fda..b0b183d652b 100644
--- a/tests/ui/type-alias/unresolved-assoc-ty-suggest-trait.eager.stderr
+++ b/tests/ui/type-alias/unresolved-assoc-ty-suggest-trait.eager.stderr
@@ -17,8 +17,9 @@ LL | type AssokOf<T> = T::Assok;
    |
 help: consider fully qualifying and renaming the associated type
    |
-LL | type AssokOf<T> = <T as Trait>::Assoc;
-   |                   +  +++++++++  ~~~~~
+LL - type AssokOf<T> = T::Assok;
+LL + type AssokOf<T> = <T as Trait>::Assoc;
+   |
 
 error[E0220]: associated type `Proj` not found for `T`
   --> $DIR/unresolved-assoc-ty-suggest-trait.rs:22:21
diff --git a/tests/ui/type-alias/unresolved-assoc-ty-suggest-trait.lazy.stderr b/tests/ui/type-alias/unresolved-assoc-ty-suggest-trait.lazy.stderr
index 885c6ec9d8e..79b9db1edf7 100644
--- a/tests/ui/type-alias/unresolved-assoc-ty-suggest-trait.lazy.stderr
+++ b/tests/ui/type-alias/unresolved-assoc-ty-suggest-trait.lazy.stderr
@@ -21,8 +21,9 @@ LL | type AssokOf<T: Trait> = T::Assok;
    |               +++++++
 help: ...and changing the associated type name
    |
-LL | type AssokOf<T> = T::Assoc;
-   |                      ~~~~~
+LL - type AssokOf<T> = T::Assok;
+LL + type AssokOf<T> = T::Assoc;
+   |
 
 error[E0220]: associated type `Proj` not found for `T`
   --> $DIR/unresolved-assoc-ty-suggest-trait.rs:22:21
diff --git a/tests/ui/type/issue-100584.stderr b/tests/ui/type/issue-100584.stderr
index e1db14d1f00..7cbab154066 100644
--- a/tests/ui/type/issue-100584.stderr
+++ b/tests/ui/type/issue-100584.stderr
@@ -19,8 +19,9 @@ LL |     let _ = format!("{xyza}");
    |             ++++++++        +
 help: if this is intentional, prefix it with an underscore
    |
-LL | fn foo(_xyza: &str) {
-   |        ~~~~~
+LL - fn foo(xyza: &str) {
+LL + fn foo(_xyza: &str) {
+   |
 
 error: unused variable: `xyza`
   --> $DIR/issue-100584.rs:7:9
@@ -37,8 +38,9 @@ LL |     let _ = format!("aaa{xyza}bbb");
    |             ++++++++              +
 help: if this is intentional, prefix it with an underscore
    |
-LL | fn foo3(_xyza: &str) {
-   |         ~~~~~
+LL - fn foo3(xyza: &str) {
+LL + fn foo3(_xyza: &str) {
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/type/issue-103271.stderr b/tests/ui/type/issue-103271.stderr
index f4dac51b2b4..1b84033291a 100644
--- a/tests/ui/type/issue-103271.stderr
+++ b/tests/ui/type/issue-103271.stderr
@@ -6,8 +6,9 @@ LL |     let iter_fun = <&[u32]>::iter;
    |
 help: the function `iter` is implemented on `[u32]`
    |
-LL |     let iter_fun = <[u32]>::iter;
-   |                     ~~~~~
+LL -     let iter_fun = <&[u32]>::iter;
+LL +     let iter_fun = <[u32]>::iter;
+   |
 
 error[E0599]: no function or associated item named `iter` found for reference `&[u32]` in the current scope
   --> $DIR/issue-103271.rs:10:33
@@ -17,8 +18,9 @@ LL |     let iter_fun2 = <(&[u32])>::iter;
    |
 help: the function `iter` is implemented on `[u32]`
    |
-LL |     let iter_fun2 = <([u32])>::iter;
-   |                       ~~~~~
+LL -     let iter_fun2 = <(&[u32])>::iter;
+LL +     let iter_fun2 = <([u32])>::iter;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/type/pattern_types/pattern_type_mismatch.stderr b/tests/ui/type/pattern_types/pattern_type_mismatch.stderr
index 19b0c1059c8..aaf41ed6eba 100644
--- a/tests/ui/type/pattern_types/pattern_type_mismatch.stderr
+++ b/tests/ui/type/pattern_types/pattern_type_mismatch.stderr
@@ -6,8 +6,9 @@ LL | const BAD_NESTING4: pattern_type!(u8 is 'a'..='a') = todo!();
    |
 help: if you meant to write a byte literal, prefix with `b`
    |
-LL | const BAD_NESTING4: pattern_type!(u8 is b'a'..='a') = todo!();
-   |                                         ~~~~
+LL - const BAD_NESTING4: pattern_type!(u8 is 'a'..='a') = todo!();
+LL + const BAD_NESTING4: pattern_type!(u8 is b'a'..='a') = todo!();
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern_type_mismatch.rs:8:47
@@ -17,8 +18,9 @@ LL | const BAD_NESTING4: pattern_type!(u8 is 'a'..='a') = todo!();
    |
 help: if you meant to write a byte literal, prefix with `b`
    |
-LL | const BAD_NESTING4: pattern_type!(u8 is 'a'..=b'a') = todo!();
-   |                                               ~~~~
+LL - const BAD_NESTING4: pattern_type!(u8 is 'a'..='a') = todo!();
+LL + const BAD_NESTING4: pattern_type!(u8 is 'a'..=b'a') = todo!();
+   |
 
 error[E0308]: mismatched types
   --> $DIR/pattern_type_mismatch.rs:12:43
diff --git a/tests/ui/type/type-ascription-instead-of-statement-end.stderr b/tests/ui/type/type-ascription-instead-of-statement-end.stderr
index 34c88642323..34759b413d8 100644
--- a/tests/ui/type/type-ascription-instead-of-statement-end.stderr
+++ b/tests/ui/type/type-ascription-instead-of-statement-end.stderr
@@ -7,8 +7,9 @@ LL |     println!("test"):
    = note: if you meant to annotate an expression with a type, the type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
 help: use a semicolon instead
    |
-LL |     println!("test");
-   |                     ~
+LL -     println!("test"):
+LL +     println!("test");
+   |
 
 error: expected one of `.`, `;`, `?`, `}`, or an operator, found `:`
   --> $DIR/type-ascription-instead-of-statement-end.rs:7:21
diff --git a/tests/ui/type/type-ascription-with-fn-call.stderr b/tests/ui/type/type-ascription-with-fn-call.stderr
index 2691f10cf3e..4222762373d 100644
--- a/tests/ui/type/type-ascription-with-fn-call.stderr
+++ b/tests/ui/type/type-ascription-with-fn-call.stderr
@@ -7,8 +7,9 @@ LL |     f()  :
    = note: if you meant to annotate an expression with a type, the type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
 help: use a semicolon instead
    |
-LL |     f()  ;
-   |          ~
+LL -     f()  :
+LL +     f()  ;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/type/type-check/issue-41314.stderr b/tests/ui/type/type-check/issue-41314.stderr
index 2a089029b0a..6a1b22c542c 100644
--- a/tests/ui/type/type-check/issue-41314.stderr
+++ b/tests/ui/type/type-check/issue-41314.stderr
@@ -6,8 +6,9 @@ LL |         X::Y { number } => {}
    |
 help: use the tuple variant pattern syntax instead
    |
-LL |         X::Y(number) => {}
-   |             ~~~~~~~~
+LL -         X::Y { number } => {}
+LL +         X::Y(number) => {}
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/type/type-check/point-at-inference-3.stderr b/tests/ui/type/type-check/point-at-inference-3.stderr
index 663799e9f86..58460aefdf8 100644
--- a/tests/ui/type/type-check/point-at-inference-3.stderr
+++ b/tests/ui/type/type-check/point-at-inference-3.stderr
@@ -15,8 +15,9 @@ note: method defined here
   --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
 help: change the type of the numeric literal from `u32` to `i32`
    |
-LL |     v.push(1i32);
-   |             ~~~
+LL -     v.push(1u32);
+LL +     v.push(1i32);
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/type/type-check/point-at-inference-4.stderr b/tests/ui/type/type-check/point-at-inference-4.stderr
index 544c25934ec..52d603c5980 100644
--- a/tests/ui/type/type-check/point-at-inference-4.stderr
+++ b/tests/ui/type/type-check/point-at-inference-4.stderr
@@ -11,8 +11,9 @@ LL |     fn infer(&self, a: A, b: B) {}
    |        ^^^^^              ----
 help: provide the argument
    |
-LL |     s.infer(0i32, /* b */);
-   |            ~~~~~~~~~~~~~~~
+LL -     s.infer(0i32);
+LL +     s.infer(0i32, /* b */);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/point-at-inference-4.rs:18:24
@@ -31,8 +32,9 @@ LL |     let t: S<u32, _> = s;
               found struct `S<i32, _>`
 help: change the type of the numeric literal from `i32` to `u32`
    |
-LL |     s.infer(0u32);
-   |              ~~~
+LL -     s.infer(0i32);
+LL +     s.infer(0u32);
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/type/type-dependent-def-issue-49241.stderr b/tests/ui/type/type-dependent-def-issue-49241.stderr
index cf372dc5968..9b395af8c13 100644
--- a/tests/ui/type/type-dependent-def-issue-49241.stderr
+++ b/tests/ui/type/type-dependent-def-issue-49241.stderr
@@ -6,8 +6,9 @@ LL |     const l: usize = v.count();
    |
 help: consider using `let` instead of `const`
    |
-LL |     let l: usize = v.count();
-   |     ~~~
+LL -     const l: usize = v.count();
+LL +     let l: usize = v.count();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/type/wrong-call-return-type-due-to-generic-arg.stderr b/tests/ui/type/wrong-call-return-type-due-to-generic-arg.stderr
index fbe6bfeebb1..53920bc9e02 100644
--- a/tests/ui/type/wrong-call-return-type-due-to-generic-arg.stderr
+++ b/tests/ui/type/wrong-call-return-type-due-to-generic-arg.stderr
@@ -13,8 +13,9 @@ LL | fn wrong_arg_type(x: u32) -> u32 {
    |    ^^^^^^^^^^^^^^ ------
 help: change the type of the numeric literal from `u16` to `u32`
    |
-LL |     let x = wrong_arg_type(0u32);
-   |                             ~~~
+LL -     let x = wrong_arg_type(0u16);
+LL +     let x = wrong_arg_type(0u32);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:19:30
@@ -52,8 +53,9 @@ LL | fn function<T>(x: T, y: bool) -> T {
    |    ^^^^^^^^    ----  -------
 help: change the type of the numeric literal from `u32` to `u16`
    |
-LL |     let x: u16 = function(0u16, 0u8);
-   |                            ~~~
+LL -     let x: u16 = function(0u32, 0u8);
+LL +     let x: u16 = function(0u16, 0u8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:25:27
@@ -77,8 +79,9 @@ LL | fn function<T>(x: T, y: bool) -> T {
    |    ^^^^^^^^    ----
 help: change the type of the numeric literal from `u32` to `u16`
    |
-LL |     let x: u16 = function(0u16, true);
-   |                            ~~~
+LL -     let x: u16 = function(0u32, true);
+LL +     let x: u16 = function(0u16, true);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:26:32
@@ -102,8 +105,9 @@ LL |     fn method<T>(&self, x: T) -> T {
    |        ^^^^^^           ----
 help: change the type of the numeric literal from `u32` to `u16`
    |
-LL |     let x: u16 = (S {}).method(0u16);
-   |                                 ~~~
+LL -     let x: u16 = (S {}).method(0u32);
+LL +     let x: u16 = (S {}).method(0u16);
+   |
 
 error[E0308]: arguments to this function are incorrect
   --> $DIR/wrong-call-return-type-due-to-generic-arg.rs:27:5
diff --git a/tests/ui/typeck/attempted-access-non-fatal.stderr b/tests/ui/typeck/attempted-access-non-fatal.stderr
index bff669727a1..03334759baf 100644
--- a/tests/ui/typeck/attempted-access-non-fatal.stderr
+++ b/tests/ui/typeck/attempted-access-non-fatal.stderr
@@ -18,8 +18,9 @@ LL |     let _ = 0.f;
    |
 help: if intended to be a floating point literal, consider adding a `0` after the period and a `f32` suffix
    |
-LL |     let _ = 0.0f32;
-   |               ~~~~
+LL -     let _ = 0.f;
+LL +     let _ = 0.0f32;
+   |
 
 error[E0610]: `{integer}` is a primitive type and therefore doesn't have fields
   --> $DIR/attempted-access-non-fatal.rs:7:15
@@ -29,8 +30,9 @@ LL |     let _ = 2.l;
    |
 help: if intended to be a floating point literal, consider adding a `0` after the period and a `f64` suffix
    |
-LL |     let _ = 2.0f64;
-   |               ~~~~
+LL -     let _ = 2.l;
+LL +     let _ = 2.0f64;
+   |
 
 error[E0610]: `{integer}` is a primitive type and therefore doesn't have fields
   --> $DIR/attempted-access-non-fatal.rs:8:16
@@ -40,8 +42,9 @@ LL |     let _ = 12.F;
    |
 help: if intended to be a floating point literal, consider adding a `0` after the period and a `f32` suffix
    |
-LL |     let _ = 12.0f32;
-   |                ~~~~
+LL -     let _ = 12.F;
+LL +     let _ = 12.0f32;
+   |
 
 error[E0610]: `{integer}` is a primitive type and therefore doesn't have fields
   --> $DIR/attempted-access-non-fatal.rs:9:16
@@ -51,8 +54,9 @@ LL |     let _ = 34.L;
    |
 help: if intended to be a floating point literal, consider adding a `0` after the period and a `f64` suffix
    |
-LL |     let _ = 34.0f64;
-   |                ~~~~
+LL -     let _ = 34.L;
+LL +     let _ = 34.0f64;
+   |
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/typeck/check-args-on-fn-err-2.stderr b/tests/ui/typeck/check-args-on-fn-err-2.stderr
index 301bb88dbac..ccc006a902d 100644
--- a/tests/ui/typeck/check-args-on-fn-err-2.stderr
+++ b/tests/ui/typeck/check-args-on-fn-err-2.stderr
@@ -8,8 +8,9 @@ LL |     a((), 1i32 == 2u32);
    |
 help: change the type of the numeric literal from `u32` to `i32`
    |
-LL |     a((), 1i32 == 2i32);
-   |                    ~~~
+LL -     a((), 1i32 == 2u32);
+LL +     a((), 1i32 == 2i32);
+   |
 
 error[E0425]: cannot find function `a` in this scope
   --> $DIR/check-args-on-fn-err-2.rs:2:5
diff --git a/tests/ui/typeck/cyclic_type_ice.stderr b/tests/ui/typeck/cyclic_type_ice.stderr
index 36715b4ee5d..4dc02a53c02 100644
--- a/tests/ui/typeck/cyclic_type_ice.stderr
+++ b/tests/ui/typeck/cyclic_type_ice.stderr
@@ -22,8 +22,9 @@ LL |     let f = |_, _| ();
    |             ^^^^^^
 help: provide the argument
    |
-LL |     f(/*  */, /*  */);
-   |      ~~~~~~~~~~~~~~~~
+LL -     f(f);
+LL +     f(/*  */, /*  */);
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/typeck/deref-multi.stderr b/tests/ui/typeck/deref-multi.stderr
index 4346e273d0d..02513853c48 100644
--- a/tests/ui/typeck/deref-multi.stderr
+++ b/tests/ui/typeck/deref-multi.stderr
@@ -34,8 +34,9 @@ LL |     &x
    |
 help: consider removing the `&` and dereferencing the borrow instead
    |
-LL |     *x
-   |     ~
+LL -     &x
+LL +     *x
+   |
 
 error[E0308]: mismatched types
   --> $DIR/deref-multi.rs:17:5
@@ -49,8 +50,9 @@ LL |     &x
            found reference `&Box<i32>`
 help: consider removing the `&` and dereferencing the borrow instead
    |
-LL |     *x
-   |     ~
+LL -     &x
+LL +     *x
+   |
 
 error[E0308]: mismatched types
   --> $DIR/deref-multi.rs:22:5
diff --git a/tests/ui/typeck/ice-self-mismatch-const-generics.stderr b/tests/ui/typeck/ice-self-mismatch-const-generics.stderr
index 068cf3ee903..8b820668129 100644
--- a/tests/ui/typeck/ice-self-mismatch-const-generics.stderr
+++ b/tests/ui/typeck/ice-self-mismatch-const-generics.stderr
@@ -12,8 +12,9 @@ LL |         Self { thing }
               found struct `GenericStruct<0, _>`
 help: use the type name directly
    |
-LL |         GenericStruct::<1, T> { thing }
-   |         ~~~~~~~~~~~~~~~~~~~~~
+LL -         Self { thing }
+LL +         GenericStruct::<1, T> { thing }
+   |
 
 error[E0308]: mismatched types
   --> $DIR/ice-self-mismatch-const-generics.rs:20:9
@@ -29,8 +30,9 @@ LL |         Self { 0: thing }
               found struct `GenericStruct2<0, _>`
 help: use the type name directly
    |
-LL |         GenericStruct2::<1, T> { 0: thing }
-   |         ~~~~~~~~~~~~~~~~~~~~~~
+LL -         Self { 0: thing }
+LL +         GenericStruct2::<1, T> { 0: thing }
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/typeck/ice-unexpected-region-123863.stderr b/tests/ui/typeck/ice-unexpected-region-123863.stderr
index 742096f3861..8a4d767c143 100644
--- a/tests/ui/typeck/ice-unexpected-region-123863.stderr
+++ b/tests/ui/typeck/ice-unexpected-region-123863.stderr
@@ -38,8 +38,9 @@ LL |     Inner::concat_strs::<"a">::A
    |
 help: if there were a trait named `Example` with associated type `concat_strs` implemented for `Inner<_>`, you could use the fully-qualified path
    |
-LL |     <Inner<_> as Example>::concat_strs::A
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     Inner::concat_strs::<"a">::A
+LL +     <Inner<_> as Example>::concat_strs::A
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/typeck/issue-104582.stderr b/tests/ui/typeck/issue-104582.stderr
index 61b6b23642c..704579698b9 100644
--- a/tests/ui/typeck/issue-104582.stderr
+++ b/tests/ui/typeck/issue-104582.stderr
@@ -6,8 +6,9 @@ LL |     let my_var: String(String?);
    |
 help: if you meant to express that the type might not contain a value, use the `Option` wrapper type
    |
-LL |     let my_var: String(Option<String>);
-   |                        +++++++      ~
+LL -     let my_var: String(String?);
+LL +     let my_var: String(Option<String>);
+   |
 
 error[E0214]: parenthesized type parameters may only be used with a `Fn` trait
   --> $DIR/issue-104582.rs:2:17
@@ -17,8 +18,9 @@ LL |     let my_var: String(String?);
    |
 help: use angle brackets instead
    |
-LL |     let my_var: String<String?>;
-   |                       ~       ~
+LL -     let my_var: String(String?);
+LL +     let my_var: String<String?>;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/typeck/issue-110052.stderr b/tests/ui/typeck/issue-110052.stderr
index 5eb10d9a30e..649fc8429b9 100644
--- a/tests/ui/typeck/issue-110052.stderr
+++ b/tests/ui/typeck/issue-110052.stderr
@@ -6,10 +6,12 @@ LL |     for<'iter> dyn Validator<<&'iter I>::Item>:,
    |
 help: use fully-qualified syntax
    |
-LL |     for<'iter> dyn Validator<<&'iter I as IntoAsyncIterator>::Item>:,
-   |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-LL |     for<'iter> dyn Validator<<&'iter I as IntoIterator>::Item>:,
-   |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     for<'iter> dyn Validator<<&'iter I>::Item>:,
+LL +     for<'iter> dyn Validator<<&'iter I as IntoAsyncIterator>::Item>:,
+   |
+LL -     for<'iter> dyn Validator<<&'iter I>::Item>:,
+LL +     for<'iter> dyn Validator<<&'iter I as IntoIterator>::Item>:,
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/typeck/issue-112252-ptr-arithmetics-help.stderr b/tests/ui/typeck/issue-112252-ptr-arithmetics-help.stderr
index f81736245f3..18a992b2f34 100644
--- a/tests/ui/typeck/issue-112252-ptr-arithmetics-help.stderr
+++ b/tests/ui/typeck/issue-112252-ptr-arithmetics-help.stderr
@@ -8,8 +8,9 @@ LL |     let _a = _ptr1 + 5;
    |
 help: consider using `wrapping_add` or `add` for pointer + {integer}
    |
-LL |     let _a = _ptr1.wrapping_add(5);
-   |                   ~~~~~~~~~~~~~~ +
+LL -     let _a = _ptr1 + 5;
+LL +     let _a = _ptr1.wrapping_add(5);
+   |
 
 error[E0369]: cannot subtract `{integer}` from `*const u32`
   --> $DIR/issue-112252-ptr-arithmetics-help.rs:7:20
@@ -21,8 +22,9 @@ LL |     let _b = _ptr1 - 5;
    |
 help: consider using `wrapping_sub` or `sub` for pointer - {integer}
    |
-LL |     let _b = _ptr1.wrapping_sub(5);
-   |                   ~~~~~~~~~~~~~~ +
+LL -     let _b = _ptr1 - 5;
+LL +     let _b = _ptr1.wrapping_sub(5);
+   |
 
 error[E0369]: cannot subtract `*const u32` from `*const u32`
   --> $DIR/issue-112252-ptr-arithmetics-help.rs:8:20
@@ -34,8 +36,9 @@ LL |     let _c = _ptr2 - _ptr1;
    |
 help: consider using `offset_from` for pointer - pointer if the pointers point to the same allocation
    |
-LL |     let _c = unsafe { _ptr2.offset_from(_ptr1) };
-   |              ++++++++      ~~~~~~~~~~~~~     +++
+LL -     let _c = _ptr2 - _ptr1;
+LL +     let _c = unsafe { _ptr2.offset_from(_ptr1) };
+   |
 
 error[E0608]: cannot index into a value of type `*const u32`
   --> $DIR/issue-112252-ptr-arithmetics-help.rs:9:19
@@ -45,8 +48,9 @@ LL |     let _d = _ptr1[5];
    |
 help: consider using `wrapping_add` or `add` for indexing into raw pointer
    |
-LL |     let _d = _ptr1.wrapping_add(5);
-   |                   ~~~~~~~~~~~~~~ ~
+LL -     let _d = _ptr1[5];
+LL +     let _d = _ptr1.wrapping_add(5);
+   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/typeck/issue-114529-illegal-break-with-value.stderr b/tests/ui/typeck/issue-114529-illegal-break-with-value.stderr
index 731f234c162..de993df722c 100644
--- a/tests/ui/typeck/issue-114529-illegal-break-with-value.stderr
+++ b/tests/ui/typeck/issue-114529-illegal-break-with-value.stderr
@@ -8,8 +8,9 @@ LL |             break 9;
    |
 help: use `break` on its own without a value inside this `while` loop
    |
-LL |             break;
-   |             ~~~~~
+LL -             break 9;
+LL +             break;
+   |
 
 error[E0571]: `break` with value from a `while` loop
   --> $DIR/issue-114529-illegal-break-with-value.rs:16:13
@@ -21,8 +22,9 @@ LL |             break v;
    |
 help: use `break` on its own without a value inside this `while` loop
    |
-LL |             break;
-   |             ~~~~~
+LL -             break v;
+LL +             break;
+   |
 
 error[E0571]: `break` with value from a `while` loop
   --> $DIR/issue-114529-illegal-break-with-value.rs:22:9
@@ -36,8 +38,11 @@ LL | |         });
    |
 help: use `break` on its own without a value inside this `while` loop
    |
-LL |         break;
-   |         ~~~~~
+LL -         break (|| {
+LL -             let local = 9;
+LL -         });
+LL +         break;
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/typeck/issue-29181.stderr b/tests/ui/typeck/issue-29181.stderr
index 53addf2fe4d..e73c3e51881 100644
--- a/tests/ui/typeck/issue-29181.stderr
+++ b/tests/ui/typeck/issue-29181.stderr
@@ -12,8 +12,9 @@ LL |     let _ = |x: f64| x * 2.0.exp();
    |
 help: you must specify a concrete type for this numeric value, like `f32`
    |
-LL |     let _ = |x: f64| x * 2.0_f32.exp();
-   |                          ~~~~~~~
+LL -     let _ = |x: f64| x * 2.0.exp();
+LL +     let _ = |x: f64| x * 2.0_f32.exp();
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/typeck/issue-53712.stderr b/tests/ui/typeck/issue-53712.stderr
index ffaf5cde1d7..16a7ce0ea62 100644
--- a/tests/ui/typeck/issue-53712.stderr
+++ b/tests/ui/typeck/issue-53712.stderr
@@ -6,8 +6,9 @@ LL |     arr.0;
    |
 help: instead of using tuple indexing, use array indexing
    |
-LL |     arr[0];
-   |        ~ +
+LL -     arr.0;
+LL +     arr[0];
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/typeck/issue-87872-missing-inaccessible-field-pattern.stderr b/tests/ui/typeck/issue-87872-missing-inaccessible-field-pattern.stderr
index b9bdf6f9a39..ed0e4eb9ece 100644
--- a/tests/ui/typeck/issue-87872-missing-inaccessible-field-pattern.stderr
+++ b/tests/ui/typeck/issue-87872-missing-inaccessible-field-pattern.stderr
@@ -6,16 +6,19 @@ LL |     let foo::Foo {} = foo::Foo::default();
    |
 help: include the missing field in the pattern and ignore the inaccessible fields
    |
-LL |     let foo::Foo { visible, .. } = foo::Foo::default();
-   |                  ~~~~~~~~~~~~~~~
+LL -     let foo::Foo {} = foo::Foo::default();
+LL +     let foo::Foo { visible, .. } = foo::Foo::default();
+   |
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |     let foo::Foo { visible: _, .. } = foo::Foo::default();
-   |                  ~~~~~~~~~~~~~~~~~~
+LL -     let foo::Foo {} = foo::Foo::default();
+LL +     let foo::Foo { visible: _, .. } = foo::Foo::default();
+   |
 help: or always ignore missing fields here
    |
-LL |     let foo::Foo { .. } = foo::Foo::default();
-   |                  ~~~~~~
+LL -     let foo::Foo {} = foo::Foo::default();
+LL +     let foo::Foo { .. } = foo::Foo::default();
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/typeck/method-chain-gats.stderr b/tests/ui/typeck/method-chain-gats.stderr
index 63383792214..902255a28a6 100644
--- a/tests/ui/typeck/method-chain-gats.stderr
+++ b/tests/ui/typeck/method-chain-gats.stderr
@@ -19,8 +19,9 @@ LL |         Self::Base<B>: Functor<B>;
    |                        ^^^^^^^^^^ required by this bound in `Functor::fmap`
 help: consider further restricting the associated type
    |
-LL |     T::Base<B>: Functor<B, Base<C> = T::Base<C>>, <T as Base>::Base<C>: Functor<C>
-   |                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     T::Base<B>: Functor<B, Base<C> = T::Base<C>>,
+LL +     T::Base<B>: Functor<B, Base<C> = T::Base<C>>, <T as Base>::Base<C>: Functor<C>
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/typeck/mismatched-map-under-self.stderr b/tests/ui/typeck/mismatched-map-under-self.stderr
index 59de00a58bb..fd6b3093ec9 100644
--- a/tests/ui/typeck/mismatched-map-under-self.stderr
+++ b/tests/ui/typeck/mismatched-map-under-self.stderr
@@ -13,8 +13,9 @@ LL |     fn values(&self) -> Self::Values;
               found signature `fn(Option<_>)`
 help: change the self-receiver type to match the trait
    |
-LL |     fn values(&self) -> Self::Values {
-   |               ~~~~~
+LL -     fn values(self) -> Self::Values {
+LL +     fn values(&self) -> Self::Values {
+   |
 
 error[E0631]: type mismatch in function arguments
   --> $DIR/mismatched-map-under-self.rs:12:18
diff --git a/tests/ui/typeck/ptr-null-mutability-suggestions.stderr b/tests/ui/typeck/ptr-null-mutability-suggestions.stderr
index 2912977a461..aa1e79ac0d4 100644
--- a/tests/ui/typeck/ptr-null-mutability-suggestions.stderr
+++ b/tests/ui/typeck/ptr-null-mutability-suggestions.stderr
@@ -15,8 +15,9 @@ LL | fn expecting_null_mut(_: *mut u8) {}
    |    ^^^^^^^^^^^^^^^^^^ ----------
 help: consider using `core::ptr::null_mut` instead
    |
-LL |     expecting_null_mut(core::ptr::null_mut());
-   |                        ~~~~~~~~~~~~~~~~~~~~~
+LL -     expecting_null_mut(ptr::null());
+LL +     expecting_null_mut(core::ptr::null_mut());
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/typeck/remove-semi-but-confused-char.stderr b/tests/ui/typeck/remove-semi-but-confused-char.stderr
index 2d0b53a60ce..7f5c0758dd1 100644
--- a/tests/ui/typeck/remove-semi-but-confused-char.stderr
+++ b/tests/ui/typeck/remove-semi-but-confused-char.stderr
@@ -6,8 +6,9 @@ LL |     num * num;
    |
 help: Unicode character ';' (Greek Question Mark) looks like ';' (Semicolon), but it is not
    |
-LL |     num * num;
-   |              ~
+LL -     num * num;
+LL +     num * num;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/remove-semi-but-confused-char.rs:5:28
diff --git a/tests/ui/typeck/struct-enum-wrong-args.stderr b/tests/ui/typeck/struct-enum-wrong-args.stderr
index e58d162901e..d1003fbb6b3 100644
--- a/tests/ui/typeck/struct-enum-wrong-args.stderr
+++ b/tests/ui/typeck/struct-enum-wrong-args.stderr
@@ -38,8 +38,9 @@ note: tuple variant defined here
   --> $SRC_DIR/core/src/result.rs:LL:COL
 help: provide the argument
    |
-LL |     let _ = Ok(/* value */);
-   |               ~~~~~~~~~~~~~
+LL -     let _ = Ok();
+LL +     let _ = Ok(/* value */);
+   |
 
 error[E0061]: this struct takes 1 argument but 0 arguments were supplied
   --> $DIR/struct-enum-wrong-args.rs:9:13
@@ -54,8 +55,9 @@ LL | struct Wrapper(i32);
    |        ^^^^^^^
 help: provide the argument
    |
-LL |     let _ = Wrapper(/* i32 */);
-   |                    ~~~~~~~~~~~
+LL -     let _ = Wrapper();
+LL +     let _ = Wrapper(/* i32 */);
+   |
 
 error[E0061]: this struct takes 1 argument but 2 arguments were supplied
   --> $DIR/struct-enum-wrong-args.rs:10:13
@@ -87,8 +89,9 @@ LL | struct DoubleWrapper(i32, i32);
    |        ^^^^^^^^^^^^^
 help: provide the arguments
    |
-LL |     let _ = DoubleWrapper(/* i32 */, /* i32 */);
-   |                          ~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _ = DoubleWrapper();
+LL +     let _ = DoubleWrapper(/* i32 */, /* i32 */);
+   |
 
 error[E0061]: this struct takes 2 arguments but 1 argument was supplied
   --> $DIR/struct-enum-wrong-args.rs:12:13
@@ -103,8 +106,9 @@ LL | struct DoubleWrapper(i32, i32);
    |        ^^^^^^^^^^^^^
 help: provide the argument
    |
-LL |     let _ = DoubleWrapper(5, /* i32 */);
-   |                          ~~~~~~~~~~~~~~
+LL -     let _ = DoubleWrapper(5);
+LL +     let _ = DoubleWrapper(5, /* i32 */);
+   |
 
 error[E0061]: this struct takes 2 arguments but 3 arguments were supplied
   --> $DIR/struct-enum-wrong-args.rs:13:13
diff --git a/tests/ui/typeck/suggest-arg-comma-delete-ice.stderr b/tests/ui/typeck/suggest-arg-comma-delete-ice.stderr
index 53608391f3c..0b899ad2712 100644
--- a/tests/ui/typeck/suggest-arg-comma-delete-ice.stderr
+++ b/tests/ui/typeck/suggest-arg-comma-delete-ice.stderr
@@ -6,8 +6,9 @@ LL |     main(rahh);
    |
 help: Unicode character ')' (Fullwidth Right Parenthesis) looks like ')' (Right Parenthesis), but it is not
    |
-LL |     main(rahh);
-   |              ~
+LL -     main(rahh);
+LL +     main(rahh);
+   |
 
 error[E0425]: cannot find value `rahh` in this scope
   --> $DIR/suggest-arg-comma-delete-ice.rs:15:10
diff --git a/tests/ui/typeck/typeck_type_placeholder_item.stderr b/tests/ui/typeck/typeck_type_placeholder_item.stderr
index d2a850d7dbf..c5bf9a47e91 100644
--- a/tests/ui/typeck/typeck_type_placeholder_item.stderr
+++ b/tests/ui/typeck/typeck_type_placeholder_item.stderr
@@ -71,8 +71,9 @@ LL | static TEST3: _ = "test";
    |
 help: replace this with a fully-specified type
    |
-LL | static TEST3: &str = "test";
-   |               ~~~~
+LL - static TEST3: _ = "test";
+LL + static TEST3: &str = "test";
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for static variables
   --> $DIR/typeck_type_placeholder_item.rs:16:15
@@ -82,8 +83,9 @@ LL | static TEST4: _ = 145;
    |
 help: replace this with a fully-specified type
    |
-LL | static TEST4: i32 = 145;
-   |               ~~~
+LL - static TEST4: _ = 145;
+LL + static TEST4: i32 = 145;
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for static variables
   --> $DIR/typeck_type_placeholder_item.rs:19:16
@@ -95,8 +97,9 @@ LL | static TEST5: (_, _) = (1, 2);
    |
 help: replace this with a fully-specified type
    |
-LL | static TEST5: (i32, i32) = (1, 2);
-   |               ~~~~~~~~~~
+LL - static TEST5: (_, _) = (1, 2);
+LL + static TEST5: (i32, i32) = (1, 2);
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item.rs:22:13
@@ -106,8 +109,9 @@ LL | fn test6(_: _) { }
    |
 help: use type parameters instead
    |
-LL | fn test6<T>(_: T) { }
-   |         +++    ~
+LL - fn test6(_: _) { }
+LL + fn test6<T>(_: T) { }
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item.rs:25:18
@@ -117,8 +121,9 @@ LL | fn test6_b<T>(_: _, _: T) { }
    |
 help: use type parameters instead
    |
-LL | fn test6_b<T, U>(_: U, _: T) { }
-   |             +++     ~
+LL - fn test6_b<T>(_: _, _: T) { }
+LL + fn test6_b<T, U>(_: U, _: T) { }
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item.rs:28:30
@@ -128,8 +133,9 @@ LL | fn test6_c<T, K, L, A, B>(_: _, _: (T, K, L, A, B)) { }
    |
 help: use type parameters instead
    |
-LL | fn test6_c<T, K, L, A, B, U>(_: U, _: (T, K, L, A, B)) { }
-   |                         +++     ~
+LL - fn test6_c<T, K, L, A, B>(_: _, _: (T, K, L, A, B)) { }
+LL + fn test6_c<T, K, L, A, B, U>(_: U, _: (T, K, L, A, B)) { }
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item.rs:31:13
@@ -139,8 +145,9 @@ LL | fn test7(x: _) { let _x: usize = x; }
    |
 help: use type parameters instead
    |
-LL | fn test7<T>(x: T) { let _x: usize = x; }
-   |         +++    ~
+LL - fn test7(x: _) { let _x: usize = x; }
+LL + fn test7<T>(x: T) { let _x: usize = x; }
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item.rs:34:22
@@ -159,8 +166,9 @@ LL | fn test8(_f: fn() -> _) { }
    |
 help: use type parameters instead
    |
-LL | fn test8<T>(_f: fn() -> T) { }
-   |         +++             ~
+LL - fn test8(_f: fn() -> _) { }
+LL + fn test8<T>(_f: fn() -> T) { }
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for return types
   --> $DIR/typeck_type_placeholder_item.rs:48:26
@@ -188,8 +196,9 @@ LL |     fn clone(&self) -> _ { Test9 }
    |
 help: try replacing `_` with the type in the corresponding trait method signature
    |
-LL |     fn clone(&self) -> Test9 { Test9 }
-   |                        ~~~~~
+LL -     fn clone(&self) -> _ { Test9 }
+LL +     fn clone(&self) -> Test9 { Test9 }
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item.rs:62:37
@@ -199,8 +208,9 @@ LL |     fn clone_from(&mut self, other: _) { *self = Test9; }
    |
 help: try replacing `_` with the type in the corresponding trait method signature
    |
-LL |     fn clone_from(&mut self, other: &Test9) { *self = Test9; }
-   |                                     ~~~~~~
+LL -     fn clone_from(&mut self, other: _) { *self = Test9; }
+LL +     fn clone_from(&mut self, other: &Test9) { *self = Test9; }
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for structs
   --> $DIR/typeck_type_placeholder_item.rs:67:8
@@ -235,8 +245,9 @@ LL |     static B: _ = 42;
    |
 help: replace this with a fully-specified type
    |
-LL |     static B: i32 = 42;
-   |               ~~~
+LL -     static B: _ = 42;
+LL +     static B: i32 = 42;
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for static variables
   --> $DIR/typeck_type_placeholder_item.rs:77:22
@@ -246,8 +257,9 @@ LL |     static C: Option<_> = Some(42);
    |
 help: replace this with a fully-specified type
    |
-LL |     static C: Option<i32> = Some(42);
-   |               ~~~~~~~~~~~
+LL -     static C: Option<_> = Some(42);
+LL +     static C: Option<i32> = Some(42);
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for return types
   --> $DIR/typeck_type_placeholder_item.rs:79:21
@@ -276,8 +288,9 @@ LL |     static FN_TEST3: _ = "test";
    |
 help: replace this with a fully-specified type
    |
-LL |     static FN_TEST3: &str = "test";
-   |                      ~~~~
+LL -     static FN_TEST3: _ = "test";
+LL +     static FN_TEST3: &str = "test";
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for static variables
   --> $DIR/typeck_type_placeholder_item.rs:88:22
@@ -287,8 +300,9 @@ LL |     static FN_TEST4: _ = 145;
    |
 help: replace this with a fully-specified type
    |
-LL |     static FN_TEST4: i32 = 145;
-   |                      ~~~
+LL -     static FN_TEST4: _ = 145;
+LL +     static FN_TEST4: i32 = 145;
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for static variables
   --> $DIR/typeck_type_placeholder_item.rs:91:23
@@ -300,8 +314,9 @@ LL |     static FN_TEST5: (_, _) = (1, 2);
    |
 help: replace this with a fully-specified type
    |
-LL |     static FN_TEST5: (i32, i32) = (1, 2);
-   |                      ~~~~~~~~~~
+LL -     static FN_TEST5: (_, _) = (1, 2);
+LL +     static FN_TEST5: (i32, i32) = (1, 2);
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item.rs:94:20
@@ -311,8 +326,9 @@ LL |     fn fn_test6(_: _) { }
    |
 help: use type parameters instead
    |
-LL |     fn fn_test6<T>(_: T) { }
-   |                +++    ~
+LL -     fn fn_test6(_: _) { }
+LL +     fn fn_test6<T>(_: T) { }
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item.rs:97:20
@@ -322,8 +338,9 @@ LL |     fn fn_test7(x: _) { let _x: usize = x; }
    |
 help: use type parameters instead
    |
-LL |     fn fn_test7<T>(x: T) { let _x: usize = x; }
-   |                +++    ~
+LL -     fn fn_test7(x: _) { let _x: usize = x; }
+LL +     fn fn_test7<T>(x: T) { let _x: usize = x; }
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item.rs:100:29
@@ -342,8 +359,9 @@ LL |     fn fn_test8(_f: fn() -> _) { }
    |
 help: use type parameters instead
    |
-LL |     fn fn_test8<T>(_f: fn() -> T) { }
-   |                +++             ~
+LL -     fn fn_test8(_f: fn() -> _) { }
+LL +     fn fn_test8<T>(_f: fn() -> T) { }
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item.rs:115:28
@@ -353,8 +371,9 @@ LL |         fn clone(&self) -> _ { FnTest9 }
    |
 help: try replacing `_` with the type in the corresponding trait method signature
    |
-LL |         fn clone(&self) -> FnTest9 { FnTest9 }
-   |                            ~~~~~~~
+LL -         fn clone(&self) -> _ { FnTest9 }
+LL +         fn clone(&self) -> FnTest9 { FnTest9 }
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item.rs:118:41
@@ -364,8 +383,9 @@ LL |         fn clone_from(&mut self, other: _) { *self = FnTest9; }
    |
 help: try replacing `_` with the type in the corresponding trait method signature
    |
-LL |         fn clone_from(&mut self, other: &FnTest9) { *self = FnTest9; }
-   |                                         ~~~~~~~~
+LL -         fn clone_from(&mut self, other: _) { *self = FnTest9; }
+LL +         fn clone_from(&mut self, other: &FnTest9) { *self = FnTest9; }
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for structs
   --> $DIR/typeck_type_placeholder_item.rs:123:12
@@ -427,8 +447,9 @@ LL |     fn method_test1(&self, x: _);
    |
 help: use type parameters instead
    |
-LL |     fn method_test1<T>(&self, x: T);
-   |                    +++           ~
+LL -     fn method_test1(&self, x: _);
+LL +     fn method_test1<T>(&self, x: T);
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item.rs:142:31
@@ -440,8 +461,9 @@ LL |     fn method_test2(&self, x: _) -> _;
    |
 help: use type parameters instead
    |
-LL |     fn method_test2<T>(&self, x: T) -> T;
-   |                    +++           ~     ~
+LL -     fn method_test2(&self, x: _) -> _;
+LL +     fn method_test2<T>(&self, x: T) -> T;
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item.rs:144:31
@@ -451,8 +473,9 @@ LL |     fn method_test3(&self) -> _;
    |
 help: use type parameters instead
    |
-LL |     fn method_test3<T>(&self) -> T;
-   |                    +++           ~
+LL -     fn method_test3(&self) -> _;
+LL +     fn method_test3<T>(&self) -> T;
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item.rs:146:26
@@ -462,8 +485,9 @@ LL |     fn assoc_fn_test1(x: _);
    |
 help: use type parameters instead
    |
-LL |     fn assoc_fn_test1<T>(x: T);
-   |                      +++    ~
+LL -     fn assoc_fn_test1(x: _);
+LL +     fn assoc_fn_test1<T>(x: T);
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item.rs:148:26
@@ -475,8 +499,9 @@ LL |     fn assoc_fn_test2(x: _) -> _;
    |
 help: use type parameters instead
    |
-LL |     fn assoc_fn_test2<T>(x: T) -> T;
-   |                      +++    ~     ~
+LL -     fn assoc_fn_test2(x: _) -> _;
+LL +     fn assoc_fn_test2<T>(x: T) -> T;
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item.rs:150:28
@@ -486,8 +511,9 @@ LL |     fn assoc_fn_test3() -> _;
    |
 help: use type parameters instead
    |
-LL |     fn assoc_fn_test3<T>() -> T;
-   |                      +++      ~
+LL -     fn assoc_fn_test3() -> _;
+LL +     fn assoc_fn_test3<T>() -> T;
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for structs
   --> $DIR/typeck_type_placeholder_item.rs:154:21
@@ -497,8 +523,9 @@ LL | struct BadStruct<_>(_);
    |
 help: use type parameters instead
    |
-LL | struct BadStruct<T>(T);
-   |                  ~  ~
+LL - struct BadStruct<_>(_);
+LL + struct BadStruct<T>(T);
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for implementations
   --> $DIR/typeck_type_placeholder_item.rs:159:15
@@ -522,8 +549,9 @@ LL | struct BadStruct1<_, _>(_);
    |
 help: use type parameters instead
    |
-LL | struct BadStruct1<T, _>(T);
-   |                   ~     ~
+LL - struct BadStruct1<_, _>(_);
+LL + struct BadStruct1<T, _>(T);
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for structs
   --> $DIR/typeck_type_placeholder_item.rs:172:25
@@ -533,8 +561,9 @@ LL | struct BadStruct2<_, T>(_, T);
    |
 help: use type parameters instead
    |
-LL | struct BadStruct2<U, T>(U, T);
-   |                   ~     ~
+LL - struct BadStruct2<_, T>(_, T);
+LL + struct BadStruct2<U, T>(U, T);
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for type aliases
   --> $DIR/typeck_type_placeholder_item.rs:176:14
@@ -562,8 +591,9 @@ LL |     const D: _ = 42;
    |
 help: replace this with a fully-specified type
    |
-LL |     const D: i32 = 42;
-   |              ~~~
+LL -     const D: _ = 42;
+LL +     const D: i32 = 42;
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for associated constants
   --> $DIR/typeck_type_placeholder_item.rs:209:14
@@ -597,8 +627,9 @@ LL | const _: Option<_> = map(value);
    |
 help: replace this with a fully-specified type
    |
-LL | const _: Option<u8> = map(value);
-   |          ~~~~~~~~~~
+LL - const _: Option<_> = map(value);
+LL + const _: Option<u8> = map(value);
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for return types
   --> $DIR/typeck_type_placeholder_item.rs:226:31
@@ -638,8 +669,9 @@ LL |     fn test10(&self, _x : _) { }
    |
 help: use type parameters instead
    |
-LL |     fn test10<T>(&self, _x : T) { }
-   |              +++             ~
+LL -     fn test10(&self, _x : _) { }
+LL +     fn test10<T>(&self, _x : T) { }
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for return types
   --> $DIR/typeck_type_placeholder_item.rs:107:31
@@ -658,8 +690,9 @@ LL |         fn fn_test10(&self, _x : _) { }
    |
 help: use type parameters instead
    |
-LL |         fn fn_test10<T>(&self, _x : T) { }
-   |                     +++             ~
+LL -         fn fn_test10(&self, _x : _) { }
+LL +         fn fn_test10<T>(&self, _x : T) { }
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for associated types
   --> $DIR/typeck_type_placeholder_item.rs:202:14
diff --git a/tests/ui/typeck/typeck_type_placeholder_item_help.stderr b/tests/ui/typeck/typeck_type_placeholder_item_help.stderr
index a05e27cebfc..afdd58e0a03 100644
--- a/tests/ui/typeck/typeck_type_placeholder_item_help.stderr
+++ b/tests/ui/typeck/typeck_type_placeholder_item_help.stderr
@@ -15,8 +15,9 @@ LL | const TEST2: _ = 42u32;
    |
 help: replace this with a fully-specified type
    |
-LL | const TEST2: u32 = 42u32;
-   |              ~~~
+LL - const TEST2: _ = 42u32;
+LL + const TEST2: u32 = 42u32;
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for constants
   --> $DIR/typeck_type_placeholder_item_help.rs:10:14
@@ -26,8 +27,9 @@ LL | const TEST3: _ = Some(42);
    |
 help: replace this with a fully-specified type
    |
-LL | const TEST3: Option<i32> = Some(42);
-   |              ~~~~~~~~~~~
+LL - const TEST3: _ = Some(42);
+LL + const TEST3: Option<i32> = Some(42);
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
   --> $DIR/typeck_type_placeholder_item_help.rs:13:22
@@ -49,8 +51,9 @@ LL |     const TEST6: _ = 13;
    |
 help: replace this with a fully-specified type
    |
-LL |     const TEST6: i32 = 13;
-   |                  ~~~
+LL -     const TEST6: _ = 13;
+LL +     const TEST6: i32 = 13;
+   |
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for associated constants
   --> $DIR/typeck_type_placeholder_item_help.rs:18:18
@@ -60,8 +63,9 @@ LL |     const TEST5: _ = 42;
    |
 help: replace this with a fully-specified type
    |
-LL |     const TEST5: i32 = 42;
-   |                  ~~~
+LL -     const TEST5: _ = 42;
+LL +     const TEST5: i32 = 42;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/typeck_type_placeholder_item_help.rs:30:28
diff --git a/tests/ui/typeof/issue-100183.stderr b/tests/ui/typeof/issue-100183.stderr
index 57317d449cf..765a5c54428 100644
--- a/tests/ui/typeof/issue-100183.stderr
+++ b/tests/ui/typeof/issue-100183.stderr
@@ -6,8 +6,9 @@ LL |     y: (typeof("hey"),),
    |
 help: consider replacing `typeof(...)` with an actual type
    |
-LL |     y: (&str,),
-   |         ~~~~
+LL -     y: (typeof("hey"),),
+LL +     y: (&str,),
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/typeof/issue-29184.stderr b/tests/ui/typeof/issue-29184.stderr
index f07c850e556..d8d43504d72 100644
--- a/tests/ui/typeof/issue-29184.stderr
+++ b/tests/ui/typeof/issue-29184.stderr
@@ -6,8 +6,9 @@ LL |     let x: typeof(92) = 92;
    |
 help: consider replacing `typeof(...)` with an actual type
    |
-LL |     let x: i32 = 92;
-   |            ~~~
+LL -     let x: typeof(92) = 92;
+LL +     let x: i32 = 92;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/typeof/issue-42060.stderr b/tests/ui/typeof/issue-42060.stderr
index 86ba9432384..733ad37693b 100644
--- a/tests/ui/typeof/issue-42060.stderr
+++ b/tests/ui/typeof/issue-42060.stderr
@@ -6,8 +6,9 @@ LL |     let other: typeof(thing) = thing;
    |
 help: consider using `const` instead of `let`
    |
-LL |     const thing: /* Type */ = ();
-   |     ~~~~~      ++++++++++++
+LL -     let thing = ();
+LL +     const thing: /* Type */ = ();
+   |
 
 error[E0435]: attempt to use a non-constant value in a constant
   --> $DIR/issue-42060.rs:9:13
@@ -17,8 +18,9 @@ LL |     <typeof(q)>::N
    |
 help: consider using `const` instead of `let`
    |
-LL |     const q: /* Type */ = 1;
-   |     ~~~~~  ++++++++++++
+LL -     let q = 1;
+LL +     const q: /* Type */ = 1;
+   |
 
 error[E0516]: `typeof` is a reserved keyword but unimplemented
   --> $DIR/issue-42060.rs:3:16
diff --git a/tests/ui/typeof/type_mismatch.stderr b/tests/ui/typeof/type_mismatch.stderr
index e75214cd31a..d5494922b16 100644
--- a/tests/ui/typeof/type_mismatch.stderr
+++ b/tests/ui/typeof/type_mismatch.stderr
@@ -6,8 +6,9 @@ LL |     let b: typeof(a) = 1i8;
    |
 help: consider replacing `typeof(...)` with an actual type
    |
-LL |     let b: u8 = 1i8;
-   |            ~~
+LL -     let b: typeof(a) = 1i8;
+LL +     let b: u8 = 1i8;
+   |
 
 error[E0308]: mismatched types
   --> $DIR/type_mismatch.rs:5:24
@@ -19,8 +20,9 @@ LL |     let b: typeof(a) = 1i8;
    |
 help: change the type of the numeric literal from `i8` to `u8`
    |
-LL |     let b: typeof(a) = 1u8;
-   |                         ~~
+LL -     let b: typeof(a) = 1i8;
+LL +     let b: typeof(a) = 1u8;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/ufcs/bad-builder.stderr b/tests/ui/ufcs/bad-builder.stderr
index e466f94d0d8..a3528cb1e7d 100644
--- a/tests/ui/ufcs/bad-builder.stderr
+++ b/tests/ui/ufcs/bad-builder.stderr
@@ -13,8 +13,9 @@ note: if you're trying to build a new `Vec<Q>` consider using one of the followi
   --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
 help: there is an associated function `new` with a similar name
    |
-LL |     Vec::<Q>::new()
-   |               ~~~
+LL -     Vec::<Q>::mew()
+LL +     Vec::<Q>::new()
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/ufcs/ufcs-explicit-self-bad.stderr b/tests/ui/ufcs/ufcs-explicit-self-bad.stderr
index 2a8c4edbdb5..7b5f7cd9f70 100644
--- a/tests/ui/ufcs/ufcs-explicit-self-bad.stderr
+++ b/tests/ui/ufcs/ufcs-explicit-self-bad.stderr
@@ -13,8 +13,9 @@ LL |     fn dummy2(&self);
               found signature `fn(&Bar<_>)`
 help: change the self-receiver type to match the trait
    |
-LL |     fn dummy2(&self) {}
-   |               ~~~~~
+LL -     fn dummy2(self: &Bar<T>) {}
+LL +     fn dummy2(&self) {}
+   |
 
 error[E0307]: invalid `self` parameter type: `isize`
   --> $DIR/ufcs-explicit-self-bad.rs:8:18
diff --git a/tests/ui/ufcs/ufcs-partially-resolved.stderr b/tests/ui/ufcs/ufcs-partially-resolved.stderr
index eef55c8dc68..0a9c190cb35 100644
--- a/tests/ui/ufcs/ufcs-partially-resolved.stderr
+++ b/tests/ui/ufcs/ufcs-partially-resolved.stderr
@@ -24,7 +24,8 @@ LL |     let _: <u8 as A>::N;
    |
 help: you might have meant to use `#![feature(trait_alias)]` instead of a `type` alias
    |
-LL | trait A = u32;
+LL - type A = u32;
+LL + trait A = u32;
    |
 
 error[E0576]: cannot find method or associated constant `N` in trait `Tr`
@@ -53,7 +54,8 @@ LL |     <u8 as A>::N;
    |
 help: you might have meant to use `#![feature(trait_alias)]` instead of a `type` alias
    |
-LL | trait A = u32;
+LL - type A = u32;
+LL + trait A = u32;
    |
 
 error[E0404]: expected trait, found enum `E`
@@ -100,7 +102,8 @@ LL |     let _: <u8 as A>::N::NN;
    |
 help: you might have meant to use `#![feature(trait_alias)]` instead of a `type` alias
    |
-LL | trait A = u32;
+LL - type A = u32;
+LL + trait A = u32;
    |
 
 error[E0576]: cannot find associated type `N` in trait `Tr`
@@ -129,7 +132,8 @@ LL |     <u8 as A>::N::NN;
    |
 help: you might have meant to use `#![feature(trait_alias)]` instead of a `type` alias
    |
-LL | trait A = u32;
+LL - type A = u32;
+LL + trait A = u32;
    |
 
 error[E0404]: expected trait, found enum `E`
@@ -253,8 +257,9 @@ LL |     let _: <u8 as Tr>::Y::NN;
    |
 help: if there were a trait named `Example` with associated type `NN` implemented for `<u8 as Tr>::Y`, you could use the fully-qualified path
    |
-LL |     let _: <<u8 as Tr>::Y as Example>::NN;
-   |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL -     let _: <u8 as Tr>::Y::NN;
+LL +     let _: <<u8 as Tr>::Y as Example>::NN;
+   |
 
 error[E0599]: no associated item named `NN` found for type `u16` in the current scope
   --> $DIR/ufcs-partially-resolved.rs:38:20
diff --git a/tests/ui/ufcs/ufcs-qpath-self-mismatch.stderr b/tests/ui/ufcs/ufcs-qpath-self-mismatch.stderr
index f8be11a24e3..05071834883 100644
--- a/tests/ui/ufcs/ufcs-qpath-self-mismatch.stderr
+++ b/tests/ui/ufcs/ufcs-qpath-self-mismatch.stderr
@@ -30,8 +30,9 @@ note: method defined here
   --> $SRC_DIR/core/src/ops/arith.rs:LL:COL
 help: change the type of the numeric literal from `u32` to `i32`
    |
-LL |     <i32 as Add<i32>>::add(1i32, 2);
-   |                             ~~~
+LL -     <i32 as Add<i32>>::add(1u32, 2);
+LL +     <i32 as Add<i32>>::add(1i32, 2);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/ufcs-qpath-self-mismatch.rs:9:31
@@ -52,8 +53,9 @@ note: method defined here
   --> $SRC_DIR/core/src/ops/arith.rs:LL:COL
 help: change the type of the numeric literal from `u32` to `i32`
    |
-LL |     <i32 as Add<i32>>::add(1, 2i32);
-   |                                ~~~
+LL -     <i32 as Add<i32>>::add(1, 2u32);
+LL +     <i32 as Add<i32>>::add(1, 2i32);
+   |
 
 error[E0277]: cannot add `u32` to `i32`
   --> $DIR/ufcs-qpath-self-mismatch.rs:4:5
diff --git a/tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.stderr b/tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.stderr
index ce2c90f97da..1c6470eef8f 100644
--- a/tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.stderr
@@ -6,8 +6,9 @@ LL |     let b = Bar::(isize, usize)::new(); // OK too (for the parser)
    |
 help: use angle brackets instead
    |
-LL |     let b = Bar::<isize, usize>::new(); // OK too (for the parser)
-   |                  ~            ~
+LL -     let b = Bar::(isize, usize)::new(); // OK too (for the parser)
+LL +     let b = Bar::<isize, usize>::new(); // OK too (for the parser)
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/unboxed-closures/unboxed-closures-type-mismatch.stderr b/tests/ui/unboxed-closures/unboxed-closures-type-mismatch.stderr
index 327df50e645..d87588d1822 100644
--- a/tests/ui/unboxed-closures/unboxed-closures-type-mismatch.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-type-mismatch.stderr
@@ -13,8 +13,9 @@ LL |     let mut f = |x: isize, y: isize| -> isize { x + y };
    |                  ^^^^^^^^
 help: change the type of the numeric literal from `usize` to `isize`
    |
-LL |     let z = f(1_isize, 2);
-   |                 ~~~~~
+LL -     let z = f(1_usize, 2);
+LL +     let z = f(1_isize, 2);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/unboxed-closures-type-mismatch.rs:9:15
@@ -38,8 +39,9 @@ LL |     let mut g = |x, y| { x + y };
    |                  ^
 help: change the type of the numeric literal from `usize` to `i32`
    |
-LL |     let z = g(1_i32, 2);
-   |                 ~~~
+LL -     let z = g(1_usize, 2);
+LL +     let z = g(1_i32, 2);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/unboxed-closures-type-mismatch.rs:17:18
@@ -63,8 +65,9 @@ LL |         let identity = |x| x;
    |                         ^
 help: change the type of the numeric literal from `u16` to `u8`
    |
-LL |         identity(1u8);
-   |                   ~~
+LL -         identity(1u16);
+LL +         identity(1u8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/unboxed-closures-type-mismatch.rs:20:18
@@ -111,8 +114,9 @@ LL |         let identity = |x| x;
    |                         ^
 help: change the type of the numeric literal from `u16` to `u8`
    |
-LL |         identity(1u8);
-   |                   ~~
+LL -         identity(1u16);
+LL +         identity(1u8);
+   |
 
 error[E0308]: mismatched types
   --> $DIR/unboxed-closures-type-mismatch.rs:33:18
diff --git a/tests/ui/underscore-lifetime/in-fn-return-illegal.stderr b/tests/ui/underscore-lifetime/in-fn-return-illegal.stderr
index fb036c695b4..a53e8adbecf 100644
--- a/tests/ui/underscore-lifetime/in-fn-return-illegal.stderr
+++ b/tests/ui/underscore-lifetime/in-fn-return-illegal.stderr
@@ -7,8 +7,9 @@ LL | fn foo(x: &u32, y: &u32) -> &'_ u32 { loop { } }
    = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `x` or `y`
 help: consider introducing a named lifetime parameter
    |
-LL | fn foo<'a>(x: &'a u32, y: &'a u32) -> &'a u32 { loop { } }
-   |       ++++     ++          ++          ~~
+LL - fn foo(x: &u32, y: &u32) -> &'_ u32 { loop { } }
+LL + fn foo<'a>(x: &'a u32, y: &'a u32) -> &'a u32 { loop { } }
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/underscore-lifetime/underscore-lifetime-binders.stderr b/tests/ui/underscore-lifetime/underscore-lifetime-binders.stderr
index cd74d27dcb5..d940166e9e2 100644
--- a/tests/ui/underscore-lifetime/underscore-lifetime-binders.stderr
+++ b/tests/ui/underscore-lifetime/underscore-lifetime-binders.stderr
@@ -6,8 +6,9 @@ LL | struct Baz<'a>(&'_ &'a u8);
    |
 help: consider using the `'a` lifetime
    |
-LL | struct Baz<'a>(&'a &'a u8);
-   |                 ~~
+LL - struct Baz<'a>(&'_ &'a u8);
+LL + struct Baz<'a>(&'a &'a u8);
+   |
 
 error[E0637]: `'_` cannot be used here
   --> $DIR/underscore-lifetime-binders.rs:4:8
@@ -30,8 +31,9 @@ LL | fn meh() -> Box<dyn for<'_> Meh<'_>>
    = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
 help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values
    |
-LL | fn meh() -> Box<dyn for<'_> Meh<'static>>
-   |                                 ~~~~~~~
+LL - fn meh() -> Box<dyn for<'_> Meh<'_>>
+LL + fn meh() -> Box<dyn for<'_> Meh<'static>>
+   |
 
 error[E0106]: missing lifetime specifier
   --> $DIR/underscore-lifetime-binders.rs:16:35
@@ -42,8 +44,9 @@ LL | fn foo2(_: &'_ u8, y: &'_ u8) -> &'_ u8 { y }
    = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from argument 1 or `y`
 help: consider introducing a named lifetime parameter
    |
-LL | fn foo2<'a>(_: &'a u8, y: &'a u8) -> &'a u8 { y }
-   |        ++++     ~~         ~~         ~~
+LL - fn foo2(_: &'_ u8, y: &'_ u8) -> &'_ u8 { y }
+LL + fn foo2<'a>(_: &'a u8, y: &'a u8) -> &'a u8 { y }
+   |
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/ui/underscore-lifetime/underscore-lifetime-elison-mismatch.stderr b/tests/ui/underscore-lifetime/underscore-lifetime-elison-mismatch.stderr
index 8bd9b1112c5..4b530ca4ba6 100644
--- a/tests/ui/underscore-lifetime/underscore-lifetime-elison-mismatch.stderr
+++ b/tests/ui/underscore-lifetime/underscore-lifetime-elison-mismatch.stderr
@@ -12,8 +12,9 @@ LL | fn foo(x: &mut Vec<&'_ u8>, y: &'_ u8) { x.push(y); }
    = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
 help: consider introducing a named lifetime parameter
    |
-LL | fn foo<'a>(x: &mut Vec<&'a u8>, y: &'a u8) { x.push(y); }
-   |       ++++              ~~          ~~
+LL - fn foo(x: &mut Vec<&'_ u8>, y: &'_ u8) { x.push(y); }
+LL + fn foo<'a>(x: &mut Vec<&'a u8>, y: &'a u8) { x.push(y); }
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/union/union-suggest-field.stderr b/tests/ui/union/union-suggest-field.stderr
index 5c428cf6c89..fc6daca2a47 100644
--- a/tests/ui/union/union-suggest-field.stderr
+++ b/tests/ui/union/union-suggest-field.stderr
@@ -6,8 +6,9 @@ LL |     let u = U { principle: 0 };
    |
 help: a field with a similar name exists
    |
-LL |     let u = U { principal: 0 };
-   |                 ~~~~~~~~~
+LL -     let u = U { principle: 0 };
+LL +     let u = U { principal: 0 };
+   |
 
 error[E0609]: no field `principial` on type `U`
   --> $DIR/union-suggest-field.rs:14:15
@@ -17,8 +18,9 @@ LL |     let w = u.principial;
    |
 help: a field with a similar name exists
    |
-LL |     let w = u.principal;
-   |               ~~~~~~~~~
+LL -     let w = u.principial;
+LL +     let w = u.principal;
+   |
 
 error[E0615]: attempted to take value of method `calculate` on type `U`
   --> $DIR/union-suggest-field.rs:18:15
diff --git a/tests/ui/unresolved/unresolved-candidates.stderr b/tests/ui/unresolved/unresolved-candidates.stderr
index 7ef2f6b1a29..0810f90306e 100644
--- a/tests/ui/unresolved/unresolved-candidates.stderr
+++ b/tests/ui/unresolved/unresolved-candidates.stderr
@@ -6,8 +6,9 @@ LL |     use Trait;
    |
 help: consider importing this trait instead
    |
-LL |     use a::Trait;
-   |         ~~~~~~~~
+LL -     use Trait;
+LL +     use a::Trait;
+   |
 
 error[E0405]: cannot find trait `Trait` in this scope
   --> $DIR/unresolved-candidates.rs:10:10
diff --git a/tests/ui/unresolved/unresolved-import-avoid-suggesting-global-path.stderr b/tests/ui/unresolved/unresolved-import-avoid-suggesting-global-path.stderr
index b0352ab6754..f96cf69a2af 100644
--- a/tests/ui/unresolved/unresolved-import-avoid-suggesting-global-path.stderr
+++ b/tests/ui/unresolved/unresolved-import-avoid-suggesting-global-path.stderr
@@ -6,8 +6,9 @@ LL |     use module::SomeUsefulType;
    |
 help: consider importing this struct instead
    |
-LL |     use library::SomeUsefulType;
-   |         ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     use module::SomeUsefulType;
+LL +     use library::SomeUsefulType;
+   |
 
 error[E0432]: unresolved import `module::SomeUsefulType`
   --> $DIR/unresolved-import-avoid-suggesting-global-path.rs:28:9
@@ -17,8 +18,9 @@ LL |     use module::SomeUsefulType;
    |
 help: consider importing this struct instead
    |
-LL |     use library::SomeUsefulType;
-   |         ~~~~~~~~~~~~~~~~~~~~~~~
+LL -     use module::SomeUsefulType;
+LL +     use library::SomeUsefulType;
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/unresolved/unresolved-import-suggest-disambiguated-crate-name.stderr b/tests/ui/unresolved/unresolved-import-suggest-disambiguated-crate-name.stderr
index c6812dbb196..31b943defba 100644
--- a/tests/ui/unresolved/unresolved-import-suggest-disambiguated-crate-name.stderr
+++ b/tests/ui/unresolved/unresolved-import-suggest-disambiguated-crate-name.stderr
@@ -6,8 +6,9 @@ LL | pub use module::SomeUsefulType;
    |
 help: consider importing this struct instead
    |
-LL | pub use ::library::SomeUsefulType;
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - pub use module::SomeUsefulType;
+LL + pub use ::library::SomeUsefulType;
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/unsigned-literal-negation.stderr b/tests/ui/unsigned-literal-negation.stderr
index b0a730477a1..0bedbc1accd 100644
--- a/tests/ui/unsigned-literal-negation.stderr
+++ b/tests/ui/unsigned-literal-negation.stderr
@@ -7,8 +7,9 @@ LL |     let x = -1 as usize;
    = note: unsigned values cannot be negated
 help: you may have meant the maximum value of `usize`
    |
-LL |     let x = usize::MAX;
-   |             ~~~~~~~~~~
+LL -     let x = -1 as usize;
+LL +     let x = usize::MAX;
+   |
 
 error[E0600]: cannot apply unary operator `-` to type `usize`
   --> $DIR/unsigned-literal-negation.rs:3:13
@@ -19,8 +20,9 @@ LL |     let x = (-1) as usize;
    = note: unsigned values cannot be negated
 help: you may have meant the maximum value of `usize`
    |
-LL |     let x = usize::MAX;
-   |             ~~~~~~~~~~
+LL -     let x = (-1) as usize;
+LL +     let x = usize::MAX;
+   |
 
 error[E0600]: cannot apply unary operator `-` to type `u32`
   --> $DIR/unsigned-literal-negation.rs:4:18
@@ -31,8 +33,9 @@ LL |     let x: u32 = -1;
    = note: unsigned values cannot be negated
 help: you may have meant the maximum value of `u32`
    |
-LL |     let x: u32 = u32::MAX;
-   |                  ~~~~~~~~
+LL -     let x: u32 = -1;
+LL +     let x: u32 = u32::MAX;
+   |
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/unsized/box-instead-of-dyn-fn.stderr b/tests/ui/unsized/box-instead-of-dyn-fn.stderr
index 1836d5dfffe..b666718262d 100644
--- a/tests/ui/unsized/box-instead-of-dyn-fn.stderr
+++ b/tests/ui/unsized/box-instead-of-dyn-fn.stderr
@@ -6,8 +6,9 @@ LL | fn print_on_or_the_other<'a>(a: i32, b: &'a String) -> dyn Fn() + 'a {
    |
 help: consider returning an `impl Trait` instead of a `dyn Trait`
    |
-LL | fn print_on_or_the_other<'a>(a: i32, b: &'a String) -> impl Fn() + 'a {
-   |                                                        ~~~~
+LL - fn print_on_or_the_other<'a>(a: i32, b: &'a String) -> dyn Fn() + 'a {
+LL + fn print_on_or_the_other<'a>(a: i32, b: &'a String) -> impl Fn() + 'a {
+   |
 help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
    |
 LL ~ fn print_on_or_the_other<'a>(a: i32, b: &'a String) -> Box<dyn Fn() + 'a> {
diff --git a/tests/ui/unsized/issue-91803.stderr b/tests/ui/unsized/issue-91803.stderr
index e0fde4b1c1b..037ec2ceaa5 100644
--- a/tests/ui/unsized/issue-91803.stderr
+++ b/tests/ui/unsized/issue-91803.stderr
@@ -6,8 +6,9 @@ LL | fn or<'a>(first: &'static dyn Foo<'a>) -> dyn Foo<'a> {
    |
 help: consider returning an `impl Trait` instead of a `dyn Trait`
    |
-LL | fn or<'a>(first: &'static dyn Foo<'a>) -> impl Foo<'a> {
-   |                                           ~~~~
+LL - fn or<'a>(first: &'static dyn Foo<'a>) -> dyn Foo<'a> {
+LL + fn or<'a>(first: &'static dyn Foo<'a>) -> impl Foo<'a> {
+   |
 help: alternatively, box the return type, and wrap all of the returned values in `Box::new`
    |
 LL | fn or<'a>(first: &'static dyn Foo<'a>) -> Box<dyn Foo<'a>> {
diff --git a/tests/ui/variants/variant-used-as-type.stderr b/tests/ui/variants/variant-used-as-type.stderr
index 64424abbcec..1857c10a8e9 100644
--- a/tests/ui/variants/variant-used-as-type.stderr
+++ b/tests/ui/variants/variant-used-as-type.stderr
@@ -6,10 +6,12 @@ LL |     B(Ty::A),
    |
 help: try using the variant's enum
    |
-LL |     B(E),
-   |       ~
-LL |     B(Ty),
-   |       ~~
+LL -     B(Ty::A),
+LL +     B(E),
+   |
+LL -     B(Ty::A),
+LL +     B(Ty),
+   |
 
 error[E0573]: expected type, found variant `E::A`
   --> $DIR/variant-used-as-type.rs:17:6
@@ -19,10 +21,12 @@ LL | impl E::A {}
    |
 help: try using the variant's enum
    |
-LL | impl E {}
-   |      ~
-LL | impl Ty {}
-   |      ~~
+LL - impl E::A {}
+LL + impl E {}
+   |
+LL - impl E::A {}
+LL + impl Ty {}
+   |
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/wf/ice-hir-wf-check-anon-const-issue-122199.stderr b/tests/ui/wf/ice-hir-wf-check-anon-const-issue-122199.stderr
index 339f7b2cc82..3b4de0753af 100644
--- a/tests/ui/wf/ice-hir-wf-check-anon-const-issue-122199.stderr
+++ b/tests/ui/wf/ice-hir-wf-check-anon-const-issue-122199.stderr
@@ -96,8 +96,9 @@ LL |     fn fnc<const N: Trait = u32>(&self) -> Trait {
    |
 help: you might have meant to use `Self` to refer to the implementing type
    |
-LL |     fn fnc<const N: Trait = u32>(&self) -> Self {
-   |                                            ~~~~
+LL -     fn fnc<const N: Trait = u32>(&self) -> Trait {
+LL +     fn fnc<const N: Trait = u32>(&self) -> Self {
+   |
 
 error: aborting due to 7 previous errors; 3 warnings emitted