eeckstein
98739a412a
Merge pull request #80543 from eeckstein/isolated-conformance-opt
...
CastOptimizer: handle isolated conformances
2025-04-06 10:59:51 +02:00
Anthony Latsis
5c190b9613
AST: Cut down on DescriptiveDeclKind usage in DiagnosticsSIL.def
2025-04-05 12:31:20 +01:00
Anthony Latsis
3c3dd54f39
AST: Cut down on DescriptiveDeclKind usage in DiagnosticsParse.def
2025-04-05 12:31:20 +01:00
Anthony Latsis
2d899d0e73
AST: Cut down on DescriptiveDeclKind usage in DiagnosticsCommon.def
2025-04-05 12:31:20 +01:00
Anthony Latsis
cdb2aaccfd
AST: Cut down on DescriptiveDeclKind usage in DiagnosticsClangImporter.def
2025-04-05 12:31:20 +01:00
Anthony Latsis
a0930dec31
AST: Cut down on DescriptiveDeclKind usage in DiagnosticsSema.def
2025-04-05 12:31:19 +01:00
Anthony Latsis
08d46d2542
Merge pull request #80473 from AnthonyLatsis/diag_type_attr
...
DiagnosticEngine: Support `TypeAttribute` diagnostic arguments
2025-04-05 12:25:45 +01:00
Hamish Knight
ccdff3259c
Merge pull request #80546 from hamishknight/mangle-less
...
[Mangler] Avoid mangling local discriminator for attached macros
2025-04-05 10:14:49 +01:00
Erik Eckstein
e18bedaa87
CastOptimizer: pass the SIL function to the cast-classify APIs, instead of the module decl
...
NFC
2025-04-05 09:00:30 +02:00
Erik Eckstein
9df1039379
SIL: add matchesActorIsolation
...
Returns true if the conformance is not isolated or if its isolation matches the isolation `inFunction`.
2025-04-05 09:00:30 +02:00
nate-chandler
0063af561f
Merge pull request #80520 from nate-chandler/general-coro/20250403/1
...
[CoroutineAccessors] Use async bit in descriptors.
2025-04-04 15:47:19 -07:00
Hamish Knight
da1d37de26
[Mangler] Avoid mangling local discriminator for attached macros
...
If we're using the macro-specific local discriminator, we need to
make sure we avoid mangling the regular local discriminator in
`appendDeclName`, since that could prematurely kick local discriminator
assignment before type-checking has finished.
rdar://143834482
2025-04-04 19:41:04 +01:00
Artem Chikin
6eaa07a880
Merge pull request #80540 from swiftlang/revert-80452-lifetimeinout
...
Revert "Add support for inout lifetime dependence"
2025-04-04 09:31:46 -07:00
Joe Groff
b4fb5296f9
Merge pull request #80519 from jckarter/canonicalize-integer-generic-parameters
...
Canonicalize different spellings of the same integer generic parameter.
2025-04-04 09:25:18 -07:00
Pavel Yaskevich
8bf8c24bf9
Merge pull request #80503 from xedin/extensible-attr
...
[AST/Sema] Add `@extensible` attribute on `enum` declarations
2025-04-04 09:17:56 -07:00
Artem Chikin
39e1791b67
Revert "Add support for inout lifetime dependence"
2025-04-04 09:00:09 -07:00
Slava Pestov
9148ae32bd
Merge pull request #80482 from slavapestov/abstract-conformance-cleanup
...
AST: Simplify ProtocolConformanceRef operations a little bit
2025-04-04 10:37:49 -04:00
Meghana Gupta
50ea777936
Merge pull request #80452 from meg-gupta/lifetimeinout
...
Add support for inout lifetime dependence
2025-04-04 02:04:53 -07:00
eeckstein
253f730f92
Merge pull request #80506 from eeckstein/fix-simplify-alloc-stack
...
Fix two bugs in alloc_stack simplification
2025-04-04 07:21:18 +02:00
Doug Gregor
a452a41440
Merge pull request #80508 from 3405691582/bootstrap
...
Fix the bootstrap build.
2025-04-03 21:23:59 -07:00
Nate Chandler
66ca0d8d4b
[CoroutineAccessors] Use async bit in descriptors.
...
To facilitate back deployment, make use of the fact that the async bit
has up to now never been set for read and modify accessors and claim
that set bit to indicate that it is a callee-allocated coroutine. This
has the virtue of being completely back deployable because like async
function pointers coro function pointers must be auth'd and signed as
data.
2025-04-03 19:49:44 -07:00
Joe Groff
5a09c0b4e0
Canonicalize different spellings of the same integer generic parameter.
...
`Foo<256>`, `Foo<2_56>`, and `Foo<0x100>` are all canonically the same type.
Fixes rdar://144736386.
2025-04-03 18:56:00 -07:00
Meghana Gupta
493f0b782e
Introduce InoutLifetimeDependence feature
2025-04-03 17:32:09 -07:00
Meghana Gupta
0d3d89ae22
[NFC] Update diagnostic msg
2025-04-03 17:22:13 -07:00
Meghana Gupta
d87a2b2ada
Rename ParsedLifetimeDependenceKind::Scope -> ParsedLifetimeDependenceKind::Borrow
2025-04-03 17:22:13 -07:00
Meghana Gupta
cfacd25df4
Add support for @lifetime(&arg)
2025-04-03 17:22:06 -07:00
Pavel Yaskevich
bf19481ab6
[Frontend/Serialization] Remove ExtensibleEnums experimental flag
...
For now the semantics provided by `@extensible` keyword on per-enum
basis. We might return this as an upcoming feature in the future with
a way to opt-out.
2025-04-03 16:30:23 -07:00
Pavel Yaskevich
a0ae93d3a8
[AST/Sema] Add @extensible attribute on enum declarations
...
This attribute controls whether cross-module access to the declaration
needs `@unknown default:` because it's allowed to gain new cases even
if the module is non-resilient.
2025-04-03 16:30:19 -07:00
Augusto Noronha
cac0abbfde
Merge pull request #80380 from augusto2112/fix-opaque
...
[DebugInfo] Use underlying type of global variables with opaque type
2025-04-03 15:39:11 -07:00
Slava Pestov
e475b08011
AST: Remove AssociatedType
2025-04-03 17:35:35 -04:00
Slava Pestov
cea72e35a9
AST: Remove ProtocolConformanceRef::getAssociatedType()
2025-04-03 17:35:34 -04:00
Slava Pestov
a06a4213ef
AST: Remove origType parameter from substOpaqueTypesWithUnderlyingTypes()
2025-04-03 17:35:34 -04:00
Slava Pestov
ea05708716
AST: Eliminate GenericEnvironment::mapConformanceRefIntoContext()
2025-04-03 17:35:34 -04:00
Slava Pestov
ec0dfc8716
AST: Add new form of SubstitutionMap::getProtocolSubstitutions()
2025-04-03 17:35:33 -04:00
Slava Pestov
0616333129
AST: Remove origType parameter from ProtocolConformanceRef::getAssociatedType()
2025-04-03 17:35:33 -04:00
Slava Pestov
a209ff8869
AST: Remove origType parameter from ProtocolConformanceRef::subst()
2025-04-03 17:35:33 -04:00
Slava Pestov
7399eeb602
AST: Remove type parameter from ProtocolConformanceRef::getWitnessByName()
2025-04-03 17:35:33 -04:00
Slava Pestov
00766f7deb
AST: Remove type parameter from ProtocolConformanceRef::getTypeWitnessByName()
2025-04-03 17:35:32 -04:00
Slava Pestov
91503710bc
AST: Remove origType parameter from ProtocolConformanceRef::getTypeWitness()
2025-04-03 17:35:32 -04:00
Slava Pestov
8b1514cfd7
AST: Remove origType parameter from ProtocolConformanceRef::getAssociatedConformance()
2025-04-03 17:35:32 -04:00
Erik Eckstein
f4955978d8
SIL: fix AllocStackInst.isLexical
...
If wrongly returned false.
2025-04-03 23:04:49 +02:00
3405691582
782ef64931
Fix the bootstrap build.
...
Otherwise, referring to swift_ASTGen_bridgedSwiftClosureCall_1 results in
a linker error on a bootstrap build (i.e., without Swift host tools
available).
2025-04-03 16:40:47 -04:00
Doug Gregor
e49afc8797
Merge pull request #80389 from 3405691582/nobtcfi
...
Add a build flavor to opt-out of BTCFI on OpenBSD.
2025-04-03 13:29:04 -07:00
Hamish Knight
918d4b54cf
Merge pull request #80461 from hamishknight/in-sequence
...
[ASTScope] Allow `try` in unfolded sequence to cover following elements
2025-04-03 20:23:51 +01:00
eeckstein
d1a04056ad
Merge pull request #80487 from eeckstein/sil-builder-assert
...
SIL: add some asserts to catch broken enum ASTs
2025-04-03 12:56:24 +02:00
Erik Eckstein
0b9f5eb86c
SIL: add some asserts to catch broken enum ASTs
2025-04-03 08:14:42 +02:00
Doug Gregor
daf8d97616
Merge pull request #80484 from DougGregor/isolated-conformances-fix-and-docs
...
[SE-0470] Ensure that one cannot form an isolated conformance when Self: Sendable
2025-04-02 23:00:47 -07:00
Allan Shortlidge
0c5fd6a301
Merge pull request #80481 from tshortli/require-explicit-availability-extension-with-spi
...
Sema: Fix a regression in `-require-explicit-availability` diagnostics
2025-04-02 21:57:09 -07:00
nate-chandler
6647ba5751
Merge pull request #80469 from nate-chandler/bug/20250402/1
...
[IRGen] Fix LinkEntity::isTypeKind.
2025-04-02 20:10:29 -07:00
Doug Gregor
1c5372858b
[SE-0470] Ensure that one cannot form an isolated conformance when Self: Sendable
...
While here, fix some issues around implied isolated conformances (we
could get into an inconsistent state). Also provide an educational
note discussing isolated conformances and the kinds of errors one can
see when they are used from outside of their isolation domain.
2025-04-02 18:19:09 -07:00