error[E0599]: no method named `closure` found for reference `&Obj<{closure@$DIR/issue-33784.rs:25:43: 25:45}>` in the current scope
  --> $DIR/issue-33784.rs:27:7
   |
LL |     p.closure();
   |       ^^^^^^^ field, not a method
   |
help: to call the function stored in `closure`, surround the field access with parentheses
   |
LL |     (p.closure)();
   |     +         +
help: there is a method `clone` with a similar name
   |
LL |     p.clone();
   |       ~~~~~

error[E0599]: no method named `fn_ptr` found for reference `&&Obj<{closure@$DIR/issue-33784.rs:25:43: 25:45}>` in the current scope
  --> $DIR/issue-33784.rs:29:7
   |
LL |     q.fn_ptr();
   |       ^^^^^^ field, not a method
   |
help: to call the function stored in `fn_ptr`, surround the field access with parentheses
   |
LL |     (q.fn_ptr)();
   |     +        +

error[E0599]: no method named `c_fn_ptr` found for reference `&D` in the current scope
  --> $DIR/issue-33784.rs:32:7
   |
LL |     s.c_fn_ptr();
   |       ^^^^^^^^ field, not a method
   |
help: to call the function stored in `c_fn_ptr`, surround the field access with parentheses
   |
LL |     (s.c_fn_ptr)();
   |     +          +

error: aborting due to 3 previous errors

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