error: reached the recursion limit while instantiating `function::<Option<Option<Option<...>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>`
  --> $DIR/infinite-instantiation.rs:22:9
   |
LL |         function(counter - 1, t.to_option());
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
note: `function` defined here
  --> $DIR/infinite-instantiation.rs:20:1
   |
LL | fn function<T:ToOpt + Clone>(counter: usize, t: T) {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = note: the full type name has been written to '$TEST_BUILD_DIR/infinite/infinite-instantiation.polonius/infinite-instantiation.long-type.txt'

error: aborting due to previous error