I found these pathlogical examples pass the lexer: --- void main() { assert(01 == 1); // can compile and run. assert(010 == 8); // Error: octal literals 010 are no longer supported, use std.conv.octal!10 instead } ---
Attemptive PR : https://github.com/dlang/dmd/pull/8490
This is a spec issue, literals 01 through 07 are correct decimal literals, so the confusion caused by using octals is not relevant there.
Close this: see https://github.com/dlang/dmd/pull/8490#issuecomment-404716464
As long as neither the spec nor dmd are updated to accommodate the other, this remains an open issue.
@schveiguy created dlang/dlang.org pull request #3066 "Fix issue 19070 - some octal literals are actually allowed" fixing this issue: - Fix issue 19070 - some octal literals are actually allowed https://github.com/dlang/dlang.org/pull/3066
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dlang.org/issues/4091 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB