From eef3c4db7bfd3a3d943f9414ed2cd8464c5e6312 Mon Sep 17 00:00:00 2001 From: Waffle Lapkin Date: Fri, 14 Nov 2025 00:24:27 +0100 Subject: [PATCH] move never type tests to subdirectories and add some comments --- .../ui/never_type/{ => basic}/adjust_never.rs | 0 .../ui/never_type/{ => basic}/auto-traits.rs | 0 .../call-fn-never-arg-wrong-type.rs | 0 .../call-fn-never-arg-wrong-type.stderr | 0 .../{ => basic}/call-fn-never-arg.rs | 0 tests/ui/never_type/{ => basic}/cast-never.rs | 0 .../never_type/{ => basic}/impl-for-never.rs | 0 .../{ => basic}/impl-for-never.run.stdout | 0 .../{ => basic}/never-assign-wrong-type.rs | 0 .../never-assign-wrong-type.stderr | 0 .../{ => basic}/never-associated-type.rs | 0 .../ui/never_type/{ => basic}/never-result.rs | 0 .../never_type/{ => basic}/never-type-arg.rs | 0 .../never-type-in-nested-fn-decl.rs | 0 .../{ => basic}/never-type-rvalues.rs | 0 .../never_type/{ => basic}/never_coercions.rs | 0 .../{ => basic}/never_transmute_never.rs | 0 .../{ => basic}/return-never-coerce.rs | 0 .../never_type/diverging-tuple-parts-39485.rs | 16 ------------ tests/ui/never_type/expr-empty-ret.rs | 14 ----------- .../defaulted-never-note.e2021.stderr | 0 .../defaulted-never-note.e2024.stderr | 0 .../defaulted-never-note.rs | 0 .../dependency-on-fallback-to-unit.rs | 0 .../dependency-on-fallback-to-unit.stderr | 0 ...fallback-unconstrained-return.e2021.stderr | 0 ...fallback-unconstrained-return.e2024.stderr | 0 ...lback-unconstrained-return.fallback.stderr | 0 ...ack-unconstrained-return.nofallback.stderr | 0 ...diverging-fallback-unconstrained-return.rs | 0 .../dont-suggest-turbofish-from-expansion.rs | 0 ...nt-suggest-turbofish-from-expansion.stderr | 0 .../fallback-closure-ret.e2021.stderr | 0 .../fallback-closure-ret.e2024.stderr | 0 .../fallback-closure-ret.fallback.stderr | 0 .../fallback-closure-ret.nofallback.stderr | 0 .../fallback-closure-ret.rs | 0 .../fallback-closure-wrap.e2024.stderr | 0 .../fallback-closure-wrap.fallback.stderr | 0 .../fallback-closure-wrap.rs | 0 .../from_infer_breaking_with_unit_fallback.rs | 2 +- ...er_breaking_with_unit_fallback.unit.stderr | 0 ...lint-breaking-2024-assign-underscore.fixed | 0 .../lint-breaking-2024-assign-underscore.rs | 0 ...int-breaking-2024-assign-underscore.stderr | 0 ...-fallback-flowing-into-unsafe.e2015.stderr | 0 ...-fallback-flowing-into-unsafe.e2024.stderr | 0 ...never-type-fallback-flowing-into-unsafe.rs | 0 .../question_mark_from_never.rs | 2 +- ...try-block-never-type-fallback.e2021.stderr | 0 .../try-block-never-type-fallback.rs | 0 tests/ui/never_type/issue-10176.rs | 9 ------- tests/ui/never_type/issue-10176.stderr | 14 ----------- tests/ui/never_type/issue-2149.rs | 15 ----------- tests/ui/never_type/issue-2149.stderr | 25 ------------------- .../never-pattern-as-closure-param-141592.rs | 0 ...ver-pattern-as-closure-param-141592.stderr | 0 .../unused_trait_in_never_pattern_body.rs | 0 .../unused_trait_in_never_pattern_body.stderr | 0 .../regress/divergent-block-with-tail.rs | 20 +++++++++++++++ .../divergent-block-with-tail.stderr} | 0 .../{ => regress}/eq-never-types.rs | 0 .../field-access-never-type-13847.rs | 0 .../field-access-never-type-13847.stderr | 0 .../never_type/{ => regress}/issue-13352.rs | 0 .../{ => regress}/issue-13352.stderr | 0 .../never_type/{ => regress}/issue-44402.rs | 0 .../never_type/{ => regress}/issue-51506.rs | 0 .../{ => regress}/issue-51506.stderr | 0 .../never_type/{ => regress}/issue-52443.rs | 0 .../{ => regress}/issue-52443.stderr | 0 .../never_type/{ => regress}/issue-5500-1.rs | 0 .../never_type/{ => regress}/issue-96335.rs | 0 .../{ => regress}/issue-96335.stderr | 0 .../never_type/{ => regress}/never-deref.rs | 0 .../{ => regress}/never-deref.stderr | 0 .../{ => regress}/never-in-range-pat.rs | 0 .../{ => regress}/never-in-range-pat.stderr | 0 .../never-type-fallback-option.rs | 0 .../never-type-method-call-15207.rs | 0 .../never-type-method-call-15207.stderr | 0 .../{ => regress}/span-bug-issue-121445.rs | 0 .../span-bug-issue-121445.stderr | 0 .../{ => regress}/suggestion-ice-132517.rs | 0 .../suggestion-ice-132517.stderr | 0 .../return-without-semicolon-in-match.rs | 13 ++++++++++ .../never-assign-dead-code.rs | 0 .../never-assign-dead-code.stderr | 0 88 files changed, 35 insertions(+), 95 deletions(-) rename tests/ui/never_type/{ => basic}/adjust_never.rs (100%) rename tests/ui/never_type/{ => basic}/auto-traits.rs (100%) rename tests/ui/never_type/{ => basic}/call-fn-never-arg-wrong-type.rs (100%) rename tests/ui/never_type/{ => basic}/call-fn-never-arg-wrong-type.stderr (100%) rename tests/ui/never_type/{ => basic}/call-fn-never-arg.rs (100%) rename tests/ui/never_type/{ => basic}/cast-never.rs (100%) rename tests/ui/never_type/{ => basic}/impl-for-never.rs (100%) rename tests/ui/never_type/{ => basic}/impl-for-never.run.stdout (100%) rename tests/ui/never_type/{ => basic}/never-assign-wrong-type.rs (100%) rename tests/ui/never_type/{ => basic}/never-assign-wrong-type.stderr (100%) rename tests/ui/never_type/{ => basic}/never-associated-type.rs (100%) rename tests/ui/never_type/{ => basic}/never-result.rs (100%) rename tests/ui/never_type/{ => basic}/never-type-arg.rs (100%) rename tests/ui/never_type/{ => basic}/never-type-in-nested-fn-decl.rs (100%) rename tests/ui/never_type/{ => basic}/never-type-rvalues.rs (100%) rename tests/ui/never_type/{ => basic}/never_coercions.rs (100%) rename tests/ui/never_type/{ => basic}/never_transmute_never.rs (100%) rename tests/ui/never_type/{ => basic}/return-never-coerce.rs (100%) delete mode 100644 tests/ui/never_type/diverging-tuple-parts-39485.rs delete mode 100644 tests/ui/never_type/expr-empty-ret.rs rename tests/ui/never_type/{ => fallback_change}/defaulted-never-note.e2021.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/defaulted-never-note.e2024.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/defaulted-never-note.rs (100%) rename tests/ui/never_type/{ => fallback_change}/dependency-on-fallback-to-unit.rs (100%) rename tests/ui/never_type/{ => fallback_change}/dependency-on-fallback-to-unit.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/diverging-fallback-unconstrained-return.e2021.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/diverging-fallback-unconstrained-return.e2024.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/diverging-fallback-unconstrained-return.fallback.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/diverging-fallback-unconstrained-return.nofallback.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/diverging-fallback-unconstrained-return.rs (100%) rename tests/ui/never_type/{ => fallback_change}/dont-suggest-turbofish-from-expansion.rs (100%) rename tests/ui/never_type/{ => fallback_change}/dont-suggest-turbofish-from-expansion.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/fallback-closure-ret.e2021.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/fallback-closure-ret.e2024.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/fallback-closure-ret.fallback.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/fallback-closure-ret.nofallback.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/fallback-closure-ret.rs (100%) rename tests/ui/never_type/{ => fallback_change}/fallback-closure-wrap.e2024.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/fallback-closure-wrap.fallback.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/fallback-closure-wrap.rs (100%) rename tests/ui/never_type/{ => fallback_change}/from_infer_breaking_with_unit_fallback.rs (90%) rename tests/ui/never_type/{ => fallback_change}/from_infer_breaking_with_unit_fallback.unit.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/lint-breaking-2024-assign-underscore.fixed (100%) rename tests/ui/never_type/{ => fallback_change}/lint-breaking-2024-assign-underscore.rs (100%) rename tests/ui/never_type/{ => fallback_change}/lint-breaking-2024-assign-underscore.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/lint-never-type-fallback-flowing-into-unsafe.e2015.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/lint-never-type-fallback-flowing-into-unsafe.e2024.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/lint-never-type-fallback-flowing-into-unsafe.rs (100%) rename tests/ui/never_type/{ => fallback_change}/question_mark_from_never.rs (93%) rename tests/ui/never_type/{ => fallback_change}/try-block-never-type-fallback.e2021.stderr (100%) rename tests/ui/never_type/{ => fallback_change}/try-block-never-type-fallback.rs (100%) delete mode 100644 tests/ui/never_type/issue-10176.rs delete mode 100644 tests/ui/never_type/issue-10176.stderr delete mode 100644 tests/ui/never_type/issue-2149.rs delete mode 100644 tests/ui/never_type/issue-2149.stderr rename tests/ui/never_type/{ => never_pattern}/never-pattern-as-closure-param-141592.rs (100%) rename tests/ui/never_type/{ => never_pattern}/never-pattern-as-closure-param-141592.stderr (100%) rename tests/ui/never_type/{ => never_pattern}/unused_trait_in_never_pattern_body.rs (100%) rename tests/ui/never_type/{ => never_pattern}/unused_trait_in_never_pattern_body.stderr (100%) create mode 100644 tests/ui/never_type/regress/divergent-block-with-tail.rs rename tests/ui/never_type/{diverging-tuple-parts-39485.stderr => regress/divergent-block-with-tail.stderr} (100%) rename tests/ui/never_type/{ => regress}/eq-never-types.rs (100%) rename tests/ui/never_type/{ => regress}/field-access-never-type-13847.rs (100%) rename tests/ui/never_type/{ => regress}/field-access-never-type-13847.stderr (100%) rename tests/ui/never_type/{ => regress}/issue-13352.rs (100%) rename tests/ui/never_type/{ => regress}/issue-13352.stderr (100%) rename tests/ui/never_type/{ => regress}/issue-44402.rs (100%) rename tests/ui/never_type/{ => regress}/issue-51506.rs (100%) rename tests/ui/never_type/{ => regress}/issue-51506.stderr (100%) rename tests/ui/never_type/{ => regress}/issue-52443.rs (100%) rename tests/ui/never_type/{ => regress}/issue-52443.stderr (100%) rename tests/ui/never_type/{ => regress}/issue-5500-1.rs (100%) rename tests/ui/never_type/{ => regress}/issue-96335.rs (100%) rename tests/ui/never_type/{ => regress}/issue-96335.stderr (100%) rename tests/ui/never_type/{ => regress}/never-deref.rs (100%) rename tests/ui/never_type/{ => regress}/never-deref.stderr (100%) rename tests/ui/never_type/{ => regress}/never-in-range-pat.rs (100%) rename tests/ui/never_type/{ => regress}/never-in-range-pat.stderr (100%) rename tests/ui/never_type/{ => regress}/never-type-fallback-option.rs (100%) rename tests/ui/never_type/{ => regress}/never-type-method-call-15207.rs (100%) rename tests/ui/never_type/{ => regress}/never-type-method-call-15207.stderr (100%) rename tests/ui/never_type/{ => regress}/span-bug-issue-121445.rs (100%) rename tests/ui/never_type/{ => regress}/span-bug-issue-121445.stderr (100%) rename tests/ui/never_type/{ => regress}/suggestion-ice-132517.rs (100%) rename tests/ui/never_type/{ => regress}/suggestion-ice-132517.stderr (100%) create mode 100644 tests/ui/parser/return-without-semicolon-in-match.rs rename tests/ui/{never_type => reachable}/never-assign-dead-code.rs (100%) rename tests/ui/{never_type => reachable}/never-assign-dead-code.stderr (100%) diff --git a/tests/ui/never_type/adjust_never.rs b/tests/ui/never_type/basic/adjust_never.rs similarity index 100% rename from tests/ui/never_type/adjust_never.rs rename to tests/ui/never_type/basic/adjust_never.rs diff --git a/tests/ui/never_type/auto-traits.rs b/tests/ui/never_type/basic/auto-traits.rs similarity index 100% rename from tests/ui/never_type/auto-traits.rs rename to tests/ui/never_type/basic/auto-traits.rs diff --git a/tests/ui/never_type/call-fn-never-arg-wrong-type.rs b/tests/ui/never_type/basic/call-fn-never-arg-wrong-type.rs similarity index 100% rename from tests/ui/never_type/call-fn-never-arg-wrong-type.rs rename to tests/ui/never_type/basic/call-fn-never-arg-wrong-type.rs diff --git a/tests/ui/never_type/call-fn-never-arg-wrong-type.stderr b/tests/ui/never_type/basic/call-fn-never-arg-wrong-type.stderr similarity index 100% rename from tests/ui/never_type/call-fn-never-arg-wrong-type.stderr rename to tests/ui/never_type/basic/call-fn-never-arg-wrong-type.stderr diff --git a/tests/ui/never_type/call-fn-never-arg.rs b/tests/ui/never_type/basic/call-fn-never-arg.rs similarity index 100% rename from tests/ui/never_type/call-fn-never-arg.rs rename to tests/ui/never_type/basic/call-fn-never-arg.rs diff --git a/tests/ui/never_type/cast-never.rs b/tests/ui/never_type/basic/cast-never.rs similarity index 100% rename from tests/ui/never_type/cast-never.rs rename to tests/ui/never_type/basic/cast-never.rs diff --git a/tests/ui/never_type/impl-for-never.rs b/tests/ui/never_type/basic/impl-for-never.rs similarity index 100% rename from tests/ui/never_type/impl-for-never.rs rename to tests/ui/never_type/basic/impl-for-never.rs diff --git a/tests/ui/never_type/impl-for-never.run.stdout b/tests/ui/never_type/basic/impl-for-never.run.stdout similarity index 100% rename from tests/ui/never_type/impl-for-never.run.stdout rename to tests/ui/never_type/basic/impl-for-never.run.stdout diff --git a/tests/ui/never_type/never-assign-wrong-type.rs b/tests/ui/never_type/basic/never-assign-wrong-type.rs similarity index 100% rename from tests/ui/never_type/never-assign-wrong-type.rs rename to tests/ui/never_type/basic/never-assign-wrong-type.rs diff --git a/tests/ui/never_type/never-assign-wrong-type.stderr b/tests/ui/never_type/basic/never-assign-wrong-type.stderr similarity index 100% rename from tests/ui/never_type/never-assign-wrong-type.stderr rename to tests/ui/never_type/basic/never-assign-wrong-type.stderr diff --git a/tests/ui/never_type/never-associated-type.rs b/tests/ui/never_type/basic/never-associated-type.rs similarity index 100% rename from tests/ui/never_type/never-associated-type.rs rename to tests/ui/never_type/basic/never-associated-type.rs diff --git a/tests/ui/never_type/never-result.rs b/tests/ui/never_type/basic/never-result.rs similarity index 100% rename from tests/ui/never_type/never-result.rs rename to tests/ui/never_type/basic/never-result.rs diff --git a/tests/ui/never_type/never-type-arg.rs b/tests/ui/never_type/basic/never-type-arg.rs similarity index 100% rename from tests/ui/never_type/never-type-arg.rs rename to tests/ui/never_type/basic/never-type-arg.rs diff --git a/tests/ui/never_type/never-type-in-nested-fn-decl.rs b/tests/ui/never_type/basic/never-type-in-nested-fn-decl.rs similarity index 100% rename from tests/ui/never_type/never-type-in-nested-fn-decl.rs rename to tests/ui/never_type/basic/never-type-in-nested-fn-decl.rs diff --git a/tests/ui/never_type/never-type-rvalues.rs b/tests/ui/never_type/basic/never-type-rvalues.rs similarity index 100% rename from tests/ui/never_type/never-type-rvalues.rs rename to tests/ui/never_type/basic/never-type-rvalues.rs diff --git a/tests/ui/never_type/never_coercions.rs b/tests/ui/never_type/basic/never_coercions.rs similarity index 100% rename from tests/ui/never_type/never_coercions.rs rename to tests/ui/never_type/basic/never_coercions.rs diff --git a/tests/ui/never_type/never_transmute_never.rs b/tests/ui/never_type/basic/never_transmute_never.rs similarity index 100% rename from tests/ui/never_type/never_transmute_never.rs rename to tests/ui/never_type/basic/never_transmute_never.rs diff --git a/tests/ui/never_type/return-never-coerce.rs b/tests/ui/never_type/basic/return-never-coerce.rs similarity index 100% rename from tests/ui/never_type/return-never-coerce.rs rename to tests/ui/never_type/basic/return-never-coerce.rs diff --git a/tests/ui/never_type/diverging-tuple-parts-39485.rs b/tests/ui/never_type/diverging-tuple-parts-39485.rs deleted file mode 100644 index f8304a692de6..000000000000 --- a/tests/ui/never_type/diverging-tuple-parts-39485.rs +++ /dev/null @@ -1,16 +0,0 @@ -//@ edition:2015..2021 -// After #39485, this test used to pass, but that change was reverted -// due to numerous inference failures like #39808, so it now fails -// again. #39485 made it so that diverging types never propagate -// upward; but we now do propagate such types upward in many more -// cases. - -fn g() { - &panic!() //~ ERROR mismatched types -} - -fn f() -> isize { - (return 1, return 2) //~ ERROR mismatched types -} - -fn main() {} diff --git a/tests/ui/never_type/expr-empty-ret.rs b/tests/ui/never_type/expr-empty-ret.rs deleted file mode 100644 index e6af5bd3153f..000000000000 --- a/tests/ui/never_type/expr-empty-ret.rs +++ /dev/null @@ -1,14 +0,0 @@ -//@ run-pass - -#![allow(dead_code)] -// Issue #521 - - -fn f() { - let _x = match true { - true => { 10 } - false => { return } - }; -} - -pub fn main() { } diff --git a/tests/ui/never_type/defaulted-never-note.e2021.stderr b/tests/ui/never_type/fallback_change/defaulted-never-note.e2021.stderr similarity index 100% rename from tests/ui/never_type/defaulted-never-note.e2021.stderr rename to tests/ui/never_type/fallback_change/defaulted-never-note.e2021.stderr diff --git a/tests/ui/never_type/defaulted-never-note.e2024.stderr b/tests/ui/never_type/fallback_change/defaulted-never-note.e2024.stderr similarity index 100% rename from tests/ui/never_type/defaulted-never-note.e2024.stderr rename to tests/ui/never_type/fallback_change/defaulted-never-note.e2024.stderr diff --git a/tests/ui/never_type/defaulted-never-note.rs b/tests/ui/never_type/fallback_change/defaulted-never-note.rs similarity index 100% rename from tests/ui/never_type/defaulted-never-note.rs rename to tests/ui/never_type/fallback_change/defaulted-never-note.rs diff --git a/tests/ui/never_type/dependency-on-fallback-to-unit.rs b/tests/ui/never_type/fallback_change/dependency-on-fallback-to-unit.rs similarity index 100% rename from tests/ui/never_type/dependency-on-fallback-to-unit.rs rename to tests/ui/never_type/fallback_change/dependency-on-fallback-to-unit.rs diff --git a/tests/ui/never_type/dependency-on-fallback-to-unit.stderr b/tests/ui/never_type/fallback_change/dependency-on-fallback-to-unit.stderr similarity index 100% rename from tests/ui/never_type/dependency-on-fallback-to-unit.stderr rename to tests/ui/never_type/fallback_change/dependency-on-fallback-to-unit.stderr diff --git a/tests/ui/never_type/diverging-fallback-unconstrained-return.e2021.stderr b/tests/ui/never_type/fallback_change/diverging-fallback-unconstrained-return.e2021.stderr similarity index 100% rename from tests/ui/never_type/diverging-fallback-unconstrained-return.e2021.stderr rename to tests/ui/never_type/fallback_change/diverging-fallback-unconstrained-return.e2021.stderr diff --git a/tests/ui/never_type/diverging-fallback-unconstrained-return.e2024.stderr b/tests/ui/never_type/fallback_change/diverging-fallback-unconstrained-return.e2024.stderr similarity index 100% rename from tests/ui/never_type/diverging-fallback-unconstrained-return.e2024.stderr rename to tests/ui/never_type/fallback_change/diverging-fallback-unconstrained-return.e2024.stderr diff --git a/tests/ui/never_type/diverging-fallback-unconstrained-return.fallback.stderr b/tests/ui/never_type/fallback_change/diverging-fallback-unconstrained-return.fallback.stderr similarity index 100% rename from tests/ui/never_type/diverging-fallback-unconstrained-return.fallback.stderr rename to tests/ui/never_type/fallback_change/diverging-fallback-unconstrained-return.fallback.stderr diff --git a/tests/ui/never_type/diverging-fallback-unconstrained-return.nofallback.stderr b/tests/ui/never_type/fallback_change/diverging-fallback-unconstrained-return.nofallback.stderr similarity index 100% rename from tests/ui/never_type/diverging-fallback-unconstrained-return.nofallback.stderr rename to tests/ui/never_type/fallback_change/diverging-fallback-unconstrained-return.nofallback.stderr diff --git a/tests/ui/never_type/diverging-fallback-unconstrained-return.rs b/tests/ui/never_type/fallback_change/diverging-fallback-unconstrained-return.rs similarity index 100% rename from tests/ui/never_type/diverging-fallback-unconstrained-return.rs rename to tests/ui/never_type/fallback_change/diverging-fallback-unconstrained-return.rs diff --git a/tests/ui/never_type/dont-suggest-turbofish-from-expansion.rs b/tests/ui/never_type/fallback_change/dont-suggest-turbofish-from-expansion.rs similarity index 100% rename from tests/ui/never_type/dont-suggest-turbofish-from-expansion.rs rename to tests/ui/never_type/fallback_change/dont-suggest-turbofish-from-expansion.rs diff --git a/tests/ui/never_type/dont-suggest-turbofish-from-expansion.stderr b/tests/ui/never_type/fallback_change/dont-suggest-turbofish-from-expansion.stderr similarity index 100% rename from tests/ui/never_type/dont-suggest-turbofish-from-expansion.stderr rename to tests/ui/never_type/fallback_change/dont-suggest-turbofish-from-expansion.stderr diff --git a/tests/ui/never_type/fallback-closure-ret.e2021.stderr b/tests/ui/never_type/fallback_change/fallback-closure-ret.e2021.stderr similarity index 100% rename from tests/ui/never_type/fallback-closure-ret.e2021.stderr rename to tests/ui/never_type/fallback_change/fallback-closure-ret.e2021.stderr diff --git a/tests/ui/never_type/fallback-closure-ret.e2024.stderr b/tests/ui/never_type/fallback_change/fallback-closure-ret.e2024.stderr similarity index 100% rename from tests/ui/never_type/fallback-closure-ret.e2024.stderr rename to tests/ui/never_type/fallback_change/fallback-closure-ret.e2024.stderr diff --git a/tests/ui/never_type/fallback-closure-ret.fallback.stderr b/tests/ui/never_type/fallback_change/fallback-closure-ret.fallback.stderr similarity index 100% rename from tests/ui/never_type/fallback-closure-ret.fallback.stderr rename to tests/ui/never_type/fallback_change/fallback-closure-ret.fallback.stderr diff --git a/tests/ui/never_type/fallback-closure-ret.nofallback.stderr b/tests/ui/never_type/fallback_change/fallback-closure-ret.nofallback.stderr similarity index 100% rename from tests/ui/never_type/fallback-closure-ret.nofallback.stderr rename to tests/ui/never_type/fallback_change/fallback-closure-ret.nofallback.stderr diff --git a/tests/ui/never_type/fallback-closure-ret.rs b/tests/ui/never_type/fallback_change/fallback-closure-ret.rs similarity index 100% rename from tests/ui/never_type/fallback-closure-ret.rs rename to tests/ui/never_type/fallback_change/fallback-closure-ret.rs diff --git a/tests/ui/never_type/fallback-closure-wrap.e2024.stderr b/tests/ui/never_type/fallback_change/fallback-closure-wrap.e2024.stderr similarity index 100% rename from tests/ui/never_type/fallback-closure-wrap.e2024.stderr rename to tests/ui/never_type/fallback_change/fallback-closure-wrap.e2024.stderr diff --git a/tests/ui/never_type/fallback-closure-wrap.fallback.stderr b/tests/ui/never_type/fallback_change/fallback-closure-wrap.fallback.stderr similarity index 100% rename from tests/ui/never_type/fallback-closure-wrap.fallback.stderr rename to tests/ui/never_type/fallback_change/fallback-closure-wrap.fallback.stderr diff --git a/tests/ui/never_type/fallback-closure-wrap.rs b/tests/ui/never_type/fallback_change/fallback-closure-wrap.rs similarity index 100% rename from tests/ui/never_type/fallback-closure-wrap.rs rename to tests/ui/never_type/fallback_change/fallback-closure-wrap.rs diff --git a/tests/ui/never_type/from_infer_breaking_with_unit_fallback.rs b/tests/ui/never_type/fallback_change/from_infer_breaking_with_unit_fallback.rs similarity index 90% rename from tests/ui/never_type/from_infer_breaking_with_unit_fallback.rs rename to tests/ui/never_type/fallback_change/from_infer_breaking_with_unit_fallback.rs index 19a1f9d0e131..970c642514b2 100644 --- a/tests/ui/never_type/from_infer_breaking_with_unit_fallback.rs +++ b/tests/ui/never_type/fallback_change/from_infer_breaking_with_unit_fallback.rs @@ -2,7 +2,7 @@ // // This is a *minimization* of the issue. // Note that the original version with the `?` does not fail anymore even with fallback to unit, -// see `tests/ui/never_type/question_mark_from_never.rs`. +// see `tests/ui/never_type/fallback_change/question_mark_from_never.rs`. // //@ revisions: unit never //@[never] check-pass diff --git a/tests/ui/never_type/from_infer_breaking_with_unit_fallback.unit.stderr b/tests/ui/never_type/fallback_change/from_infer_breaking_with_unit_fallback.unit.stderr similarity index 100% rename from tests/ui/never_type/from_infer_breaking_with_unit_fallback.unit.stderr rename to tests/ui/never_type/fallback_change/from_infer_breaking_with_unit_fallback.unit.stderr diff --git a/tests/ui/never_type/lint-breaking-2024-assign-underscore.fixed b/tests/ui/never_type/fallback_change/lint-breaking-2024-assign-underscore.fixed similarity index 100% rename from tests/ui/never_type/lint-breaking-2024-assign-underscore.fixed rename to tests/ui/never_type/fallback_change/lint-breaking-2024-assign-underscore.fixed diff --git a/tests/ui/never_type/lint-breaking-2024-assign-underscore.rs b/tests/ui/never_type/fallback_change/lint-breaking-2024-assign-underscore.rs similarity index 100% rename from tests/ui/never_type/lint-breaking-2024-assign-underscore.rs rename to tests/ui/never_type/fallback_change/lint-breaking-2024-assign-underscore.rs diff --git a/tests/ui/never_type/lint-breaking-2024-assign-underscore.stderr b/tests/ui/never_type/fallback_change/lint-breaking-2024-assign-underscore.stderr similarity index 100% rename from tests/ui/never_type/lint-breaking-2024-assign-underscore.stderr rename to tests/ui/never_type/fallback_change/lint-breaking-2024-assign-underscore.stderr diff --git a/tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.e2015.stderr b/tests/ui/never_type/fallback_change/lint-never-type-fallback-flowing-into-unsafe.e2015.stderr similarity index 100% rename from tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.e2015.stderr rename to tests/ui/never_type/fallback_change/lint-never-type-fallback-flowing-into-unsafe.e2015.stderr diff --git a/tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.e2024.stderr b/tests/ui/never_type/fallback_change/lint-never-type-fallback-flowing-into-unsafe.e2024.stderr similarity index 100% rename from tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.e2024.stderr rename to tests/ui/never_type/fallback_change/lint-never-type-fallback-flowing-into-unsafe.e2024.stderr diff --git a/tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.rs b/tests/ui/never_type/fallback_change/lint-never-type-fallback-flowing-into-unsafe.rs similarity index 100% rename from tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.rs rename to tests/ui/never_type/fallback_change/lint-never-type-fallback-flowing-into-unsafe.rs diff --git a/tests/ui/never_type/question_mark_from_never.rs b/tests/ui/never_type/fallback_change/question_mark_from_never.rs similarity index 93% rename from tests/ui/never_type/question_mark_from_never.rs rename to tests/ui/never_type/fallback_change/question_mark_from_never.rs index 8d73313667ab..8f5862a2a0ea 100644 --- a/tests/ui/never_type/question_mark_from_never.rs +++ b/tests/ui/never_type/fallback_change/question_mark_from_never.rs @@ -1,6 +1,6 @@ // Regression test for . // -// See also: `tests/ui/never_type/from_infer_breaking_with_unit_fallback.rs`. +// See also: `tests/ui/never_type/fallback_change/from_infer_breaking_with_unit_fallback.rs`. // //@ revisions: unit never //@ check-pass diff --git a/tests/ui/never_type/try-block-never-type-fallback.e2021.stderr b/tests/ui/never_type/fallback_change/try-block-never-type-fallback.e2021.stderr similarity index 100% rename from tests/ui/never_type/try-block-never-type-fallback.e2021.stderr rename to tests/ui/never_type/fallback_change/try-block-never-type-fallback.e2021.stderr diff --git a/tests/ui/never_type/try-block-never-type-fallback.rs b/tests/ui/never_type/fallback_change/try-block-never-type-fallback.rs similarity index 100% rename from tests/ui/never_type/try-block-never-type-fallback.rs rename to tests/ui/never_type/fallback_change/try-block-never-type-fallback.rs diff --git a/tests/ui/never_type/issue-10176.rs b/tests/ui/never_type/issue-10176.rs deleted file mode 100644 index 41e012d023f9..000000000000 --- a/tests/ui/never_type/issue-10176.rs +++ /dev/null @@ -1,9 +0,0 @@ -fn f() -> isize { //~ NOTE expected `isize` because of return type - (return 1, return 2) -//~^ ERROR mismatched types -//~| NOTE expected type `isize` -//~| NOTE found tuple `(!, !)` -//~| NOTE expected `isize`, found `(!, !)` -} - -fn main() {} diff --git a/tests/ui/never_type/issue-10176.stderr b/tests/ui/never_type/issue-10176.stderr deleted file mode 100644 index cd6473e0682a..000000000000 --- a/tests/ui/never_type/issue-10176.stderr +++ /dev/null @@ -1,14 +0,0 @@ -error[E0308]: mismatched types - --> $DIR/issue-10176.rs:2:5 - | -LL | fn f() -> isize { - | ----- expected `isize` because of return type -LL | (return 1, return 2) - | ^^^^^^^^^^^^^^^^^^^^ expected `isize`, found `(!, !)` - | - = note: expected type `isize` - found tuple `(!, !)` - -error: aborting due to 1 previous error - -For more information about this error, try `rustc --explain E0308`. diff --git a/tests/ui/never_type/issue-2149.rs b/tests/ui/never_type/issue-2149.rs deleted file mode 100644 index d6426d2cfabf..000000000000 --- a/tests/ui/never_type/issue-2149.rs +++ /dev/null @@ -1,15 +0,0 @@ -trait VecMonad { - fn bind(&self, f: F) where F: FnMut(A) -> Vec; -} - -impl VecMonad for Vec { - fn bind(&self, mut f: F) where F: FnMut(A) -> Vec { - let mut r = panic!(); - for elt in self { r = r + f(*elt); } - //~^ ERROR E0277 - } -} -fn main() { - ["hi"].bind(|x| [x] ); - //~^ ERROR no method named `bind` found -} diff --git a/tests/ui/never_type/issue-2149.stderr b/tests/ui/never_type/issue-2149.stderr deleted file mode 100644 index 58fe2edb1e41..000000000000 --- a/tests/ui/never_type/issue-2149.stderr +++ /dev/null @@ -1,25 +0,0 @@ -error[E0277]: cannot add `Vec` to `()` - --> $DIR/issue-2149.rs:8:33 - | -LL | for elt in self { r = r + f(*elt); } - | ^ no implementation for `() + Vec` - | - = help: the trait `Add>` is not implemented for `()` - -error[E0599]: no method named `bind` found for array `[&str; 1]` in the current scope - --> $DIR/issue-2149.rs:13:12 - | -LL | ["hi"].bind(|x| [x] ); - | ^^^^ method not found in `[&str; 1]` - | - = help: items from traits can only be used if the trait is implemented and in scope -note: `VecMonad` defines an item `bind`, perhaps you need to implement it - --> $DIR/issue-2149.rs:1:1 - | -LL | trait VecMonad { - | ^^^^^^^^^^^^^^^^^ - -error: aborting due to 2 previous errors - -Some errors have detailed explanations: E0277, E0599. -For more information about an error, try `rustc --explain E0277`. diff --git a/tests/ui/never_type/never-pattern-as-closure-param-141592.rs b/tests/ui/never_type/never_pattern/never-pattern-as-closure-param-141592.rs similarity index 100% rename from tests/ui/never_type/never-pattern-as-closure-param-141592.rs rename to tests/ui/never_type/never_pattern/never-pattern-as-closure-param-141592.rs diff --git a/tests/ui/never_type/never-pattern-as-closure-param-141592.stderr b/tests/ui/never_type/never_pattern/never-pattern-as-closure-param-141592.stderr similarity index 100% rename from tests/ui/never_type/never-pattern-as-closure-param-141592.stderr rename to tests/ui/never_type/never_pattern/never-pattern-as-closure-param-141592.stderr diff --git a/tests/ui/never_type/unused_trait_in_never_pattern_body.rs b/tests/ui/never_type/never_pattern/unused_trait_in_never_pattern_body.rs similarity index 100% rename from tests/ui/never_type/unused_trait_in_never_pattern_body.rs rename to tests/ui/never_type/never_pattern/unused_trait_in_never_pattern_body.rs diff --git a/tests/ui/never_type/unused_trait_in_never_pattern_body.stderr b/tests/ui/never_type/never_pattern/unused_trait_in_never_pattern_body.stderr similarity index 100% rename from tests/ui/never_type/unused_trait_in_never_pattern_body.stderr rename to tests/ui/never_type/never_pattern/unused_trait_in_never_pattern_body.stderr diff --git a/tests/ui/never_type/regress/divergent-block-with-tail.rs b/tests/ui/never_type/regress/divergent-block-with-tail.rs new file mode 100644 index 000000000000..ac34d6b4ad25 --- /dev/null +++ b/tests/ui/never_type/regress/divergent-block-with-tail.rs @@ -0,0 +1,20 @@ +// Rust briefly used to allow blocks with divergent statements to type check as `!`, even if they +// had a tail expression. This led to a number of regressions (because type information no longer +// flowed from the tail expression) and was quickly reverted.i +// +// See , +// , +// . +// +//@ edition:2015..2021 + +fn g() { + &panic!() //~ ERROR mismatched types +} + +// This used to ICE, see +fn f() -> isize { + (return 1, return 2) //~ ERROR mismatched types +} + +fn main() {} diff --git a/tests/ui/never_type/diverging-tuple-parts-39485.stderr b/tests/ui/never_type/regress/divergent-block-with-tail.stderr similarity index 100% rename from tests/ui/never_type/diverging-tuple-parts-39485.stderr rename to tests/ui/never_type/regress/divergent-block-with-tail.stderr diff --git a/tests/ui/never_type/eq-never-types.rs b/tests/ui/never_type/regress/eq-never-types.rs similarity index 100% rename from tests/ui/never_type/eq-never-types.rs rename to tests/ui/never_type/regress/eq-never-types.rs diff --git a/tests/ui/never_type/field-access-never-type-13847.rs b/tests/ui/never_type/regress/field-access-never-type-13847.rs similarity index 100% rename from tests/ui/never_type/field-access-never-type-13847.rs rename to tests/ui/never_type/regress/field-access-never-type-13847.rs diff --git a/tests/ui/never_type/field-access-never-type-13847.stderr b/tests/ui/never_type/regress/field-access-never-type-13847.stderr similarity index 100% rename from tests/ui/never_type/field-access-never-type-13847.stderr rename to tests/ui/never_type/regress/field-access-never-type-13847.stderr diff --git a/tests/ui/never_type/issue-13352.rs b/tests/ui/never_type/regress/issue-13352.rs similarity index 100% rename from tests/ui/never_type/issue-13352.rs rename to tests/ui/never_type/regress/issue-13352.rs diff --git a/tests/ui/never_type/issue-13352.stderr b/tests/ui/never_type/regress/issue-13352.stderr similarity index 100% rename from tests/ui/never_type/issue-13352.stderr rename to tests/ui/never_type/regress/issue-13352.stderr diff --git a/tests/ui/never_type/issue-44402.rs b/tests/ui/never_type/regress/issue-44402.rs similarity index 100% rename from tests/ui/never_type/issue-44402.rs rename to tests/ui/never_type/regress/issue-44402.rs diff --git a/tests/ui/never_type/issue-51506.rs b/tests/ui/never_type/regress/issue-51506.rs similarity index 100% rename from tests/ui/never_type/issue-51506.rs rename to tests/ui/never_type/regress/issue-51506.rs diff --git a/tests/ui/never_type/issue-51506.stderr b/tests/ui/never_type/regress/issue-51506.stderr similarity index 100% rename from tests/ui/never_type/issue-51506.stderr rename to tests/ui/never_type/regress/issue-51506.stderr diff --git a/tests/ui/never_type/issue-52443.rs b/tests/ui/never_type/regress/issue-52443.rs similarity index 100% rename from tests/ui/never_type/issue-52443.rs rename to tests/ui/never_type/regress/issue-52443.rs diff --git a/tests/ui/never_type/issue-52443.stderr b/tests/ui/never_type/regress/issue-52443.stderr similarity index 100% rename from tests/ui/never_type/issue-52443.stderr rename to tests/ui/never_type/regress/issue-52443.stderr diff --git a/tests/ui/never_type/issue-5500-1.rs b/tests/ui/never_type/regress/issue-5500-1.rs similarity index 100% rename from tests/ui/never_type/issue-5500-1.rs rename to tests/ui/never_type/regress/issue-5500-1.rs diff --git a/tests/ui/never_type/issue-96335.rs b/tests/ui/never_type/regress/issue-96335.rs similarity index 100% rename from tests/ui/never_type/issue-96335.rs rename to tests/ui/never_type/regress/issue-96335.rs diff --git a/tests/ui/never_type/issue-96335.stderr b/tests/ui/never_type/regress/issue-96335.stderr similarity index 100% rename from tests/ui/never_type/issue-96335.stderr rename to tests/ui/never_type/regress/issue-96335.stderr diff --git a/tests/ui/never_type/never-deref.rs b/tests/ui/never_type/regress/never-deref.rs similarity index 100% rename from tests/ui/never_type/never-deref.rs rename to tests/ui/never_type/regress/never-deref.rs diff --git a/tests/ui/never_type/never-deref.stderr b/tests/ui/never_type/regress/never-deref.stderr similarity index 100% rename from tests/ui/never_type/never-deref.stderr rename to tests/ui/never_type/regress/never-deref.stderr diff --git a/tests/ui/never_type/never-in-range-pat.rs b/tests/ui/never_type/regress/never-in-range-pat.rs similarity index 100% rename from tests/ui/never_type/never-in-range-pat.rs rename to tests/ui/never_type/regress/never-in-range-pat.rs diff --git a/tests/ui/never_type/never-in-range-pat.stderr b/tests/ui/never_type/regress/never-in-range-pat.stderr similarity index 100% rename from tests/ui/never_type/never-in-range-pat.stderr rename to tests/ui/never_type/regress/never-in-range-pat.stderr diff --git a/tests/ui/never_type/never-type-fallback-option.rs b/tests/ui/never_type/regress/never-type-fallback-option.rs similarity index 100% rename from tests/ui/never_type/never-type-fallback-option.rs rename to tests/ui/never_type/regress/never-type-fallback-option.rs diff --git a/tests/ui/never_type/never-type-method-call-15207.rs b/tests/ui/never_type/regress/never-type-method-call-15207.rs similarity index 100% rename from tests/ui/never_type/never-type-method-call-15207.rs rename to tests/ui/never_type/regress/never-type-method-call-15207.rs diff --git a/tests/ui/never_type/never-type-method-call-15207.stderr b/tests/ui/never_type/regress/never-type-method-call-15207.stderr similarity index 100% rename from tests/ui/never_type/never-type-method-call-15207.stderr rename to tests/ui/never_type/regress/never-type-method-call-15207.stderr diff --git a/tests/ui/never_type/span-bug-issue-121445.rs b/tests/ui/never_type/regress/span-bug-issue-121445.rs similarity index 100% rename from tests/ui/never_type/span-bug-issue-121445.rs rename to tests/ui/never_type/regress/span-bug-issue-121445.rs diff --git a/tests/ui/never_type/span-bug-issue-121445.stderr b/tests/ui/never_type/regress/span-bug-issue-121445.stderr similarity index 100% rename from tests/ui/never_type/span-bug-issue-121445.stderr rename to tests/ui/never_type/regress/span-bug-issue-121445.stderr diff --git a/tests/ui/never_type/suggestion-ice-132517.rs b/tests/ui/never_type/regress/suggestion-ice-132517.rs similarity index 100% rename from tests/ui/never_type/suggestion-ice-132517.rs rename to tests/ui/never_type/regress/suggestion-ice-132517.rs diff --git a/tests/ui/never_type/suggestion-ice-132517.stderr b/tests/ui/never_type/regress/suggestion-ice-132517.stderr similarity index 100% rename from tests/ui/never_type/suggestion-ice-132517.stderr rename to tests/ui/never_type/regress/suggestion-ice-132517.stderr diff --git a/tests/ui/parser/return-without-semicolon-in-match.rs b/tests/ui/parser/return-without-semicolon-in-match.rs new file mode 100644 index 000000000000..a8d13254f101 --- /dev/null +++ b/tests/ui/parser/return-without-semicolon-in-match.rs @@ -0,0 +1,13 @@ +// Tests that `return` without a semicolon parses correctly in a match arm. +// See +// +//@ run-pass + +fn f() { + let _x = match true { + true => { 10 } + false => { return } + }; +} + +fn main() {} diff --git a/tests/ui/never_type/never-assign-dead-code.rs b/tests/ui/reachable/never-assign-dead-code.rs similarity index 100% rename from tests/ui/never_type/never-assign-dead-code.rs rename to tests/ui/reachable/never-assign-dead-code.rs diff --git a/tests/ui/never_type/never-assign-dead-code.stderr b/tests/ui/reachable/never-assign-dead-code.stderr similarity index 100% rename from tests/ui/never_type/never-assign-dead-code.stderr rename to tests/ui/reachable/never-assign-dead-code.stderr