[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