diff --git a/tests/ui/nonscalar-cast.fixed b/tests/ui/cast/non-primitive-cast-suggestion.fixed similarity index 100% rename from tests/ui/nonscalar-cast.fixed rename to tests/ui/cast/non-primitive-cast-suggestion.fixed diff --git a/tests/ui/nonscalar-cast.rs b/tests/ui/cast/non-primitive-cast-suggestion.rs similarity index 100% rename from tests/ui/nonscalar-cast.rs rename to tests/ui/cast/non-primitive-cast-suggestion.rs diff --git a/tests/ui/nonscalar-cast.stderr b/tests/ui/cast/non-primitive-cast-suggestion.stderr similarity index 100% rename from tests/ui/nonscalar-cast.stderr rename to tests/ui/cast/non-primitive-cast-suggestion.stderr diff --git a/tests/ui/not-clone-closure.rs b/tests/ui/closures/closure-clone-requires-captured-clone.rs similarity index 100% rename from tests/ui/not-clone-closure.rs rename to tests/ui/closures/closure-clone-requires-captured-clone.rs diff --git a/tests/ui/not-clone-closure.stderr b/tests/ui/closures/closure-clone-requires-captured-clone.stderr similarity index 100% rename from tests/ui/not-clone-closure.stderr rename to tests/ui/closures/closure-clone-requires-captured-clone.stderr diff --git a/tests/ui/non-constant-expr-for-arr-len.rs b/tests/ui/consts/array-repeat-expr-not-const.rs similarity index 100% rename from tests/ui/non-constant-expr-for-arr-len.rs rename to tests/ui/consts/array-repeat-expr-not-const.rs diff --git a/tests/ui/non-constant-expr-for-arr-len.stderr b/tests/ui/consts/array-repeat-expr-not-const.stderr similarity index 100% rename from tests/ui/non-constant-expr-for-arr-len.stderr rename to tests/ui/consts/array-repeat-expr-not-const.stderr diff --git a/tests/ui/auxiliary/noexporttypelib.rs b/tests/ui/cross-crate/auxiliary/noexporttypelib.rs similarity index 100% rename from tests/ui/auxiliary/noexporttypelib.rs rename to tests/ui/cross-crate/auxiliary/noexporttypelib.rs diff --git a/tests/ui/noexporttypeexe.rs b/tests/ui/cross-crate/unexported-type-error-message.rs similarity index 100% rename from tests/ui/noexporttypeexe.rs rename to tests/ui/cross-crate/unexported-type-error-message.rs diff --git a/tests/ui/noexporttypeexe.stderr b/tests/ui/cross-crate/unexported-type-error-message.stderr similarity index 100% rename from tests/ui/noexporttypeexe.stderr rename to tests/ui/cross-crate/unexported-type-error-message.stderr diff --git a/tests/ui/no-warn-on-field-replace-issue-34101.rs b/tests/ui/drop/field-replace-in-struct-with-drop.rs similarity index 100% rename from tests/ui/no-warn-on-field-replace-issue-34101.rs rename to tests/ui/drop/field-replace-in-struct-with-drop.rs diff --git a/tests/ui/no-core-2.rs b/tests/ui/no_std/no-core-edition2018-syntax.rs similarity index 100% rename from tests/ui/no-core-2.rs rename to tests/ui/no_std/no-core-edition2018-syntax.rs diff --git a/tests/ui/no-core-1.rs b/tests/ui/no_std/no-core-with-explicit-std-core.rs similarity index 100% rename from tests/ui/no-core-1.rs rename to tests/ui/no_std/no-core-with-explicit-std-core.rs diff --git a/tests/ui/no-send-res-ports.rs b/tests/ui/threads-sendsync/rc-is-not-send.rs similarity index 100% rename from tests/ui/no-send-res-ports.rs rename to tests/ui/threads-sendsync/rc-is-not-send.rs diff --git a/tests/ui/no-send-res-ports.stderr b/tests/ui/threads-sendsync/rc-is-not-send.stderr similarity index 100% rename from tests/ui/no-send-res-ports.stderr rename to tests/ui/threads-sendsync/rc-is-not-send.stderr