<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Given: `<font face="Menlo" class="">let x = Optional(3)</font>` then<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><span style="font-family: Menlo;" class="">`let y = 5 + x ?? 2` </span>will not compile</div></blockquote><div class="">but&nbsp;</div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><font face="Menlo" class="">`let y = 5 + (x ?? 2)`&nbsp;</font>will.</div></blockquote><div class=""><br class=""></div><div class="">Should <font face="Menlo" class="">NilCoalescingPrecedence</font> be raised? The current operator precedence chain is:</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div class=""><font face="Menlo" class="">BitwiseShiftPrecedence &gt; MultiplicationPrecedence &gt; AdditionPrecedence &gt; RangeFormationPrecedence &gt; CastingPrecedence &gt; NilCoalescingPrecedence &gt; ComparisonPrecedence &gt; LogicalConjunctionPrecedence &gt; LogicalDisjunctionPrecedence &gt; TernaryPrecedence &gt; AssignmentPrecedence &gt; FunctionArrowPrecedence &gt; [nothing]</font></div></div></blockquote><div class=""><br class=""></div><div class="">It seems to me that `<font face="Menlo" class="">NilCoalescingPrecedence</font>` should probably be higher than `<font face="Menlo" class="">MultiplicationPrecedence</font>` and possibly higher `<font face="Menlo" class="">BitwiseShiftPrecedence</font>` as its job is to produce an unwrapped value that can then be operated upon.</div><div class=""><br class=""></div><div class="">I think <font face="Menlo" class="">CastingPrecedence</font> should be even higher because</div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><span style="font-family: Menlo;" class="">`expression as? T ?? fallback value`</span></div></blockquote><div class="">should be parsed as</div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><span style="font-family: Menlo;" class="">`(expression as? T) ?? (fallback value)`</span></div></blockquote><div class=""><br class=""></div><div class="">I apologize profusely because I know this is beyond last minute,</div><div class=""><br class=""></div><div class="">-- E</div><div class=""><br class=""></div></body></html>