break seen as a C archaism

Kevin Bourrillion kevinb at
Wed Mar 14 00:59:28 UTC 2018

On Tue, Mar 13, 2018 at 5:43 PM, Kevin Bourrillion <kevinb at>

But setting aside subjective reactions, are there better alternatives?
>> Let's review what has been considered already, and why they've been passed
>> over:
>>  - Do nothing; only allow single expressions.  Non-starter.
> We're just saying the feature seems to be at least 90% as applicable
> without it. Roughly. Why is it a non-starter for the other 10% to stick
> with the switch they've always had? I'm sure there are good answers to
> that, I'm not doubting there are, but I think we should explore them
> instead of just declaring something a non-starter by fiat.

Also, if it is true that this is a "non-starter", I would assume it is also
a non-starter to only allow single expressions in the conditional operator
`?:`. If not, what is the fundamental difference?

We normally don't get to embed statements inside expressions, except in the
case of anonymous classes and lambdas, where we (a) they must be set off
with curly braces, and (b) they are only embedded physically, and don't
immediately execute. If we do this for switch, we should at least stick
with (a), but (b) is a thing with no precedent. It seems reasonable that we
should require some very solid motivation before breaking that precedent.

Kevin Bourrillion | Java Librarian | Google, Inc. | kevinb at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the amber-spec-experts mailing list