Error about constructor calls in loops/labels, but there are no loops and labels?
Yuxuan Shui
yshuiv7 at gmail.com
Sat May 19 22:54:16 UTC 2018
On Thursday, 17 May 2018 at 20:32:23 UTC, Steven Schveighoffer
wrote:
> On 5/17/18 4:25 PM, DarkHole wrote:
>> On Thursday, 17 May 2018 at 20:02:19 UTC, Steven Schveighoffer
>> wrote:
>>> On 5/17/18 3:55 PM, DarkHole wrote:
>>>> This strange code - https://run.dlang.io/is/BKgv49 - fails
>>>> with error "Error: constructor calls not allowed in loops or
>>>> after labels", but there is no loops or labels.
>>>
>>> Switch cases are labels.
>>
>> But why?
>
> You mean why is it an error? Probably because the compiler
> needs to guarantee you are calling the super constructor, and
> it can't figure out the flow when it sees labels/loops. Not
> that it's always impossible, but it's likely a complication the
> compiler devs don't want to deal with.
>
> -Steve
Why isn't the compiler doing proper flow analysis? Is it that
just no one bothered to implement it?
More information about the Digitalmars-d
mailing list