> On Sep 3, 2016, at 10:15 PM, Jacob Bandes-Storch <[email protected]> wrote: > > Perhaps-conversely, what should this code do? > > let nextIndex = foundIndex ?? lastIndex + 1 > > Jacob
It's a good counter example. And there's no optional-associative option. -- E > > On Sat, Sep 3, 2016 at 9:05 PM, Erica Sadun via swift-evolution > <[email protected] <mailto:[email protected]>> wrote: > Given: `let x = Optional(3)` then > `let y = 5 + x ?? 2` will not compile > but > `let y = 5 + (x ?? 2)` will. > > Should NilCoalescingPrecedence be raised? The current operator precedence > chain is: > > BitwiseShiftPrecedence > MultiplicationPrecedence > AdditionPrecedence > > RangeFormationPrecedence > CastingPrecedence > NilCoalescingPrecedence > > ComparisonPrecedence > LogicalConjunctionPrecedence > > LogicalDisjunctionPrecedence > TernaryPrecedence > AssignmentPrecedence > > FunctionArrowPrecedence > [nothing] > > It seems to me that `NilCoalescingPrecedence` should probably be higher than > `MultiplicationPrecedence` and possibly higher `BitwiseShiftPrecedence` as > its job is to produce an unwrapped value that can then be operated upon. > > I think CastingPrecedence should be even higher because > `expression as? T ?? fallback value` > should be parsed as > `(expression as? T) ?? (fallback value)` > > I apologize profusely because I know this is beyond last minute, > > -- E > > > _______________________________________________ > swift-evolution mailing list > [email protected] <mailto:[email protected]> > https://lists.swift.org/mailman/listinfo/swift-evolution > <https://lists.swift.org/mailman/listinfo/swift-evolution> > >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
