Skip to content

Conversation

pull[bot]
Copy link

@pull pull bot commented Mar 3, 2022

See Commits and Changes for more details.


Created by pull[bot]

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

compnerd and others added 30 commits May 16, 2021 16:47
This enables the test on Windows, as this should be passing now.
Hoist `iterateHeaps` into the `RemoteProcess` protocol, requiring an
implementation on all platforms.  If the platform is unable to implement
heap traversal, it would be possible to simply leave the callback
uncalled.

Be more careful about memory queries, we may receive invalid memory
addresses.
…Deploy attribute. Declarations should be marked available starting in the first OS they can be back deployed to and the @_backDeploy attribute should indicate which OS version the declaration first became ABI in.
…stead of the version specified in the @available attribute when emitting the `if #available` condition in back deployment thunks.
Clang has a new `redirecting-with` property in the VFS overlay files.
While this could be added to Swift's features as well, it is generally
the case that features provided by Clang can also be useful to know for
clients of Swift. Merge the features from Clang into Swift's features
file with the "clang-" prefix to differentiate them.
…arations must:

- have public visibility
- have at most one back deployment version per-platform
- specify an introduced version for each platform with a back deployment version using @available
- have a back deployment version that is greater than the introduced version
- not have conflicting attributes like @_alwaysEmitIntoClient

Refactor to share code with type checking for @_originallyDefinedIn which has overlapping diagnostics.
…call to `~=` operator

Augment the constraint solver to fallback to implicit `~=` application
when member couldn't be found for `EnumElement` patterns because
`case` statement should be able to match enum member directly, as well
as through an implicit `~=` operator application.
…lbackTypeCheck to TypeCheckCompletionCallback
… static method

This matches the other add*Keywords methods.
…ere higher precedence diagnostics cause availability checks to be skipped.
…and move tests for @_backDeploy and @objc interaction to attr_objc.swift.
Custom attributes were not printed because they are marked
'UserInaccesible'.

* Make CustomAttr 'RejectByParser' instead of 'UserInaccessible'
* Remove special treatment for Result Builder attributes
* Load implicit modules in module/header interface gen requests

rdar://79927502
…h protocols

We want to avoid feeding invalid type parameters into the Requirement Machine
when checking if a protocol requirement overrides another protocol requirement
in an inherited protocol.

In order to do that we need to make sure the potential override has a
compatible generic signature before we attempt substitution, just like we
already do for classes.

To do that, we need a way to 'rewrite' a generic signature for the base
requirement into a generic signature that can be compared with the derived
requirement, just as we do with class methods.

For protocols this is a little easier than with class methods, since protocols
only ever have a single 'Self' generic parameter. So just add the
'Self : DerivedProto' requirement to the base requirement's signature and
rebuild.
…ocol requirements

We need a substitution map written in terms of the base requirement's signature;
getProtocolSubstitutions() alone was not enough because it does not include
the extra generic parameters that the base requirement might have if it is
itself generic.
This avoids feeding invalid type parameters to the Requirement Machine
when a protocol requirement looks similar to a protocol requirement in
the inherited protocol but has an incompatible type.

Fixes https://bugs.swift.org/browse/SR-15826 / rdar://problem/89641535.
…_conformances for NULL before calling it.

rdar://89522018
We had a few typos and such from the recent reorganization.
…eatures

[CMake] Merge Clang's features file with Swift's
To avoid breaking the ABI of the standard library and possibly other
modules, we can't actually enable the new accurate logic for checking
protocol requirement overrides after all.

Just skip the check if the protocol requirement is generic to get
back the old behavior.
…-decls

Update @_backDeploy ABI semantics and diagnose invalid declarations
swift-inspect: enable `dump-arrays` on Windows
[swift-inspect] Fix the swift-inspect build on Darwin.
Enable support for pre-speciailization of generic metadata on Windows.
ahoppen and others added 15 commits March 2, 2022 23:13
Sendable conformances are lazily synthesized as they are needed by the compiler. Depending on whether we checked whether a type conforms to Sendable before constructing the USRBasedType, we get different results for its conformance, causing assertion failures. For now, always ignore the Sendable conformance. We need to come up with a better solution for this problem in the future.
…based types

Previously, for every type, we were reconstructing its entire supertype hierarchy as USRBasedTypes before checking the already computed USRBasedTypes. This lead to unneccary duplicated work.
Also, rename isPotentiallyOverridable() to isSyntacticallyOverridable().
…rides

Fix generics invariant violations in protocol requirement override checking
…-the-solver

[ConstraintSystem] Support solving expression patterns via injecting call to `~=` operator
…itten

A local function can capture a variable that has been declared after it,
which means that type-checking such declaration in-order would trigger
sub-typecheck that would corrupt AST underness the solution application
walker.
…win-2

[Runtime] Tiny fix for swift-inspect, let -> var.
…k-dyld-has-preoptimized

[Runtime] Check the weak-linked _dyld_has_preoptimized_swift_protocol_conformances for NULL before calling it.
…atures-fixes

RequirementMachine: Fix test failures with -requirement-machine-abstract-signatures=verify
[Distributed] Make distributed actors show up as actors in code completion
…ar79927502

[SourceKit] Print custom attributes in interface-gen requests
ahoppen and others added 4 commits March 3, 2022 09:19
…e-relations-again

[CodeComplete] Compute type relations for global cached results (again)
…-based-arg-completion

[CodeCompletion] Some more code cleanup
[TypeChecker] NFC: Restrict executable test for type inference from d…
…g-of-local-funcs

[CSClosure] Delay type-checking of local functions until body is rewr…
MaxDesiatov
MaxDesiatov previously approved these changes Mar 3, 2022
@MaxDesiatov MaxDesiatov enabled auto-merge March 3, 2022 10:40
eeckstein and others added 5 commits March 3, 2022 11:42
…ile.

If we are emitting a TBD file, the TBD file only contains public symbols of this module.
But not public symbols of imported modules which are statically linked to the current binary.
This prevents referencing public symbols from other modules which could (potentially) linked statically.
Unfortunately there is no way to find out if another module is linked statically or dynamically, so we have to be conservative.

Fixes an unresolved-symbol linker error.
rdar://89364148
cross-module-optimization: be more conservative when emitting a TBD file.
stdlib: enable prespecialization of generic metadata on Windows
…detach

test: enable test.Concurrency.Runtime.async_task_detach
@kateinoigakukun kateinoigakukun merged commit 33012c3 into swiftwasm Mar 3, 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.