Kavon Farvardin
be0e61e6d6
Merge pull request #75211 from kavon/handle-stdlib-with-no-files-129092011
...
NCGenerics: handle failure to load stdlib
2024-07-14 21:13:36 -07:00
swift-ci
892505350e
Merge remote-tracking branch 'origin/main' into rebranch
2024-07-13 13:46:10 -07:00
Holly Borla
73ba98cb2b
Merge pull request #75224 from hborla/self-capture-deinit-task
...
[Concurrency] Diagnose captures of `self` in a task created in `deinit`.
2024-07-13 13:32:28 -07:00
swift-ci
1c5bad37c3
Merge remote-tracking branch 'origin/main' into rebranch
2024-07-13 10:16:23 -07:00
Holly Borla
e08bd9565d
Merge pull request #75135 from hborla/unavailable-superclass-conformance
...
[ConformanceLookup] Don't allow skipping inherited unavailable conformances in favor of explicit available ones.
2024-07-13 10:15:49 -07:00
swift-ci
2c26703330
Merge remote-tracking branch 'origin/main' into rebranch
2024-07-13 09:56:02 -07:00
Slava Pestov
8be66967ed
Merge pull request #75210 from slavapestov/optimize-is-weak-linked
...
AST: Optimize ModuleDecl::isImportedAsWeakLinked()
2024-07-13 12:43:13 -04:00
Holly Borla
18b747c181
[Concurrency] Diagnose captures of self in a task created in deinit.
...
This is done by diagnosing captures of `self` in escaping `sending` or
`@Sendable` closures inside a deinit, which almost certainly means `self`
will outlive deinit at runtime, which is a fatal error. This is a common
mistake to make when creating isolated tasks inside nonisolated deinits
to workaround the lack of synchrnous isolated deinits in Swift 6.
2024-07-12 21:49:35 -07:00
Kavon Farvardin
8624b175b9
NFC: check ModuleDecl file invariant always
2024-07-12 15:49:58 -07:00
Slava Pestov
5e30f6a4c3
AST: Optimize ModuleDecl::isImportedAsWeakLinked()
2024-07-12 15:53:58 -04:00
swift-ci
491ee24fae
Merge remote-tracking branch 'origin/main' into rebranch
2024-07-12 09:35:49 -07:00
Allan Shortlidge
373a3fe7de
Merge pull request #75185 from tshortli/revert-aeic-diagnose-unavailable-code-reached
...
SILGen/stdlib: Remove `_diagnoseUnavailableCodeReached_aeic()`
2024-07-12 09:22:11 -07:00
swift-ci
9ced1b0ed3
Merge remote-tracking branch 'origin/main' into rebranch
2024-07-12 08:14:29 -07:00
Saleem Abdulrasool
7cc7e2bd3a
Merge pull request #72352 from compnerd/sysroot
...
Driver: introduce `-sysroot` option for non-Darwin targets
2024-07-12 08:08:59 -07:00
Holly Borla
85b66d1dc2
[ConformanceLookup] Always prefer unavailable Sendable conformances from the
...
defining module, and diagnose redundant Sendable conformances.
We still allow re-stating inherited unchecked Sendable conformances in
subclasses because inherited Sendable conformances are surprising when
they opt out of static checking. Otherwise, warning on redundant Sendable
conformances nudges programmers toward cleaning up unnecessary retroactive
Sendable conformances over time as libraries incrementally add the
conformances directly.
2024-07-11 20:33:24 -07:00
Pavel Yaskevich
6925940b37
[Sema] Improve diagnostic when @usableFromInline is applied to a declaration without a name (i.e. accessor/init)
2024-07-11 17:12:57 -07:00
Allan Shortlidge
14200e412c
SILGen/stdlib: Remove _diagnoseUnavailableCodeReached_aeic().
...
It should no longer be necessary to provide an `@_alwaysEmitIntoClient` version
of `_diagnoseUnavailableCodeReached()`. This workaround was originally added to
provide compatibility with projects that were misconfigured to compile against
a newer stdlib but link against an older one.
Resolves rdar://119892482.
2024-07-11 14:53:03 -07:00
swift-ci
f3edba0452
Merge remote-tracking branch 'origin/main' into rebranch
2024-07-11 12:15:10 -07:00
Ellie Shin
cb776089cb
Merge pull request #75154 from swiftlang/elsh/drop-exp-prefix
...
Drop experimental prefixes from PackageCMO flags.
2024-07-11 12:12:29 -07:00
swift-ci
2f0eb27522
Merge remote-tracking branch 'origin/main' into rebranch
2024-07-11 11:35:31 -07:00
Pavel Yaskevich
e4cd1d7acd
Merge pull request #75062 from xedin/rdar-122193606
...
[Concurrency] Allow sendability mismatches while overriding `@preconcurrency` properties in Swift 5 mode
2024-07-11 11:18:53 -07:00
swift-ci
bf0d148c8f
Merge remote-tracking branch 'origin/main' into rebranch
2024-07-11 11:15:59 -07:00
Allan Shortlidge
5d6f6947ed
Merge pull request #75158 from tshortli/member-import-visibility-package
...
AST: Add a `IgnoreMissingImports` option to name lookup
2024-07-11 11:07:39 -07:00
Mykola Pokhylets
816d62c972
Merge remote-tracking branch 'upstream/main' into mpokhylets/isolated-deinit
...
# Conflicts:
# include/swift/Basic/Features.def
# lib/SILGen/SILGenDestructor.cpp
# test/Concurrency/flow_isolation.swift
# test/abi/macOS/arm64/concurrency.swift
# test/abi/macOS/x86_64/concurrency.swift
2024-07-11 13:11:59 +02:00
Mykola Pokhylets
2cb7e8d7b8
Implemented suppressing isolated deinit for compatibility with older compiler versions
2024-07-11 13:09:08 +02:00
Mykola Pokhylets
4d0b624866
Make deinit non-isolated by default
...
Failing: Distributed/Runtime/distributed_actor_deinit.swift
2024-07-11 13:09:08 +02:00
Mykola Pokhylets
f04f1de75e
Fixed some typos
2024-07-11 13:09:07 +02:00
Mykola Pokhylets
95079aff06
Don't generate isolating destructor if dealloc was explicitly isolated in ObjC
2024-07-11 13:09:06 +02:00
Mykola Pokhylets
63e538e469
Import dealloc method as deinit
2024-07-11 13:09:05 +02:00
Mykola Pokhylets
10ee94885e
Generating errors when isolation of the subclass deinit is not compatible with superclass deinit
2024-07-11 13:09:05 +02:00
Mykola Pokhylets
d4e449b62d
SILGen for isolated deinit
2024-07-11 13:09:05 +02:00
Mykola Pokhylets
b189495518
Introduced isolated deinit as a SIL entity
2024-07-11 13:09:05 +02:00
swift-ci
a32c1896dc
Merge remote-tracking branch 'origin/main' into rebranch
2024-07-10 23:09:47 -07:00
Allan Shortlidge
d002da0ef2
AST: Add a IgnoreMissingImports option to name lookup.
...
Control enforcement of member import visibility requirements via a new option,
instead of piggy-backing on the existing IgnoreAccessControl option. Adopt the
option when doing fallback lookups for unviable members so that the compiler
can diagnose the reason that a member is inaccessible more reliably.
Previously, with MemberImportVisibility enabled decls with the package access
level could be mis-diagnosed as inaccessible due to their access level when
really they were inaccessible due to a missing import.
Resolves rdar://131501862.
2024-07-10 22:57:15 -07:00
Andrew Trick
12acde2215
Merge pull request #75096 from meg-gupta/lifetimedeparg
...
Add support for lifetime dependence in parameter position
2024-07-10 22:56:23 -07:00
Ben Barham
2715d0e9d6
Merge branch 'main' into 20240710-main-to-rebranch
...
Conflicts:
- `test/Interop/Cxx/class/method/methods-this-and-indirect-return-irgen-itanium.swift`
previously fixed on rebranch, now fixed on main (slightly differently).
2024-07-10 20:42:09 -07:00
Kavon Farvardin
bbc02a5544
Merge pull request #75141 from kavon/invertible-conformance-same-sourcefile
...
NCGenerics: enforce same-source conformance rule
2024-07-10 17:50:13 -07:00
Slava Pestov
d1847ffde7
Merge pull request #75068 from slavapestov/simplify-sub-map
...
Simplify and optimize SubstitutionMap
2024-07-10 20:45:56 -04:00
Ellie Shin
18681c43fb
Drop experimental prefixes from PackageCMO flags.
...
Deprecate experimental- flags with prompts to use the proper flags.
rdar://131498517
2024-07-10 16:19:16 -07:00
Shubham Sandeep Rastogi
d443fdd501
Merge pull request #74202 from rastogishubham/MCCASReplay
...
Add replay support for MCCAS in Swift.
2024-07-10 15:21:51 -07:00
Meghana Gupta
076d70acbb
Update getLifetimeDependenceInfo to getLifetimeDependencies in CSSimplify
2024-07-10 14:48:34 -07:00
Meghana Gupta
fecd2b452d
Don't mangle lifetime dependencies in older runtimes
2024-07-10 14:48:34 -07:00
Meghana Gupta
2b28da6dd7
Update ASTPrinting of lifetime dependence
2024-07-10 14:48:34 -07:00
Meghana Gupta
815d7a67f5
Replace hasLifetimeDependenceInfo -> hasLifetimeDependencies
2024-07-10 14:48:34 -07:00
Meghana Gupta
7d2ff43fe3
Update mangling to support lifetime dependence in parameter position
2024-07-10 14:20:03 -07:00
Meghana Gupta
154989463b
Add support for lifetime dependence in parameter position
2024-07-10 14:20:03 -07:00
Meghana Gupta
8137aed238
Rename LifetimeDependentReturnTypeRepr -> LifetimeDependentTypeRepr
2024-07-10 14:20:03 -07:00
Meghana Gupta
4993f4bf22
Merge pull request #74956 from meg-gupta/lifetimedepfunctiontype
...
Add some diagnostics related to lifetime dependence and function types
2024-07-10 14:19:05 -07:00
Kavon Farvardin
233742a565
NCGenerics: enforce same-source conformance rule
...
SE-427 says the conformance to Copyable must appear in the same source
file as the nominal type.
resolves rdar://131486561
2024-07-10 14:02:10 -07:00
Doug Gregor
2a8b3fcf95
Merge pull request #75093 from DougGregor/unsafe-inherit-executor-vs-pound-isolation
...
Ensure that a `@_unsafeInheritExecutor` function does not depend on `#isolation`
2024-07-10 11:05:37 -07:00