Add regression test for #59502

This issue was fixed using a hacky recursion "fuel" argument, but the
issue was never minimized nor was a regression test added. The
underlying bug is still unfixed, so this test should help with fixing it
and removing the `recurse` hack.
This commit is contained in:
Noah Lev 2021-12-28 13:15:02 -08:00
parent 7d1ec64891
commit 908a9d4aad
2 changed files with 13 additions and 0 deletions

View File

@ -236,6 +236,7 @@ fn get_index_type_name(clean_type: &clean::Type) -> Option<Symbol> {
///
/// Important note: It goes through generics recursively. So if you have
/// `T: Option<Result<(), ()>>`, it'll go into `Option` and then into `Result`.
#[instrument(level = "trace", skip(tcx, res))]
fn add_generics_and_bounds_as_types<'tcx>(
generics: &Generics,
arg: &Type,
@ -316,6 +317,7 @@ fn add_generics_and_bounds_as_types<'tcx>(
if recurse >= 10 {
// FIXME: remove this whole recurse thing when the recursion bug is fixed
// See #59502 for the original issue.
return;
}

View File

@ -0,0 +1,11 @@
// check-pass
// Minimization of issue #59502
trait MyTrait<T> {
type Output;
}
pub fn pow<T: MyTrait<T, Output = T>>(arg: T) -> T {
arg
}