On 1-6-2010 12:05, Justin Spahr-Summers wrote: > On Mon, 31 May 2010 23:31:18 -0300, Leandro Lucarella <llu...@gmail.com> > wrote: >> >> Justin Spahr-Summers, el 31 de mayo a las 16:41 me escribiste: >>> On Tue, 01 Jun 2010 06:05:50 +0800, Lionello Lunesu >>> <l...@lunesu.remove.com> wrote: >>>> >>>> On 1-6-2010 5:38, Andrei Alexandrescu wrote: >>>>> On 05/31/2010 03:54 PM, bearophile wrote: >>>>>> Andrei Alexandrescu: >>>>>>> typedef is gone. >>>>>> >>>>>> *mewls* I have shown here some examples of typedef usage, and I'll >>>>>> keep posting few more in future. I'd like to pull it back from the >>>>>> grave and keep it :-) >>>>> >>>>> It's wasted time. typedef is gone. >>>>> >>>>> Andrei >>>> >>>> :(( >>>> >>>> I also miss typedef. I thought D had a great opportunity to fix it. >>>> >>>> Take something like the Windows headers. It mostly consists of typedefs >>>> for handles and whatnot. Without typedef you'd have to use alias and >>>> type safety is out of the windows. >>>> >>>> So what would be the way to translate those Windows headers? Create a >>>> unique struct for each old typedef? With alias this, and a ctor? Well, >>>> if that's the way to do it now, why not make typedef a shortcut for >>>> exactly that!? >>> >>> I'm a fan of typedef, personally, but the example you mentioned *would* >>> be solved using just an alias. 'alias' provides the same functionality >>> as C/C++'s 'typedef' and more. >> >> I think he talks about this difference: >> >> alias int a1; >> alias int a2; >> typedef int t1; >> typedef int t2; >> >> void fa(a2 a) {} >> void ft(t2 t) {} >> >> void main() { >> a1 a = 5; >> fa(a); // <--- compiles fine >> t1 t = 10; >> ft(t); // <--- error > > Understood, but he mentioned translating C headers. D's 'typedef' has no > ready equivalent in C or C++.
Where does it say that translated headers cannot be better than the original? :) L.