swift
22eb7e62 - SILGen: Emit property descriptors for conditionally Copyable and Escapable types.

Commit
161 days ago
SILGen: Emit property descriptors for conditionally Copyable and Escapable types. Key paths can't reference non-escapable or non-copyable storage declarations, so we don't need to refer to them resiliently, and can elide their property descriptors. However, declarations may still be conditionally Copyable and Escapable, and if so, then they still need a property descriptor for resilient key path references. When a property or subscript can be used in a context where it is fully Copyable and Escapable, emit the property descriptor in a generic environment constrained by the necessary conditional constraints. Fixes rdar://151628396.
Author
Committer
Parents
Loading