error[E0599]: no method named `closure` found for struct `Obj<[closure@$DIR/issue-2392.rs:35:36: 35:41]>` in the current scope
  --> $DIR/issue-2392.rs:36:15
   |
LL | struct Obj<F> where F: FnOnce() -> u32 {
   | -------------------------------------- method `closure` not found for this
...
LL |     o_closure.closure();
   |               ^^^^^^^ field, not a method
   |
help: to call the function stored in `closure`, surround the field access with parentheses
   |
LL |     (o_closure.closure)();
   |     ^                 ^

error[E0599]: no method named `not_closure` found for struct `Obj<[closure@$DIR/issue-2392.rs:35:36: 35:41]>` in the current scope
  --> $DIR/issue-2392.rs:38:15
   |
LL | struct Obj<F> where F: FnOnce() -> u32 {
   | -------------------------------------- method `not_closure` not found for this
...
LL |     o_closure.not_closure();
   |               ^^^^^^^^^^^-- help: remove the arguments
   |               |
   |               field, not a method

error[E0599]: no method named `closure` found for struct `Obj<fn() -> u32 {func}>` in the current scope
  --> $DIR/issue-2392.rs:42:12
   |
LL | struct Obj<F> where F: FnOnce() -> u32 {
   | -------------------------------------- method `closure` not found for this
...
LL |     o_func.closure();
   |            ^^^^^^^ field, not a method
   |
help: to call the function stored in `closure`, surround the field access with parentheses
   |
LL |     (o_func.closure)();
   |     ^              ^

error[E0599]: no method named `boxed_closure` found for struct `BoxedObj` in the current scope
  --> $DIR/issue-2392.rs:45:14
   |
LL | struct BoxedObj {
   | --------------- method `boxed_closure` not found for this
...
LL |     boxed_fn.boxed_closure();
   |              ^^^^^^^^^^^^^ field, not a method
   |
help: to call the function stored in `boxed_closure`, surround the field access with parentheses
   |
LL |     (boxed_fn.boxed_closure)();
   |     ^                      ^

error[E0599]: no method named `boxed_closure` found for struct `BoxedObj` in the current scope
  --> $DIR/issue-2392.rs:48:19
   |
LL | struct BoxedObj {
   | --------------- method `boxed_closure` not found for this
...
LL |     boxed_closure.boxed_closure();
   |                   ^^^^^^^^^^^^^ field, not a method
   |
help: to call the function stored in `boxed_closure`, surround the field access with parentheses
   |
LL |     (boxed_closure.boxed_closure)();
   |     ^                           ^

error[E0599]: no method named `closure` found for struct `Obj<fn() -> u32 {func}>` in the current scope
  --> $DIR/issue-2392.rs:53:12
   |
LL | struct Obj<F> where F: FnOnce() -> u32 {
   | -------------------------------------- method `closure` not found for this
...
LL |     w.wrap.closure();
   |            ^^^^^^^ field, not a method
   |
help: to call the function stored in `closure`, surround the field access with parentheses
   |
LL |     (w.wrap.closure)();
   |     ^              ^

error[E0599]: no method named `not_closure` found for struct `Obj<fn() -> u32 {func}>` in the current scope
  --> $DIR/issue-2392.rs:55:12
   |
LL | struct Obj<F> where F: FnOnce() -> u32 {
   | -------------------------------------- method `not_closure` not found for this
...
LL |     w.wrap.not_closure();
   |            ^^^^^^^^^^^-- help: remove the arguments
   |            |
   |            field, not a method

error[E0599]: no method named `closure` found for struct `Obj<Box<(dyn FnOnce() -> u32 + 'static)>>` in the current scope
  --> $DIR/issue-2392.rs:58:24
   |
LL | struct Obj<F> where F: FnOnce() -> u32 {
   | -------------------------------------- method `closure` not found for this
...
LL |     check_expression().closure();
   |                        ^^^^^^^ field, not a method
   |
help: to call the function stored in `closure`, surround the field access with parentheses
   |
LL |     (check_expression().closure)();
   |     ^                          ^

error[E0599]: no method named `f1` found for struct `FuncContainer` in the current scope
  --> $DIR/issue-2392.rs:64:31
   |
LL | struct FuncContainer {
   | -------------------- method `f1` not found for this
...
LL |             (*self.container).f1(1);
   |                               ^^ field, not a method
   |
help: to call the function stored in `f1`, surround the field access with parentheses
   |
LL |             ((*self.container).f1)(1);
   |             ^                    ^

error[E0599]: no method named `f2` found for struct `FuncContainer` in the current scope
  --> $DIR/issue-2392.rs:65:31
   |
LL | struct FuncContainer {
   | -------------------- method `f2` not found for this
...
LL |             (*self.container).f2(1);
   |                               ^^ field, not a method
   |
help: to call the function stored in `f2`, surround the field access with parentheses
   |
LL |             ((*self.container).f2)(1);
   |             ^                    ^

error[E0599]: no method named `f3` found for struct `FuncContainer` in the current scope
  --> $DIR/issue-2392.rs:66:31
   |
LL | struct FuncContainer {
   | -------------------- method `f3` not found for this
...
LL |             (*self.container).f3(1);
   |                               ^^ field, not a method
   |
help: to call the function stored in `f3`, surround the field access with parentheses
   |
LL |             ((*self.container).f3)(1);
   |             ^                    ^

error: aborting due to 11 previous errors

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