error[E0308]: mismatched types
  --> $DIR/sugg-else-for-closure.rs:6:26
   |
LL |     let _s = y.unwrap_or(|| x.split('.').nth(1).unwrap());
   |                --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&str`, found closure
   |                |
   |                arguments to this method are incorrect
   |
   = note: expected reference `&str`
                found closure `{closure@$DIR/sugg-else-for-closure.rs:6:26: 6:28}`
help: the return type of this call is `{closure@$DIR/sugg-else-for-closure.rs:6:26: 6:28}` due to the type of the argument passed
  --> $DIR/sugg-else-for-closure.rs:6:14
   |
LL |     let _s = y.unwrap_or(|| x.split('.').nth(1).unwrap());
   |              ^^^^^^^^^^^^-------------------------------^
   |                          |
   |                          this argument influences the return type of `unwrap_or`
note: method defined here
  --> $SRC_DIR/core/src/option.rs:LL:COL
help: try calling `unwrap_or_else` instead
   |
LL |     let _s = y.unwrap_or_else(|| x.split('.').nth(1).unwrap());
   |                         +++++

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0308`.
