Skip to content

[6.2] Disable layout_string_witnesses_dynamic.swift #81810

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

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
847 commits
Select commit Hold shift + click to select a range
5498c5d
[Swiftify] Skip swiftify during symbolic import (#81349)
hnrklssn May 7, 2025
cae45f1
[stdlib] make `_overrideLifetime` functions public
glessard Apr 30, 2025
74766a9
[test] use the stdlib _overrideLifetime functions
glessard Apr 30, 2025
2942637
[stdlib] remove TODOs
glessard May 6, 2025
ca8fc0e
[test] remove more copies of `_overrideLifetime()`
glessard May 1, 2025
5625db5
Merge pull request #81357 from rintaro/6.2-macros-definition-typechec…
rintaro May 8, 2025
6861f2f
[Swiftify] Don't use count from Span inside withUnsafeBufferPointer c…
hnrklssn May 8, 2025
8e1bc70
Merge pull request #81337 from artemcm/DepScanVariantError-62
artemcm May 8, 2025
9bd0a34
Merge pull request #81356 from xedin/rdar-150777469-6.2
xedin May 8, 2025
c3b1e97
Merge pull request #81358 from AnthonyLatsis/arachnocampa-luminosa-6.2
AnthonyLatsis May 8, 2025
8d86093
Merge pull request #81225 from glessard/override-lifetime-publicly-6.2
glessard May 8, 2025
464223e
Merge pull request #81259 from bnbarham/cherry-merge-modules
bnbarham May 8, 2025
59c3d58
Fix argument index calculations for isolated default arguments.
rjmccall May 8, 2025
6f696a4
Merge pull request #81165 from edymtt/edymtt/add-builtin-float-dep-to…
edymtt May 8, 2025
714cc00
[silgen] When emitting a foreign async completion handler for a metho…
gottesmm Apr 22, 2025
7502c75
[IRGen] Emit llvm fneg operation for Builtin.fneg_*
drexin May 6, 2025
1249899
[6.2][Concurrency] Use reinterpret_cast for function_cast when ptraut…
mikeash May 8, 2025
7a87fa5
Add a platform executor module for OpenBSD.
3405691582 Apr 17, 2025
f70676a
[Swiftify] Emit @availability when expansions contain Span (#81320)
hnrklssn May 8, 2025
8e30d7f
Merge pull request #81245 from cachemeifyoucan/eng/PR-145676736-release
cachemeifyoucan May 9, 2025
10d49aa
Typecheck ABI-only VarDecls
beccadax Mar 20, 2025
23a7a59
Tweak redecl checking’s handling of generated code
beccadax Mar 29, 2025
a103e21
Diagnose CustomAttrs as needed in `@abi`
beccadax Apr 18, 2025
31429fc
[Legacy parser] No freestanding macros in `@abi`
beccadax Apr 18, 2025
c8db046
Forbid `lazy` with `@abi`
beccadax Mar 21, 2025
51da65b
Make inlinability non-ABI for `@abi`
beccadax Mar 21, 2025
d59d219
Forbid `@_borrowed` in `@abi`
beccadax Mar 21, 2025
ae936ac
Prevent `#if` in `@abi` in module interfaces
beccadax Apr 17, 2025
3595780
Diagnose CustomAttrs as needed in `@abi` (macro tests)
beccadax Apr 18, 2025
c39e9eb
[Legacy parser] No freestanding macros in `@abi` (macro tests)
beccadax Apr 18, 2025
6007e78
Ban `@abi` on multi-var PBDs
beccadax Apr 25, 2025
e831274
Make `@abi` non-experimental
beccadax Apr 25, 2025
0a2989a
[Distributed] pointer auth protocol pointers as we use conformsToProt…
ktoso May 8, 2025
3ffc1f9
Merge pull request #81377 from rjmccall/fix-iso-def-arg-idx-calc-6.2
rjmccall May 9, 2025
8be78da
[Swiftify] Do not swiftify non-Swift-like counted_by exprs
j-hui May 9, 2025
c3812f6
Merge pull request #81152 from 3405691582/platform_executor_62
DougGregor May 9, 2025
f9e8041
[Swiftify] Handle anonymous parameters (#81384)
hnrklssn May 9, 2025
d3248fc
Merge pull request #81394 from ktoso/pick-wip-sign-protocol-ptr
ktoso May 9, 2025
5ac1e63
[6.2] [cxx-interop] Disabling should be annotated with SWIFT_RETURNS_…
fahadnayyar May 9, 2025
51489ac
Merge pull request #81381 from drexin/wip-wip-150722907-6.2
drexin May 9, 2025
c8c035e
[6.2][stdlib] Allow a default for optional interpolations (#81360)
natecook1000 May 9, 2025
7d78fcc
Merge pull request #81378 from gottesmm/release/6.2-rdar131422332
gottesmm May 9, 2025
0d97076
Prevent silgen for macro expansions with type errors (#81396)
hnrklssn May 9, 2025
726e152
Merge pull request #81383 from mikeash/function-cast-ptrauth-6.2
mikeash May 9, 2025
e2f10ed
RemoteInspection: Remove 'DidSubstitute' form of TypeRef::subst()
slavapestov May 5, 2025
8744493
RemoteInspection: Support for parameter packs
slavapestov May 5, 2025
97c5fbf
Merge pull request #81397 from j-hui/cherry-pick-6.2/dont-swiftify-in…
j-hui May 9, 2025
e7607e1
Merge pull request #81393 from beccadax/abi-let-you-graduate-6.2
beccadax May 9, 2025
54a6d75
[Frontend] Avoid storing StringRef values in `ModuleAliasMap`
hamishknight May 9, 2025
7be7ab1
[Dependency Scanning][C++Interop] Do not query 'CxxStdlib' Swift over…
artemcm May 9, 2025
2ea1421
[SE-0470] Fix synthesized conformances with default main actor isolation
DougGregor May 9, 2025
d3de4a6
Merge pull request #81363 from gottesmm/release/6.2-rdar150209093
gottesmm May 10, 2025
8c2ee95
Merge pull request #81379 from slavapestov/remote-mirrors-meet-packs-6.2
slavapestov May 10, 2025
20179aa
Merge pull request #81417 from hamishknight/ref-nt-6.2
hamishknight May 10, 2025
009f868
Merge pull request #81344 from DougGregor/infer-nonisolated-conforman…
DougGregor May 10, 2025
d6ce27b
Merge pull request #81326 from al45tair/eng/PR-150753884
al45tair May 12, 2025
8c5fd21
Add SwiftASN1 to sourcekit-lsp dependencies for Windows.
dschaefer2 May 7, 2025
e41e191
Add ASN1 module to SourceKit-LSP Test
dschaefer2 May 9, 2025
f13cc03
Merge pull request #81371 from swiftlang/rauhul/embedded-tooling
rauhul May 8, 2025
760d0a3
[SE-0470] Include isolated conformance checks for default value expre…
DougGregor May 12, 2025
fc23c6b
[Dependency Scanning] Remove 'ClangImporter' instance from dependency…
artemcm May 7, 2025
eae522b
[Dependency Scanning] Reduce number of module loaders instantiated fo…
artemcm May 7, 2025
b967cf4
[CSApply] Don't attempt to mark autoclosures as non-implicit
xedin May 9, 2025
10ab242
[cxx-interop] Do not install binary `.swiftmodule` files for the over…
egorzhdan May 9, 2025
1b79cdc
[Diagnostics] Rename the note file to match the `NonisolatedNonsendin…
xedin May 9, 2025
6c54fe1
[Diagnostics] Replace last references to `AsyncCallerExecution` with …
xedin May 9, 2025
e3e8520
Merge pull request #81447 from daniel-grumberg/cherry-picks/release/6…
FranzBusch May 12, 2025
5456eb9
Sema: Allow `T == NonCopyableOrEscapable` same-type constraints witho…
jckarter May 7, 2025
4e30d49
Merge pull request #81443 from dschaefer2/6.2-sourcekit-asn1
dschaefer2 May 12, 2025
2e941ef
Merge pull request #81388 from hnrklssn/swiftify-anonymous-params-qual
devincoughlin May 13, 2025
4ace71d
Merge pull request #81409 from hnrklssn/silgen-clang-macros-qual
devincoughlin May 13, 2025
1072dbe
Merge pull request #81410 from swiftlang/egorzhdan/6.2-do-not-install…
DougGregor May 13, 2025
601cde3
Merge pull request #81451 from DougGregor/isolated-conformances-in-de…
DougGregor May 13, 2025
7b6fe8f
[Strict memory safety] Squash warning about unsafety in "@objc enum" …
DougGregor May 13, 2025
5740ae7
Merge pull request #81452 from artemcm/DepScanFewerClangs-62
artemcm May 13, 2025
b8542ba
Merge pull request #81456 from xedin/rename-notes-file-for-noinisolat…
xedin May 13, 2025
336be3c
Merge pull request #81453 from xedin/fix-csapply-to-avoid-marking-aut…
xedin May 13, 2025
02c160c
Merge pull request #81335 from al45tair/eng/PR-148899609-6.2
al45tair May 13, 2025
a98ea99
Merge pull request #81467 from DougGregor/objc-enum-unsafe-bit-cast-w…
DougGregor May 13, 2025
30cd7e4
[cmake] LifetimeDependenceMutableAccessors should be enabled
glessard May 13, 2025
c44f7fd
Merge pull request #81461 from jckarter/same-type-constraint-stop-cop…
jckarter May 13, 2025
046c504
[Parse] Avoid parsing `unsafe` expression before binary or postfix op
stzn May 10, 2025
0fbf660
Merge pull request #81399 from hnrklssn/swiftify-anonymous-params-rel
devincoughlin May 13, 2025
cf204f2
Set debug location to Coroutine call expression
rastogishubham May 13, 2025
910bc1a
[Concurrency] Improve in order synchronous enqueue of startSynchronously
ktoso Apr 15, 2025
4133734
Disable startSynchronously while we rework semantics
ktoso Apr 17, 2025
05ddcac
[Concurrency] Update ABI for startSynchronously
ktoso Apr 15, 2025
2bf0007
[stdlib] SE-0472: Rename `Task` and`*TaskGroup` APIs to match the pro…
xedin May 10, 2025
b2e9620
[stdlib] Temporarily bring back `Task.startSynchronously` as deprecated
xedin May 10, 2025
21303a5
SIL: Make the verifier's `ImmutableAddressUseVerifier` generally avai…
eeckstein May 13, 2025
881351b
FunctionSignatureOptimization: don't convert indirect `@in` to `@in_g…
eeckstein May 13, 2025
442f25d
Merge pull request #81486 from hamishknight/fix-parse-unsafe-ternary-6.2
hamishknight May 14, 2025
2cd7de4
Copy WasmKit to `install_destdir`
MaxDesiatov Apr 29, 2025
b640e6c
Include `wasmkit` in `mixin_osx_package_base` preset
MaxDesiatov Apr 30, 2025
79e214f
Rename `wasmkit-cli` to `wasmkit` when installing
MaxDesiatov Apr 30, 2025
25b60a5
Build WasmKit with the freshly-built SwiftPM
MaxDesiatov May 8, 2025
9018856
Set rpath correctly for installed `wasmkit` binary
MaxDesiatov May 11, 2025
2853f62
Merge pull request #81484 from glessard/rdar151179266-flag-in-swiftin…
glessard May 14, 2025
c2615fc
preset: treat swift testing the same as xctest
bkhouri May 9, 2025
54b0070
Merge pull request #81497 from eeckstein/fix-fso-6.2
eeckstein May 14, 2025
9f0f1da
[6.2] Fix InstructionDeleter for drop_deinit instruction
meg-gupta May 14, 2025
276937b
preset: build swift with no assertion for swiftpm on linux
bkhouri Apr 30, 2025
6051867
Merge pull request #81495 from rastogishubham/AttachDebugLoc6.2
adrian-prantl May 14, 2025
d42ec98
Merge pull request #81504 from swiftlang/maxd/install-wasmkit-6.2
MaxDesiatov May 14, 2025
775a9bc
Merge pull request #81488 from xedin/rename-some-task-apis-6.2
xedin May 14, 2025
e92e9df
Make Feature a struct enum so we can put methods on it.
gottesmm Mar 10, 2025
236c0fe
Merge pull request #81505 from bkhouri/t/6.2/update_presets
bkhouri May 15, 2025
4fbee45
Merge pull request #81512 from meg-gupta/fixdropdeinitcp
meg-gupta May 15, 2025
245514c
Merge pull request #81513 from bkhouri/t/6.2/disable_assertion
bkhouri May 15, 2025
e477143
[Frontend] Add `-print-supported-features` option
xedin Apr 14, 2025
8977d80
[Frontend] Rework `-emit-supported-features` mode into `-emit-support…
xedin Apr 16, 2025
4e6071c
[Feature] NFC: Rename `ADOPTABLE_` with `MIGRATABLE_` to match the pr…
xedin Apr 28, 2025
61c8e70
[Feature] Rename `Feature` APIs from `adoption` to `migration`
xedin Apr 28, 2025
de6ef08
[Feature] Switch migration postfix from `:adoption` to `:migrate`
xedin Apr 28, 2025
f8f749b
Merge pull request #81416 from artemcm/CXXInteropDarwinCycleFix-62
artemcm May 15, 2025
bf8d836
IRGen: Fix out-of-order task_dealloc with parameter pack metadata
slavapestov May 14, 2025
ee3aca2
Merge pull request #81518 from xedin/rdar-148124973-6.2
xedin May 15, 2025
75c581d
[IRGen] Don't set HasLayoutString flag on non-copyable generic types
drexin May 15, 2025
06f6817
[6.2] Add a new semantics attribute to disable SIL verification on a …
meg-gupta May 15, 2025
5bd7aa7
[Gardening] MoveOnly: Move and add comment.
nate-chandler May 15, 2025
b014950
[MoveOnly] Fix consume of addr with mutated field.
nate-chandler May 15, 2025
2416b58
[Macros] Terminate macro plugin
rintaro May 14, 2025
21f3bc1
Merge pull request #81523 from slavapestov/fix-pack-task-dealloc-6.2
slavapestov May 16, 2025
8299d7b
Merge pull request #81531 from drexin/wip-151176697-6.2
drexin May 16, 2025
e5fb276
[Sema] Continue type-checking `for` body when preamble fails
hamishknight May 15, 2025
a86f374
[Driver] Avoid using response files for SourceKit
hamishknight May 16, 2025
5c06176
Merge pull request #81535 from rintaro/6.2-macros-wait-rdar150474701
rintaro May 16, 2025
f41e659
[CSGen] Prevent `@concurrent` on closures from skipping `throws` infe…
xedin May 16, 2025
9ccb828
DiagnosticEngine: Fix attribute insertion location for closures with …
AnthonyLatsis May 15, 2025
5889371
TypeCheckType: Do not emit migration mode diags if `nonisolated(nonse…
AnthonyLatsis May 15, 2025
e5a10a3
Sema: Fix UB in `NonisolatedNonsendingByDefault` migration diagnosis
AnthonyLatsis May 16, 2025
acb6c71
[Gardening] Whitespace cleanup.
nate-chandler May 16, 2025
f648171
[MoveOnlyChecker] Don't complete phis.
nate-chandler May 16, 2025
85bdf45
IRGen: Fix miscompile when a generic parameter is fixed to a tuple co…
slavapestov May 16, 2025
1336dd4
[Concurrency] Diagnose loss of global actor isolation in async functi…
xedin May 9, 2025
d7286eb
Merge pull request #81554 from hamishknight/last-straw-6.2
hamishknight May 16, 2025
968b82e
Merge pull request #81544 from nate-chandler/cherrypick/release/6.2/r…
nate-chandler May 16, 2025
4b2d879
Merge pull request #81559 from hamishknight/no-response-6.2
hamishknight May 17, 2025
810fbce
Merge pull request #81573 from AnthonyLatsis/pinus-sibirica-6.2
AnthonyLatsis May 17, 2025
5bd9e43
[SourceKit] Allow passing `cancel_on_subsequent_request: 0` for all r…
ahoppen May 14, 2025
09d2464
SILGen: insert an `end_lifetime` in the throw-branch of a `Builtin.em…
eeckstein May 16, 2025
8e0a389
Merge pull request #81574 from nate-chandler/cherrypick/release/6.2/r…
nate-chandler May 19, 2025
63adabb
Concurrency: Address new -strict-memory-safety warnings.
tshortli May 18, 2025
98951af
CompatbilitySpan: Add a missing @unsafe.
tshortli May 18, 2025
2d96b24
Embedded: Suppress spurious unused result warnings.
tshortli May 18, 2025
590deff
Frontend: Suppress some unsupported option warnings when verifying in…
tshortli May 19, 2025
1b2f943
[gardening] Cleanup SILDefaultWitnessTable before I change it.
gottesmm May 14, 2025
55a0e7b
[sil] Change SILDefaultWitnessTable verification to use verificationE…
gottesmm May 14, 2025
be412d7
[gardening] Clean up SILWitnessTable::verify before I touch it.
gottesmm May 14, 2025
752e12b
[sil] Verify that witness table witnesses are ABI compatible with the…
gottesmm May 14, 2025
3e66f88
[sil] Update tests for witness table ABI verification.
gottesmm May 14, 2025
d3145b2
[silgen] Begin placing isolation on protocol witness thunks.
gottesmm May 9, 2025
27cf336
[silgen] Place the correct isolation on protocol witness thunks.
gottesmm May 9, 2025
f002391
[silgen] Teach SILGen how to handle nonisolated(nonsending) thunking …
gottesmm May 15, 2025
736337d
[6.2][Runtime] Allow weak references to ErrorObjects.
mikeash May 16, 2025
339a9b9
[ModuleInterface] Ignore SDKSettings.json in "sourceFiles"
jansvoboda11 May 19, 2025
ecdcef8
Merge pull request #81606 from eeckstein/fix-builtin-emplace-6.2
eeckstein May 19, 2025
b923bf4
Merge pull request #81577 from xedin/rdar-130168104-6.2
xedin May 19, 2025
03ca9ea
[SourceKit] Remove diagnostics path calculation
bnbarham May 17, 2025
5830079
Merge pull request #81521 from meg-gupta/disableverificationcp
meg-gupta May 20, 2025
6aea966
SIL: Resilient types don't need to be treated as addressable-for-depe…
jckarter May 17, 2025
31cd6f9
IRGen: move `FailBBs` from `IRGenSILFunction` to its base class `IRGe…
eeckstein May 19, 2025
442db1b
IRGen: extract generating a `cond_fail` into a utility function `emit…
eeckstein May 19, 2025
1f3bff3
IRGen: fix failing unconditional class casts
eeckstein May 19, 2025
c2ce908
Merge pull request #81613 from tshortli/suppress-package-cmo-spam-6.2
tshortli May 20, 2025
c335b80
[Swiftify] Don't create safe wrapper for autoreleasing pointers (#815…
hnrklssn May 20, 2025
88a5399
Merge pull request #81631 from eeckstein/unconditional-class-casts-6.2
eeckstein May 20, 2025
ba23f1b
[Concurrency] Infer `@preconcurrency @MainActor` in default main acto…
xedin May 19, 2025
8b0901e
Merge pull request #81626 from bnbarham/cherry-remove-sk-diag-path
bnbarham May 20, 2025
7a334bc
Merge pull request #81565 from slavapestov/fix-issue-78191-6.2
slavapestov May 20, 2025
8b9775b
Merge pull request #81620 from swiftlang/jan_svoboda/release-6.2-sdk-…
akyrtzi May 20, 2025
bad4887
Add trailing comma support in cases missing from Swift 6.1
calda May 19, 2025
f4bedbc
Revert changes to trailing commas in attributes like @available
calda May 19, 2025
e73beb4
Support trailing commas in types within expressions
calda May 20, 2025
ee4d103
Sema: Fix an issue with `NonisolatedNonsendingByDefault` migration fo…
AnthonyLatsis May 20, 2025
701ad64
[TypeLowering] Record packs used in signatures.
nate-chandler May 17, 2025
b319e4e
Merge pull request #81616 from mikeash/error-object-weak-reference-6.2
mikeash May 21, 2025
86699a2
Merge pull request #81641 from xedin/rdar-151029517-6.2
xedin May 21, 2025
1bd73da
Allow passing MutableSpan 'inout' without an experimental feature.
atrick May 20, 2025
c6ba313
Type checker: ignore LifetimeDependenceRequest in cycle diagnostic
atrick May 21, 2025
818b38b
Update test: protocols.swift for LifetimeDependence evaluation
atrick May 21, 2025
069c421
[cxx-interop] Relax a SILVerifier assertion for immortal reference types
egorzhdan May 19, 2025
5ec166a
[Strict memory safety] Lift "unsafe" in pattern match expressions
DougGregor May 21, 2025
d794c95
Improve diagnostic for unsafe call arguments
DougGregor May 21, 2025
93da5b4
[Dependency Scanning][C++ Interop] Remap lookup of Clang module 'CxxS…
artemcm May 20, 2025
c1ad869
Merge pull request #81655 from AnthonyLatsis/acer-campestri-2-6.2
AnthonyLatsis May 21, 2025
55b4193
InFlightDiagnostic: Minor improvement to `fixItAddAttribute`
AnthonyLatsis May 21, 2025
1887346
Merge pull request #81659 from nate-chandler/cherrypick/release/6.2/r…
nate-chandler May 21, 2025
9e02af8
Merge pull request #81657 from atrick/62-lifedep-inout-infer
atrick May 21, 2025
6d254b7
Merge pull request #81653 from calda/cal--6.2-trailing-comma-fixes
rintaro May 21, 2025
36511a2
Merge pull request #81674 from swiftlang/egorzhdan/6.2-silverifier-tr…
egorzhdan May 21, 2025
85b3042
[6.2] Implement Builtin.select binding llvm select instruction (#81665)
stephentyrone May 21, 2025
00dcffc
[6.2] Fix use-after-free on substituting function type involving cond…
meg-gupta May 21, 2025
9a8b04f
Merge pull request #81628 from jckarter/resilient-types-arent-address…
jckarter May 22, 2025
214536e
Merge pull request #81677 from DougGregor/unsafe-pattern-match-6.2
DougGregor May 22, 2025
1f4ce61
[NFC] [cxx-interop] Consolidate uses of findOptionSetType() helper fu…
j-hui May 19, 2025
d1c2c76
[NFC] [cxx-interop] Flatten findOptionSetEnum() and move it to Import…
j-hui May 19, 2025
1586d01
[NFC] Use explicit ImportedType() constructor
j-hui May 20, 2025
323e9f0
[cxx-interop] Fix assertion failure from unavailable NS_ENUM typedef
j-hui May 19, 2025
9be69e2
Merge pull request #81672 from AnthonyLatsis/caranx-melampygus-6.2
AnthonyLatsis May 22, 2025
b3d9155
Merge pull request #81605 from ahoppen/6.2/allow-disabling-implicit-c…
ahoppen May 22, 2025
f0ec734
Diagnostic message: suppress printing "requires LifetimeDependence"
atrick May 21, 2025
63a436e
Merge pull request #81615 from gottesmm/release/6.2-rdar151394209
gottesmm May 22, 2025
641cf01
Merge pull request #81686 from atrick/62-lifedep-unprint-feature
atrick May 22, 2025
3db1314
Merge pull request #81699 from j-hui/cherry-pick-6.2/fix-unavailable-…
j-hui May 22, 2025
b79e922
[CSApply] Don't inject global actor into closure type if it's marked …
xedin May 21, 2025
e122017
[AST/Sema/SIL] Implement `@_inheritActorContext(always)`
xedin May 12, 2025
c5828ad
[Concurrency] Fix `@_inheritActorContext(always)` to use `forActorIns…
xedin May 15, 2025
5997a4d
[stdlib] Adopt `@_inheritActorContext(always)` on `Task.immediate`
xedin May 16, 2025
5823154
[SourceKit] Handle macro arguments in placeholder expansion
hamishknight May 21, 2025
26517a1
[SourceKit] Handle CustomAttrs arguments for placeholder expansion
hamishknight May 21, 2025
c28d706
[Completion] NFC: Factor out `addMacroCallArguments`
hamishknight May 21, 2025
fee6c5a
[Completion] Suggest trivial trailing closures for macros
hamishknight May 21, 2025
8140cbe
Merge pull request #81682 from artemcm/CxxUnderlyingStdLibLookupRemap_62
artemcm May 22, 2025
9bb3f58
[Driver] Add missing -default-isolation to the old driver
bnbarham May 23, 2025
8079f1b
Merge pull request #81645 from xedin/alwaysInheritActorContext+Task-i…
xedin May 23, 2025
f69793c
DeadStoreElimination: don't assume that the operand of an `dealloc_st…
eeckstein May 22, 2025
30e138c
SIL: define `mark_dependence_addr` to read and write to its address o…
eeckstein May 21, 2025
dd95c60
[TypeChecker] Improve diagnostics for access to actor-isolated values…
xedin May 22, 2025
6f43724
Merge pull request #81721 from hamishknight/macrotrail-6.2
hamishknight May 23, 2025
d81d654
[cxx-interop] Fix metadata mismatch regarding fields of structs
susmonteiro May 20, 2025
3eb28dc
Remove the note that suggests using `@unchecked`
DougGregor May 23, 2025
d0d0afb
Merge pull request #81718 from xedin/rdar-151797372-6.2
xedin May 23, 2025
7077ef5
Merge pull request #81737 from xedin/rdar-151720646-6.2
xedin May 23, 2025
0d519a1
[sema] Change non-sendable -> non-Sendable in diagnostics.
gottesmm May 19, 2025
b8cf5ae
Updates for 6.2.
gottesmm May 23, 2025
2913255
[Swiftify] Fix __sized_by and nullable return values (#81693) (#81725)
hnrklssn May 23, 2025
447a1b1
ASTDemangler: Add support for constrained existential compositions
slavapestov May 22, 2025
7c4564c
Sema: Allow parameterized existential compositions
slavapestov Sep 25, 2024
1e35fff
Sema: Fix diagnoseRetroactiveConformances() to handle protocol compos…
slavapestov May 21, 2025
58a9435
Sema: Don't complain about implied Sendable conformance of imported t…
slavapestov May 16, 2025
de425be
Set the Compilation directory when generating the Skeleton CU
rastogishubham May 16, 2025
fa817f9
[Concurrency] Correct the signing of priority escalation handler
ktoso May 24, 2025
917c996
Merge pull request #81735 from eeckstein/fix-dse-6.2
eeckstein May 24, 2025
e2ee46d
Merge pull request #81743 from DougGregor/no-unchecked-6.2
DougGregor May 24, 2025
0c44681
Merge pull request #81694 from slavapestov/fix-rdar145184871-6.2
slavapestov May 24, 2025
826bc76
Merge pull request #81736 from eeckstein/fix-mda-6.2
eeckstein May 24, 2025
680b366
SILGen: Fix `if #available` for unavailable custom domains in zippere…
tshortli May 25, 2025
1be78c5
Merge pull request #81776 from tshortli/fix-zippered-custom-availabil…
tshortli May 27, 2025
85cf35c
Tests: Rename test cases associated with MemberImportVisibility.
tshortli May 23, 2025
2ab55a8
Sema: Omit `internal` from `MemberImportVisibility` fix-its when appr…
tshortli May 24, 2025
81b94e2
Merge pull request #81748 from gottesmm/release/6.2-151802975
gottesmm May 27, 2025
691e42e
Merge pull request #81782 from tshortli/member-import-visibility-fixi…
tshortli May 27, 2025
4283d2b
Merge pull request #81740 from swiftlang/susmonteiro/6.2-metadata-pri…
susmonteiro May 27, 2025
b91b772
Merge pull request #81679 from meg-gupta/fixsubstne
meg-gupta May 27, 2025
c690603
Merge pull request #81750 from slavapestov/existential-parameterized-…
slavapestov May 27, 2025
7667f03
Merge pull request #81731 from bnbarham/cherry-add-def-iso-to-old-driver
bnbarham May 27, 2025
ab46cc8
Merge pull request #81756 from ktoso/pick-wip-correct-signing-num
ktoso May 27, 2025
bc7e953
Merge pull request #81753 from rastogishubham/CompDir6.2
rastogishubham May 28, 2025
38e796c
Disable layout_string_witnesses_dynamic.swift
drexin May 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
315 changes: 2 additions & 313 deletions .github/CODEOWNERS

Large diffs are not rendered by default.

56 changes: 56 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,61 @@

## Swift 6.2

* The Swift compiler no longer diagnoses references to declarations that are
potentially unavailable because the platform version might not be new enough
when those references occur inside of contexts that are also unavailable to
that platform. This addresses a long-standing nuisance for multi-platform
code. However, there is also a chance that existing source code may become
ambiguous as a result:

```swift
struct A {}
struct B {}

func potentiallyAmbiguous(_: A) {}

@available(macOS 99, *)
func potentiallyAmbiguous(_: B) {}

@available(macOS, unavailable)
func unavailableOnMacOS() {
potentiallyAmbiguous(.init()) // error: ambiguous use of 'init()'
}
```

Code that is now ambiguous as a result should likely be restructured since
disambiguation based on platform introduction alone has never been a reliable
strategy, given that the code would eventually become ambiguous anyways when
the deployment target is raised.

* [SE-0470][]:
A protocol conformance can be isolated to a specific global actor, meaning that the conformance can only be used by code running on that actor. Isolated conformances are expressed by specifying the global actor on the conformance itself:

```swift
protocol P {
func f()
}

@MainActor
class MyType: @MainActor P {
/*@MainActor*/ func f() {
// must be called on the main actor
}
}
```

Swift will produce diagnostics if the conformance is directly accessed in code that isn't guaranteed to execute in the same global actor. For example:

```swift
func acceptP<T: P>(_ value: T) { }

/*nonisolated*/ func useIsolatedConformance(myType: MyType) {
acceptP(myType) // error: main actor-isolated conformance of 'MyType' to 'P' cannot be used in nonisolated context
}
```

To address such issues, only use an isolated conformance from code that executes on the same global actor.

* [SE-0419][]:
Introduced the new `Runtime` module, which contains a public API that can
generate backtraces, presently supported on macOS and Linux. Capturing a
Expand Down Expand Up @@ -10732,6 +10787,7 @@ using the `.dynamicType` member to retrieve the type of an expression should mig
[SE-0442]: https://github.com/swiftlang/swift-evolution/blob/main/proposals/0442-allow-taskgroup-childtaskresult-type-to-be-inferred.md
[SE-0444]: https://github.com/swiftlang/swift-evolution/blob/main/proposals/0444-member-import-visibility.md
[SE-0458]: https://github.com/swiftlang/swift-evolution/blob/main/proposals/0458-strict-memory-safety.md
[SE-0470]: https://github.com/swiftlang/swift-evolution/blob/main/proposals/0470-isolated-conformances.md
[#64927]: <https://github.com/apple/swift/issues/64927>
[#42697]: <https://github.com/apple/swift/issues/42697>
[#42728]: <https://github.com/apple/swift/issues/42728>
Expand Down
2 changes: 1 addition & 1 deletion Runtimes/Core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ add_compile_definitions(
$<$<BOOL:${SwiftCore_HAS_DARWIN_LIBMALLOC}>:-DSWIFT_STDLIB_HAS_DARWIN_LIBMALLOC> # Anything that includes include/swift/Runtime/Config.h
$<$<COMPILE_LANGUAGE:C,CXX>:-DSWIFT_THREADING_${SwiftCore_THREADING_PACKAGE}>
$<$<COMPILE_LANGUAGE:C,CXX>:-DSWIFT_RUNTIME_ENABLE_LEAK_CHECKER=$<BOOL:${SwiftCore_ENABLE_RUNTIME_LEAK_CHECKER}>>
$<$<COMPILE_LANGUAGE:C,CXX>:-DSWIFT_RUNTIME_CLOBBER_FREED_OBJECTS=$<BOOL:${SwiftCore_ENABLE_CLOBBER_FREED_OBJECTS}>>)
$<$<BOOL:${SwiftCore_ENABLE_CLOBBER_FREED_OBJECTS}>:-DSWIFT_RUNTIME_CLOBBER_FREED_OBJECTS>)

add_compile_options(
$<$<COMPILE_LANGUAGE:CXX>:-fno-rtti>
Expand Down
7 changes: 5 additions & 2 deletions Runtimes/Core/Concurrency/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
add_subdirectory(InternalShims)

gyb_expand(TaskGroup+addTask.swift.gyb TaskGroup+addTask.swift)
gyb_expand(Task+startSynchronously.swift.gyb Task+startSynchronously.swift)
gyb_expand(Task+immediate.swift.gyb Task+immediate.swift)

add_library(swift_Concurrency
Actor.cpp
Expand All @@ -12,6 +12,7 @@ add_library(swift_Concurrency
EmbeddedSupport.cpp
Error.cpp
ExecutorBridge.cpp
ExecutorImpl.cpp
ExecutorChecks.cpp
GlobalExecutor.cpp
Setup.cpp
Expand Down Expand Up @@ -80,6 +81,8 @@ add_library(swift_Concurrency
PartialAsyncTask.swift
PlatformExecutorDarwin.swift
PlatformExecutorLinux.swift
PlatformExecutorFreeBSD.swift
PlatformExecutorOpenBSD.swift
PlatformExecutorWindows.swift
PriorityQueue.swift
SourceCompatibilityShims.swift
Expand All @@ -94,7 +97,7 @@ add_library(swift_Concurrency
TaskSleep.swift
TaskSleepDuration.swift
"${CMAKE_CURRENT_BINARY_DIR}/TaskGroup+addTask.swift"
"${CMAKE_CURRENT_BINARY_DIR}/Task+startSynchronously.swift")
"${CMAKE_CURRENT_BINARY_DIR}/Task+immediate.swift")

include(${SwiftCore_CONCURRENCY_GLOBAL_EXECUTOR}.cmake)
target_compile_definitions(swift_Concurrency PRIVATE
Expand Down
5 changes: 4 additions & 1 deletion Runtimes/Core/cmake/modules/AvailabilityMacros.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
file(STRINGS "${SwiftCore_SWIFTC_SOURCE_DIR}/utils/availability-macros.def" availability_defs)
configure_file("${SwiftCore_SWIFTC_SOURCE_DIR}/utils/availability-macros.def"
"${CMAKE_CURRENT_BINARY_DIR}/availability-macros.def"
COPYONLY)
file(STRINGS "${CMAKE_CURRENT_BINARY_DIR}/availability-macros.def" availability_defs)
list(FILTER availability_defs EXCLUDE REGEX "^\\s*(#.*)?$")
foreach(def ${availability_defs})
add_compile_options("$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -define-availability -Xfrontend \"${def}\">")
Expand Down
2 changes: 2 additions & 0 deletions Runtimes/Core/cmake/modules/ExperimentalFeatures.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@ add_compile_options(
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature SE427NoInferenceOnExtension>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature NonescapableTypes>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature LifetimeDependence>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature LifetimeDependenceMutableAccessors>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature MemberImportVisibility>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature TypedThrows>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature Macros>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature FreestandingMacros>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature BitwiseCopyable>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature Extern>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature AllowUnsafeAttribute>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature ValueGenerics>")
11 changes: 9 additions & 2 deletions Runtimes/Core/core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,6 @@ add_library(swiftCore
StringWordBreaking.swift
Substring.swift
SwiftNativeNSArray.swift
SwiftSettings.swift
TemporaryAllocation.swift
ThreadLocalStorage.swift
UIntBuffer.swift
Expand All @@ -208,6 +207,13 @@ add_library(swiftCore
UnsafeRawPointer.swift
UTFEncoding.swift
UTF8.swift
UTF8EncodingError.swift
UTF8Span.swift
UTF8SpanBits.swift
UTF8SpanComparisons.swift
UTF8SpanFundamentals.swift
UTF8SpanInternalHelpers.swift
UTF8SpanIterators.swift
UTF16.swift
UTF32.swift
Unicode.swift # ORDER DEPENDENCY: must follow new unicode support
Expand Down Expand Up @@ -294,7 +300,8 @@ target_compile_options(swiftCore PRIVATE
$<$<COMPILE_LANGUAGE:Swift>:-nostdimport>
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -group-info-path -Xfrontend ${CMAKE_CURRENT_SOURCE_DIR}/GroupInfo.json>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-objc-attr-requires-foundation-module>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -require-explicit-availability=ignore>")
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -require-explicit-availability=ignore>"
"$<$<AND:$<PLATFORM_ID:Darwin>,$<COMPILE_LANGUAGE:Swift>>:SHELL:-Xfrontend -previous-module-installname-map-file -Xfrontend ${CMAKE_CURRENT_SOURCE_DIR}/PreviousModuleInstallName.json>")
if(NOT "${CMAKE_BUILD_TYPE}" STREQUAL "MinSizeRel")
# Using these in MinSizeRel would result in a 15% increase in the binary size
target_compile_options(swiftCore PRIVATE
Expand Down
1 change: 1 addition & 0 deletions SwiftCompilerSources/Sources/AST/Type.swift
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ extension TypeProperties {
public var hasLocalArchetype: Bool { rawType.bridged.hasLocalArchetype() }
public var isEscapable: Bool { rawType.bridged.isEscapable() }
public var isNoEscape: Bool { rawType.bridged.isNoEscape() }
public var isBuiltinType: Bool { rawType.bridged.isBuiltinType() }

public var representationOfMetatype: AST.`Type`.MetatypeRepresentation {
rawType.bridged.getRepresentationOfMetatype().representation
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,12 +253,21 @@ struct AliasAnalysis {
case let storeBorrow as StoreBorrowInst:
return memLoc.mayAlias(with: storeBorrow.destination, self) ? .init(write: true) : .noEffects

case let mdi as MarkDependenceInstruction:
case let mdi as MarkDependenceInst:
if mdi.base.type.isAddress && memLoc.mayAlias(with: mdi.base, self) {
return .init(read: true)
}
return .noEffects

case let mdai as MarkDependenceAddrInst:
if memLoc.mayAlias(with: mdai.address, self) {
return .init(read: true, write: true)
}
if mdai.base.type.isAddress && memLoc.mayAlias(with: mdai.base, self) {
return .init(read: true)
}
return .noEffects

case let copy as SourceDestAddrInstruction:
let mayRead = memLoc.mayAlias(with: copy.source, self)
let mayWrite = memLoc.mayAlias(with: copy.destination, self)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -181,3 +181,122 @@ struct InstructionRange : CustomStringConvertible, NoReflectionChildren {
blockRange.deinitialize()
}
}

extension InstructionRange {
enum PathOverlap {
// range: ---
// | pathBegin
// | |
// | pathEnd
// ---
case containsPath

// range: ---
// | pathBegin
// --- |
// pathEnd
case containsBegin

// pathBegin
// range: --- |
// | pathEnd
// ---
case containsEnd

// pathBegin
// range: --- |
// | |
// --- |
// pathEnd
case overlappedByPath

// either: pathBegin
// |
// pathEnd
// range: ---
// |
// ---
// or: pathBegin
// |
// pathEnd
case disjoint
}

/// Return true if any exclusive path from `begin` to `end` includes an instruction in this exclusive range.
///
/// Returns .containsBegin, if this range has the same begin and end as the path.
///
/// Precondition: `begin` dominates `end`.
func overlaps(pathBegin: Instruction, pathEnd: Instruction, _ context: some Context) -> PathOverlap {
assert(pathBegin != pathEnd, "expect an exclusive path")
if contains(pathBegin) {
// Note: pathEnd != self.begin here since self.contains(pathBegin)
if contains(pathEnd) { return .containsPath }
return .containsBegin
}
if contains(pathEnd) {
if let rangeBegin = self.begin, rangeBegin == pathEnd {
return .disjoint
}
return .containsEnd
}
// Neither end-point is contained. If a backward path walk encouters this range, then it must overlap this
// range. Otherwise, it is disjoint.
var backwardBlocks = BasicBlockWorklist(context)
defer { backwardBlocks.deinitialize() }
backwardBlocks.pushIfNotVisited(pathEnd.parentBlock)
while let block = backwardBlocks.pop() {
if blockRange.inclusiveRangeContains(block) {
// This range overlaps with this block, but there are still three possibilities:
// (1) range, pathBegin, pathEnd = disjoint (range might not begin in this block)
// (2) pathBegin, pathEnd, range = disjoint (pathBegin might not be in this block)
// (3) pathBegin, range, pathEnd = overlappedByPath (range or pathBegin might not be in this block)
//
// Walk backward from pathEnd to find either pathBegin or an instruction in this range.
// Both this range and the path may or may not begin in this block.
let endInBlock = block == pathEnd.parentBlock ? pathEnd : block.terminator
for inst in ReverseInstructionList(first: endInBlock) {
// Check pathBegin first because the range is exclusive.
if inst == pathBegin {
break
}
// Check inclusiveRangeContains() in case the range end is the first instruction in this block.
if inclusiveRangeContains(inst) {
return .overlappedByPath
}
}
// No instructions in this range occur between pathBegin and pathEnd.
return .disjoint
}
// No range blocks have been reached.
if block == pathBegin.parentBlock {
return .disjoint
}
backwardBlocks.pushIfNotVisited(contentsOf: block.predecessors)
}
fatalError("begin: \(pathBegin)\n must dominate end: \(pathEnd)")
}
}

let rangeOverlapsPathTest = FunctionTest("range_overlaps_path") {
function, arguments, context in
let rangeValue = arguments.takeValue()
print("Range of: \(rangeValue)")
var range = computeLinearLiveness(for: rangeValue, context)
defer { range.deinitialize() }
let pathInst = arguments.takeInstruction()
print("Path begin: \(pathInst)")
if let pathBegin = pathInst as? ScopedInstruction {
for end in pathBegin.endInstructions {
print("Overlap kind:", range.overlaps(pathBegin: pathInst, pathEnd: end, context))
}
return
}
if let pathValue = pathInst as? SingleValueInstruction, pathValue.ownership == .owned {
for end in pathValue.uses.endingLifetime {
print("Overlap kind:", range.overlaps(pathBegin: pathInst, pathEnd: end.instruction, context))
}
return
}
print("Test specification error: not a scoped or owned instruction: \(pathInst)")
}
Loading