]>
git.proxmox.com Git - rustc.git/blob - tests/ui/traits/issue-91949-hangs-on-recursion.rs
6474b2b38e1c089a164cb1c8d86e129126d6b19f
2 // compile-flags: -Zinline-mir=no
3 // error-pattern: overflow evaluating the requirement `(): Sized`
4 // error-pattern: function cannot return without recursing
5 // normalize-stderr-test: "long-type-\d+" -> "long-type-hash"
7 // Regression test for #91949.
8 // This hanged *forever* on 1.56, fixed by #90423.
10 #![recursion_limit = "256"]
14 struct IteratorOfWrapped
<T
, I
: Iterator
<Item
= T
>>(I
);
16 impl<T
, I
: Iterator
<Item
= T
>> Iterator
for IteratorOfWrapped
<T
, I
> {
17 type Item
= Wrapped
<T
>;
18 fn next(&mut self) -> Option
<Wrapped
<T
>> {
19 self.0.next().map(Wrapped
)
23 fn recurse
<T
>(elements
: T
) -> Vec
<char>
25 T
: Iterator
<Item
= ()>,
27 recurse(IteratorOfWrapped(elements
).map(|t
| t
.0))
31 recurse(std
::iter
::empty());