rust/tests/ui/impl-trait
Yuki Okushi 2981d7781c
Rollup merge of #109509 - ehuss:overlapping-tests, r=Mark-Simulacrum
compiletest: Don't allow tests with overlapping prefix names

Some tests will delete their output directory before starting. The output directory is based on the test names. If one test is the prefix of another test, then when that test starts, it could try to delete the output directory of the other test with the longer path, or otherwise clash with it while the two tests are trying to create/delete/modify the same directory.

In practice, this manifested as a random error on macOS where two tests were trying to create/delete/create `rustdoc/primitive` and `rustdoc/primitive/no_std`, which resulted in an EINVAL (InvalidInput) error.

This renames some of the offending tests, adds `compiletest-ignore-dir` to prevent compiletest from processing some files, and adds a check to prevent this from happening in the future.

Fixes #109397
2023-03-30 21:07:00 +09:00
..
auxiliary
diagnostics
explicit-generic-args-with-impl-trait diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
in-trait Bless some extra working tests under -Zlower-impl-trait-in-trait-to-assoc-ty 2023-03-29 11:27:26 -03:00
issues Remove identity_future indirection 2023-03-08 15:37:14 +01:00
multiple-lifetimes Rename tests to ensure they don't have overlapping names. 2023-03-22 21:12:40 -07:00
associated-impl-trait-type-generic-trait.rs
associated-impl-trait-type-trivial.rs
associated-impl-trait-type.rs
async_scope_creep.rs
auto-trait-leak2.rs
auto-trait-leak2.stderr
auto-trait-leak-rpass.rs
auto-trait-leak.rs
auto-trait-leak.stderr Don't cause a cycle when formatting query description that references a FnDef 2023-02-02 05:49:07 +00:00
auto-trait.rs
auto-trait.stderr
autoderef.rs
bound-normalization-fail.rs
bound-normalization-fail.stderr Hide more of long types in E0271 2023-01-11 21:40:39 +00:00
bound-normalization-pass.rs Remove save-analysis. 2023-02-16 15:14:45 +11:00
bounds_regression.rs
can-return-unconstrained-closure.rs
closure-calling-parent-fn.rs
closure-in-impl-trait-arg.rs
closure-in-impl-trait.rs
cross-return-site-inference.rs
cross-return-site-inference.stderr
deduce-signature-from-supertrait.rs
deprecated_annotation.rs
divergence.rs
does-not-live-long-enough.rs
does-not-live-long-enough.stderr
dyn-trait-elided-two-inputs-assoc.rs
dyn-trait-elided-two-inputs-param.rs
dyn-trait-elided-two-inputs-ref-assoc.rs
dyn-trait-elided-two-inputs-ref-param.rs
dyn-trait-return-should-be-impl-trait.rs
dyn-trait-return-should-be-impl-trait.stderr Do not mention lifetime names in force trimmed paths 2023-01-30 20:12:21 +00:00
equal-hidden-lifetimes.rs Convert a hard-warning about named static lifetimes into lint "unused_lifetimes" 2023-02-22 09:44:26 +08:00
equality2.rs
equality2.stderr Mention fn coercion rules (needs to be expanded) 2023-01-30 21:51:33 +00:00
equality-rpass.rs
equality-rpass.stderr
equality.rs
equality.stderr
example-calendar.rs
example-st.rs
extra-item.rs
extra-item.stderr
fallback_inference.rs
fallback_inference.stderr
fallback.rs
feature-self-return-type.rs
feature-self-return-type.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
generic-with-implicit-hrtb-without-dyn.edition2015.stderr
generic-with-implicit-hrtb-without-dyn.edition2021.stderr
generic-with-implicit-hrtb-without-dyn.rs
hidden-lifetimes.rs
hidden-lifetimes.stderr Label opaque type for 'captures lifetime' error message 2023-03-03 05:02:34 +00:00
hidden-type-is-opaque-2.rs
hidden-type-is-opaque-2.stderr
hidden-type-is-opaque.rs
impl_fn_associativity.rs
impl_trait_projections.rs When suggesting writing a fully qualified path probe for appropriate types 2023-01-11 21:30:10 +00:00
impl_trait_projections.stderr When suggesting writing a fully qualified path probe for appropriate types 2023-01-11 21:30:10 +00:00
impl-fn-hrtb-bounds-2.rs
impl-fn-hrtb-bounds-2.stderr Label opaque type for 'captures lifetime' error message 2023-03-03 05:02:34 +00:00
impl-fn-hrtb-bounds.rs
impl-fn-hrtb-bounds.stderr
impl-fn-parsing-ambiguities.rs
impl-fn-parsing-ambiguities.stderr
impl-fn-predefined-lifetimes.rs
impl-fn-predefined-lifetimes.stderr
impl-generic-mismatch-ab.rs
impl-generic-mismatch-ab.stderr
impl-generic-mismatch.rs
impl-generic-mismatch.stderr
impl-trait-in-macro.rs
impl-trait-in-macro.stderr
impl-trait-plus-priority.rs
impl-trait-plus-priority.stderr
issue-35668.rs
issue-35668.stderr
issue-46959.rs
issue-49556.rs
issue-49579.rs
issue-49685.rs
issue-51185.rs
issue-54966.rs
issue-54966.stderr
issue-55872-1.rs
issue-55872-1.stderr
issue-55872-2.drop_tracking_mir.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-55872-2.drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-55872-2.no_drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-55872-2.rs Bless tests. 2023-01-27 20:10:17 +00:00
issue-55872-2.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-55872-3.rs
issue-55872-3.stderr
issue-55872.rs
issue-55872.stderr
issue-56445.rs
issue-68532.rs
issue-72911.rs
issue-72911.stderr
issue-86465.rs
issue-86465.stderr
issue-87450.rs
issue-87450.stderr
issue-99073-2.rs
issue-99073-2.stderr
issue-99073.rs
issue-99073.stderr
issue-99642-2.rs
issue-99642.rs
issue-99914.rs
issue-99914.stderr fix: improve the suggestion on future not awaited 2023-02-13 16:23:23 +01:00
issue-100075-2.rs
issue-100075-2.stderr
issue-100075.rs
issue-100075.stderr
issue-100187.rs
issue-102605.rs
issue-102605.stderr fix: improve the suggestion on future not awaited 2023-02-13 16:23:23 +01:00
issue-103181-1.rs
issue-103181-1.stderr
issue-103181-2.rs
issue-103181-2.stderr
issue-103599.rs
issue-103599.stderr
lifetimes2.rs
lifetimes.rs
method-suggestion-no-duplication.rs
method-suggestion-no-duplication.stderr
must_outlive_least_region_or_bound.rs
must_outlive_least_region_or_bound.stderr Label opaque type for 'captures lifetime' error message 2023-03-03 05:02:34 +00:00
needs_least_region_or_bound.rs
negative-reasoning.rs
negative-reasoning.stderr
nested_impl_trait.rs
nested_impl_trait.stderr pluralize stuff 2023-02-22 21:52:26 +00:00
nested-return-type2-tait2.rs
nested-return-type2-tait2.stderr Note predicate span on ImplDerivedObligation 2023-01-11 19:46:45 +00:00
nested-return-type2-tait3.rs
nested-return-type2-tait3.stderr Note predicate span on ImplDerivedObligation 2023-01-11 19:46:45 +00:00
nested-return-type2-tait.rs
nested-return-type2-tait.stderr
nested-return-type2.rs Nested impl traits trigger opaque_hidden_inferred_bound too much 2023-03-23 06:19:52 +00:00
nested-return-type3-tait2.rs
nested-return-type3-tait2.stderr
nested-return-type3-tait3.rs
nested-return-type3-tait3.stderr
nested-return-type3-tait.rs
nested-return-type3-tait.stderr
nested-return-type3.rs Nested impl traits trigger opaque_hidden_inferred_bound too much 2023-03-23 06:19:52 +00:00
nested-return-type4.rs
nested-return-type4.stderr Label opaque type for 'captures lifetime' error message 2023-03-03 05:02:34 +00:00
nested-return-type.rs
nested-rpit-hrtb.rs
nested-rpit-hrtb.stderr
nested-rpit-with-anonymous-lifetimes.rs
nesting.rs
no-method-suggested-traits.rs
no-method-suggested-traits.stderr Tweak use of trimmed paths 2023-01-30 20:12:21 +00:00
no-trait.rs
no-trait.stderr
normalize-tait-in-const.rs Normalize line+col in normalize-tait-in-const test 2023-02-22 17:05:04 +00:00
normalize-tait-in-const.stderr Normalize line+col in normalize-tait-in-const test 2023-02-22 17:05:04 +00:00
object-unsafe-trait-in-return-position-dyn-trait.rs
object-unsafe-trait-in-return-position-dyn-trait.stderr
object-unsafe-trait-in-return-position-impl-trait.rs
object-unsafe-trait-in-return-position-impl-trait.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
point-to-type-err-cause-on-impl-trait-return.rs
point-to-type-err-cause-on-impl-trait-return.stderr
printing-binder.rs
printing-binder.stderr
private_unused.rs
projection-mismatch-in-impl-where-clause.rs
projection-mismatch-in-impl-where-clause.stderr Note predicate span on ImplDerivedObligation 2023-01-11 19:46:45 +00:00
projection.rs
question_mark.rs
recursive-generator.rs Label closure captures/generator locals that make opaque types recursive 2023-01-21 05:49:36 +00:00
recursive-generator.stderr Label closure captures/generator locals that make opaque types recursive 2023-01-21 05:49:36 +00:00
recursive-impl-trait-type-direct.rs
recursive-impl-trait-type-indirect.drop_tracking_mir.stderr drop_tracking_mir: diagnose recursive generator. 2023-03-05 08:29:35 +00:00
recursive-impl-trait-type-indirect.drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
recursive-impl-trait-type-indirect.no_drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
recursive-impl-trait-type-indirect.rs Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
recursive-impl-trait-type-through-non-recursive.rs
recursive-impl-trait-type-through-non-recursive.stderr
recursive-type-alias-impl-trait-declaration-too-subtle-2.rs
recursive-type-alias-impl-trait-declaration-too-subtle-2.stderr
recursive-type-alias-impl-trait-declaration-too-subtle.rs
recursive-type-alias-impl-trait-declaration-too-subtle.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
recursive-type-alias-impl-trait-declaration.rs
region-escape-via-bound-contravariant-closure.rs
region-escape-via-bound-contravariant.rs
region-escape-via-bound.rs
region-escape-via-bound.stderr Label opaque type for 'captures lifetime' error message 2023-03-03 05:02:34 +00:00
return-position-impl-trait-minimal.rs
rpit-assoc-pair-with-lifetime.rs
rpit-not-sized.rs
rpit-not-sized.stderr
static-return-lifetime-infered.rs
static-return-lifetime-infered.stderr Label opaque type for 'captures lifetime' error message 2023-03-03 05:02:34 +00:00
suggest-calling-rpit-closure.rs
suggest-calling-rpit-closure.stderr
trait_resolution.rs
trait_type.rs
trait_type.stderr
two_tait_defining_each_other2.rs
two_tait_defining_each_other2.stderr
two_tait_defining_each_other3.rs
two_tait_defining_each_other3.stderr
two_tait_defining_each_other.rs
two_tait_defining_each_other.stderr
type_parameters_captured.rs
type_parameters_captured.stderr
type-alias-generic-param.rs
type-alias-impl-trait-in-fn-body.rs
type-arg-mismatch-due-to-impl-trait.rs
type-arg-mismatch-due-to-impl-trait.stderr
unactionable_diagnostic.fixed
unactionable_diagnostic.rs
unactionable_diagnostic.stderr
universal_hrtb_anon.rs
universal_hrtb_named.rs
universal_in_adt_in_parameters.rs
universal_in_impl_trait_in_parameters.rs
universal_in_trait_defn_parameters.rs
universal_multiple_bounds.rs
universal_wrong_bounds.rs
universal_wrong_bounds.stderr
universal_wrong_hrtb.rs
universal_wrong_hrtb.stderr
universal-mismatched-type.rs
universal-mismatched-type.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
universal-two-impl-traits.rs
universal-two-impl-traits.stderr
unsafety-checking-cycle.rs
wf-eval-order.rs
where-allowed-2.rs
where-allowed-2.stderr
where-allowed.rs
where-allowed.stderr pluralize stuff 2023-02-22 21:52:26 +00:00
xcrate_simple.rs
xcrate.rs