On Monday, 10 June 2013 at 12:53:34 UTC, Jacob Carlborg wrote:
On 2013-06-10 14:36, Manu wrote:
funcptr pretends to be typed, but the type is just wrong. In
your
example, the type is 'void function()', it should be 'void
function(Foo
this)'.
"void function()" is part of the complete type. It becomes
complete with the context pointer.
I wouldn't say so. The fact that you pass context has nothing to
do with determining type. For example, you can pass A class
instead of B to B method, but B method would still keep its
original type.
So yes, there is a type problem in language when function taking
some parameter is declared as having no such parameter. This is a
serious hole in type system.