dsimcha <[email protected]> wrote:
2. Just overload task(), map() and reduce() so that the overload marked
@trusted can be used in SafeD and is as safe as std.concurrency, and the
unsafe version can be called from @system code.
This seems to me the best solution.
1. Create safeTask(), safeMap(), safeReduce() that only accept safe
arguments. This is ugly but explicit. Suggestions for better names
would be
appreciated.
3. Name the safe versions task(), map() and reduce() and rename the
unsafe
versions something else. (I kind of don't like this because
std.parallelism,
by its nature, is mostly geared towards unsafe, pedal-to-metal
parallelism.)
Of these, #1 breaks with the D tradition (or stated such, anyway) of
safe being the default.
--
Simen