www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 10420] New: Incorrect function attributes in `core.exception`

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=10420

           Summary: Incorrect function attributes in `core.exception`
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: druntime
        AssignedTo: verylonglogin.reg gmail.com
        ReportedBy: verylonglogin.reg gmail.com


--- Comment #0 from Denis Shelomovskij <verylonglogin.reg gmail.com> 2013-06-20
12:11:19 MSD ---
---
import core.exception;

void f1(int i) nothrow // OK
{ assert(i); }

void f2(int i) nothrow // OK
{ if(!i) throw new AssertError(__FILE__, __LINE__); }

void f3(int i) nothrow // error, should be OK
{ if(!i) onAssertError(); }

void main()
{
    // accepted, should be rejected:
    setAssertHandler((file, line, msg) { throw new Exception(""); });
    f1(0); // nothrow function will throw an `Exception`
}
---

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 20 2013
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=10420



--- Comment #1 from Denis Shelomovskij <verylonglogin.reg gmail.com> 2013-06-20
12:14:24 MSD ---
https://github.com/D-Programming-Language/druntime/pull/527

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 20 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=10420



--- Comment #2 from github-bugzilla puremagic.com 2013-06-21 02:54:40 PDT ---
Commits pushed to master at https://github.com/D-Programming-Language/druntime

https://github.com/D-Programming-Language/druntime/commit/bc849e38ff1e6e6341c0e2b0250a1659dae929a3
Fix Issue 10420.

Mark `core.exception` functions with `pure`, `nothrow`, and friends.
Require user-supplied assert hander to be `nothrow`.

Issue URL: http://d.puremagic.com/issues/show_bug.cgi?id=10420

https://github.com/D-Programming-Language/druntime/commit/f4a823756f7e5e1069ea2117b64fffa9cd75c149
Merge pull request #527 from denis-sh/add-`core.exception`-functions-attributes

Fix Issue 10420 - Incorrect function attributes in `core.exception`

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 21 2013
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=10420


Alex Rønne Petersen <alex lycus.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |alex lycus.org
         Resolution|                            |FIXED


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