Commit Graph

3155 Commits

Author SHA1 Message Date
swift_jenkins
11db631637 Merge remote-tracking branch 'origin/main' into next 2022-03-25 05:40:43 -07:00
Anthony Latsis
38e48ac15d TypeWitnessSystem: Disable by default 2022-03-25 08:45:54 +03:00
swift_jenkins
f33b3a48de Merge remote-tracking branch 'origin/main' into next 2022-03-24 19:21:03 -07:00
Doug Gregor
c4e6e6d105 Eliminate the EnableExperimentalDistributed language option.
Nothing is using it because this feature is enabled by default.
2022-03-24 16:00:26 -07:00
swift_jenkins
34fd16dd5b Merge remote-tracking branch 'origin/main' into next 2022-03-22 22:00:54 -07:00
Evan Wilde
13c71c668d Merge pull request #40769 from etcwilde/ewilde/noasync-unavailability
SE-0340: `noasync` availability kind
2022-03-22 21:42:09 -07:00
swift_jenkins
a3c2da7556 Merge remote-tracking branch 'origin/main' into next 2022-03-22 18:01:09 -07:00
Slava Pestov
5c5d2eadf6 Merge pull request #41945 from slavapestov/rqm-split-concrete-equiv-class-improvements
RequirementMachine: Improve the 'split concrete equivalence classes' hack a bit
2022-03-22 20:59:07 -04:00
Richard Wei
335b766b25 [ResultBuilders] Enable SE-0348 buildPartialBlock by default.
Enables SE-0348 `buildPartialBlock` feature by default. The frontend flag is kept for compatibility with existing clients, but is now ineffective.

