[Issue 8665] New: auto function and implicit conversion in return statement corrupt returned value

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sat Sep 15 20:30:25 PDT 2012


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

           Summary: auto function and implicit conversion in return
                    statement corrupt returned value
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: wrong-code
          Severity: critical
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: k.hara.pg at gmail.com


--- Comment #0 from Kenji Hara <k.hara.pg at gmail.com> 2012-09-15 20:31:19 PDT ---
>From digitalmars.d.leran forum:
http://forum.dlang.org/thread/oubtkhvccronbumdgbll@forum.dlang.org

Reduced test case:

auto foo(bool val)
{
    if (val)
        return 42;
    else
        return 1.5;
}

void main()
{
    assert(foo(true) == 42); // assertion failure
    assert(foo(false) == 1.5);
}

The return type of foo is double, but returning 42 is broken in runtime.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list