forked from swiftlang/swift
-
Notifications
You must be signed in to change notification settings - Fork 30
[pull] swiftwasm from main #4330
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
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
…-global-type-relations
Enable support for pre-speciailization of generic metadata on Windows.
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
…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
previously approved these changes
Mar 3, 2022
…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.
…isPotentiallyOverridable
stdlib: enable prespecialization of generic metadata on Windows
…detach test: enable test.Concurrency.Runtime.async_task_detach
MaxDesiatov
approved these changes
Mar 3, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )