array literal element types

Robert Jacques sandford at jhu.edu
Thu Nov 12 18:54:20 PST 2009


On Thu, 12 Nov 2009 21:03:04 -0500, Chad J  
<chadjoan at __spam.is.bad__gmail.com> wrote:

> Robert Jacques wrote:
>> On Thu, 12 Nov 2009 16:42:45 -0500, Walter Bright
>> <newshound1 at digitalmars.com> wrote:
>>
>>> Currently, the type is determined by the type of the first element and
>>> the rest are implicitly cast to it.
>>>
>>> I propose changing it to being the type produced by applying the ?:
>>> logic repeatedly to all the elements.
>>
>> Given how numeric literals currently work:
>> vote--
>>
>> for example currently:
>> float[] = [1.0f, 2.5, 5.6, 0.8].dup;
>>
>> under the proposal
>> float[] = [1.0f, 2.5f, 5.6f, 0.8f].dup;
>>
>
> Wait... just to be clear, is this because [1.0f, 2.5, 5.6, 0.8] would,
> under the proposed, become a double[4] and thus not be duppable to  
> float[]?

Yes. This also applies to static array initialization and other types  
(byte, short, etc.)



More information about the Digitalmars-d mailing list