How do you fix it for size_t and uint, etc.?
On Saturday, 5 May 2012 at 13:01:08 UTC, Michel Fortin wrote:
On 2012-05-05 05:02:44 +0000, "Mehrdad" <wfunct...@hotmail.com>
said:
Now it's impossible to figure out whether a ParameterTypeTuple
contains an HWND versus an HGDIOBJ or whatever...
this should really be fixed...
It should be fixed indeed. Perhaps HWND should be defined more
like this:
struct HWND { void *handle; }
Or if you want it to implement some kind of inheritance scheme:
struct HANDLE { void *ptr; }
struct HWND { HANDLE handle; alias handle this; }
That's still a lot better than typedef since you can control
what operations are allowed on the type. For instance, you
can't multiply two handles with the struct definition, with
typedef you could.
My only fear is that this might not work play well with the C
calling convention (or Window's in this case). If that's the
case, then it's a good argument for having a separate language
construct.