Almost forgot: the same question holds for const.
On Thu, Oct 6, 2011 at 6:56 PM, Gor Gyolchanyan <gor.f.gyolchan...@gmail.com> wrote: > Hi, guys. > > I just made my handy parsing struct take an arbitrary range, instead > of a dstring and immediately rain head-first into a brick wall of > errors. > > There's this function: > bool next(bool function(ElementType!InputType) pred) > > , where InputType is bound to be dstring and which gets called like this: > parser.next(&isAlpha) > > , where isAlpha is from std.uni. > When i do that, i get this error: > Error: cannot implicitly convert expression (& isAlpha) of type > bool function(dchar c) pure nothrow @safe to bool > function(immutable(dchar)) > > Yes, I understand why do i get this error. > What i don't understand is: does the dchar being immutable really > change anything? > I would, if dchar was indirected type, but it's not. isAlpha has no > way to change my original dchar, that i passed it. > What's the point of disallowing this? > And by `this` i mean, initializing mutable cariables of non-indirected > types with immutable values of those types? > > Cheers, > Gor. >