| | | |------------------|-----------------| |Previous ID | SR-13700 | |Radar | None | |Original Reporter | @dan-zheng | |Type | Sub-task | <details> <summary>Additional Detail from JIRA</summary> | | | |------------------|-----------------| |Votes | 0 | |Component/s | | |Labels | Sub-task | |Assignee | None | |Priority | Medium | md5: cf7d5719c3aab6c5415a45d1064ed7d5 </details> **Parent-Task**: * [SR-13695](https://bugs.swift.org/browse/SR-13695) Enum differentiation **is blocked by**: * [SR-13698](https://bugs.swift.org/browse/SR-13698) Conditionally conform Optional to Differentiable **Issue Description:** Support differentiation of `Optional`-related operations: ``` swift if let x = optional { ... } // if-let bindings x! // force unwrapping x?.foo(y) // optional chaining x ?? y // nil coalescing for x in array { ... } // for-in loops ``` Some of these may naturally work after TF-583.