new to D2.0 , invariant problem

Jesse Phillips jessekphillips at gmail.com
Wed Nov 19 20:30:48 PST 2008


On Wed, 19 Nov 2008 22:10:50 -0500, MikeRJ wrote:

> For some reason i think DM 1.0 is slowly dieing as i see tons of new
> features in D 2.0's phobos not implemented in D 1.0  so im trying to
> migrate to D2.0
> 
> my 1st problem is when i compile code:
> 
> 	bool open(char[] fn, char[] mode="rb") {
> 		filename=fn.dup;
> 		file = fopen(toStringz(filename), toStringz(mode)); if (!
file) return
> 		false;
> 		return true;
> 	}
> 
> i receive error:
> 
>>> cannot implicitly convert expression ("rb") of type
>>> invariant(char[2u]) to char[]|
> can anyone help here. thanks in advance.

 	bool open(char[] fn, char[] mode="rb".dup) {

will probably make it compile, but since you are using D2 I think the 
correct methodology would be:

 	bool open(string fn, string mode="rb") {

Since you don't make changes to fn or mode they should be invariant.

Also, D1 is not dieing, it is not supposed to get any new features. D2 is 
continually changing which would not be good if you are doing application 
development.


More information about the Digitalmars-d-learn mailing list