@@ -60,16 +60,19 @@ final public class Function : CustomStringConvertible, HasShortDescription, Hash
60
60
61
61
public var hasLoweredAddresses : Bool { bridged. hasLoweredAddresses ( ) }
62
62
63
- /// The lowered function type in the expansion context of self.
63
+ public var loweredFunctionType : CanonicalType {
64
+ CanonicalType ( bridged: bridged. getLoweredFunctionType ( ) )
65
+ }
66
+
67
+ /// The lowered function type, with opaque archetypes erased.
64
68
///
65
- /// Always expanding a function type means that the opaque result types
66
- /// have the correct generic signature. For example:
69
+ /// For example:
67
70
/// @substituted <τ_0_0> () -> @out τ_0_0 for <some P>
68
71
/// is lowered to this inside its module:
69
72
/// @substituted <τ_0_0> () -> @out τ_0_0 for <ActualResultType>
70
73
/// and this outside its module
71
74
/// @substituted <τ_0_0> () -> @out τ_0_0 for <some P>
72
- public var loweredFunctionType : CanonicalType {
75
+ public var loweredFunctionTypeInContext : CanonicalType {
73
76
CanonicalType ( bridged: bridged. getLoweredFunctionTypeInContext ( ) )
74
77
}
75
78
@@ -354,7 +357,7 @@ public func != (lhs: Function, rhs: Function) -> Bool { lhs !== rhs }
354
357
// Function conventions.
355
358
extension Function {
356
359
public var convention : FunctionConvention {
357
- FunctionConvention ( for: loweredFunctionType , in: self )
360
+ FunctionConvention ( for: loweredFunctionTypeInContext , in: self )
358
361
}
359
362
360
363
public var argumentConventions : ArgumentConventions {
0 commit comments