Commit Graph

22435 Commits

Author SHA1 Message Date
swift-ci
000d7b0a4a Merge remote-tracking branch 'origin/main' into rebranch 2024-07-30 11:16:40 -07:00
Joe Groff
d37ff048aa Merge pull request #75560 from jckarter/disable-consuming-self-in-deinit
Disallow consuming `self` in a noncopyable `deinit` again.
2024-07-30 10:59:35 -07:00
Joe Groff
de687db20f Disallow consuming self in a noncopyable deinit again.
The changes to allow for partial consumption unintentionally also allowed for
`self` to be consumed as a whole during `deinit`, which we don't yet want to
allow because it could lead to accidental "resurrection" and/or accidental
infinite recursion if the consuming method lets `deinit` be implicitly run
again. This makes it an error again. The experimental feature
`ConsumeSelfInDeinit` will allow it for test coverage or experimentation
purposes. rdar://132761460
2024-07-29 21:20:14 -07:00
Artem Chikin
a2dc674723 [Dependency Scanning] Disable validation of Swift dependency modules' existing pre-built candidate binary module files in the scanner, on a non-caching build.
As-is, this default interferes with the incremental build machinery which conservatively assumes that binary module dependencies must cause dependents to be re-built.
2024-07-29 17:16:54 -07:00
swift-ci
bf722c963e Merge remote-tracking branch 'origin/main' into rebranch 2024-07-29 15:14:47 -07:00
Artem Chikin
5dd4977b0f Revert "[Dependency Scanning] Use a standalone DependencyScanningFilesystem on the scanner, sharing a common status cache from Clang's dependency service cache"
This reverts commit 1804a8486e.
2024-07-29 11:58:59 -07:00
swift-ci
ee5c37e742 Merge remote-tracking branch 'origin/main' into rebranch 2024-07-28 22:14:29 -07:00
Alejandro Alonso
ca8c90ecc0 Support movesAsLike for the array variant of @_rawLayout 2024-07-28 10:29:57 -07:00
swift-ci
1c725e6fc1 Merge remote-tracking branch 'origin/main' into rebranch 2024-07-26 10:35:19 -07:00
Nate Chandler
a7c6538d4e Revert "Merge pull request #73275 from nate-chandler/lifetime-completion/enable"
This reverts commit 840198ec9b, reversing
changes made to b74303c214.
2024-07-26 07:12:45 -07:00
swift-ci
c55cfebc95 Merge remote-tracking branch 'origin/main' into rebranch 2024-07-25 22:54:00 -07:00
Pavel Yaskevich
0343bb18af Revert "[Sema] Add specialization constraints for func and variable types, then diagnose w/fixes." 2024-07-25 15:43:15 -07:00
swift-ci
24381eddc3 Merge remote-tracking branch 'origin/main' into rebranch 2024-07-25 12:33:16 -07:00
nate-chandler
840198ec9b Merge pull request #73275 from nate-chandler/lifetime-completion/enable
[LifetimeCompletion] Enable.
2024-07-25 12:29:44 -07:00
swift-ci
975d0713cc Merge remote-tracking branch 'origin/main' into rebranch 2024-07-24 19:38:38 -07:00
Greg Titus
47acc09e11 Merge pull request #74909 from gregomni/generic-arg
[Sema] Add specialization constraints for func and variable types, then diagnose w/fixes.
2024-07-24 19:38:11 -07:00
swift-ci
06dfa92b76 Merge remote-tracking branch 'origin/main' into rebranch 2024-07-24 19:13:32 -07:00
Kavon Farvardin
dfeb52b581 Merge pull request #75449 from kavon/kavon-fixes-2
Consume: warn about no-op consumes to be fixed
2024-07-24 19:04:52 -07:00
swift-ci
5609778103 Merge remote-tracking branch 'origin/main' into rebranch 2024-07-24 18:45:45 -07:00
Venkatesh Sriram
82f85d83c2 Merge pull request #75219 from venkatesh5789/result-builder-extraction
[Compile Time Constant Extraction] Extract Result Builder Expressions
2024-07-24 18:27:17 -07:00
Nate Chandler
bff6c743a9 [LifetimeCompletion] Enable.
Complete all lifetimes during SILGenCleanup.
2024-07-24 17:56:31 -07:00
Kavon Farvardin
e04b35d709 Consume: warn about no-op consumes to be fixed
As of now, SE-366 is not correctly implemented with respect to concrete,
bitwise-copyable types like `Int`. Writing `consume someInt` doesn't
actually consume the variable binding as it should, meaning code that
should be flagged as having a use-after-consume is being silently
permitted:

```swift
let someInt = 10
let y = consume someInt
print(someInt) // no error!
```

This has been a problem since Swift 5.9. Eventually we plan to fix this
issue, which means code previously doing the above would become an
error. To help people get ready for the fix, start warning people that
these consumes are actually no-ops and suggest removing them until the
intended behavior is actually enforced in the future.

