Troubles creating templated inout objects
Steven Schveighoffer
schveiguy at yahoo.com
Thu Jul 12 12:32:02 UTC 2018
On 7/12/18 4:58 AM, Timoses wrote:
> On Tuesday, 10 July 2018 at 14:34:55 UTC, Timoses wrote:
>> `Unqual` in this case just turns `inout(int[])` into `inout(int)[]`,
>> which is why it complains. That's a side effect of this example [...]
>
>
> See also:
> https://issues.dlang.org/show_bug.cgi?id=3567
Responded there, but really this is a misunderstanding of Unqual. Unqual
should shallowly strip as much off as it can, but shouldn't allow you to
break const.
The problem is that for things other than pointers or arrays, it can't
provide a tail-const version, so it goes too far. Fixing this will
probably break a lot of code, which means we need to find another way.
-Steve
More information about the Digitalmars-d-learn
mailing list