Also includes some improved error messages for invalid result builder call sites.
2022-03-22 16:26:50 -07:00
Evan Wilde
aa51bdf17a Add noasync availability kind to available attr
This patch adds the `noasync` availability kind to `@available`. The
spelling is `@available(*, noasync)`.
2022-03-22 15:12:51 -07:00
Slava Pestov
9ccdd15d58 RequirementMachine: Add upper bound on number of attempts at splitting concrete equivalence classes 2022-03-22 15:02:06 -04:00
swift_jenkins
99c01301af Merge remote-tracking branch 'origin/main' into next 2022-03-21 22:20:58 -07:00
Andrew Trick
406aa86d2e Merge pull request #41557 from atrick/addrlower-update
Update and reimplement AddressLowering pass (for SIL opaque values).
2022-03-21 22:15:06 -07:00
swift_jenkins
ad6219779f Merge remote-tracking branch 'origin/main' into next 2022-03-21 08:20:58 -07:00
Alex Lorenz
2e3aa87737 Revert "Revert "Merge pull request #41831 from hyp/unify-header""
This reverts commit 4c9582c295.
2022-03-19 13:36:28 -07:00
swift_jenkins
ebd711e594 Merge remote-tracking branch 'origin/main' into next 2022-03-18 14:40:29 -07:00
Slava Pestov
b93717cbae RequirementMachine: Enable flags directly in LangOptions
This enables requirement machine minimization for all tools (SourceKit, etc)
not just the frontend.
2022-03-18 15:19:57 -04:00
swift_jenkins
586a4e3e3f Merge remote-tracking branch 'origin/main' into next 2022-03-18 10:41:30 -07:00
Michael Gottesman
07e54bf641 Merge pull request #41890 from hyp/dev/unify-header
Revert "Merge pull request #41831 from hyp/unify-header"
2022-03-18 10:32:24 -07:00
Alex Lorenz
4c9582c295 Revert "Merge pull request #41831 from hyp/unify-header"
This reverts commit cd93d23bac, reversing
changes made to f9f5476e9a.
2022-03-18 10:03:07 -07:00
swift_jenkins
aeddce08c1 Merge remote-tracking branch 'origin/main' into next 2022-03-17 20:20:22 -07:00
Slava Pestov
e6d1ef9f6d Merge pull request #41868 from slavapestov/rqm-opaque-archetypes
RequirementMachine: Opaque archetype support (sort of)
2022-03-17 23:06:24 -04:00
swift_jenkins
41b21eb443 Merge remote-tracking branch 'origin/main' into next 2022-03-17 17:01:28 -07:00
Artem Chikin
9a9f796f9b Merge pull request #41844 from artemcm/TargetInfoCarefulJSON
Do not escape UNICODE when writing out target info.
2022-03-17 16:57:55 -07:00
Slava Pestov
2f727d6b47 RequirementMachine: Opaque archetype support (sort of)
Complete support is behind a flag, because it can result in a non-convergent
rewrite system if the opaque result type has a recursive conformance of its
own (eg, `some View` for SwiftUI's View protocol).

Without the flag, it's good enough for simple examples; you just can't have
a requirement that mentions a nested type of a type parameter equated to
the concrete type.

Fixes rdar://problem/88135291, https://bugs.swift.org/browse/SR-15983.
2022-03-17 17:45:59 -04:00
swift_jenkins
188047f500 Merge remote-tracking branch 'origin/main' into next 2022-03-17 14:20:55 -07:00
Alex Lorenz
cd93d23bac Merge pull request #41831 from hyp/unify-header
[cxx-interop] start emitting a unified header file for a Swift module
2022-03-17 14:04:57 -07:00
Alex Lorenz
9d52099d5b [cxx-interop] start to emitting a unified header file for a Swift module
This change removes the -emit-cxx-header option, and adds a new -emit-clang-header-path option instead. It's aliased to -emit-objc-header-path for now, but in the future, -emit-objc-header-path will alias to it. After this change Swift can start emitting a single header file that can be expose declarations to C, Objective-C, or C++. For now C++ interface is generated (for all public decls) only when -enable-cxx-interop flag is passed, but that behavior will change once  attribute is supported.
2022-03-17 10:34:47 -07:00
swift_jenkins
50ffd2f134 Merge remote-tracking branch 'origin/main' into next 2022-03-16 22:20:15 -07:00
Artem Chikin
57518b5894 Do not escape UNICODE when writing out target info.
Escaping unicode characters results in invalid JSON.

- Refactor writeEscaped routine into StringExtras

Resolves rdar://90108531
2022-03-16 15:30:21 -07:00
Robert Widmann
363954a416 Put Variadic Generics Behind a Flag 2022-03-16 14:22:03 -07:00
swift_jenkins
5ea632dcc8 Merge remote-tracking branch 'origin/main' into next 2022-03-15 21:40:37 -07:00
Alex Lorenz
683224acd4 Revert "Separate the C++ and Objective-C generated header output types."
This reverts commit c7a5049a28.
2022-03-15 17:00:51 -07:00
Evan Wilde
c34f7055f8 Detach enable-experimental-async-top-level flag
SE-0343 is approved so it's time to pull the feature out from behind the
experimental feature flag. This patch pulls it out and deprecates
passing the flag to the frontend so that we can pull it out entirely
eventually.
2022-03-15 16:07:03 -07:00
swift_jenkins
e1157303a0 Merge remote-tracking branch 'origin/main' into next 2022-03-15 13:40:57 -07:00
Pavel Yaskevich
5331e276d5 Merge pull request #41730 from xedin/se-0326-solve-pattern-bindings-via-conjunctions
[SE-0326] Re-enable multi-statement closure inference by default
2022-03-15 13:21:03 -07:00
swift_jenkins
946c2bf559 Merge remote-tracking branch 'origin/main' into next 2022-03-15 13:20:40 -07:00
Allan Shortlidge
b563dc0736 Frontend: Replace the abi magic value accepted by -target-min-inlining-version with a min magic value instead. The new value corresponds to the OS versions in which Swift was introduced. The introduction OS is a better floor for availability checking than the OS in which Swift became ABI stable because inlinable functions may reference clang declarations which have availability between Swift's introduction and ABI stability and framework developers ought to get diagnostics for unguarded use of those APIs in inlinable code. 2022-03-14 19:26:36 -07:00
swift_jenkins
75514b5691 Merge remote-tracking branch 'origin/main' into next 2022-03-11 16:59:54 -08:00
Konrad `ktoso` Malawski
13cc8b3157 [Distributed] Enable no-longer-experimental distributed by default 2022-03-11 22:14:49 +09:00
Andrew Trick
8a7e955b0d Move -enable-sil-opaque-value to SILOptions. 2022-03-09 17:18:15 -08:00
swift_jenkins
f6f290c8b5 Merge remote-tracking branch 'origin/main' into next 2022-03-09 08:41:04 -08:00
Pavel Yaskevich
5e4c964c36 [TypeChecker] SE-0326: Enable multi-statement closure inference by default 2022-03-08 21:37:40 -08:00
Slava Pestov
95f122f105 RequirementMachine: Add -enable-requirement-machine-loop-normalization flag 2022-03-08 22:47:22 -05:00
swift_jenkins
8fa3ac7286 Merge remote-tracking branch 'origin/main' into next 2022-03-07 17:41:10 -08:00
Allan Shortlidge
e25b822f7a Merge pull request #41673 from tshortli/inlining-availability-checking
Add -target-min-inlining-version to aid type checking for inlinable functions in resilient libraries
2022-03-07 17:30:59 -08:00
swift_jenkins
6fc0f9f481 Merge remote-tracking branch 'origin/main' into next 2022-03-04 19:01:05 -08:00
Evan Wilde
822097353b Check unavailable from async in interface file
We need to check the feature availability of _unavailableFromAsync
before it gets picked up in the swift interface file. This updates the
compiler to provide the necessary wrappings for that check.
2022-03-04 15:16:03 -08:00
Becca Royal-Gordon
bbcd980aff Add flag for minimum inlining version 2022-03-04 10:54:52 -08:00
swift_jenkins
68837151a9 Merge remote-tracking branch 'origin/main' into next 2022-03-03 19:00:58 -08:00