swift
6b605f41 - Type substitution eliminates dependencies with Escapable targets.

Commit
222 days ago
Type substitution eliminates dependencies with Escapable targets. When a generic function has potentially Escapable outputs, those outputs declare lifetime dependencies, which have no effect when substitution leads to those types becoming `Escapable` in a concrete context. This means that type substitution should canonically eliminate lifetime dependencies targeting Escapable parameters or returns, and that type checking should allow a function value with potentially-Escapable lifetime dependencies to bind to a function type without those dependencies when the target of the dependencies is Escapable. Fixes rdar://147533059.
Author
Committer
Parents
Loading