diff --git a/src/test/run-pass/async-await.rs b/src/test/ui/async-await/async-await.rs similarity index 99% rename from src/test/run-pass/async-await.rs rename to src/test/ui/async-await/async-await.rs index 49fd8b8b1ce27..6fa013e5c54ca 100644 --- a/src/test/run-pass/async-await.rs +++ b/src/test/ui/async-await/async-await.rs @@ -1,3 +1,5 @@ +// run-pass + // edition:2018 // aux-build:arc_wake.rs diff --git a/src/test/ui/async-fn-multiple-lifetimes.rs b/src/test/ui/async-await/async-fn-multiple-lifetimes.rs similarity index 100% rename from src/test/ui/async-fn-multiple-lifetimes.rs rename to src/test/ui/async-await/async-fn-multiple-lifetimes.rs diff --git a/src/test/ui/async-fn-multiple-lifetimes.stderr b/src/test/ui/async-await/async-fn-multiple-lifetimes.stderr similarity index 100% rename from src/test/ui/async-fn-multiple-lifetimes.stderr rename to src/test/ui/async-await/async-fn-multiple-lifetimes.stderr diff --git a/src/test/ui/async-fn-path-elision.rs b/src/test/ui/async-await/async-fn-path-elision.rs similarity index 100% rename from src/test/ui/async-fn-path-elision.rs rename to src/test/ui/async-await/async-fn-path-elision.rs diff --git a/src/test/ui/async-fn-path-elision.stderr b/src/test/ui/async-await/async-fn-path-elision.stderr similarity index 100% rename from src/test/ui/async-fn-path-elision.stderr rename to src/test/ui/async-await/async-fn-path-elision.stderr diff --git a/src/test/ui/async-matches-expr.rs b/src/test/ui/async-await/async-matches-expr.rs similarity index 100% rename from src/test/ui/async-matches-expr.rs rename to src/test/ui/async-await/async-matches-expr.rs diff --git a/src/test/ui/async-with-closure.rs b/src/test/ui/async-await/async-with-closure.rs similarity index 100% rename from src/test/ui/async-with-closure.rs rename to src/test/ui/async-await/async-with-closure.rs diff --git a/src/test/ui/await-keyword/2015-edition-error-in-non-macro-position.rs b/src/test/ui/async-await/await-keyword/2015-edition-error-in-non-macro-position.rs similarity index 100% rename from src/test/ui/await-keyword/2015-edition-error-in-non-macro-position.rs rename to src/test/ui/async-await/await-keyword/2015-edition-error-in-non-macro-position.rs diff --git a/src/test/ui/await-keyword/2015-edition-error-in-non-macro-position.stderr b/src/test/ui/async-await/await-keyword/2015-edition-error-in-non-macro-position.stderr similarity index 100% rename from src/test/ui/await-keyword/2015-edition-error-in-non-macro-position.stderr rename to src/test/ui/async-await/await-keyword/2015-edition-error-in-non-macro-position.stderr diff --git a/src/test/ui/await-keyword/2015-edition-warning.fixed b/src/test/ui/async-await/await-keyword/2015-edition-warning.fixed similarity index 100% rename from src/test/ui/await-keyword/2015-edition-warning.fixed rename to src/test/ui/async-await/await-keyword/2015-edition-warning.fixed diff --git a/src/test/ui/await-keyword/2015-edition-warning.rs b/src/test/ui/async-await/await-keyword/2015-edition-warning.rs similarity index 100% rename from src/test/ui/await-keyword/2015-edition-warning.rs rename to src/test/ui/async-await/await-keyword/2015-edition-warning.rs diff --git a/src/test/ui/await-keyword/2015-edition-warning.stderr b/src/test/ui/async-await/await-keyword/2015-edition-warning.stderr similarity index 100% rename from src/test/ui/await-keyword/2015-edition-warning.stderr rename to src/test/ui/async-await/await-keyword/2015-edition-warning.stderr diff --git a/src/test/ui/await-keyword/2018-edition-error-in-non-macro-position.rs b/src/test/ui/async-await/await-keyword/2018-edition-error-in-non-macro-position.rs similarity index 100% rename from src/test/ui/await-keyword/2018-edition-error-in-non-macro-position.rs rename to src/test/ui/async-await/await-keyword/2018-edition-error-in-non-macro-position.rs diff --git a/src/test/ui/await-keyword/2018-edition-error-in-non-macro-position.stderr b/src/test/ui/async-await/await-keyword/2018-edition-error-in-non-macro-position.stderr similarity index 100% rename from src/test/ui/await-keyword/2018-edition-error-in-non-macro-position.stderr rename to src/test/ui/async-await/await-keyword/2018-edition-error-in-non-macro-position.stderr diff --git a/src/test/ui/await-keyword/2018-edition-error.rs b/src/test/ui/async-await/await-keyword/2018-edition-error.rs similarity index 100% rename from src/test/ui/await-keyword/2018-edition-error.rs rename to src/test/ui/async-await/await-keyword/2018-edition-error.rs diff --git a/src/test/ui/await-keyword/2018-edition-error.stderr b/src/test/ui/async-await/await-keyword/2018-edition-error.stderr similarity index 100% rename from src/test/ui/await-keyword/2018-edition-error.stderr rename to src/test/ui/async-await/await-keyword/2018-edition-error.stderr diff --git a/src/test/ui/await-keyword/incorrect-syntax-suggestions.rs b/src/test/ui/async-await/await-keyword/incorrect-syntax-suggestions.rs similarity index 100% rename from src/test/ui/await-keyword/incorrect-syntax-suggestions.rs rename to src/test/ui/async-await/await-keyword/incorrect-syntax-suggestions.rs diff --git a/src/test/ui/await-keyword/incorrect-syntax-suggestions.stderr b/src/test/ui/async-await/await-keyword/incorrect-syntax-suggestions.stderr similarity index 100% rename from src/test/ui/await-keyword/incorrect-syntax-suggestions.stderr rename to src/test/ui/async-await/await-keyword/incorrect-syntax-suggestions.stderr diff --git a/src/test/ui/await-keyword/post_expansion_error.rs b/src/test/ui/async-await/await-keyword/post_expansion_error.rs similarity index 100% rename from src/test/ui/await-keyword/post_expansion_error.rs rename to src/test/ui/async-await/await-keyword/post_expansion_error.rs diff --git a/src/test/ui/await-keyword/post_expansion_error.stderr b/src/test/ui/async-await/await-keyword/post_expansion_error.stderr similarity index 100% rename from src/test/ui/await-keyword/post_expansion_error.stderr rename to src/test/ui/async-await/await-keyword/post_expansion_error.stderr diff --git a/src/test/run-pass/await-macro.rs b/src/test/ui/async-await/await-macro.rs similarity index 99% rename from src/test/run-pass/await-macro.rs rename to src/test/ui/async-await/await-macro.rs index e1b4328debd9a..1b807588d6ac2 100644 --- a/src/test/run-pass/await-macro.rs +++ b/src/test/ui/async-await/await-macro.rs @@ -1,3 +1,5 @@ +// run-pass + // edition:2018 // aux-build:arc_wake.rs diff --git a/src/test/ui/nll/dont-print-desugared-async.rs b/src/test/ui/async-await/dont-print-desugared-async.rs similarity index 100% rename from src/test/ui/nll/dont-print-desugared-async.rs rename to src/test/ui/async-await/dont-print-desugared-async.rs diff --git a/src/test/ui/nll/dont-print-desugared-async.stderr b/src/test/ui/async-await/dont-print-desugared-async.stderr similarity index 100% rename from src/test/ui/nll/dont-print-desugared-async.stderr rename to src/test/ui/async-await/dont-print-desugared-async.stderr diff --git a/src/test/ui/async-await/drop-order/auxiliary/arc_wake.rs b/src/test/ui/async-await/drop-order/auxiliary/arc_wake.rs new file mode 100644 index 0000000000000..c21886f26f467 --- /dev/null +++ b/src/test/ui/async-await/drop-order/auxiliary/arc_wake.rs @@ -0,0 +1,64 @@ +// edition:2018 + +use std::sync::Arc; +use std::task::{ + Waker, RawWaker, RawWakerVTable, +}; + +macro_rules! waker_vtable { + ($ty:ident) => { + &RawWakerVTable::new( + clone_arc_raw::<$ty>, + wake_arc_raw::<$ty>, + wake_by_ref_arc_raw::<$ty>, + drop_arc_raw::<$ty>, + ) + }; +} + +pub trait ArcWake { + fn wake(self: Arc); + + fn wake_by_ref(arc_self: &Arc) { + arc_self.clone().wake() + } + + fn into_waker(wake: Arc) -> Waker where Self: Sized + { + let ptr = Arc::into_raw(wake) as *const (); + + unsafe { + Waker::from_raw(RawWaker::new(ptr, waker_vtable!(Self))) + } + } +} + +unsafe fn increase_refcount(data: *const ()) { + // Retain Arc by creating a copy + let arc: Arc = Arc::from_raw(data as *const T); + let arc_clone = arc.clone(); + // Forget the Arcs again, so that the refcount isn't decrased + let _ = Arc::into_raw(arc); + let _ = Arc::into_raw(arc_clone); +} + +unsafe fn clone_arc_raw(data: *const ()) -> RawWaker { + increase_refcount::(data); + RawWaker::new(data, waker_vtable!(T)) +} + +unsafe fn drop_arc_raw(data: *const ()) { + // Drop Arc + let _: Arc = Arc::from_raw(data as *const T); +} + +unsafe fn wake_arc_raw(data: *const ()) { + let arc: Arc = Arc::from_raw(data as *const T); + ArcWake::wake(arc); +} + +unsafe fn wake_by_ref_arc_raw(data: *const ()) { + let arc: Arc = Arc::from_raw(data as *const T); + ArcWake::wake_by_ref(&arc); + let _ = Arc::into_raw(arc); +} diff --git a/src/test/ui/async-await/drop-order-for-async-fn-parameters-by-ref-binding.rs b/src/test/ui/async-await/drop-order/drop-order-for-async-fn-parameters-by-ref-binding.rs similarity index 100% rename from src/test/ui/async-await/drop-order-for-async-fn-parameters-by-ref-binding.rs rename to src/test/ui/async-await/drop-order/drop-order-for-async-fn-parameters-by-ref-binding.rs diff --git a/src/test/ui/async-await/drop-order-for-async-fn-parameters.rs b/src/test/ui/async-await/drop-order/drop-order-for-async-fn-parameters.rs similarity index 100% rename from src/test/ui/async-await/drop-order-for-async-fn-parameters.rs rename to src/test/ui/async-await/drop-order/drop-order-for-async-fn-parameters.rs diff --git a/src/test/ui/async-await/drop-order-locals-are-hidden.rs b/src/test/ui/async-await/drop-order/drop-order-locals-are-hidden.rs similarity index 100% rename from src/test/ui/async-await/drop-order-locals-are-hidden.rs rename to src/test/ui/async-await/drop-order/drop-order-locals-are-hidden.rs diff --git a/src/test/ui/async-await/drop-order-locals-are-hidden.stderr b/src/test/ui/async-await/drop-order/drop-order-locals-are-hidden.stderr similarity index 100% rename from src/test/ui/async-await/drop-order-locals-are-hidden.stderr rename to src/test/ui/async-await/drop-order/drop-order-locals-are-hidden.stderr diff --git a/src/test/ui/editions/edition-deny-async-fns-2015.rs b/src/test/ui/async-await/edition-deny-async-fns-2015.rs similarity index 100% rename from src/test/ui/editions/edition-deny-async-fns-2015.rs rename to src/test/ui/async-await/edition-deny-async-fns-2015.rs diff --git a/src/test/ui/editions/edition-deny-async-fns-2015.stderr b/src/test/ui/async-await/edition-deny-async-fns-2015.stderr similarity index 100% rename from src/test/ui/editions/edition-deny-async-fns-2015.stderr rename to src/test/ui/async-await/edition-deny-async-fns-2015.stderr diff --git a/src/test/ui/async-await/auxiliary/issue-60674.rs b/src/test/ui/async-await/issues/auxiliary/issue-60674.rs similarity index 100% rename from src/test/ui/async-await/auxiliary/issue-60674.rs rename to src/test/ui/async-await/issues/auxiliary/issue-60674.rs diff --git a/src/test/ui/issues/issue-51719.rs b/src/test/ui/async-await/issues/issue-51719.rs similarity index 100% rename from src/test/ui/issues/issue-51719.rs rename to src/test/ui/async-await/issues/issue-51719.rs diff --git a/src/test/ui/issues/issue-51719.stderr b/src/test/ui/async-await/issues/issue-51719.stderr similarity index 100% rename from src/test/ui/issues/issue-51719.stderr rename to src/test/ui/async-await/issues/issue-51719.stderr diff --git a/src/test/ui/issues/issue-51751.rs b/src/test/ui/async-await/issues/issue-51751.rs similarity index 100% rename from src/test/ui/issues/issue-51751.rs rename to src/test/ui/async-await/issues/issue-51751.rs diff --git a/src/test/ui/issues/issue-51751.stderr b/src/test/ui/async-await/issues/issue-51751.stderr similarity index 100% rename from src/test/ui/issues/issue-51751.stderr rename to src/test/ui/async-await/issues/issue-51751.stderr diff --git a/src/test/ui/issue-53249.rs b/src/test/ui/async-await/issues/issue-53249.rs similarity index 100% rename from src/test/ui/issue-53249.rs rename to src/test/ui/async-await/issues/issue-53249.rs diff --git a/src/test/pretty/issue-54752-async-block.rs b/src/test/ui/async-await/issues/issue-54752-async-block.rs similarity index 90% rename from src/test/pretty/issue-54752-async-block.rs rename to src/test/ui/async-await/issues/issue-54752-async-block.rs index 6930ee1a386fe..0036de90b2579 100644 --- a/src/test/pretty/issue-54752-async-block.rs +++ b/src/test/ui/async-await/issues/issue-54752-async-block.rs @@ -1,7 +1,9 @@ -#![feature(async_await)] -#![allow(unused_parens)] +// run-pass // edition:2018 // pp-exact +#![feature(async_await)] +#![allow(unused_parens)] + fn main() { let _a = (async { }); } diff --git a/src/test/ui/issues/issue-54974.rs b/src/test/ui/async-await/issues/issue-54974.rs similarity index 100% rename from src/test/ui/issues/issue-54974.rs rename to src/test/ui/async-await/issues/issue-54974.rs diff --git a/src/test/ui/issues/issue-55324.rs b/src/test/ui/async-await/issues/issue-55324.rs similarity index 100% rename from src/test/ui/issues/issue-55324.rs rename to src/test/ui/async-await/issues/issue-55324.rs diff --git a/src/test/run-pass/issue-55809.rs b/src/test/ui/async-await/issues/issue-55809.rs similarity index 100% rename from src/test/run-pass/issue-55809.rs rename to src/test/ui/async-await/issues/issue-55809.rs diff --git a/src/test/ui/issues/issue-58885.rs b/src/test/ui/async-await/issues/issue-58885.rs similarity index 100% rename from src/test/ui/issues/issue-58885.rs rename to src/test/ui/async-await/issues/issue-58885.rs diff --git a/src/test/ui/issues/issue-59001.rs b/src/test/ui/async-await/issues/issue-59001.rs similarity index 100% rename from src/test/ui/issues/issue-59001.rs rename to src/test/ui/async-await/issues/issue-59001.rs diff --git a/src/test/run-pass/generator/issue-59972.rs b/src/test/ui/async-await/issues/issue-59972.rs similarity index 96% rename from src/test/run-pass/generator/issue-59972.rs rename to src/test/ui/async-await/issues/issue-59972.rs index 995da4fb3ff3c..31e7a65dc98e3 100644 --- a/src/test/run-pass/generator/issue-59972.rs +++ b/src/test/ui/async-await/issues/issue-59972.rs @@ -1,3 +1,5 @@ +// run-pass + // compile-flags: --edition=2018 #![feature(async_await, await_macro)] diff --git a/src/test/ui/async-await/issue-60518.rs b/src/test/ui/async-await/issues/issue-60518.rs similarity index 100% rename from src/test/ui/async-await/issue-60518.rs rename to src/test/ui/async-await/issues/issue-60518.rs diff --git a/src/test/ui/existential_types/issue-60655-latebound-regions.rs b/src/test/ui/async-await/issues/issue-60655-latebound-regions.rs similarity index 100% rename from src/test/ui/existential_types/issue-60655-latebound-regions.rs rename to src/test/ui/async-await/issues/issue-60655-latebound-regions.rs diff --git a/src/test/ui/async-await/issue-60674.rs b/src/test/ui/async-await/issues/issue-60674.rs similarity index 100% rename from src/test/ui/async-await/issue-60674.rs rename to src/test/ui/async-await/issues/issue-60674.rs diff --git a/src/test/ui/async-await/issue-60674.stdout b/src/test/ui/async-await/issues/issue-60674.stdout similarity index 100% rename from src/test/ui/async-await/issue-60674.stdout rename to src/test/ui/async-await/issues/issue-60674.stdout diff --git a/src/test/ui/no-args-non-move-async-closure.rs b/src/test/ui/async-await/no-args-non-move-async-closure.rs similarity index 100% rename from src/test/ui/no-args-non-move-async-closure.rs rename to src/test/ui/async-await/no-args-non-move-async-closure.rs diff --git a/src/test/ui/no-args-non-move-async-closure.stderr b/src/test/ui/async-await/no-args-non-move-async-closure.stderr similarity index 100% rename from src/test/ui/no-args-non-move-async-closure.stderr rename to src/test/ui/async-await/no-args-non-move-async-closure.stderr diff --git a/src/test/ui/impl-trait/recursive-async-impl-trait-type.rs b/src/test/ui/async-await/recursive-async-impl-trait-type.rs similarity index 100% rename from src/test/ui/impl-trait/recursive-async-impl-trait-type.rs rename to src/test/ui/async-await/recursive-async-impl-trait-type.rs diff --git a/src/test/ui/impl-trait/recursive-async-impl-trait-type.stderr b/src/test/ui/async-await/recursive-async-impl-trait-type.stderr similarity index 100% rename from src/test/ui/impl-trait/recursive-async-impl-trait-type.stderr rename to src/test/ui/async-await/recursive-async-impl-trait-type.stderr diff --git a/src/test/ui/generator/unresolved_type_param.rs b/src/test/ui/async-await/unresolved_type_param.rs similarity index 100% rename from src/test/ui/generator/unresolved_type_param.rs rename to src/test/ui/async-await/unresolved_type_param.rs diff --git a/src/test/ui/generator/unresolved_type_param.stderr b/src/test/ui/async-await/unresolved_type_param.stderr similarity index 100% rename from src/test/ui/generator/unresolved_type_param.stderr rename to src/test/ui/async-await/unresolved_type_param.stderr diff --git a/src/test/ui/E0501.rs b/src/test/ui/error-codes/E0501.rs similarity index 100% rename from src/test/ui/E0501.rs rename to src/test/ui/error-codes/E0501.rs diff --git a/src/test/ui/E0501.stderr b/src/test/ui/error-codes/E0501.stderr similarity index 100% rename from src/test/ui/E0501.stderr rename to src/test/ui/error-codes/E0501.stderr diff --git a/src/test/ui/E0506.rs b/src/test/ui/error-codes/E0506.rs similarity index 100% rename from src/test/ui/E0506.rs rename to src/test/ui/error-codes/E0506.rs diff --git a/src/test/ui/E0506.stderr b/src/test/ui/error-codes/E0506.stderr similarity index 100% rename from src/test/ui/E0506.stderr rename to src/test/ui/error-codes/E0506.stderr diff --git a/src/test/ui/E0508-fail.rs b/src/test/ui/error-codes/E0508-fail.rs similarity index 100% rename from src/test/ui/E0508-fail.rs rename to src/test/ui/error-codes/E0508-fail.rs diff --git a/src/test/ui/E0508-fail.stderr b/src/test/ui/error-codes/E0508-fail.stderr similarity index 100% rename from src/test/ui/E0508-fail.stderr rename to src/test/ui/error-codes/E0508-fail.stderr diff --git a/src/test/ui/E0508.rs b/src/test/ui/error-codes/E0508.rs similarity index 100% rename from src/test/ui/E0508.rs rename to src/test/ui/error-codes/E0508.rs diff --git a/src/test/ui/E0508.stderr b/src/test/ui/error-codes/E0508.stderr similarity index 100% rename from src/test/ui/E0508.stderr rename to src/test/ui/error-codes/E0508.stderr diff --git a/src/test/ui/E0583.rs b/src/test/ui/error-codes/E0583.rs similarity index 100% rename from src/test/ui/E0583.rs rename to src/test/ui/error-codes/E0583.rs diff --git a/src/test/ui/E0583.stderr b/src/test/ui/error-codes/E0583.stderr similarity index 100% rename from src/test/ui/E0583.stderr rename to src/test/ui/error-codes/E0583.stderr diff --git a/src/test/ui/E0594.rs b/src/test/ui/error-codes/E0594.rs similarity index 100% rename from src/test/ui/E0594.rs rename to src/test/ui/error-codes/E0594.rs diff --git a/src/test/ui/E0594.stderr b/src/test/ui/error-codes/E0594.stderr similarity index 100% rename from src/test/ui/E0594.stderr rename to src/test/ui/error-codes/E0594.stderr diff --git a/src/test/ui/E0596.rs b/src/test/ui/error-codes/E0596.rs similarity index 100% rename from src/test/ui/E0596.rs rename to src/test/ui/error-codes/E0596.rs diff --git a/src/test/ui/E0596.stderr b/src/test/ui/error-codes/E0596.stderr similarity index 100% rename from src/test/ui/E0596.stderr rename to src/test/ui/error-codes/E0596.stderr diff --git a/src/test/ui/E0642.rs b/src/test/ui/error-codes/E0642.rs similarity index 100% rename from src/test/ui/E0642.rs rename to src/test/ui/error-codes/E0642.rs diff --git a/src/test/ui/E0642.stderr b/src/test/ui/error-codes/E0642.stderr similarity index 100% rename from src/test/ui/E0642.stderr rename to src/test/ui/error-codes/E0642.stderr diff --git a/src/test/ui/E0660.rs b/src/test/ui/error-codes/E0660.rs similarity index 100% rename from src/test/ui/E0660.rs rename to src/test/ui/error-codes/E0660.rs diff --git a/src/test/ui/E0660.stderr b/src/test/ui/error-codes/E0660.stderr similarity index 100% rename from src/test/ui/E0660.stderr rename to src/test/ui/error-codes/E0660.stderr diff --git a/src/test/ui/E0661.rs b/src/test/ui/error-codes/E0661.rs similarity index 100% rename from src/test/ui/E0661.rs rename to src/test/ui/error-codes/E0661.rs diff --git a/src/test/ui/E0661.stderr b/src/test/ui/error-codes/E0661.stderr similarity index 100% rename from src/test/ui/E0661.stderr rename to src/test/ui/error-codes/E0661.stderr diff --git a/src/test/ui/E0662.rs b/src/test/ui/error-codes/E0662.rs similarity index 100% rename from src/test/ui/E0662.rs rename to src/test/ui/error-codes/E0662.rs diff --git a/src/test/ui/E0662.stderr b/src/test/ui/error-codes/E0662.stderr similarity index 100% rename from src/test/ui/E0662.stderr rename to src/test/ui/error-codes/E0662.stderr diff --git a/src/test/ui/E0663.rs b/src/test/ui/error-codes/E0663.rs similarity index 100% rename from src/test/ui/E0663.rs rename to src/test/ui/error-codes/E0663.rs diff --git a/src/test/ui/E0663.stderr b/src/test/ui/error-codes/E0663.stderr similarity index 100% rename from src/test/ui/E0663.stderr rename to src/test/ui/error-codes/E0663.stderr diff --git a/src/test/ui/E0664.rs b/src/test/ui/error-codes/E0664.rs similarity index 100% rename from src/test/ui/E0664.rs rename to src/test/ui/error-codes/E0664.rs diff --git a/src/test/ui/E0664.stderr b/src/test/ui/error-codes/E0664.stderr similarity index 100% rename from src/test/ui/E0664.stderr rename to src/test/ui/error-codes/E0664.stderr diff --git a/src/test/ui/E0665.rs b/src/test/ui/error-codes/E0665.rs similarity index 100% rename from src/test/ui/E0665.rs rename to src/test/ui/error-codes/E0665.rs diff --git a/src/test/ui/E0665.stderr b/src/test/ui/error-codes/E0665.stderr similarity index 100% rename from src/test/ui/E0665.stderr rename to src/test/ui/error-codes/E0665.stderr diff --git a/src/test/ui/E0705.rs b/src/test/ui/error-codes/E0705.rs similarity index 100% rename from src/test/ui/E0705.rs rename to src/test/ui/error-codes/E0705.rs diff --git a/src/test/ui/E0705.stderr b/src/test/ui/error-codes/E0705.stderr similarity index 100% rename from src/test/ui/E0705.stderr rename to src/test/ui/error-codes/E0705.stderr diff --git a/src/test/ui/e0119/auxiliary/complex_impl_support.rs b/src/test/ui/error-codes/e0119/auxiliary/complex_impl_support.rs similarity index 100% rename from src/test/ui/e0119/auxiliary/complex_impl_support.rs rename to src/test/ui/error-codes/e0119/auxiliary/complex_impl_support.rs diff --git a/src/test/ui/e0119/auxiliary/issue-23563-a.rs b/src/test/ui/error-codes/e0119/auxiliary/issue-23563-a.rs similarity index 100% rename from src/test/ui/e0119/auxiliary/issue-23563-a.rs rename to src/test/ui/error-codes/e0119/auxiliary/issue-23563-a.rs diff --git a/src/test/ui/e0119/complex-impl.rs b/src/test/ui/error-codes/e0119/complex-impl.rs similarity index 100% rename from src/test/ui/e0119/complex-impl.rs rename to src/test/ui/error-codes/e0119/complex-impl.rs diff --git a/src/test/ui/e0119/complex-impl.stderr b/src/test/ui/error-codes/e0119/complex-impl.stderr similarity index 100% rename from src/test/ui/e0119/complex-impl.stderr rename to src/test/ui/error-codes/e0119/complex-impl.stderr diff --git a/src/test/ui/e0119/conflict-with-std.rs b/src/test/ui/error-codes/e0119/conflict-with-std.rs similarity index 100% rename from src/test/ui/e0119/conflict-with-std.rs rename to src/test/ui/error-codes/e0119/conflict-with-std.rs diff --git a/src/test/ui/e0119/conflict-with-std.stderr b/src/test/ui/error-codes/e0119/conflict-with-std.stderr similarity index 100% rename from src/test/ui/e0119/conflict-with-std.stderr rename to src/test/ui/error-codes/e0119/conflict-with-std.stderr diff --git a/src/test/ui/e0119/issue-23563.rs b/src/test/ui/error-codes/e0119/issue-23563.rs similarity index 100% rename from src/test/ui/e0119/issue-23563.rs rename to src/test/ui/error-codes/e0119/issue-23563.rs diff --git a/src/test/ui/e0119/issue-23563.stderr b/src/test/ui/error-codes/e0119/issue-23563.stderr similarity index 100% rename from src/test/ui/e0119/issue-23563.stderr rename to src/test/ui/error-codes/e0119/issue-23563.stderr diff --git a/src/test/ui/e0119/issue-27403.rs b/src/test/ui/error-codes/e0119/issue-27403.rs similarity index 100% rename from src/test/ui/e0119/issue-27403.rs rename to src/test/ui/error-codes/e0119/issue-27403.rs diff --git a/src/test/ui/e0119/issue-27403.stderr b/src/test/ui/error-codes/e0119/issue-27403.stderr similarity index 100% rename from src/test/ui/e0119/issue-27403.stderr rename to src/test/ui/error-codes/e0119/issue-27403.stderr diff --git a/src/test/ui/e0119/issue-28981.rs b/src/test/ui/error-codes/e0119/issue-28981.rs similarity index 100% rename from src/test/ui/e0119/issue-28981.rs rename to src/test/ui/error-codes/e0119/issue-28981.rs diff --git a/src/test/ui/e0119/issue-28981.stderr b/src/test/ui/error-codes/e0119/issue-28981.stderr similarity index 100% rename from src/test/ui/e0119/issue-28981.stderr rename to src/test/ui/error-codes/e0119/issue-28981.stderr diff --git a/src/test/ui/e0119/so-37347311.rs b/src/test/ui/error-codes/e0119/so-37347311.rs similarity index 100% rename from src/test/ui/e0119/so-37347311.rs rename to src/test/ui/error-codes/e0119/so-37347311.rs diff --git a/src/test/ui/e0119/so-37347311.stderr b/src/test/ui/error-codes/e0119/so-37347311.stderr similarity index 100% rename from src/test/ui/e0119/so-37347311.stderr rename to src/test/ui/error-codes/e0119/so-37347311.stderr diff --git a/src/test/ui/auxiliary/issue-59764.rs b/src/test/ui/issues/auxiliary/issue-59764.rs similarity index 100% rename from src/test/ui/auxiliary/issue-59764.rs rename to src/test/ui/issues/auxiliary/issue-59764.rs diff --git a/src/test/ui/issue-59508-1.rs b/src/test/ui/issues/issue-59508-1.rs similarity index 100% rename from src/test/ui/issue-59508-1.rs rename to src/test/ui/issues/issue-59508-1.rs diff --git a/src/test/ui/issue-59508-1.stderr b/src/test/ui/issues/issue-59508-1.stderr similarity index 100% rename from src/test/ui/issue-59508-1.stderr rename to src/test/ui/issues/issue-59508-1.stderr diff --git a/src/test/ui/issue-59508.fixed b/src/test/ui/issues/issue-59508.fixed similarity index 100% rename from src/test/ui/issue-59508.fixed rename to src/test/ui/issues/issue-59508.fixed diff --git a/src/test/ui/issue-59508.rs b/src/test/ui/issues/issue-59508.rs similarity index 100% rename from src/test/ui/issue-59508.rs rename to src/test/ui/issues/issue-59508.rs diff --git a/src/test/ui/issue-59508.stderr b/src/test/ui/issues/issue-59508.stderr similarity index 100% rename from src/test/ui/issue-59508.stderr rename to src/test/ui/issues/issue-59508.stderr diff --git a/src/test/ui/issue-59756.fixed b/src/test/ui/issues/issue-59756.fixed similarity index 100% rename from src/test/ui/issue-59756.fixed rename to src/test/ui/issues/issue-59756.fixed diff --git a/src/test/ui/issue-59756.rs b/src/test/ui/issues/issue-59756.rs similarity index 100% rename from src/test/ui/issue-59756.rs rename to src/test/ui/issues/issue-59756.rs diff --git a/src/test/ui/issue-59756.stderr b/src/test/ui/issues/issue-59756.stderr similarity index 100% rename from src/test/ui/issue-59756.stderr rename to src/test/ui/issues/issue-59756.stderr diff --git a/src/test/ui/issue-59764.rs b/src/test/ui/issues/issue-59764.rs similarity index 100% rename from src/test/ui/issue-59764.rs rename to src/test/ui/issues/issue-59764.rs diff --git a/src/test/ui/issue-59764.stderr b/src/test/ui/issues/issue-59764.stderr similarity index 100% rename from src/test/ui/issue-59764.stderr rename to src/test/ui/issues/issue-59764.stderr diff --git a/src/test/ui/issue-60075.rs b/src/test/ui/issues/issue-60075.rs similarity index 100% rename from src/test/ui/issue-60075.rs rename to src/test/ui/issues/issue-60075.rs diff --git a/src/test/ui/issue-60075.stderr b/src/test/ui/issues/issue-60075.stderr similarity index 100% rename from src/test/ui/issue-60075.stderr rename to src/test/ui/issues/issue-60075.stderr diff --git a/src/test/ui/issue-60622.rs b/src/test/ui/issues/issue-60622.rs similarity index 100% rename from src/test/ui/issue-60622.rs rename to src/test/ui/issues/issue-60622.rs diff --git a/src/test/ui/issue-60622.stderr b/src/test/ui/issues/issue-60622.stderr similarity index 100% rename from src/test/ui/issue-60622.stderr rename to src/test/ui/issues/issue-60622.stderr