resolves rdar://127081103
2024-07-24 16:05:47 -07:00
Greg Titus
6e917b567a Improve diagnoses of generic specializations
Always add constraints, find fixes during simplify.
New separate fix for allow generic function specialization.
Improve parse heuristic for isGenericTypeDisambiguatingToken.
2024-07-24 14:25:11 -07:00
swift-ci
f1ea924a51 Merge remote-tracking branch 'origin/main' into rebranch 2024-07-24 10:14:18 -07:00
Venkatesh Sriram
4c3439f942 [Compile Time Constant Extraction] Extract Result Builder Expressions 2024-07-24 10:08:24 -07:00
Allan Shortlidge
66e2f972ab Merge pull request #75432 from tshortli/maccatalyst-upstream
Upstream missing macCatalyst support
2024-07-24 09:58:04 -07:00
swift-ci
915b88be93 Merge remote-tracking branch 'origin/main' into rebranch 2024-07-24 08:34:24 -07:00
Joe Groff
044d8c9f56 Merge pull request #75378 from jckarter/warn-on-runtime-function-symbol-references
Stage in a warning when trying to access symbols used by the compiler.
2024-07-24 08:18:57 -07:00
Allan Shortlidge
f7ff3f0001 SILGen: Introduce macCatalyst support for @backDeployed.
Upstreams the necessary changes to compile references to `@backDeployed`
declarations correctly when a `macabi` target triple or a `-target-variant` is
specified.
2024-07-23 17:00:10 -07:00
Allan Shortlidge
6fb6a56b20 SILGen: Introduce macCatalyst support for if #available.
Upstream the necessary changes to compile `if #available` queries correctly
when a `macabi` target triple or a `-target-variant` is specified.
2024-07-23 17:00:10 -07:00
Allan Shortlidge
e4331af916 IRGen: Introduce macCatalyst target variant version check builtins. 2024-07-23 17:00:10 -07:00
swift-ci
809f799599 Merge remote-tracking branch 'origin/main' into rebranch 2024-07-23 15:54:50 -07:00
Kavon Farvardin
2557ba96c8 Noncopyable: deprecate '@_moveOnly' attribute
This hidden attribute is a leftover from before the '~Copyable' syntax.

rdar://130526083
2024-07-23 11:05:33 -07:00
Kavon Farvardin
6e35711bb4 Noncopyable: prevent keypaths from accessing
We don't yet have keypaths working correctly to allow access to
noncopyable fields, so we should raise a friendly error in Sema rather
than an error-out elsewhere vaguely.

resolves rdar://109287447
2024-07-22 21:22:05 -07:00
swift-ci
baf4f6a499 Merge remote-tracking branch 'origin/main' into rebranch 2024-07-20 11:57:00 -07:00
Holly Borla
ee2dd82d56 Merge pull request #75235 from rofle100lvl/change_note_main_actor_variables
Change note for non marked with main actor global variables
2024-07-20 11:43:29 -07:00
Горбенко Роман
2c1e45a598 Changed note main actor variables 2024-07-20 02:39:33 +02:00
Joe Groff
8bc5a1f1fc Stage in a warning when trying to access symbols used by the compiler.
Attempting to bypass the compiler and access runtime functions directly has
a long history of breaking in hard-to-predict ways, and there's usually a better
way. Put up a warning to try to flush out misuses of runtime functions to see
if we can turn this into an error.
2024-07-19 16:55:11 -07:00
swift-ci
9448b5ad08 Merge remote-tracking branch 'origin/main' into rebranch 2024-07-19 06:14:52 -07:00
smonteiro2
684e9ebf0c [cxx-interop] Implements CxxMutableSpan, created from an UnsafeMutableBufferPointer
* Added tests for generic functions
* Add some tests for mutable spans
* Initialize ConstSpan from UnsafeMutableBufferPointer
* Change hardening flag
2024-07-19 10:38:52 +01:00
swift-ci
0b785e57a7 Merge remote-tracking branch 'origin/main' into rebranch 2024-07-19 02:34:28 -07:00
Michael Gottesman
bcbf5c515e [region-isolation] Emit an error when we assign a non-disconnected value into a sending result.
rdar://127318392
2024-07-18 21:29:08 -07:00
swift-ci
6b888db256 Merge remote-tracking branch 'origin/main' into rebranch 2024-07-16 15:54:11 -07:00
Ryan Mansfield
8dad181aeb Remove unused diagnostics. 2024-07-16 14:10:02 -04:00
swift-ci
1b0bcc32df Merge remote-tracking branch 'origin/main' into rebranch 2024-07-15 11:18:10 -07:00
Hamish Knight
9d2af57a34 Merge pull request #75239 from hamishknight/patte-diag
[CS] A couple of minor diagnostic improvements
2024-07-15 19:16:41 +01:00
swift-ci
c815eb13be Merge remote-tracking branch 'origin/main' into rebranch 2024-07-15 09:45:30 -07:00
Pavel Yaskevich
cfb50a0aef Merge pull request #75191 from xedin/inlinable-init-accessors
[AST/Sema] Make it possible to use init accessors in inlinable initializers
2024-07-15 09:16:30 -07:00
Hamish Knight
d6d8d08608 [CS] Better diagnose conformance failures for EnumElementPatterns
Previously we could end up with a
ContextualMismatch fix and a MissingConformance fix
for different elements of the `matchTypes` disjunction,
leading to an ambiguity. Instead, avoid recording
the ContextualMismatch if we're matching an
existential, and tweak the MissingConformance
failure to have a custom diagnostic for
EnumElementPattern matching.
2024-07-15 12:47:50 +01:00
swift-ci
17881cd021 Merge remote-tracking branch 'origin/main' into rebranch 2024-07-14 21:14:24 -07:00