[Issue 17790] [scope] Escaping pointer possible through array of aggregates

2017-08-29 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17790

Walter Bright  changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com

--- Comment #1 from Walter Bright  ---
https://github.com/dlang/dmd/pull/7108

--


[Issue 17780] Malformed DDOC links in std.range

2017-08-29 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17780

--- Comment #4 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/dlang/phobos

https://github.com/dlang/phobos/commit/cf422b0521d6b63ebfc50dd7ae9e273408b49b39
fix issue 17780 -  Malformed DDOC links in std.range

https://github.com/dlang/phobos/commit/694d87fe02f9ca062e89d7434651b8f6cc59f912
Merge pull request #5708 from BBasile/issue-17780-stable

--


[Issue 8882] map, filter, iota and zip in pure (and nothrow) functions

2017-08-29 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=8882

ZombineDev  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 CC||petar.p.ki...@gmail.com
 Resolution|FIXED   |---

--- Comment #8 from ZombineDev  ---
While, the OP code compiles, zip is not yet nothrow. See:

```
import std.algorithm: map, filter;
import std.range: iota, zip, array;
import std.typecons : tuple;

auto get() pure nothrow
{
auto m = map!q{a * a}([1, 2, 3]);
auto f = filter!q{ a > 1 }([1, 2, 3]);
auto i = iota(1, 10, 2);
auto z = zip([1, 2, 3], [10, 20, 30]);
return tuple(m.array, f.array, i.array, z.array);
}

void main()
{
import std.stdio;
writeln(get());
}
```

test.d(11): Error: function std.array.array!(Zip!(int[], int[])).array is not
nothrow
test.d(4): Error: nothrow function test.get may throw

--


[Issue 17790] [scope] Escaping pointer possible through array of aggregates

2017-08-29 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17790

ZombineDev  changed:

   What|Removed |Added

 CC||petar.p.ki...@gmail.com

--


[Issue 8494] Return value for Tuple.opAssign

2017-08-29 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=8494

ZombineDev  changed:

   What|Removed |Added

 CC||petar.p.ki...@gmail.com

--- Comment #3 from ZombineDev  ---
You're misunderstanding the OP. The whole point of this enhancement request is
to make T and Tuple!T interchangeable. Changing the return type of `bar` misses
the point completely. Essentially what this OP is asking is:
1. Tuple.opAssign should return `this` (the object being modified)
2. Tuple!T should implicitly convert to T.

This comes from a higher-level goal that type constructors should be
indistinguishable from built-in types - there should be nothing that
user-defined can't do, that a built-in type can. 

Razvan, please refrain from closing valid enhancement requests. 1-2 years ago
bearophile was one of the most active community members and many of his ideas
helped shape the language and the standard library. While some of his
enhancement request are a bit vague and not always clear, quite often there are
good ideas in there. In particular, a future proposal for built-in tuples may
greatly benefit from many of his litmus tests.

--


[Issue 17791] Add __traits(isDeprecated, ...)

2017-08-29 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17791

ZombineDev  changed:

   What|Removed |Added

 CC||petar.p.ki...@gmail.com

--- Comment #1 from ZombineDev  ---
Ditto for @future.

--