[swift-evolution] [Review] SE-0030 Property Behaviors

Brent Royal-Gordon brent at architechies.com
Sun Feb 14 05:08:49 CST 2016

> I ask again:
> What is wrong with arrow brackets?
> var<lazy> foo

	var<lazy, synchronized> foo: Dictionary<Int, Set<Optional<String>>

So, two problems:

• Angle brackets already appear in var declarations for generic types; that means there are two different meanings for angle brackets in the same construct.

• When we eventually allow you to apply multiple behaviors to a single property, that will also mean that *commas* are used in both of those angle bracket constructs, but with different meanings (one means "chain these", the other means "fill these two slots").

These are not fatal errors, but they're also completely unforced—either `[]` or `{}` would not have this problem. So why choose the option that has the problem?

Brent Royal-Gordon

More information about the swift-evolution mailing list