[Bug 69] core.builtins should be nothrow, pure and probably @safe
gdc-bugzilla at gdcproject.org
gdc-bugzilla at gdcproject.org
Fri Jul 5 03:02:19 PDT 2013
http://bugzilla.gdcproject.org/show_bug.cgi?id=69
--- Comment #2 from Iain Buclaw <ibuclaw at gdcproject.org> 2013-07-05 10:02:19 UTC ---
The most likely sequence of events were that gdc support was added first (we
were there first, what can I say? :) - then dmd support once its vector support
stabilised. Some time during or after dmd support was put on, pure: nothrow:
@safe: was put into the module.
In any case, nothing has changed since std.simd was first brewed. Function
purity/nothrow is never assumed, and can only go off what the built-in function
symbol is marked as. Likewise with @safe, the compiler currently only
determines whether to @trust a built-in function or not depending on if it has
been marked as nothrow. Which is an interesting, and probably wrong way of
inferring @safe-ty, but I suppose in one aspect no one has maybe tested it
enough to find any holes in it yet. It seems safe is never a good assumption
to make. :)
We could guarantee @safe-ty for builtin functions that are intrinsically
expanded by the compiler (have no equivalent library call). Will have to think
about whether to assume pure/nothrow in that situation also.
--
Configure bugmail: http://bugzilla.gdcproject.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the D.gnu
mailing list