error[E0580]: `main` function has wrong type
  --> $DIR/main-wrong-type.rs:6:1
   |
LL | fn main(foo: S) {
   | ^^^^^^^^^^^^^^^ incorrect number of function parameters
   |
   = note: expected fn pointer `fn()`
              found fn pointer `fn(S)`

error: aborting due to previous error

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