mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
The dependent 'value' may be marked 'nonescaping', which guarantees that the lifetime dependence is statically enforceable. In this case, the compiler must be able to follow all values forwarded from the dependent 'value', and recognize all final (non-forwarded, non-escaping) use points. This implies that `findPointerEscape` is false. A diagnostic pass checks that the incoming SIL to verify that these use points are all initially within the 'base' lifetime. Regular 'mark_dependence' semantics ensure that optimizations cannot violate the lifetime dependence after diagnostics.
38 KiB
38 KiB