[dmd-beta] dmd 1.063 beta
Leandro Lucarella
luca at llucax.com.ar
Thu Jul 29 19:25:14 PDT 2010
Brad Roberts, el 29 de julio a las 17:31 me escribiste:
> On Thu, 29 Jul 2010, Walter Bright wrote:
>
> > Applying this diff will fix it:
> >
> > diff expression.bak expression.c
> > 6054a6055
> > > #if 0
> > 6059a6061
> > > #endif
>
> This is where you learn about -u or -C to add some context to the output
> to help make sure those lines match up with a version of that file that
> doesn't exactly match the one you happened to use.
>
> I hate diff's default mode, it's so dangerous/useless.
Yes, -p helps too (it adds the signature of the function where the
change is, only works for C or not inlined C code, because the heuristic
to search for the function signature is extremely simple and indentation
based, it uses the last line without any indentation at all, so it
doesn't work well for D inside methods).
BTW, my (GNU) diff utility didn't even understood that format, this is
what diff -pu gets you:
--- expression.c.orig 2010-07-29 23:23:06.500829840 -0300
+++ expression.c 2010-07-29 23:23:11.449829091 -0300
@@ -6052,11 +6052,13 @@ Expression *DelegateExp::semantic(Scope
AggregateDeclaration *ad = func->toParent()->isAggregateDeclaration();
if (func->needThis())
e1 = getRightThis(loc, sc, ad, e1, func);
+#if 0
if (ad && ad->type != e1->type)
{ // A downcast is required for interfaces, see Bugzilla 3706
e1 = new CastExp(loc, e1, ad->type);
e1 = e1->semantic(sc);
}
+#endif
}
return this;
}
And that change is reverting r587 completely. I don't know what is worse
a wrong-code bug or a rejects-valid regression :S
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
----------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------
EXTRAÑA RELACION ENTRE UN JUBILADO Y UN JABALI
-- Crónica TV
More information about the dmd-beta
mailing list