Nate Chandler
66e6c59681
[Features] Added CoroutineAccessors.
2024-09-26 18:10:38 -07:00
Allan Shortlidge
d373036805
SE-0444: Promote MemberImportVisibility to an upcoming feature.
...
The proposal has been accepted, so `MemberImportVisibility` is no longer
experimental.
Resolves rdar://126284512.
2024-09-26 13:41:14 -07:00
Allan Shortlidge
0fb36a5f39
AST: Make $SpecializeAttributeWithAvailability a baseline feature.
...
It has been available since at least Swift 5.8.
2024-09-23 21:48:09 -07:00
Konrad `ktoso` Malawski
d89347bed0
Merge branch 'main' into wip-experimental-isolated-deinit
2024-09-20 18:34:45 +09:00
Sima Nerush
7e5a57a07a
Guard the changes behind an experimental feature flag.
2024-09-19 10:09:56 -07:00
Gábor Horváth
4d01253674
Merge pull request #76429 from swiftlang/gaborh/safe-cxx-interop-mode
...
[cxx-interop] Introduce a safe C++ interop mode
2024-09-19 17:25:28 +01:00
Michael Gottesman
fb281331b3
Merge pull request #76558 from gottesmm/pr-39b63781333d46b16f086a7c192efc67b26255db
...
[concurrency] Behind the flag UnspecifiedMeansMainActorIsolated, try inferring by default main actor isolation instead of nonisolated for unspecified.
2024-09-19 09:18:33 -07:00
Gabor Horvath
929c0ca7d8
[cxx-interop] Introduce a safe C++ interop mode
...
In this mode all C++ types are imported as unsafe by default. Users
explicitly marking types are escapable or not escapable can make them
imported as safe. In the future, we also want to import unannotated
functions as unsafe and add more logic to infer types that are actually
safe, like agregates of escapable types.
2024-09-19 12:34:07 +01:00
Michael Gottesman
3843899c19
[concurrency] Behind the flag UnspecifiedMeansMainActorIsolated, try inferring by default main actor isolation instead of nonisolated for unspecified.
...
Just to play with.
2024-09-18 13:23:23 -07:00
Konrad `ktoso` Malawski
7d1ce789ad
Revert "Revert "Isolated synchronous deinit""
2024-09-17 17:35:38 +09:00
Meghana Gupta
68bfc0d3b4
Make NonEscapableTypes as a suppressible experimental feature
2024-09-13 13:13:17 -07:00
Alejandro Alonso
451e7259a1
Add ValueGenerics experimental feature
2024-09-04 15:13:49 -07:00
Alex Hoppen
c5aa49ba64
Revert "Isolated synchronous deinit"
2024-09-03 18:11:26 -07:00
Mykola Pokhylets
e0ad7bde82
Merge branch 'main' into mpokhylets/isolated-deinit
...
# Conflicts:
# include/swift/Basic/Features.def
# lib/AST/ASTPrinter.cpp
# lib/AST/FeatureSet.cpp
2024-08-29 11:28:43 +02:00
Doug Gregor
571859f294
Move "unsafe" diagnostics from errors to warnings
...
Warnings fit better with the approach we're going for, and can be
escalated to errors by `-warnings-as-errors` for clients that need it.
2024-08-19 14:34:00 -07:00
Doug Gregor
cccf6c1114
Introduce @unsafe and the ability to prohibit use of unsafe declarations
...
Allow any declaration to be marked with `@unsafe`, meaning that it
involves unsafe code. This also extends to C declarations marked with
the `swift_attr("unsafe")` attribute.
Under a separate experimental flag (`DisallowUnsafe`), diagnose any
attempt to use an `@unsafe` declaration or any unsafe language feature
(such as `unowned(unsafe)`, `@unchecked Sendable`). This begins to
define a "safe" mode in Swift that prohibits memory-unsafe constructs.
2024-08-19 14:33:07 -07:00
Mykola Pokhylets
50b1313175
Merge branch 'main' into mpokhylets/isolated-deinit
...
# Conflicts:
# lib/SILGen/SILGenDistributed.cpp
# lib/Sema/TypeCheckConcurrency.cpp
2024-08-15 16:58:43 +02:00
Alex Hoppen
dcee673688
Merge pull request #74522 from mateusrodriguesxyz/trailing-comma
2024-08-06 18:51:18 -07:00
Sima Nerush
6400a294a8
Merge pull request #70227 from simanerush/same-element-requirements
...
[Requirement Machine] Implement same-element requirements.
2024-08-06 14:24:33 -07:00
Mateus Rodrigues
ac57e61278
Merge branch 'main' into trailing-comma
2024-08-06 09:34:43 -03: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
Joe Groff
51829c17bf
@_extern is an experimental feature.
...
Mark it as such. rdar://132013078
2024-07-18 11:46:16 -07:00
Holly Borla
dbda2738a6
[Features] Gate same-element requirements behind an experimental feature flag.
2024-07-15 10:19:32 -07:00
Kavon Farvardin
4529f3b295
Merge pull request #75183 from kavon/remove-reverse-condfail-workaround
...
NCGenerics: remove the reverse-condfail workaround
2024-07-12 09:39:12 -07:00
Kavon Farvardin
5b2f2cbfcf
NCGenerics: remove the reverse-condfail workaround
...
This should no longer be needed, after having staged the first set of
changes in, as it was a temporary workaround.
resolves rdar://131560183
2024-07-11 14:30:27 -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
Allan Shortlidge
ab68c29701
AST: Remove interface guards for a bunch of experimental features.
...
Since these features are experimental features, they can't be catagorized as
"baseline" features. However, there is no need to guard code in swiftinterfaces
that potentially uses syntax related to these features since all supported
compilers can parse the syntax.
2024-07-09 14:29:31 -07:00
Allan Shortlidge
d944488a86
AST: Promote NewCxxMethodSafetyHeuristics feature to baseline.
2024-07-09 14:29:31 -07:00
Allan Shortlidge
aab4f1051c
AST: Promote BodyMacros feature to baseline.
2024-07-09 14:29:30 -07:00
Allan Shortlidge
0ba007661a
AST: Promote BuiltinAddressOfRawLayout to baseline.
2024-07-09 14:29:30 -07:00
Allan Shortlidge
45f3e94b46
AST: Promote AssociatedTypeImplements feature to baseline.
2024-07-09 14:28:30 -07:00
Allan Shortlidge
b71e73d04c
AST: Promote RetroactiveAttribute feature to baseline.
2024-07-09 14:28:29 -07:00
Allan Shortlidge
e7ae787516
AST: Promote ConformanceSuppression feature to baseline.
2024-07-09 14:28:29 -07:00
Allan Shortlidge
b46f23b502
AST: Promote BitwiseCopyable feature to baseline.
2024-07-09 14:28:29 -07:00
Allan Shortlidge
b85da32707
AST: Promote OptionalIsolatedParameters feature to baseline.
2024-07-09 14:28:29 -07:00
Allan Shortlidge
b39637159c
AST: Promote RethrowsProtocol feature to baseline.
2024-07-09 14:28:29 -07:00
Allan Shortlidge
8093783e21
AST: Promote ExtensionMacroAttr feature to baseline.
2024-07-09 14:28:29 -07:00
Allan Shortlidge
99dbbe4a12
AST: Promote BuiltinStoreRaw feature to baseline.
2024-07-09 14:28:29 -07:00
Allan Shortlidge
8dad141136
AST: Promote Extern feature to baseline.
2024-07-09 14:28:29 -07:00
Allan Shortlidge
365d26e323
AST: Promote ExpressionMacroDefaultArguments feature to baseline.
2024-07-09 14:28:29 -07:00
Allan Shortlidge
ec13858479
AST: Promote BorrowingSwitch feature to baseline.
2024-07-09 14:28:29 -07:00
Allan Shortlidge
c8a6a5041a
AST: Remove unused functions in FeatureSet.cpp.
2024-07-09 14:28:29 -07:00
Allan Shortlidge
731d91f590
AST: Promote TypedThrows features to the baseline.
2024-07-09 14:28:29 -07:00
Allan Shortlidge
9717961202
AST: Promote BuiltinAllocVector feature to baseline.
2024-07-09 14:28:29 -07:00
Allan Shortlidge
ab99cac77d
AST: Promote BuiltinUnprotectedStackAlloc feature to baseline.
2024-07-09 14:28:28 -07:00
Allan Shortlidge
53451caf49
AST: Promote LexicalLifetimes feature to baseline.
2024-07-09 14:28:28 -07:00
Allan Shortlidge
5fb8082cc2
AST: Promote various move-only features to the baseline.
2024-07-09 14:28:28 -07:00
Allan Shortlidge
e1082bb8be
AST: Promote various macro features to baseline.
2024-07-09 14:28:28 -07:00
Allan Shortlidge
b517a44528
AST: Promote ParameterPacks feature to the baseline.
2024-07-09 14:28:28 -07:00