[Issue 23620] 'alias this' is not respected in static array length position

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Jan 16 13:23:48 UTC 2023


https://issues.dlang.org/show_bug.cgi?id=23620

--- Comment #9 from Max Samukha <maxsamukha at gmail.com> ---
(In reply to Salih Dincer from comment #8)
> I don't understand too :)
> 
> This code works me:
> 
>   struct Index(T)
>   {
>     T value;
>     
>     this(T v) { value = v; };
>     alias opCall this;
>     
>     @property opCall() inout {
>       return value;
>     }
>     
>   }
>   
>   enum one= Index!int(1)();
>   int[one] a = 1;
>   
>   int[Index!int(2)()] b = 2;
>   static assert(a.length < b.length);
> 
> Best regards...
> 
> SDB at 79

You don't need to mark opCall with @property for that code to work. 'alias
this' is also unnecessary.

You wrote "This isn't a bug!". Did you mean this bug report is invalid? If yes,
it would be nice if you explained why you think the report is invalid.

--


More information about the Digitalmars-d-bugs mailing list