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.


Reply via email to