[Issue 19738] New: std.range.choose assignment breaks @safe-ty
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Mar 15 04:54:01 UTC 2019
https://issues.dlang.org/show_bug.cgi?id=19738
Issue ID: 19738
Summary: std.range.choose assignment breaks @safe-ty
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: regression
Priority: P1
Component: phobos
Assignee: nobody at puremagic.com
Reporter: code at klickverbot.at
Introduced in https://github.com/dlang/phobos/pull/6904:
---
import std.range;
struct EvilRange {
enum empty = true;
int front;
void popFront() @safe {}
auto opAssign(const ref EvilRange other){
*(cast(uint*)0xcafebabe) = 0xdeadbeef;
return this;
}
}
void main() @safe {
auto c1 = choose(true, EvilRange(), EvilRange());
auto c2 = c1;
c1 = c2;
}
---
--
More information about the Digitalmars-d-bugs
mailing list