When external functions (such as ad) uses unsafePerformIO, currently one viable way to circumvent the blocking categorization situation is to wrap the function and inline the result of the function before categorization. This can be only applicable for functions that generates expression, not values, but in old code generation, unsafePerformIO is also only available only for generating phase functions, so this should be compatible with our approach.
Acceptance Criteria:
- Make some smaller target to focus on unsafePerformIO problem.
- Create wrapper generator for such external functions
- Apply it to ad case
- Make H&G target buildable (since this is the last problem of its categorization)
(Extricated from https://kitty-hawk.atlassian.net/browse/SW-3432)
When external functions (such as
ad) usesunsafePerformIO, currently one viable way to circumvent the blocking categorization situation is to wrap the function and inline the result of the function before categorization. This can be only applicable for functions that generates expression, not values, but in old code generation,unsafePerformIOis also only available only for generating phase functions, so this should be compatible with our approach.Acceptance Criteria:
(Extricated from https://kitty-hawk.atlassian.net/browse/SW-3432)