[Issue 1076] New: by using scope(exit) tail recursion ain't working

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Mar 21 09:11:21 PDT 2007


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

           Summary: by using scope(exit) tail recursion ain't working
           Product: D
           Version: 1.009
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: davidl at 126.com


int i;

    int scp( int n ){ 
      if( n==0 ) return 0; 
   //   scope(exit) printf("%d",n); 
      scope(exit) i++;
      return scp(n-1); 
    } 
    void main() { 
      scp(40000); 
      printf(`%d`,i);
    }
//stack overflow
change scope(exit) i++; by i++; then tail recursion works fine


-- 



More information about the Digitalmars-d-bugs mailing list