error[E0618]: expected function, found `U`
  --> $DIR/issue-21701.rs:2:13
   |
LL | fn foo<U>(t: U) {
   |           - `t` has type `U`
LL |     let y = t();
   |             ^--
   |             |
   |             call expression requires function

error[E0618]: expected function, found `Bar`
  --> $DIR/issue-21701.rs:9:13
   |
LL | struct Bar;
   | ----------- `Bar` defined here
...
LL |     let f = Bar();
   |             ^^^--
   |             |
   |             call expression requires function

error: aborting due to 2 previous errors

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