Rollup merge of #144552 - Oneirical:uncountable-integer-3, r=jieyouxu

Rehome 33 `tests/ui/issues/` tests to other subdirectories under `tests/ui/`

rust-lang/rust#143902 divided into smaller, easier to review chunks.

Part of rust-lang/rust#133895

Methodology:

1. Refer to the previously written `tests/ui/SUMMARY.md`
2. Find an appropriate category for the test, using the original issue thread and the test contents.
3. Add the issue URL at the bottom (not at the top, as that would mess up stderr line numbers)
4. Rename the tests to make their purpose clearer

Inspired by the methodology that ``@Kivooeo`` was using.

r? ``@jieyouxu``
This commit is contained in:
Jakub Beránek
2025-08-06 15:55:42 +02:00
committed by GitHub
58 changed files with 89 additions and 58 deletions

View File

@@ -1,8 +1,8 @@
// https://github.com/rust-lang/rust/issues/5754
//@ build-pass
#![allow(dead_code)]
#![allow(improper_ctypes)]
struct TwoDoubles {
r: f64,
i: f64

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/8898
//@ run-pass
fn assert_repr_eq<T: std::fmt::Debug>(obj : T, expected : String) {

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/43483
//@ check-pass
#![allow(dead_code)]
#![allow(unused_variables)]

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/21946
trait Foo {
type A;
}

View File

@@ -1,5 +1,5 @@
error[E0275]: overflow evaluating the requirement `<FooStruct as Foo>::A == _`
--> $DIR/issue-21946.rs:8:14
--> $DIR/recursive-associated-type-overflow-21946.rs:9:14
|
LL | type A = <FooStruct as Foo>::A;
| ^^^^^^^^^^^^^^^^^^^^^

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/7061
//@ dont-require-annotations: NOTE
struct BarStruct;

View File

@@ -1,5 +1,5 @@
error[E0308]: mismatched types
--> $DIR/issue-7061.rs:6:46
--> $DIR/mismatched-pointer-type-in-self-7061.rs:7:46
|
LL | fn foo(&'a mut self) -> Box<BarStruct> { self }
| -------------- ^^^^ expected `Box<BarStruct>`, found `&mut BarStruct`

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/13665
//@ run-pass
fn foo<'r>() {

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/21600
fn call_it<F>(f: F) where F: Fn() { f(); }
struct A;

View File

@@ -1,5 +1,5 @@
error[E0596]: cannot borrow `x` as mutable, as it is a captured variable in a `Fn` closure
--> $DIR/issue-21600.rs:14:20
--> $DIR/aliasability-violation-with-closure-21600.rs:15:20
|
LL | fn call_it<F>(f: F) where F: Fn() { f(); }
| - change this to accept `FnMut` instead of `Fn`
@@ -11,7 +11,7 @@ LL | call_it(|| x.gen_mut());
| expects `Fn` instead of `FnMut`
error[E0596]: cannot borrow `x` as mutable, as it is a captured variable in a `Fn` closure
--> $DIR/issue-21600.rs:14:17
--> $DIR/aliasability-violation-with-closure-21600.rs:15:17
|
LL | fn call_it<F>(f: F) where F: Fn() { f(); }
| - change this to accept `FnMut` instead of `Fn`

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/32086
struct S(u8);
const C: S = S(10);

View File

@@ -1,5 +1,5 @@
error[E0532]: expected tuple struct or tuple variant, found constant `C`
--> $DIR/issue-32086.rs:5:9
--> $DIR/const-pattern-rewrite-error-32086.rs:6:9
|
LL | struct S(u8);
| ------------- similarly named tuple struct `S` defined here
@@ -8,7 +8,7 @@ LL | let C(a) = S(11);
| ^ help: a tuple struct with a similar name exists: `S`
error[E0532]: expected tuple struct or tuple variant, found constant `C`
--> $DIR/issue-32086.rs:6:9
--> $DIR/const-pattern-rewrite-error-32086.rs:7:9
|
LL | struct S(u8);
| ------------- similarly named tuple struct `S` defined here

View File

@@ -1,10 +1,9 @@
// https://github.com/rust-lang/rust/issues/5521
//@ run-pass
#![allow(dead_code)]
//@ aux-build:issue-5521.rs
//@ aux-build:aux-5521.rs
extern crate issue_5521 as foo;
extern crate aux_5521 as foo;
fn bar(a: foo::map) {
if false {

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/46332
// Original Levenshtein distance for both of this is 1. We improved accuracy with
// additional case insensitive comparison.

View File

@@ -1,5 +1,5 @@
error[E0422]: cannot find struct, variant or union type `TyUInt` in this scope
--> $DIR/issue-46332.rs:9:5
--> $DIR/typo-suggestion-improvement-46332.rs:10:5
|
LL | struct TyUint {}
| ------------- similarly named struct `TyUint` defined here

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/6892
//@ run-pass
#![allow(dead_code)]
// Ensures that destructors are run for expressions of the form "let _ = e;"

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/16151
//@ run-pass
// FIXME(static_mut_refs): Do not allow `static_mut_refs` lint

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/20939
trait Foo {}
impl<'a> Foo for dyn Foo + 'a {}

View File

@@ -1,5 +1,5 @@
error[E0371]: the object type `(dyn Foo + 'a)` automatically implements the trait `Foo`
--> $DIR/issue-20939.rs:3:1
--> $DIR/dyn-compatible-trait-implementation-20939.rs:4:1
|
LL | impl<'a> Foo for dyn Foo + 'a {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `(dyn Foo + 'a)` automatically implements trait `Foo`

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/36075
//@ check-pass
#![allow(dead_code)]
trait DeclarationParser {

View File

@@ -1,11 +0,0 @@
//@ run-pass
//@ aux-build:issue-9188.rs
extern crate issue_9188;
pub fn main() {
let a = issue_9188::bar();
let b = issue_9188::foo::<isize>();
assert_eq!(*a, *b);
}

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/23966
fn main() {
"".chars().fold(|_, _| (), ());
//~^ ERROR E0277

View File

@@ -1,5 +1,5 @@
error[E0277]: expected a `FnMut(_, char)` closure, found `()`
--> $DIR/issue-23966.rs:2:32
--> $DIR/fold-iterator-error-23966.rs:3:32
|
LL | "".chars().fold(|_, _| (), ());
| ---- ^^ expected an `FnMut(_, char)` closure, found `()`

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/15735
//@ check-pass
#![allow(dead_code)]
struct A<'a> {

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/75704
// Caused an infinite loop during SimlifyCfg MIR transform previously.
//
//@ build-pass

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/19100
//@ run-rustfix
#![allow(non_snake_case)]

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/19100
//@ run-rustfix
#![allow(non_snake_case)]

View File

@@ -1,5 +1,5 @@
error[E0170]: pattern binding `Bar` is named the same as one of the variants of the type `Foo`
--> $DIR/issue-19100.rs:17:1
--> $DIR/unreachable-pattern-if-variant-not-imported-19100.rs:18:1
|
LL | Bar if true
| ^^^ help: to match on the variant, qualify the path: `Foo::Bar`
@@ -7,7 +7,7 @@ LL | Bar if true
= note: `#[deny(bindings_with_variant_name)]` on by default
error[E0170]: pattern binding `Baz` is named the same as one of the variants of the type `Foo`
--> $DIR/issue-19100.rs:21:1
--> $DIR/unreachable-pattern-if-variant-not-imported-19100.rs:22:1
|
LL | Baz if false
| ^^^ help: to match on the variant, qualify the path: `Foo::Baz`

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/22684
mod foo {
pub struct Foo;
impl Foo {

View File

@@ -1,5 +1,5 @@
error[E0308]: mismatched types
--> $DIR/issue-22684.rs:17:17
--> $DIR/trait-method-resolution-over-inherent-22684.rs:18:17
|
LL | let _: () = foo::Foo.bar();
| -- ^^^^^^^^^^^^^^ expected `()`, found `bool`

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/24352
fn main() {
1.0f64 - 1.0;
1.0f64 - 1 //~ ERROR E0277

View File

@@ -1,5 +1,5 @@
error[E0277]: cannot subtract `{integer}` from `f64`
--> $DIR/issue-24352.rs:3:12
--> $DIR/float-integer-subtraction-error-24352.rs:4:12
|
LL | 1.0f64 - 1
| ^ no implementation for `f64 - {integer}`

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/50585
fn main() {
|y: Vec<[(); for x in 0..2 {}]>| {};
//~^ ERROR mismatched types

View File

@@ -1,5 +1,5 @@
error[E0308]: mismatched types
--> $DIR/issue-50585.rs:2:18
--> $DIR/for-loop-in-vec-type-mismatchrs-50585.rs:3:18
|
LL | |y: Vec<[(); for x in 0..2 {}]>| {};
| ^^^^^^^^^^^^^^^^ expected `usize`, found `()`

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/48364
fn foo() -> bool {
b"".starts_with(stringify!(foo))
//~^ ERROR mismatched types

View File

@@ -1,5 +1,5 @@
error[E0308]: mismatched types
--> $DIR/issue-48364.rs:2:21
--> $DIR/starts-with-stringify-type-mismatch-48364.rs:3:21
|
LL | b"".starts_with(stringify!(foo))
| ----------- ^^^^^^^^^^^^^^^ expected `&[u8]`, found `&str`

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/32797
//@ check-pass
pub use bar::*;

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/17385
struct X(isize);
enum Enum {

View File

@@ -1,5 +1,5 @@
error[E0382]: use of moved value: `foo`
--> $DIR/issue-17385.rs:18:5
--> $DIR/matching-partially-moved-value-17385.rs:19:5
|
LL | let foo = X(1);
| --- move occurs because `foo` has type `X`, which does not implement the `Copy` trait
@@ -9,7 +9,7 @@ LL | match foo {
| ^^^^^^^^^ value used here after move
|
note: if `X` implemented `Clone`, you could clone the value
--> $DIR/issue-17385.rs:1:1
--> $DIR/matching-partially-moved-value-17385.rs:2:1
|
LL | struct X(isize);
| ^^^^^^^^ consider implementing `Clone` for this type
@@ -18,7 +18,7 @@ LL | drop(foo);
| --- you could clone this value
error[E0382]: use of moved value: `e`
--> $DIR/issue-17385.rs:25:11
--> $DIR/matching-partially-moved-value-17385.rs:26:11
|
LL | let e = Enum::Variant2;
| - move occurs because `e` has type `Enum`, which does not implement the `Copy` trait
@@ -28,7 +28,7 @@ LL | match e {
| ^ value used here after move
|
note: if `Enum` implemented `Clone`, you could clone the value
--> $DIR/issue-17385.rs:3:1
--> $DIR/matching-partially-moved-value-17385.rs:4:1
|
LL | enum Enum {
| ^^^^^^^^^ consider implementing `Clone` for this type

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/32805
//@ run-pass
fn const_mir() -> f32 { 9007199791611905.0 }

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/3763
// Regression test for #3763
mod my_mod {

View File

@@ -1,17 +1,17 @@
error[E0616]: field `priv_field` of struct `MyStruct` is private
--> $DIR/issue-3763.rs:17:32
--> $DIR/private-field-access-violation-3763.rs:18:32
|
LL | let _woohoo = (&my_struct).priv_field;
| ^^^^^^^^^^ private field
error[E0616]: field `priv_field` of struct `MyStruct` is private
--> $DIR/issue-3763.rs:20:41
--> $DIR/private-field-access-violation-3763.rs:21:41
|
LL | let _woohoo = (Box::new(my_struct)).priv_field;
| ^^^^^^^^^^ private field
error[E0624]: method `happyfun` is private
--> $DIR/issue-3763.rs:23:18
--> $DIR/private-field-access-violation-3763.rs:24:18
|
LL | fn happyfun(&self) {}
| ------------------ private method defined here
@@ -20,7 +20,7 @@ LL | (&my_struct).happyfun();
| ^^^^^^^^ private method
error[E0624]: method `happyfun` is private
--> $DIR/issue-3763.rs:25:27
--> $DIR/private-field-access-violation-3763.rs:26:27
|
LL | fn happyfun(&self) {}
| ------------------ private method defined here
@@ -29,7 +29,7 @@ LL | (Box::new(my_struct)).happyfun();
| ^^^^^^^^ private method
error[E0616]: field `priv_field` of struct `MyStruct` is private
--> $DIR/issue-3763.rs:26:26
--> $DIR/private-field-access-violation-3763.rs:27:26
|
LL | let nope = my_struct.priv_field;
| ^^^^^^^^^^ private field

View File

@@ -1 +1,2 @@
// https://github.com/rust-lang/rust/issues/22811
fn main() { println!("{}", foobar); } //~ ERROR cannot find value `foobar` in this scope

View File

@@ -1,5 +1,5 @@
error[E0425]: cannot find value `foobar` in this scope
--> $DIR/issue-2281-part1.rs:1:28
--> $DIR/cannot-find-value-in-scope-22811.rs:2:28
|
LL | fn main() { println!("{}", foobar); }
| ^^^^^^ not found in this scope

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/33293
fn main() {
match 0 {
aaa::bbb(_) => ()

View File

@@ -1,5 +1,5 @@
error[E0433]: failed to resolve: use of unresolved module or unlinked crate `aaa`
--> $DIR/issue-33293.rs:3:9
--> $DIR/unresolved-module-error-33293.rs:4:9
|
LL | aaa::bbb(_) => ()
| ^^^ use of unresolved module or unlinked crate `aaa`

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/47073
type Guilty = bool;
type FineDollars = u32;

View File

@@ -1,5 +1,5 @@
error[E0609]: no field `00` on type `Verdict`
--> $DIR/issue-47073-zero-padded-tuple-struct-indices.rs:8:30
--> $DIR/tuple-struct-field-naming-47073.rs:9:30
|
LL | let _condemned = justice.00;
| ^^ unknown field
@@ -11,7 +11,7 @@ LL + let _condemned = justice.0;
|
error[E0609]: no field `001` on type `Verdict`
--> $DIR/issue-47073-zero-padded-tuple-struct-indices.rs:10:31
--> $DIR/tuple-struct-field-naming-47073.rs:11:31
|
LL | let _punishment = justice.001;
| ^^^ unknown field

View File

@@ -0,0 +1,11 @@
// https://github.com/rust-lang/rust/issues/9188
//@ run-pass
//@ aux-build:aux-9188.rs
extern crate aux_9188 as lib;
pub fn main() {
let a = lib::bar();
let b = lib::foo::<isize>();
assert_eq!(*a, *b);
}

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/72839
// Regression test for issue #72839
// Tests that we do not overflow during trait selection after
// a type error occurs

View File

@@ -1,5 +1,5 @@
error[E0425]: cannot find value `missing_var` in this scope
--> $DIR/issue-72839-error-overflow.rs:18:8
--> $DIR/trait-selection-overflow-prevention-72839.rs:19:8
|
LL | if missing_var % 8 == 0 {}
| ^^^^^^^^^^^ not found in this scope

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/47638
//@ run-pass
#![allow(unused_variables)]
fn id<'c, 'b>(f: &'c &'b dyn Fn(&i32)) -> &'c &'b dyn Fn(&'static i32) {

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/20413
trait Foo {
fn answer(self);
}

View File

@@ -1,5 +1,5 @@
error[E0392]: type parameter `T` is never used
--> $DIR/issue-20413.rs:5:15
--> $DIR/trait-impl-overflow-with-where-clause-20413.rs:6:15
|
LL | struct NoData<T>;
| ^ unused type parameter
@@ -8,14 +8,14 @@ LL | struct NoData<T>;
= help: if you intended `T` to be a const parameter, use `const T: /* Type */` instead
error[E0275]: overflow evaluating the requirement `NoData<NoData<NoData<NoData<NoData<NoData<NoData<...>>>>>>>: Foo`
--> $DIR/issue-20413.rs:8:36
--> $DIR/trait-impl-overflow-with-where-clause-20413.rs:9:36
|
LL | impl<T> Foo for T where NoData<T>: Foo {
| ^^^
|
= help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`issue_20413`)
= help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`trait_impl_overflow_with_where_clause_20413`)
note: required for `NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<T>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>` to implement `Foo`
--> $DIR/issue-20413.rs:8:9
--> $DIR/trait-impl-overflow-with-where-clause-20413.rs:9:9
|
LL | impl<T> Foo for T where NoData<T>: Foo {
| ^^^ ^ --- unsatisfied trait bound introduced here
@@ -23,19 +23,19 @@ LL | impl<T> Foo for T where NoData<T>: Foo {
= note: required for `NoData<T>` to implement `Foo`
error[E0275]: overflow evaluating the requirement `AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<...>>>>>>>: Bar`
--> $DIR/issue-20413.rs:27:42
--> $DIR/trait-impl-overflow-with-where-clause-20413.rs:28:42
|
LL | impl<T> Bar for T where EvenLessData<T>: Baz {
| ^^^
|
= help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`issue_20413`)
= help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`trait_impl_overflow_with_where_clause_20413`)
note: required for `EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<T>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>` to implement `Baz`
--> $DIR/issue-20413.rs:34:9
--> $DIR/trait-impl-overflow-with-where-clause-20413.rs:35:9
|
LL | impl<T> Baz for T where AlmostNoData<T>: Bar {
| ^^^ ^ --- unsatisfied trait bound introduced here
note: required for `AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<T>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>` to implement `Bar`
--> $DIR/issue-20413.rs:27:9
--> $DIR/trait-impl-overflow-with-where-clause-20413.rs:28:9
|
LL | impl<T> Bar for T where EvenLessData<T>: Baz {
| ^^^ ^ --- unsatisfied trait bound introduced here
@@ -43,19 +43,19 @@ LL | impl<T> Bar for T where EvenLessData<T>: Baz {
= note: required for `EvenLessData<T>` to implement `Baz`
error[E0275]: overflow evaluating the requirement `EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<...>>>>>>>: Baz`
--> $DIR/issue-20413.rs:34:42
--> $DIR/trait-impl-overflow-with-where-clause-20413.rs:35:42
|
LL | impl<T> Baz for T where AlmostNoData<T>: Bar {
| ^^^
|
= help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`issue_20413`)
= help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`trait_impl_overflow_with_where_clause_20413`)
note: required for `AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<T>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>` to implement `Bar`
--> $DIR/issue-20413.rs:27:9
--> $DIR/trait-impl-overflow-with-where-clause-20413.rs:28:9
|
LL | impl<T> Bar for T where EvenLessData<T>: Baz {
| ^^^ ^ --- unsatisfied trait bound introduced here
note: required for `EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<EvenLessData<AlmostNoData<T>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>` to implement `Baz`
--> $DIR/issue-20413.rs:34:9
--> $DIR/trait-impl-overflow-with-where-clause-20413.rs:35:9
|
LL | impl<T> Baz for T where AlmostNoData<T>: Bar {
| ^^^ ^ --- unsatisfied trait bound introduced here

View File

@@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/51632
#![allow(dead_code)]
fn missing_discourses() -> Result<isize, ()> {

View File

@@ -1,5 +1,5 @@
error[E0308]: `?` operator has incompatible types
--> $DIR/issue-51632-try-desugar-incompatible-types.rs:8:5
--> $DIR/incompatible-types-with-question-mark-51632.rs:9:5
|
LL | fn forbidden_narratives() -> Result<isize, ()> {
| ----------------- expected `Result<isize, ()>` because of return type