Is this a bug?
Elfstone
elfstone at yeah.net
Thu Mar 16 04:31:11 UTC 2023
On Thursday, 16 March 2023 at 04:04:51 UTC, Elfstone wrote:
> On Thursday, 16 March 2023 at 03:44:19 UTC, Elfstone wrote:
>> On Thursday, 16 March 2023 at 03:40:04 UTC, Elfstone wrote:
>>> [...]
>>
>> Oops, the above code compiles, because I added comments!!!
>>
>> Now this really doesn't compile:
>>
>> ```D
>> struct Matrix(S, size_t M, size_t N)
>> {
>> }
>>
>> alias Vec3(S) = Matrix!(S, 3, 1);
>>
>> void main()
>> {
>> import std.stdio;
>>
>> writeln(is(Vec3!float == Matrix!(S, 3, 1), S));
>> writeln(is(Matrix!(float, 3, 1) == Matrix!(S, 3, 1), S));
>> }
>> ```
>
> Correction.
>
> With or without comments, mostly it doesn't compile,
> occasionally it does!
> I have no idea.
I can't get it to compile anymore, it must be some mistake from
me. Maybe I forgot to save while modifying the code.
So the `S` declared in `is` expression can contaminate the scope?
Is this supposed to happen?
More information about the Digitalmars-d-learn
mailing list