digitalmars.D.bugs - [Issue 6587] New: std.parallelism
- d-bugmail puremagic.com (16/16) Aug 31 2011 http://d.puremagic.com/issues/show_bug.cgi?id=6587
- d-bugmail puremagic.com (36/36) Aug 31 2011 http://d.puremagic.com/issues/show_bug.cgi?id=6587
- d-bugmail puremagic.com (11/11) Sep 01 2011 http://d.puremagic.com/issues/show_bug.cgi?id=6587
- d-bugmail puremagic.com (8/8) Sep 03 2011 http://d.puremagic.com/issues/show_bug.cgi?id=6587
- d-bugmail puremagic.com (11/11) Jan 12 2012 http://d.puremagic.com/issues/show_bug.cgi?id=6587
http://d.puremagic.com/issues/show_bug.cgi?id=6587
Summary: std.parallelism
Product: D
Version: D2
Platform: Other
OS/Version: Windows
Status: NEW
Severity: normal
Priority: P2
Component: Phobos
AssignedTo: nobody puremagic.com
ReportedBy: debio264 gmail.com
---
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Aug 31 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6587
Andrew Wiley <debio264 gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Platform|Other |All
Summary|std.parallelism |std.parallelism's Task
| |cannot handle immutable
| |values
OS/Version|Windows |All
---
When creating Tasks to run on a TaskPool using std.parallelism, it looks like I
can't call functions that have immutable objects:
code:
import std.parallelism;
class Test {
}
void doSomething(immutable(Test) test) {
}
void main() {
immutable(Test) test = new immutable(Test)();
taskPool().put(task!(doSomething)(test));
}
compiler output:
Error: can only initialize const member __args_field_0 inside constructor
Error: this is not mutable
/usr/include/d2/4.6.0/std/parallelism.d:734: Error: template instance
std.parallelism.Task!(doSomething,immutable(Test)) error instantiating
tasktest.d:11: instantiated from here:
task!(doSomething,immutable(Test))
Is this something that can be fixed, or does this depend on having tail const
support (which would hopefully work for immutable as well)? This use case seems
particularly important as immutability is the simplest way to ensure safe
multithreading.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Aug 31 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6587
David Simcha <dsimcha yahoo.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dsimcha yahoo.com
This should work, but I had neglected to put a test in for it. Anyhow, the
underlying reason it doesn't work is Bug 6588.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 01 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6587 I found a workaround for 6588 and put it into a larger pull request with various improvements to std.parallelism: https://github.com/D-Programming-Language/phobos/pull/217 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 03 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6587
David Simcha <dsimcha yahoo.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
This has been fixed for a few releases. Closing.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 12 2012









d-bugmail puremagic.com 