https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111531
--- Comment #4 from Paul Haile ---
The only time I could imagine allowing type mismatch would be in allowing the
function pointer to allow void * in type erased contexts.
e.g.
typedef void (*b_fptr)(void *);
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111531
--- Comment #3 from Paul Haile ---
Fair enough definitely could be intentional. However, In this example
renaming
typedef void (*b_fptr)(B *);
to
typedef void (*b_fptr)(A *);
gets rid of the error.
It seems restricting the binding such
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111531
Andrew Pinski changed:
What|Removed |Added
Summary|Bound member function |Bound member function with