swift-ci
870cde61e8
Merge remote-tracking branch 'origin/main' into rebranch
2022-05-31 06:54:14 -07:00
Doug Gregor
6267513dab
Add experimental feature for AdditiveArithmetic derived conformances
2022-05-30 21:28:32 -07:00
Doug Gregor
22ccb3fc3f
Introduce experimental features for autodiff options
2022-05-30 21:26:17 -07:00
Doug Gregor
ad65a648df
Delete superseded language option EnableConcisePoundFile
2022-05-30 21:11:43 -07:00
Doug Gregor
2598aa5405
Add experimental feature for bound generic extensions
2022-05-30 21:09:33 -07:00
swift-ci
d32d3311ab
Merge remote-tracking branch 'origin/main' into rebranch
2022-05-30 11:14:36 -07:00
Doug Gregor
2cc91d04c9
Temporarily reinstate LangOptions::EnableBareSlashRegexLiterals for LLDB
2022-05-30 08:33:47 -07:00
Doug Gregor
3cf576da23
Refactor bare slash regex literals as a future feature
2022-05-30 08:33:46 -07:00
swift-ci
4ee528a886
Merge remote-tracking branch 'origin/main' into rebranch
2022-05-27 15:14:25 -07:00
Doug Gregor
8da6caeccd
Add experimental feature for type witness system inference
2022-05-27 12:34:53 -07:00
Doug Gregor
333ae3f830
Add experimental feature for one-way closure parameters
2022-05-27 11:52:29 -07:00
Doug Gregor
b012270fca
Adopt experimental-feature infrastructure for move-only feature
2022-05-26 14:21:26 -07:00
Doug Gregor
37dbf23ba2
Adopt experimental feature approach for flow-sensitive concurrency captures
2022-05-26 13:56:21 -07:00
Doug Gregor
0de5d7818d
Make named opaque types an experimental feature
2022-05-26 13:44:08 -07:00
Doug Gregor
a523473315
Make static assertions an experimental feature
2022-05-26 13:43:36 -07:00
Doug Gregor
6d82448dc8
Add -enable-experimental-feature X for experimental features.
...
Experimental features can only be enabled in non-production (+Asserts)
builds. They can be detected with `hasFeature` in the same manner as
"future" features.
The `-enable-experimental-feature X` flag will also look for future
features by that name, so that when an experimental feature becomes an
accepted future feature, it will still be enabled in the same manner.
Switch variadic generics over to this approach, eliminating the
specific LangOption for it.
2022-05-26 11:50:39 -07:00
Ben Barham
92b6dd24c2
Merge branch 'main' into manually-merge-main
2022-05-25 15:55:35 -07:00
Robert Widmann
663722d892
Parameterized Existential Types Are Enabled By Default
...
See https://forums.swift.org/t/accepted-se-0353-constrained-existential-types/57560
2022-05-25 09:50:36 -07:00
swift-ci
f125662aca
Merge remote-tracking branch 'origin/main' into rebranch
2022-05-10 12:53:39 -07:00
Slava Pestov
bfcaa39d37
Remove the GenericSignatureBuilder
...
Resolves rdar://problem/88136582.
2022-05-10 11:47:06 -04:00
swift-ci
7eff6ccfec
Merge remote-tracking branch 'origin/main' into rebranch
2022-05-10 05:33:46 -07:00
Slava Pestov
f39372b33d
RequirementMachine: Turn off redundant requirement warnings by default and add -warn-redundant-requirements frontend flag
2022-05-10 01:49:56 -04:00
Ben Barham
4e1eb1abe8
Merge pull request #58620 from bnbarham/rebranch-fixes
...
[rebranch] Various fixes to get macos to a compiling state
2022-05-06 09:59:38 -07:00
Ben Barham
114b4d96e4
[next] Use new VersionTuple API
...
The `VersionTuple` API was changed llvm/llvm-project
219672b8dd06c4765185fa3161c98437d49b4a1b to return `VersionTuple`
from `get*Version` rather than pass in major, minor, and subminor output
parameters. Update uses to the new API.
Note that `getMacOSXVersion` is slightly different in that it returns a
boolean while taking a `VersionTuple` output parameter to match its
previous behaviour. There doesn't seem to be any use that actually
checks this value though, so we should either update the API to return
an `Optional` and actually check it *or* remove the "failure" case and
return a `VersionTuple` like all the others.
2022-05-05 16:25:10 -07:00
Josh Soref
66663b1286
Spelling basic ( #42541 )
...
* spelling: add
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: attributes
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: bridging
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: deserialization
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: initialize
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: invariants
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: lazily
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: occurred
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: offset
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: optimization
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: our
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: process
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: substitution
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: the operation
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: the
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com >
2022-05-04 14:53:24 -07:00
Evan Wilde
94e30a817e
Revert "Add -async-main flag to favor asynchronous main"
...
This reverts commit da0a3311a5 .
2022-04-26 16:29:45 -07:00
Doug Gregor
c1534d5af9
Merge pull request #42520 from DougGregor/rename-strict-concurrency-options
2022-04-21 00:26:34 -07:00
Zoe Carver
320e4c63cb
Merge pull request #42511 from zoecarver/add-flag-import-as-computed-property
2022-04-20 22:47:21 -07:00
Doug Gregor
5538068500
Rename -strict-concurrency=explicit to minimal
...
This makes it far more clear what the relative ordering of the options is.
Thanks, Jake!
2022-04-20 21:30:41 -07:00
Doug Gregor
4116d7a3d7
Rename the -strict-concurrency= options to be more descriptive.
...
The three options are now:
* `explicit`: Enforce Sendable constraints where it has been explicitly adopted and perform actor-isolation checking wherever code has adopted concurrency. (This is the default)
* `targeted`: Enforce Sendable constraints and perform actor-isolation checking wherever code has adopted concurrency, including code that has explicitly adopted Sendable.
* `complete`: Enforce Sendable constraints and actor-isolation checking throughout the entire module.
2022-04-20 18:17:33 -07:00
zoecarver
21192904ba
[cxx-interop][nfc] Add flag cxx-interop-getters-setters-as-properties.
...
This is causing problems in certain cases, disabling by default.
2022-04-20 17:32:26 -07:00
Pavel Yaskevich
6db0001863
[TypeChecker] NFC: Remove -experimental-multi-statement-closures flag
...
SE-0326 has been enabled by default, so this flag is no longer necessary.
2022-04-20 10:40:27 -07:00
Doug Gregor
7a724c4586
Add frontend flag -swift-concurrency={off|limited|on}
...
Replace `-warn-concurrency` with a more granular option
`-swift-concurrency=`, where the developer can select one of three
different "modes":
* `off` disables `Sendable` checking for most cases. (This is the Swift
5.5 and Swift 5.6 behavior.)
* `limited` enables `Sendable` checking within code that has adopted
Swift concurrency. (This is currently the default behavior.)
* `on` enables `Sendable` and other concurrency checking throughout
the module. (This is equivalent to `-warn-concurrency` now).
There is currently no distinction between `off` and `limited`. That
will come soon.
Implements the flag part of rdar://91930849.
2022-04-18 18:12:10 -07:00
Hamish Knight
63b8db1659
Start using '-enable-bare-slash-regex'
...
Change the flag to imply
'-enable-experimental-string-processing', and
and update some tests to start using it.
2022-04-12 16:03:47 +01:00
Pavel Yaskevich
f7253f253e
Merge pull request #42228 from xedin/enable-se-0347-by-default
...
[TypeChecker] SE-0347: Enable type inference from default expressions
2022-04-08 16:10:20 -07:00
Pavel Yaskevich
b03021dbb7
[TypeChecker] SE-0347: Enable type inference from default expressions
2022-04-06 15:03:00 -07:00
Slava Pestov
1bf248e374
Enable parameterized protocols by default, and add new staging flag for parameterized existentials
2022-04-06 17:30:10 -04:00
swift-ci
882edde92f
Merge pull request #41966 from rxwei/se-0348-if-approved
...
[ResultBuilders] Enable SE-0348 `buildPartialBlock` by default.
2022-04-04 21:21:19 -07:00
Richard Wei
065ac52c0d
Add frontend flag -disable-implicit-string-processing-module-import.
...
We add a new flag to disable the implicit import of `_StringProcessing`, similar to `-disable-implicit-concurrency-module-import`. We need this to build `_RegexParser` when `-enable-experimental-string-processing` is enabled by default, because `_StringProcessing` currently imports `_RegexParser` publicly (non-implementation-only).
2022-04-04 13:55:47 -07:00
Evan Wilde
2eb801145e
Merge branch 'main' into ewilde/async-main-resolution
2022-04-02 16:15:10 -07:00
Evan Wilde
da0a3311a5
Add -async-main flag to favor asynchronous main
...
This flag biases the overload checker in favor of selecting an
asynchronous main function over a synchronous main. If no asynchronous
main function exists, a synchronous one will still be selected.
Likewise, if the flag is not passed and there are only asynchronous main
functions available, the most specific asynchronous main function will
still be selected.
2022-04-02 16:14:01 -07:00
Slava Pestov
703d89c8bd
Turn off the GenericSignatureBuilder
...
The Requirement Machine has been enabled in 'verify' mode for a while,
where we run both the GenericSignatureBuilder and Requirement Machine
minimization algorithm and compare the results, with the
GenericSignatureBuilder being used to emit diagnostics.
Now, it's time to flip the flags to 'enabled' mode, where the
GenericSignatureBuilder doesn't run at all, and the Requirement Machine
emits diagnostics. This finally allows us to realize the correctness
and performance gains from using the Requirement Machine.
See https://forums.swift.org/t/the-requirement-machine-a-new-generics-implementation-based-on-term-rewriting/55601/9
for details.
Correctness:
- https://bugs.swift.org/browse/SR-7353
- https://bugs.swift.org/browse/SR-9595
- https://bugs.swift.org/browse/SR-10532
- https://bugs.swift.org/browse/SR-10752
- https://bugs.swift.org/browse/SR-11100
- https://bugs.swift.org/browse/SR-11532
- https://bugs.swift.org/browse/SR-11997
- https://bugs.swift.org/browse/SR-12120
- https://bugs.swift.org/browse/SR-12736
- https://bugs.swift.org/browse/SR-12980
- https://bugs.swift.org/browse/SR-13018
- https://bugs.swift.org/browse/SR-13491
- https://bugs.swift.org/browse/SR-13502
- https://bugs.swift.org/browse/SR-14484
- https://bugs.swift.org/browse/SR-14485
- https://bugs.swift.org/browse/SR-14659
- https://bugs.swift.org/browse/SR-14776
- https://bugs.swift.org/browse/SR-14917
- https://bugs.swift.org/browse/SR-15009
- https://bugs.swift.org/browse/SR-15790
- https://bugs.swift.org/browse/SR-15920
- rdar://25065503
- rdar://39225307
- rdar://44590919
- rdar://45957015
- rdar://50169558
- rdar://51068593
- rdar://52921168
- rdar://54394068
- rdar://55758433
- rdar://58455439
- rdar://59132837
- rdar://62894047
- rdar://64953119
- rdar://65015626
- rdar://65558829
- rdar://68084643
- rdar://68376692
- rdar://75329340
- rdar://76646764
- rdar://77683844
- rdar://77794156
- rdar://78233378
- rdar://78481510
- rdar://78643612
- rdar://80820294
- rdar://81276358
- rdar://81425392
- rdar://83308672
- rdar://83373331
- rdar://83848546
- rdar://83955123
- rdar://88514540
- rdar://89641532
- rdar://90264856
- rdar://90343419
Performance:
- rdar://33654588
- rdar://47821930
- rdar://51908331
- rdar://59037195
- rdar://65131776
- rdar://73771235
- rdar://75188696
GSB crashes with no reduced test case that are likely fixed:
- https://bugs.swift.org/browse/SR-4872
- rdar://32144681
- rdar://42376632
- rdar://46270030
- rdar://47199993
- rdar://48648900
- rdar://49535930
- rdar://49712445
- rdar://49712637
- rdar://49713096
- rdar://49713107
- rdar://60334839
- rdar://66593156
- rdar://68982368
- rdar://76706682
- rdar://77794745
- rdar://84724541
2022-04-02 01:55:21 -04:00
Artem Chikin
aaee1c4bcf
Merge pull request #42140 from artemcm/EnableRegexLiteralFlag
...
Add support for `-enable-regex-literals` flag
2022-04-01 15:38:45 -07:00
Artem Chikin
b04ae26391
Add support for -enable-regex-literals flag
...
- Add driver and frontend option
- Add LangOptions entry
- Ensure driver propagates flag to frontends
- Add feature to `features.json`
Part of rdar://91119995
2022-04-01 12:14:28 -07:00
Slava Pestov
b90d584128
Merge pull request #42111 from slavapestov/rqm-abstract-signatures-enable
...
LangOptions: Change default for RequirementMachineAbstractSignatures from Verify to Enabled
2022-03-31 21:24:20 -04:00
Xi Ge
91c4f17b35
Frontend: flip the default of whether importing SPI_AVAILABLE from clang
2022-03-31 09:43:13 -07:00
Slava Pestov
a852b58e6c
LangOptions: Change default for RequirementMachineAbstractSignatures from Verify to Enabled
...
We've only seen false positives from verification here, and this request
doesn't emit diagnostics.
2022-03-31 11:21:22 -04:00
Slava Pestov
132334cda9
RequirementMachine: Add debugging flag to disable re-using requirement machines
2022-03-27 11:54:28 -04:00
Slava Pestov
cdcc8ed8fc
RequirementMachine: Enable loop normalization by default
2022-03-26 22:12:12 -04:00
Anthony Latsis
38e48ac15d
TypeWitnessSystem: Disable by default
2022-03-25 08:45:54 +03:00