Bug 14138 – std.parallelism.task breaks @safety

Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P2
Component
phobos
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2015-02-07T01:38:41Z
Last change time
2024-07-28T22:45:46Z
Keywords
pull, safe
Assigned to
No Owner
Creator
David Nadlinger

Comments

Comment #0 by code — 2015-02-07T01:38:41Z
--- struct Oops { int convert() { *cast(int*)0xcafebabe = 0xdeadbeef; return 0; } alias convert this; } void main() @safe { import std.parallelism; static void foo(int) @safe {} auto t = task(&foo, Oops.init); // or: auto t = scopedTask(&foo, Oops.init); taskPool.put(t); } --- Tested with current Git master (4de96a06, to-be 2.067), but looks like the issues has been present since the initial merge of std.parallelism. Again a case of @trusted used on a template function without sufficient constraints.
Comment #1 by dlang-bot — 2024-07-28T11:14:43Z
@ntrel created dlang/phobos pull request #9033 "Fix Bugzilla 14138 - std.parallelism.task breaks @safety" fixing this issue: - Fix Bugzilla 14138 - std.parallelism.task breaks @safety https://github.com/dlang/phobos/pull/9033
Comment #2 by dlang-bot — 2024-07-28T22:45:46Z
dlang/phobos pull request #9033 "Fix Bugzilla 14138 - std.parallelism.task breaks @safety" was merged into master: - 1ca9f47d105267d5b4366f8c5fb5ec4055f4acfd by Nick Treleaven: Fix Bugzilla 14138 - std.parallelism.task breaks @safety https://github.com/dlang/phobos/pull/9033