partial initialization of fixed size ("static") arrays
kdevel
kdevel at vogtner.de
Sat Aug 14 14:33:42 UTC 2021
On Saturday, 14 August 2021 at 14:18:57 UTC, Tejas wrote:
> On Saturday, 14 August 2021 at 14:04:47 UTC, kdevel wrote:
>> On Saturday, 14 August 2021 at 13:01:13 UTC, frame wrote:
>>> I would say case [...] 3 is not [a bug]. It's just the
>>> element type conversion and mismatched lengths of the ranges.
>>
>> ~~~
>> char [7] d7 = "x"; // okay
>>
>> string s = "x";
>> char [7] c7 = s; // throws RangeError
>> ~~~
>>
>> What justifies that the compiler behaves differently on two
>> terms ('s', '"x"') which are of equal size, type, length and
>> value?
>
> They are not.
>
> assert(string.sizeof != char.sizeof);
The terms are s and "x":
~~~r.d
void main ()
{
string s = "x";
assert (s.sizeof == "x".sizeof);
}
~~~
More information about the Digitalmars-d-learn
mailing list