about summary refs log tree commit diff
path: root/tests/ui/traits/next-solver/cycles/coinduction
AgeCommit message (Collapse)AuthorLines
2025-08-22On E0277, point at type that doesn't implement boundEsteban Küber-2/+12
When encountering an unmet trait bound, point at local type that doesn't implement the trait: ``` error[E0277]: the trait bound `Bar<T>: Foo` is not satisfied --> $DIR/issue-64855.rs:9:19 | LL | pub struct Bar<T>(<Self as Foo>::Type) where Self: ; | ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound | help: the trait `Foo` is not implemented for `Bar<T>` --> $DIR/issue-64855.rs:9:1 | LL | pub struct Bar<T>(<Self as Foo>::Type) where Self: ; | ^^^^^^^^^^^^^^^^^ ```
2025-06-27tests: add #![rustc_no_implicit_bounds]David Wood-28/+29
After reviewing all tests with `?Sized` and discussing with lcnr, these tests seem like they could probably benefit from `#![rustc_no_implicit_bounds]`.
2025-02-28add test using only trait boundslcnr-0/+48
2025-02-28reviewlcnr-2/+10
2025-02-28add test for newly supported behaviorlcnr-0/+43
2025-02-28normalizing where-clauses is also coinductive, add testslcnr-0/+111
2024-10-29Remove detail from label/note that is already available in other noteEsteban Küber-2/+2
Remove the "which is required by `{root_obligation}`" post-script in "the trait `X` is not implemented for `Y`" explanation in E0277. This information is already conveyed in the notes explaining requirements, making it redundant while making the text (particularly in labels) harder to read. ``` error[E0277]: the trait bound `NotCopy: Copy` is not satisfied --> $DIR/wf-static-type.rs:10:13 | LL | static FOO: IsCopy<Option<NotCopy>> = IsCopy { t: None }; | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `NotCopy` | = note: required for `Option<NotCopy>` to implement `Copy` note: required by a bound in `IsCopy` --> $DIR/wf-static-type.rs:7:17 | LL | struct IsCopy<T:Copy> { t: T } | ^^^^ required by this bound in `IsCopy` ``` vs the prior ``` error[E0277]: the trait bound `NotCopy: Copy` is not satisfied --> $DIR/wf-static-type.rs:10:13 | LL | static FOO: IsCopy<Option<NotCopy>> = IsCopy { t: None }; | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `NotCopy`, which is required by `Option<NotCopy>: Copy` | = note: required for `Option<NotCopy>` to implement `Copy` note: required by a bound in `IsCopy` --> $DIR/wf-static-type.rs:7:17 | LL | struct IsCopy<T:Copy> { t: T } | ^^^^ required by this bound in `IsCopy` ```
2024-09-20update testslcnr-0/+1
2024-05-20track cycle participants per entrylcnr-3/+31
2024-05-16Don't ICE because recomputing overflow goals during ↵Michael Goulet-8/+1
find_best_leaf_obligation causes inference side-effects
2024-05-09analyse visitor: build proof tree in probelcnr-9/+6
2024-05-04Only consider ambiguous goals when finding best obligation for ambiguitiesMichael Goulet-11/+13
2024-05-02Use a proof tree visitor to refine the Obligation for error reportingMichael Goulet-5/+23
2024-02-29distinguish recursion limit based overflow for diagnosticslcnr-1/+0
also change the number of allowed fixpoint steps to be fixed instead of using the `log` of the total recursion depth.
2024-02-16[AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives许杰友 Jieyou Xu (Joe)-2/+2
2023-12-14consistently use "next solver" instead of "new solver"lcnr-0/+136