Skip to content

Conversation

pull[bot]
Copy link

@pull pull bot commented Sep 14, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

lorentey and others added 8 commits September 12, 2022 11:14
…t available

To reenable, the test needs to be configured to upload these files to the remote machine that executes the tests.

(cherry picked from commit ffab0c5)
Using `computeWrappedValueType` is incorrect because
that return a type of the wrapped variable and not
the *wrapper* variable (one that starts with `_`).

Resolves: swiftlang#61017
(cherry picked from commit 3e791dd)
If a variable with attached property wrapper has an initializer
expression it could be modified by implicit wrapper application,
if there is no initializer - one would be synthesized by the
compiler (without arguments). In both cases target has to be
pre-checked before constraints are generated for it.

Resolves: swiftlang#61024
(cherry picked from commit 61d3a9f)
…er than physical

Also renaming it to be UncheckedConversionComponent since it's a better name.

As a physical component, we'd run into problems in assignment statements.
The problem was that if we had something like:

```
SomeOtherComponent          // first component
GetterSetterComponent
ABISafeConversionComponent  // last component
```

When emitting the assignment, we always drill down through all but
the last component by calling `project()` on each one. Then on the last
component, we'd do the actual setting operation. But GetterSetterComponent
cannot be projected when the access is for writing.

So, to work around this I decided to model it as a TranslationComponent, because
those are specifically designed to be handled during an assignment by popping those
off the end of the component sequence, untranslating the value we're about to assign
as we go, until we hit the GetterSetterComponent.

By "untranslating" we're effectively putting Sendable back onto the set's argument
prior to calling set, because the underlying property's type still has `@Sendable`
on it (e.g., it's accessors still have that on its argument type). When
"translating" we're effectively taking Sendable off after reading it.

I think actually works really well and makes much more sense now.

resolves rdar://99619834
…r-fixes-5.7

[5.7][CSClosure] Fix some aspects of property wrapper handling in closures
…ar-tests-5.7

[5.7][test] UnicodeScalarProperties: Disable when Unicode data files aren’t available
[5.7🍒] ABISafeConversionComponent should be a TranslationComponent
@kateinoigakukun kateinoigakukun merged commit cf886a5 into swiftwasm-release/5.7 Sep 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants