error: reached the recursion limit while instantiating `<(&(&(&(&(&(&(&(&(&(&(&(&(&(&(&(.....), ...), ...) as Foo>::recurse`
  --> $DIR/issue-37311.rs:17:9
   |
LL |         (self, self).recurse();
   |         ^^^^^^^^^^^^^^^^^^^^^^
   |
note: `<T as Foo>::recurse` defined here
  --> $DIR/issue-37311.rs:16:5
   |
LL |     fn recurse(&self) {
   |     ^^^^^^^^^^^^^^^^^
   = note: the full type name has been written to '$TEST_BUILD_DIR/issues/issue-37311-type-length-limit/issue-37311.polonius/issue-37311.long-type.txt'

error: aborting due to previous error

