www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - conv parse imported file bug?

reply "Lemonfiend" <no email.here> writes:
[DMD32 D Compiler v2.059]

Hello,

I was rewriting some code so some large data array was a separate 
data file, and got an abnormal program termination, with the 
error:

C:\D\dmd2\windows\bin\..\..\src\phobos\std\conv.d(2704): Error: 
function std.conv.parse!(float[],string).parse compiler error, 
parameter 's', bugzilla 2962?
Assertion failure: '0' on line 717 in file 'glue.c'

I made a small testcase, and it didn't occur again.
So I made the testcase slightly bigger, by moving the parse 
function to a separate module, and it occurred again.

According to the bugzilla referenced in the error this was fixed; 
perhaps not?

-- main.d ---------------
module tuttmp.main;

import std.stdio;

import tuttmp.file;
import tuttmp.parser;

void main()
{
	writeln(fileString);

	parseImport();
}


-- parser.d ---------------
module tuttmp.parser;

import std.conv;
import std.stdio;

public void parseImport()
{
	writeln(fileString);

	auto fileArray = parse!(float[])(fileString);

	writeln(fileArray);
}


-- file.d ---------------
module tuttmp.file;

public string fileString = import("file.data");


-- file.data ---------------
[1,2,3]
Jul 16 2012
next sibling parent "Lemonfiend" <no email.here> writes:
On Monday, 16 July 2012 at 17:02:52 UTC, Lemonfiend wrote:
 [DMD32 D Compiler v2.059]

 Hello,

 I was rewriting some code so some large data array was a 
 separate data file, and got an abnormal program termination, 
 with the error:

 C:\D\dmd2\windows\bin\..\..\src\phobos\std\conv.d(2704): Error: 
 function std.conv.parse!(float[],string).parse compiler error, 
 parameter 's', bugzilla 2962?
 Assertion failure: '0' on line 717 in file 'glue.c'

 I made a small testcase, and it didn't occur again.
 So I made the testcase slightly bigger, by moving the parse 
 function to a separate module, and it occurred again.

 According to the bugzilla referenced in the error this was 
 fixed; perhaps not?

 -- main.d ---------------
 module tuttmp.main;

 import std.stdio;

 import tuttmp.file;
 import tuttmp.parser;

 void main()
 {
 	writeln(fileString);

 	parseImport();
 }


 -- parser.d ---------------
 module tuttmp.parser;

 import std.conv;
 import std.stdio;

 public void parseImport()
 {
 	writeln(fileString);

 	auto fileArray = parse!(float[])(fileString);

 	writeln(fileArray);
 }


 -- file.d ---------------
 module tuttmp.file;

 public string fileString = import("file.data");


 -- file.data ---------------
 [1,2,3]

Blast, minor edit mistake.. parser.d is supposed to be module tuttmp.parser; import std.conv; import std.stdio; import tuttmp.file; public void parseImport() { auto fileArray = parse!(float[])(fileString); writeln(fileArray); }
Jul 16 2012
prev sibling next sibling parent "Jonathan M Davis" <jmdavisProg gmx.com> writes:
On Monday, July 16, 2012 19:02:48 Lemonfiend wrote:
 According to the bugzilla referenced in the error this was fixed;
 perhaps not?

The commit date for the fix is after the release of 2.059, so presumably, it works just fine with git master. - Jonathan M Davis
Jul 16 2012
prev sibling parent "Lemonfiend" <no email.here> writes:
On Monday, 16 July 2012 at 19:46:21 UTC, Jonathan M Davis wrote:
 On Monday, July 16, 2012 19:02:48 Lemonfiend wrote:
 According to the bugzilla referenced in the error this was 
 fixed;
 perhaps not?

The commit date for the fix is after the release of 2.059, so presumably, it works just fine with git master. - Jonathan M Davis

Ack.. I should have checked the date.. (never used bugzilla before) Thanks :)
Jul 16 2012