[5.1] Opaque result types SE-244 #24279
Parse opaque types.
93c757e2
AST: Represent OpaqueTypeDecls.
156e0251
Add an OpaqueTypeArchetypeType subclass.
31da95de
Sema: Infer the underlying type for opaque return types from function…
0abf052a
SILGen: Substitute away opaque types.
6483ab22
Support nested types on opaque archetypes (and maybe opened ones).
b054748c
Serialization: Serialize opaque types and their decls.
1abbde0c
IRGen: Substitute out opaque types when emitting associated types.
e9b064d0
Enable opaque result types.
fc010e6b
Respond to Slava's feedback
1aff37c7
Mangle opaque types without underlying types as ErrorType for now.
8b2f82d5
Remove ResilienceExpansion from substOpaqueTypes for now.
4a28dfc1
Sema: Don't allow properties with inferred types to infer opaque resu…
5c42961c
Add test for deserializing opaque types across modules
2152e0af
SILGen: Start supporting opaque result types resiliently.
a03a0083
Mangle opaque result types.
2eadce43
IRGen: Emit runtime calls to fetch opaque type metadata.
30eac3c4
IRGen: Use runtime calls to get opaque type metadata and conformances…
79675ad5
opaque descriptor wip
e0f9fd82
IRGen: Emit opaque type descriptors.
03648e65
Push the conformance accessor hack down into getTypeByMangledName.
0ef07dc5
IRGen: Inline helper into its last remaining use
7a97b4a2
IRGen: Extract GenKeyPath's emitWitnessTableRefString to be usable el…
6eb6d31b
fill in witness tables
0f1fd09c
change signature
4e0f1a66
runtime interface fixup irgen
c98eb468
Runtime: Implement entry points for opaque type support
b843be8c
Decode opaque types in the runtime demangler.
160375f1
add changelog entry for opaque types
f6cf9aa2
Switch __opaque to some, per the latest rev of the proposal
3e97c37a
update tests
4b6077d6
fix rdar://problem/49230987
8bde7b45
IRGen: Bind local metadata before emitting opaque type assoc type wit…
24e2293d
TBD: Include opaque type descriptors
3a242427
Parsable interface and type reconstruction support for opaque types.
92c20847
merge fixup
95ec05a8
Relax some assertions to allow opaque-type values at global scope in …
3d776bc7
Serialization: Handle reentrance while deserializing OpaqueTypeDecl. …
cffec133
Allow OpaqueTypeDecls to be (de)mangled as contexts, rdar://problem/4…
a53dd1ca
merge fixup
258533e5
Validate opaque return types for properties and subscripts.
6ae6fdbd
Check the underlying type of get-only computed properties with opaque…
16d0dd37
Serialize opaque return type of var/subscript decls.
ac74e59f
Visit var/subscript opaque return decls during IRGen/TBDGen.
dc9b907b
Track var/subscript opaque return decls for type reconstruction.
6500ef33
Demangler: Register substitution for opaque archetype manglings
40f2e489
Serialization: Cross-reference opaque return types by mangled name. r…
f5440448
MetadataLookup: Use extension's generic context for non-nominal exten…
ce800764
[Opaque result types] Fix mangling issues with opaque result types.
e3cbf770
jckarter
merged
8f0ae73e
into swift-5.1-branch 6 years ago
Assignees
No one assigned
Login to write a write a comment.
Login via GitHub