Skip to content

[pull] swiftwasm from main #4566

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

Merged
merged 20 commits into from
May 18, 2022
Merged

[pull] swiftwasm from main #4566

merged 20 commits into from
May 18, 2022

Conversation

pull[bot]
Copy link

@pull pull bot commented May 18, 2022

See Commits and Changes for more details.


Created by pull[bot]

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

ahoppen and others added 18 commits May 8, 2022 12:58
This enables us to provide proper code completion for the function that is being referenced by the dynamic key path.

rdar://79092371
On Darwin, define our own, hidden operator new/delete implementations. We don't want to pick up any overrides that come from other code, but we also don't want to expose our overrides to any other code. We can't do this directly in C++, as the compiler has an implicit prototype with default visibility. However, if we implement them as C functions using the C++ mangled names, the compiler accepts them without complaint, and the linker still links all internal uses with these overrides.

rdar://92795919
…lability

In C++-Interop mode some of the Foundation @availables were not getting
their "renamed:" attributes filled in and this was because of the
LookupName issue as we have seen before where LookupName bails in C++
mode due to a nullptr scope resulting in something not getting imported
completely.

This patch merely passes a TUscope to avert this.

I believe ignoring the existing enum issues this should bring
Foundation with C++-Interop to parity with ObjC-Interop.
…mplex-inferred-dependent-return-types

[cxx-interop] Import complex inferred dependent return types
…l-overlays

[cxx-interop] Do not run `SIL/verify_all_overlays.py` on `std`
[Parse] Set missing contextual keyword token kind for `async`
[Runtime] Define our own hidden global new/delete on Darwin.
…op-renamed

[cxx-interop] Pass clangSema.TUScope when calling LookupName for availability
…ests

[cxx-interop] Disable failing tests to unblock nightly toolchains
…iated

value types.

This change simply calls into Parser::startsParameterName, which already
supports parsing 'any' and 'some', instead of repeating the code without
checking for contextual keywords.
…using the deployment target when the init would not be exposed to module clients. Without this, the initializers of public properties in API modules could be misdiagnosed as potentially unavailable to clients of the module, even though the expression will only ever execute on the deployment target or higher.

While developing this fix I discovered a few other bugs that will need to be addressed separately:
- The availability of the inferred type of a property is not diagnosed. Previously this mattered less since the initializer expression and the var declaration itself would both be diagnosed with the same availability.
- The availability of the property wrapper type of a `VarDecl` appears to not be diagnosed at all.
- Members of frozen structs with property wrappers result in broken swiftinterfaces because the synthesized storage is printed explicitly, confusing the diagnostics.

Resolves rdar://92713589
Actually slice things in _StringGutsSlice
…alue

[Parser] Allow parsing `any` in structural position within enum associated value types.
tshortli and others added 2 commits May 17, 2022 22:36
…-type-refinement-contexts

Sema: Refine availability for unexposed initializer expressions of public properties
…h-completion

[CodeCompletion] Look through @dynamicMemberLookup key path functions
@kateinoigakukun kateinoigakukun merged commit a84fafb into swiftwasm May 18, 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.