[Issue 1795] New: Unreachable code in Phobos std.string

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Jan 21 10:35:37 PST 2008


http://d.puremagic.com/issues/show_bug.cgi?id=1795

           Summary: Unreachable code in Phobos std.string
           Product: D
           Version: 2.010
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Severity: minor
          Priority: P2
         Component: Phobos
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: jemandy at earthlink.net


The following will not compile with warnings enabled (-w):

import std.string;
int main()
{
    return 0;
}

The error is:

warning - C:\Apps\DigitalMars\dmd2\src\phobos\std\string.d(1600): Error:
stateme
nt is not reachable
C:\Apps\DigitalMars\dmd2\src\phobos\std\string.d(594): template instance
std.str
ing.startsWith!(invariant(char)[],invariant(char[1u])) error instantiating

Line 1600 is a return statement.  Commenting it out and recompiling yields me:

warning - C:\Apps\DigitalMars\dmd2\src\phobos\std\string.d(1690): Error:
stateme
nt is not reachable
C:\Apps\DigitalMars\dmd2\src\phobos\std\string.d(609): template instance
std.str
ing.endsWith!(invariant(char)[],invariant(char[1u])) error instantiating

Line 16090 is another return statement.  Commenting out both lines 1600 and
1690
allows this to compile correctly.


-- 



More information about the Digitalmars-d-bugs mailing list