-
Couldn't load subscription status.
- Fork 10.6k
OpaqueValues: add support for property wrappers #85054
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This effectively reverts 8ca5c83
|
@swift-ci smoke test macOS |
1 similar comment
|
@swift-ci smoke test macOS |
94734ab to
a992f6e
Compare
|
@swift-ci test |
| } | ||
|
|
||
| /// WARNING: Do not use this from SILGen! | ||
| /// Use methods such as `isSILIndirect` or query the ParameterInfo instead. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should the comment explain why not? :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a little hard to explain, but it's because SILFunctionConventions::isSILIndirect goes through the SILModuleConventions::isIndirectSILParam query, which correctly answers whether an argument is indirect. Similarly it will do that for SILResultInfo for indirect returns.
In the future, I'd like to revise SILFunctionConventions::getSILArgumentConvention , or possibly eliminate it. It was recently refactored in 65e2e8c and I don't think it's going in the right direction, as it's trying to think about results as if they are arguments, when the SILFunctionConventions use a type distinction between SILParameterInfo and SILResultInfo to help avoid confusion there.
a992f6e to
861c6e7
Compare
|
@swift-ci smoke test |
resolves rdar://163071245
861c6e7 to
19bd65c
Compare
|
@swift-ci smoke test |
Now you can build and run programs that use property wrappers with
-enable-sil-opaque-values.resolves rdar://163071245