Next in Review Queue: The New std.path
KennyTM~
kennytm at gmail.com
Fri Jul 15 09:17:03 PDT 2011
On Jul 16, 11 00:05, Jonathan M Davis wrote:
> On Friday 15 July 2011 23:48:39 KennyTM~ wrote:
>> On Jul 15, 11 23:26, Lars T. Kyllingstad wrote:
>>>>> So here you have had to use Unqual
>>>>> immutable(Unqual!C1)[] setExtension(C1, C2)(in C1[] path, in
>>>>> C2[] ext) immutable(Unqual!C1)[] defaultExtension(C1, C2)(in
>>>>> C1[] path, in C2[] ext)
>>>>>
>>>>> Instead of Unqual isn't it nicer to use a Deconst!() template?
>>>
>>> Hmm, I guess you're right. "shared" shouldn't be stripped, for
>>> instance.
>>
>> Given that immutable( const(char) ) == immutable(char), I think the
>> Unqual! should simply be removed.
>
> I'd still put the Unqual in there. Perhaps it's due to compiler bugs, but from
> what I've seen, it can get kind of funny when you try and have an immutable
> const or a const immutable. Using Unqual makes it very clear what you mean.
>
> - Jonathan M Davis
OK. But I think you should file the compiler bug :) From what I see,
it's that 'immutable' always win.
--------------------------
alias const(char) CC;
alias immutable(char) IC;
alias immutable(CC) ICC;
alias const(IC) CIC;
pragma(msg, ICC);
pragma(msg, CIC);
--------------------------
immutable(char)
immutable(char)
--------------------------
More information about the Digitalmars-d
mailing list