diff --git a/tests/ui/issues/issue-46472.rs b/tests/ui/borrowck/return-ref-to-temporary.rs similarity index 100% rename from tests/ui/issues/issue-46472.rs rename to tests/ui/borrowck/return-ref-to-temporary.rs diff --git a/tests/ui/issues/issue-46472.stderr b/tests/ui/borrowck/return-ref-to-temporary.stderr similarity index 100% rename from tests/ui/issues/issue-46472.stderr rename to tests/ui/borrowck/return-ref-to-temporary.stderr diff --git a/tests/ui/issues/issue-19499.rs b/tests/ui/closures/closure-upvar-trait-caching.rs similarity index 100% rename from tests/ui/issues/issue-19499.rs rename to tests/ui/closures/closure-upvar-trait-caching.rs diff --git a/tests/ui/issues/issue-24779.rs b/tests/ui/closures/nested-closure-call.rs similarity index 100% rename from tests/ui/issues/issue-24779.rs rename to tests/ui/closures/nested-closure-call.rs diff --git a/tests/ui/issues/issue-24945-repeat-dash-opts.rs b/tests/ui/codegen/repeated-debug-opt-flags.rs similarity index 100% rename from tests/ui/issues/issue-24945-repeat-dash-opts.rs rename to tests/ui/codegen/repeated-debug-opt-flags.rs diff --git a/tests/ui/issues/issue-23253.rs b/tests/ui/enum/enum-variant-no-field.rs similarity index 100% rename from tests/ui/issues/issue-23253.rs rename to tests/ui/enum/enum-variant-no-field.rs diff --git a/tests/ui/issues/issue-23253.stderr b/tests/ui/enum/enum-variant-no-field.stderr similarity index 100% rename from tests/ui/issues/issue-23253.stderr rename to tests/ui/enum/enum-variant-no-field.stderr diff --git a/tests/ui/issues/issue-50442.rs b/tests/ui/enum/enum-with-uninhabited-variant.rs similarity index 100% rename from tests/ui/issues/issue-50442.rs rename to tests/ui/enum/enum-with-uninhabited-variant.rs diff --git a/tests/ui/issues/issue-18110.rs b/tests/ui/expr/return-in-block-tuple.rs similarity index 100% rename from tests/ui/issues/issue-18110.rs rename to tests/ui/expr/return-in-block-tuple.rs diff --git a/tests/ui/issues/issue-19398.rs b/tests/ui/extern/extern-rust-trait-method.rs similarity index 100% rename from tests/ui/issues/issue-19398.rs rename to tests/ui/extern/extern-rust-trait-method.rs diff --git a/tests/ui/issues/issue-3656.rs b/tests/ui/ffi/ffi-struct-size-alignment.rs similarity index 100% rename from tests/ui/issues/issue-3656.rs rename to tests/ui/ffi/ffi-struct-size-alignment.rs diff --git a/tests/ui/issues/issue-11382.rs b/tests/ui/fmt/println-float.rs similarity index 100% rename from tests/ui/issues/issue-11382.rs rename to tests/ui/fmt/println-float.rs diff --git a/tests/ui/issues/issue-43205.rs b/tests/ui/indexing/ref-array-indexing.rs similarity index 100% rename from tests/ui/issues/issue-43205.rs rename to tests/ui/indexing/ref-array-indexing.rs diff --git a/tests/ui/issues/issue-17758.rs b/tests/ui/lifetimes/trait-method-lifetime-suggestion.rs similarity index 100% rename from tests/ui/issues/issue-17758.rs rename to tests/ui/lifetimes/trait-method-lifetime-suggestion.rs diff --git a/tests/ui/issues/issue-17758.stderr b/tests/ui/lifetimes/trait-method-lifetime-suggestion.stderr similarity index 100% rename from tests/ui/issues/issue-17758.stderr rename to tests/ui/lifetimes/trait-method-lifetime-suggestion.stderr diff --git a/tests/ui/lint/lint-missing-doc-crate.rs b/tests/ui/lint/lint-missing-doc-crate-flags.rs similarity index 100% rename from tests/ui/lint/lint-missing-doc-crate.rs rename to tests/ui/lint/lint-missing-doc-crate-flags.rs diff --git a/tests/ui/lint/lint-missing-doc-crate.stderr b/tests/ui/lint/lint-missing-doc-crate-flags.stderr similarity index 100% rename from tests/ui/lint/lint-missing-doc-crate.stderr rename to tests/ui/lint/lint-missing-doc-crate-flags.stderr diff --git a/tests/ui/issues/issue-10656.rs b/tests/ui/lint/lint-missing-docs-crate-attr.rs similarity index 100% rename from tests/ui/issues/issue-10656.rs rename to tests/ui/lint/lint-missing-docs-crate-attr.rs diff --git a/tests/ui/issues/issue-10656.stderr b/tests/ui/lint/lint-missing-docs-crate-attr.stderr similarity index 100% rename from tests/ui/issues/issue-10656.stderr rename to tests/ui/lint/lint-missing-docs-crate-attr.stderr diff --git a/tests/ui/issues/issue-19734.rs b/tests/ui/macros/undefined-macro-in-impl.rs similarity index 100% rename from tests/ui/issues/issue-19734.rs rename to tests/ui/macros/undefined-macro-in-impl.rs diff --git a/tests/ui/issues/issue-19734.stderr b/tests/ui/macros/undefined-macro-in-impl.stderr similarity index 100% rename from tests/ui/issues/issue-19734.stderr rename to tests/ui/macros/undefined-macro-in-impl.stderr diff --git a/tests/ui/issues/issue-4968.rs b/tests/ui/match/match-const-tuple-type-mismatch.rs similarity index 100% rename from tests/ui/issues/issue-4968.rs rename to tests/ui/match/match-const-tuple-type-mismatch.rs diff --git a/tests/ui/issues/issue-4968.stderr b/tests/ui/match/match-const-tuple-type-mismatch.stderr similarity index 100% rename from tests/ui/issues/issue-4968.stderr rename to tests/ui/match/match-const-tuple-type-mismatch.stderr diff --git a/tests/ui/issues/issue-18464.rs b/tests/ui/match/match-range-char-const.rs similarity index 100% rename from tests/ui/issues/issue-18464.rs rename to tests/ui/match/match-range-char-const.rs diff --git a/tests/ui/issues/issue-17933.rs b/tests/ui/match/match-static-pattern.rs similarity index 100% rename from tests/ui/issues/issue-17933.rs rename to tests/ui/match/match-static-pattern.rs diff --git a/tests/ui/issues/issue-17933.stderr b/tests/ui/match/match-static-pattern.stderr similarity index 100% rename from tests/ui/issues/issue-17933.stderr rename to tests/ui/match/match-static-pattern.stderr diff --git a/tests/ui/issues/issue-16783.rs b/tests/ui/moves/array-copy-move.rs similarity index 100% rename from tests/ui/issues/issue-16783.rs rename to tests/ui/moves/array-copy-move.rs diff --git a/tests/ui/issues/issue-17373.rs b/tests/ui/never_type/never-deref.rs similarity index 100% rename from tests/ui/issues/issue-17373.rs rename to tests/ui/never_type/never-deref.rs diff --git a/tests/ui/issues/issue-17373.stderr b/tests/ui/never_type/never-deref.stderr similarity index 100% rename from tests/ui/issues/issue-17373.stderr rename to tests/ui/never_type/never-deref.stderr diff --git a/tests/ui/issues/issue-22644.rs b/tests/ui/parser/cast-angle-bracket-precedence.rs similarity index 100% rename from tests/ui/issues/issue-22644.rs rename to tests/ui/parser/cast-angle-bracket-precedence.rs diff --git a/tests/ui/issues/issue-22644.stderr b/tests/ui/parser/cast-angle-bracket-precedence.stderr similarity index 100% rename from tests/ui/issues/issue-22644.stderr rename to tests/ui/parser/cast-angle-bracket-precedence.stderr diff --git a/tests/ui/issues/issue-27033.rs b/tests/ui/pattern/match-at-pattern-shadows-name.rs similarity index 100% rename from tests/ui/issues/issue-27033.rs rename to tests/ui/pattern/match-at-pattern-shadows-name.rs diff --git a/tests/ui/issues/issue-27033.stderr b/tests/ui/pattern/match-at-pattern-shadows-name.stderr similarity index 100% rename from tests/ui/issues/issue-27033.stderr rename to tests/ui/pattern/match-at-pattern-shadows-name.stderr diff --git a/tests/ui/issues/issue-17001.rs b/tests/ui/resolve/module-used-as-struct-constructor.rs similarity index 100% rename from tests/ui/issues/issue-17001.rs rename to tests/ui/resolve/module-used-as-struct-constructor.rs diff --git a/tests/ui/issues/issue-17001.stderr b/tests/ui/resolve/module-used-as-struct-constructor.stderr similarity index 100% rename from tests/ui/issues/issue-17001.stderr rename to tests/ui/resolve/module-used-as-struct-constructor.stderr diff --git a/tests/ui/issues/issue-34047.rs b/tests/ui/shadowed/match-binding-shadows-const.rs similarity index 100% rename from tests/ui/issues/issue-34047.rs rename to tests/ui/shadowed/match-binding-shadows-const.rs diff --git a/tests/ui/issues/issue-34047.stderr b/tests/ui/shadowed/match-binding-shadows-const.stderr similarity index 100% rename from tests/ui/issues/issue-34047.stderr rename to tests/ui/shadowed/match-binding-shadows-const.stderr diff --git a/tests/ui/issues/issue-17450.rs b/tests/ui/statics/static-mut-unsafe-init.rs similarity index 100% rename from tests/ui/issues/issue-17450.rs rename to tests/ui/statics/static-mut-unsafe-init.rs diff --git a/tests/ui/issues/issue-21291.rs b/tests/ui/threads-sendsync/thread-join-unwrap.rs similarity index 100% rename from tests/ui/issues/issue-21291.rs rename to tests/ui/threads-sendsync/thread-join-unwrap.rs diff --git a/tests/ui/issues/issue-20162.rs b/tests/ui/trait-bounds/sort-missing-ord-bound.rs similarity index 100% rename from tests/ui/issues/issue-20162.rs rename to tests/ui/trait-bounds/sort-missing-ord-bound.rs diff --git a/tests/ui/issues/issue-20162.stderr b/tests/ui/trait-bounds/sort-missing-ord-bound.stderr similarity index 100% rename from tests/ui/issues/issue-20162.stderr rename to tests/ui/trait-bounds/sort-missing-ord-bound.stderr diff --git a/tests/ui/issues/issue-21177.rs b/tests/ui/traits/solver-cycles/assoc-equality-cycle.rs similarity index 100% rename from tests/ui/issues/issue-21177.rs rename to tests/ui/traits/solver-cycles/assoc-equality-cycle.rs diff --git a/tests/ui/issues/issue-21177.stderr b/tests/ui/traits/solver-cycles/assoc-equality-cycle.stderr similarity index 100% rename from tests/ui/issues/issue-21177.stderr rename to tests/ui/traits/solver-cycles/assoc-equality-cycle.stderr diff --git a/tests/ui/issues/issue-20772.rs b/tests/ui/traits/solver-cycles/self-item-cycle.rs similarity index 100% rename from tests/ui/issues/issue-20772.rs rename to tests/ui/traits/solver-cycles/self-item-cycle.rs diff --git a/tests/ui/issues/issue-20772.stderr b/tests/ui/traits/solver-cycles/self-item-cycle.stderr similarity index 100% rename from tests/ui/issues/issue-20772.stderr rename to tests/ui/traits/solver-cycles/self-item-cycle.stderr diff --git a/tests/ui/issues/issue-18159.rs b/tests/ui/typeck/missing-type-annotation.rs similarity index 100% rename from tests/ui/issues/issue-18159.rs rename to tests/ui/typeck/missing-type-annotation.rs diff --git a/tests/ui/issues/issue-18159.stderr b/tests/ui/typeck/missing-type-annotation.stderr similarity index 100% rename from tests/ui/issues/issue-18159.stderr rename to tests/ui/typeck/missing-type-annotation.stderr diff --git a/tests/ui/issues/issue-49854.rs b/tests/ui/typeck/osstring-str-equality.rs similarity index 100% rename from tests/ui/issues/issue-49854.rs rename to tests/ui/typeck/osstring-str-equality.rs diff --git a/tests/ui/issues/issue-18532.rs b/tests/ui/typeck/return-expression-invalid-callee.rs similarity index 100% rename from tests/ui/issues/issue-18532.rs rename to tests/ui/typeck/return-expression-invalid-callee.rs diff --git a/tests/ui/issues/issue-18532.stderr b/tests/ui/typeck/return-expression-invalid-callee.stderr similarity index 100% rename from tests/ui/issues/issue-18532.stderr rename to tests/ui/typeck/return-expression-invalid-callee.stderr