Template crashes DMD 0.149

Brad Roberts braddr at puremagic.com
Sun Mar 12 10:55:42 PST 2006


On Thu, 9 Mar 2006, Kramer wrote:

> Issues with the code that follows.
> 
> 1) Both "if" statements in the foreach in main crash DMD.  They can be commented
> in any way as long as they're not commented together and they'll crash.
> 
> 2) If you uncomment the "exists" function declaration (that is currently
> commented) and comment the one below it, DMD will crash.
> 
> I could just be using templates incorrectly here, but in either case, it's a bug
> that DMD crashes.
> 
> I'm using Win2k, DMD 0.149.
> 
> :void main() {
> :    char[][] result, test;
> :    
> :    foreach (x; test) {
> :        if (exists!(char[][], char[])(result, x) == true) {
> :            return true;
> :        }
> :        if (exists(result, x) == true) {
> :            return true;
> :        }
> :    }
> :}
> 
> :template exists(T, U) {
> :    //bool exists(T[][] src, U[] test) {
> :    bool exists(T src, U test) {
> :        foreach (x; src) {
> :            if (x == test) {
> :                return true;
> :            }
> :        }
> :        
> :        return false;
> :    }
> :}
> 
> -Kramer

filed as bug #38.



More information about the Digitalmars-d-bugs mailing list