On Mon, 07 May 2012 12:10:20 -0400, Mehrdad <wfunct...@hotmail.com> wrote:
On Monday, 7 May 2012 at 12:18:36 UTC, Steven Schveighoffer wrote:
No, they are the same function. size_t is aliased to uint. What *you*
want size_t to mean is not what it is, it's an alias to the word-sized
unsigned integer on a platform. Get used to it, use another type if
you don't want it to be that.
No kidding! I use a different language altogether when I don't like D.
That doesn't tell me anything useful though...
Nothing in this whole thread seems to be very useful. I don't know how
else to answer your post except -- sorry, we're not going to change it.
It's the same in C/C++ BTW. D's alias === C's typedef, and C's size_t
is a typedef.
Did you read my own response to someone else? You're telling me
something I already mentioned myself...
My response: "C++ doesn't even _have_ reflection, and it treats typedefs
pretty
much the same as D does right now..."
It's hard to see where you are coming from. You have mentioned that doing
Windows low-level programming is hard on most platforms except for C.
Well, if C made it easy, why not duplicate what they did?
(2) I'm saying function(void*) and function(HANDLE) are different
functions, and people are telling me to use TypeDef. Which is of
course an alternative, except that it requires me to modify the source
code of my library.
Wait, you have to modify one type definition, right? Is that really
not satisfactory? I don't understand this line of reasoning.
No, it's not satisfactory, because I'm not always in control of the type
definition.
1) pull request. I'm sure a pull request that makes more correct semantic
decisions on implicit casting of HANDLEs would be accepted.
2) Make your own types. You are free to not use standard/existing
libraries.
Given that you want to write an *entire toolkit*, I doubt anyone gives a
shit whether your low-level code works with standard phobos-defined HANDLE
types.
I can't say I ever used typedef when it was allowed.
That doesn't make it useless. :P
This was not my reason for saying it. I was qualifying what I was about
to say by saying "I don't have a lot of experience with typedefs".
I can see how it can be useful in certain situations, but I think the
path is available to make an equivalent library solution work (it seems
several people have said it doesn't, why not spend time trying to fix
it rather than complaining about features that aren't coming back?)
Um... if people don't agree that size_t should be a different type, why
would I spend time 'fixing' something that won't be used anyway?
I meant fixing the library solution so it *does* work how you want. In
other words, "bringing back typedefs" isn't going to happen. It's not a
solution that is practical, or likely.
But making std.typecons.TypeDef work *is* a valid path to get what you
want (typedefs that work like they used to). If that isn't possible,
let's fix the language constructs that are blocking it!
(I'm pretty sure none of the people who suggested using TypeDef for
HWND realized that we'd have to do the same thing for size_t and such.
Otherwise, when I'd have asked about that, the response wouldn't have
been "who cares".)
I think they didn't realize it because it's completely false ;)
You saying it's not false doesn't make it any more true.
It might have been false, but if so, that falsehood definitely wasn't
communicated. So from my perspective, it's true. (I don't have ESP to
figure out what people *really* think of, sorry... and no pun intended
:P)
No I mean it's completely false that fixing HWND means we have to fix
size_t. size_t is not broken in any way, HWND is, and I agree we need a
solution that works.
-Steve