Well. I just try it again and I noticed this things :
-Changind the lambda function from :
  auto caca2 = map!((a) {return a * iDeltaT;})(caca);
 to :
  auto caca2 = map!((a) {return a + iDeltaT;})(caca);
 Avoid the segmentation fault
-Using dmd 2.60 avoid the segmentation fault.

The source code is in http://dl.dropbox.com/u/2716434/CodeThatCrash.tgz The makefile only builds againts gdc, so to test it with dmd, I manually compiled the faulty code of serie2Sim.d with :
  dmd serie2Sim.d entity.d vector.d -ofserie2Sim
And I launch it with ./serie2Sim --rand 10 --seed 123
With dmd works, but with gdc not.


On Monday, 10 December 2012 at 18:59:31 UTC, H. S. Teoh wrote:
On Mon, Dec 10, 2012 at 07:21:47PM +0100, Zardoz wrote:
I'm trying to use Map with a code like this :

...
  immutable int m = 10;
  int[] caca = [1,2,3,4];

  auto caca2 = map!( (a) {return a * m;})(caca);

  writeln(caca2);
...

I get a Segmentation fault some times:
The most interesting point it's that depends of the code around of it ins the same program. for example If a use getopt at the begin
of my program, then seg fault, etc...
[...]

Do you have a compilable sample (possibly reduced from your full
sources) that exhibits this error? It would help track down the problem.

There are some known bugs related to map in older releases of D that may
be affecting you.


T

Reply via email to