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


[email protected] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]


--- Comment #3 from [email protected] 2012-10-23 14:13:32 PDT ---
(In reply to comment #1)

> If you have an issue with a specific function with a specific type which does
> have pure member functions and the templated function is not being inferred as
> pure, then please report it with an appropriate code sample, but it would be
> wrong to specifically provide pure versions of functions like iota or zip.

This gives:
test.d(3): Error: pure function 'main' cannot call impure function 'iota'

import std.range: iota;
void main() pure {
    iota(10);
}




This gives:
test.d(4): Error: pure function 'main' cannot call impure function 'map'
test.d(4): Error: map is not nothrow
test.d(2): Error: function D main 'main' is nothrow yet may throw

import std.algorithm: map;
void main() pure nothrow {
    int[] data = [1, 2, 3];
    auto r = map!q{a * a}(data);
}


I propose to reopen this bug report, and change its meaning and title: instead
of asking for such functions to be marked as pure, to ask them to be usable in
a pure (and sometimes nothrow) situations.

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

Reply via email to