From 56dbeeb5ac05d8e34983db20453d72bdeb222cbe Mon Sep 17 00:00:00 2001 From: Michael Goulet Date: Sun, 31 Mar 2024 21:03:59 -0400 Subject: [PATCH] Add regression tests for 123303 --- .../traits/stack-error-order-dependence-2.rs | 24 +++++++++++++++++++ .../ui/traits/stack-error-order-dependence.rs | 19 +++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 tests/ui/traits/stack-error-order-dependence-2.rs create mode 100644 tests/ui/traits/stack-error-order-dependence.rs diff --git a/tests/ui/traits/stack-error-order-dependence-2.rs b/tests/ui/traits/stack-error-order-dependence-2.rs new file mode 100644 index 000000000000..323685aa15bb --- /dev/null +++ b/tests/ui/traits/stack-error-order-dependence-2.rs @@ -0,0 +1,24 @@ +//@ check-pass +// Regression test for . +// This time EXCEPT without `dyn` builtin bounds :^) + +pub trait Trait: Supertrait {} + +trait Impossible {} +impl Trait for F {} + +pub trait Supertrait {} + +impl Supertrait for T {} + +fn needs_supertrait() {} +fn needs_trait() {} + +struct A; +impl Trait for A where A: Supertrait {} +impl Supertrait for A {} + +fn main() { + needs_supertrait::(); + needs_trait::(); +} diff --git a/tests/ui/traits/stack-error-order-dependence.rs b/tests/ui/traits/stack-error-order-dependence.rs new file mode 100644 index 000000000000..037c292a542d --- /dev/null +++ b/tests/ui/traits/stack-error-order-dependence.rs @@ -0,0 +1,19 @@ +//@ check-pass +// Regression test for . + +pub trait Trait: Supertrait {} + +trait Impossible {} +impl Trait for F {} + +pub trait Supertrait {} + +impl Supertrait for T {} + +fn needs_supertrait() {} +fn needs_trait() {} + +fn main() { + needs_supertrait::(); + needs_trait::(); +}