On 30 August 2013 16:08, Dicebot <[email protected]> wrote: > On Friday, 30 August 2013 at 15:00:51 UTC, Iain Buclaw wrote: >> >> The compiler frontend implementation allowing bogus or conflicting >> pre/post attributes as no-ops is nothing new (bearophile has been >> documenting all wrong/confusing cases since 2010). So keeping what >> was a no-op as a no-op for the time being can't hurt too much. >> >> Haven't read all posts but am I right in assuming that the compiler >> will correctly warn for post attributes, but clears pre attributes >> silently? > > > Actually looks like I have missed one release in slumber and it is already > in 2.063 >_< > > const char* foo(); > > This was an error, "function xxx.foo without 'this' cannot be > const/immutable". In 2.063+ it compiles silently ignoring `const` with no > warnings/errors/whatever. This is especially error-prone when writing C > bindings and doing 1-to-1 translation from C code. > > Looks like I am too late though. Crap.
:o) I think const char* foo() should mean const(char*) foo. But this needs to be discussed elsewhere. Right now, the focus is on getting the next release out the door. -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
