Skip to content
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

[pull] swiftwasm from main #4890

Merged
merged 57 commits into from
Sep 14, 2022
Merged

[pull] swiftwasm from main #4890

merged 57 commits into from
Sep 14, 2022

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 : )

etcwilde and others added 30 commits August 18, 2022 15:32
In the backdeploy library, `ActiveTaskStatus` takes
`JobFlags::getPriority()` in the constexpr constructor; however,
`JobFlags::getPriority()` isn't constexpr, so this is incorrect.
- add initialization from a Collection
- assign to a UMBP from a Sequence or a Collection
- add `moveInitialize` and `moveAssign` to UMBP
- deinitialize UMBP
- add single-element memory state functions in a buffer
- as per an update to the proposal
for the functions involving `fromContentsOf:`.
- this is technically source-breaking,
  but the risk seems to be very low.
- one fewer variable, one fewer return point
glessard and others added 27 commits August 31, 2022 10:50
Co-authored-by: YR Chen <stevapple@icloud.com>
- one fewer variable, one fewer return point
- thanks @benrimmington
Co-authored-by: Ben Rimmington <me@benrimmington.com>
Co-authored-by: Ben Rimmington <me@benrimmington.com>
- this caused an unexpected test failure, will change separately.
When passing value types as a const-ref to a C++ API, ensure that the
caller is tasked with handling the lifetime of the instance passed in.
…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
We don't have to create and iterate over a dense set here.
…exprs

Add `FlagSet::getField` constexpr annotation
Replace Attr.def with a gyb file that reads from swift-syntax
to automatically generate the attribute nodes.

For now, only the Swift attributes have been migrated. SIL attributes
can be defined manually in Attr.def.gyb. To add new Swift attributes,
a paired pull request to swift-syntax is now necessary.
[NFC] Switch to the Normal EnumDecl::getAllElements
…wup-logicalAttempt

ABISafeConversionComponent should be a TranslationComponent
[C++-Interop] Import `const &T` function parameters as @in_guaranteed
Cede Ownership of Swift Attributes to swift-syntax
@kateinoigakukun kateinoigakukun merged commit 290e083 into swiftwasm Sep 14, 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.

None yet

7 participants