Files
swift-mirror/lib/IRGen
Nate Chandler b8990b51e8 [IRGen] Promote generic args to complete.
When metadata record for a generic type is locally cached as ::Complete,
the metadata is known to be complete in that scope.  If it's for a
generic type, being complete means that all of its recursive generic
arguments are also complete.

Previously, though, that fact was not exploited.  So a metadata record
for such an argument which was originally obtained via an incomplete
request would remain cached in that incomplete state even when a generic
type in which it appeared as a generic argument was cached as complete.
At worst, the result was a runtime call (checkMetadataState) to promote
the complete the metadata record for the recursive argument.

Here, when a bound generic type's metadata is locally cached as
complete, its recursive generic arguments are visited; for each such
type for which a metadata record is already locally cached, the
preexisting record is recached as complete.
2023-10-27 12:04:27 -07:00
..
2023-07-25 12:28:28 -07:00
2023-07-17 10:53:42 -07:00
2023-07-25 12:28:28 -07:00
2023-07-27 15:05:49 -07:00
2023-06-27 09:03:52 -07:00
2023-07-17 10:53:42 -07:00
2023-06-27 09:03:52 -07:00
2023-08-04 15:09:50 -07:00
2023-07-17 10:53:42 -07:00
2023-07-17 10:53:42 -07:00
2023-06-27 09:03:52 -07:00