diff --git a/stdlib/public/core/Comparable.swift b/stdlib/public/core/Comparable.swift index f519cadea2fcb..4b8898147d329 100644 --- a/stdlib/public/core/Comparable.swift +++ b/stdlib/public/core/Comparable.swift @@ -135,7 +135,7 @@ /// (`FloatingPoint.nan`) compares as neither less than, greater than, nor /// equal to any normal floating-point value. Exceptional values need not /// take part in the strict total order. -public protocol Comparable: Equatable { +public protocol Comparable: Equatable, ~Copyable { /// Returns a Boolean value indicating whether the value of the first /// argument is less than that of the second argument. /// @@ -146,7 +146,7 @@ public protocol Comparable: Equatable { /// - Parameters: /// - lhs: A value to compare. /// - rhs: Another value to compare. - static func < (lhs: Self, rhs: Self) -> Bool + static func < (lhs: borrowing Self, rhs: borrowing Self) -> Bool /// Returns a Boolean value indicating whether the value of the first /// argument is less than or equal to that of the second argument. @@ -154,7 +154,7 @@ public protocol Comparable: Equatable { /// - Parameters: /// - lhs: A value to compare. /// - rhs: Another value to compare. - static func <= (lhs: Self, rhs: Self) -> Bool + static func <= (lhs: borrowing Self, rhs: borrowing Self) -> Bool /// Returns a Boolean value indicating whether the value of the first /// argument is greater than or equal to that of the second argument. @@ -162,7 +162,7 @@ public protocol Comparable: Equatable { /// - Parameters: /// - lhs: A value to compare. /// - rhs: Another value to compare. - static func >= (lhs: Self, rhs: Self) -> Bool + static func >= (lhs: borrowing Self, rhs: borrowing Self) -> Bool /// Returns a Boolean value indicating whether the value of the first /// argument is greater than that of the second argument. @@ -170,10 +170,10 @@ public protocol Comparable: Equatable { /// - Parameters: /// - lhs: A value to compare. /// - rhs: Another value to compare. - static func > (lhs: Self, rhs: Self) -> Bool + static func > (lhs: borrowing Self, rhs: borrowing Self) -> Bool } -extension Comparable { +extension Comparable where Self: ~Copyable { /// Returns a Boolean value indicating whether the value of the first argument /// is greater than that of the second argument. /// @@ -184,7 +184,8 @@ extension Comparable { /// - lhs: A value to compare. /// - rhs: Another value to compare. @inlinable - public static func > (lhs: Self, rhs: Self) -> Bool { + @_preInverseGenerics + public static func > (lhs: borrowing Self, rhs: borrowing Self) -> Bool { return rhs < lhs } @@ -198,7 +199,8 @@ extension Comparable { /// - lhs: A value to compare. /// - rhs: Another value to compare. @inlinable - public static func <= (lhs: Self, rhs: Self) -> Bool { + @_preInverseGenerics + public static func <= (lhs: borrowing Self, rhs: borrowing Self) -> Bool { return !(rhs < lhs) } @@ -214,7 +216,8 @@ extension Comparable { /// - Returns: `true` if `lhs` is greater than or equal to `rhs`; otherwise, /// `false`. @inlinable - public static func >= (lhs: Self, rhs: Self) -> Bool { + @_preInverseGenerics + public static func >= (lhs: borrowing Self, rhs: borrowing Self) -> Bool { return !(lhs < rhs) } } diff --git a/stdlib/public/core/Equatable.swift b/stdlib/public/core/Equatable.swift index ae634bc4e3cf0..0692b931f1a18 100644 --- a/stdlib/public/core/Equatable.swift +++ b/stdlib/public/core/Equatable.swift @@ -164,7 +164,7 @@ /// let c = a /// print(c === a, c === b, separator: ", ") /// // Prints "true, false" -public protocol Equatable { +public protocol Equatable: ~Copyable { /// Returns a Boolean value indicating whether two values are equal. /// /// Equality is the inverse of inequality. For any values `a` and `b`, @@ -173,10 +173,10 @@ public protocol Equatable { /// - Parameters: /// - lhs: A value to compare. /// - rhs: Another value to compare. - static func == (lhs: Self, rhs: Self) -> Bool + static func == (lhs: borrowing Self, rhs: borrowing Self) -> Bool } -extension Equatable { +extension Equatable where Self: ~Copyable { /// Returns a Boolean value indicating whether two values are not equal. /// /// Inequality is the inverse of equality. For any values `a` and `b`, `a != b` @@ -190,8 +190,9 @@ extension Equatable { /// - rhs: Another value to compare. // transparent because sometimes types that use this generate compile-time // warnings, e.g. that an expression always evaluates to true + @_preInverseGenerics @_transparent - public static func != (lhs: Self, rhs: Self) -> Bool { + public static func != (lhs: borrowing Self, rhs: borrowing Self) -> Bool { return !(lhs == rhs) } } diff --git a/stdlib/public/core/Hashable.swift b/stdlib/public/core/Hashable.swift index 5dff1f30685e5..386a20e866ff4 100644 --- a/stdlib/public/core/Hashable.swift +++ b/stdlib/public/core/Hashable.swift @@ -101,7 +101,7 @@ /// print("New tap detected at (\(nextTap.x), \(nextTap.y)).") /// } /// // Prints "New tap detected at (0, 1).") -public protocol Hashable: Equatable { +public protocol Hashable: Equatable & ~Copyable { /// The hash value. /// /// Hash values are not guaranteed to be equal across different executions of @@ -135,9 +135,10 @@ public protocol Hashable: Equatable { func _rawHashValue(seed: Int) -> Int } -extension Hashable { +extension Hashable where Self: ~Copyable { @inlinable @inline(__always) + @_preInverseGenerics public func _rawHashValue(seed: Int) -> Int { var hasher = Hasher(_seed: seed) hasher.combine(self) @@ -148,7 +149,8 @@ extension Hashable { // Called by synthesized `hashValue` implementations. @inlinable @inline(__always) -public func _hashValue(for value: H) -> Int { +@_preInverseGenerics +public func _hashValue(for value: borrowing H) -> Int { return value._rawHashValue(seed: 0) } diff --git a/stdlib/public/core/Hasher.swift b/stdlib/public/core/Hasher.swift index f7650baf192f9..5972fd25c1df9 100644 --- a/stdlib/public/core/Hasher.swift +++ b/stdlib/public/core/Hasher.swift @@ -350,7 +350,8 @@ public struct Hasher { /// - Parameter value: A value to add to the hasher. @inlinable @inline(__always) - public mutating func combine(_ value: H) { + @_preInverseGenerics + public mutating func combine(_ value: borrowing H) { value.hash(into: &self) } diff --git a/stdlib/public/core/Optional.swift b/stdlib/public/core/Optional.swift index f7614db294703..a072ad652d31c 100644 --- a/stdlib/public/core/Optional.swift +++ b/stdlib/public/core/Optional.swift @@ -522,7 +522,8 @@ func _diagnoseUnexpectedNilOptional( } } -extension Optional: Equatable where Wrapped: Equatable { +@_preInverseGenerics +extension Optional: Equatable where Wrapped: Equatable & ~Copyable { /// Returns a Boolean value indicating whether two optional instances are /// equal. /// @@ -568,25 +569,32 @@ extension Optional: Equatable where Wrapped: Equatable { /// - lhs: An optional value to compare. /// - rhs: Another optional value to compare. @_transparent - public static func ==(lhs: Wrapped?, rhs: Wrapped?) -> Bool { - switch (lhs, rhs) { - case let (l?, r?): - return l == r - case (nil, nil): - return true - default: - return false + @_preInverseGenerics + public static func ==(lhs: borrowing Wrapped?, rhs: borrowing Wrapped?) -> Bool { + switch lhs { + case let l?: + switch rhs { + case let r?: l == r + case nil: false + } + case nil: + switch rhs { + case _?: false + case nil: true + } } } } -extension Optional: Hashable where Wrapped: Hashable { +@_preInverseGenerics +extension Optional: Hashable where Wrapped: Hashable & ~Copyable { /// Hashes the essential components of this value by feeding them into the /// given hasher. /// /// - Parameter hasher: The hasher to use when combining the components /// of this instance. @inlinable + @_preInverseGenerics public func hash(into hasher: inout Hasher) { switch self { case .none: diff --git a/stdlib/public/core/OutputStream.swift b/stdlib/public/core/OutputStream.swift index 37ee91263b2fa..3ddcbf9d728b9 100644 --- a/stdlib/public/core/OutputStream.swift +++ b/stdlib/public/core/OutputStream.swift @@ -99,7 +99,7 @@ extension TextOutputStream { /// To add `TextOutputStreamable` conformance to a custom type, implement the /// required `write(to:)` method. Call the given output stream's `write(_:)` /// method in your implementation. -public protocol TextOutputStreamable { +public protocol TextOutputStreamable: ~Copyable { /// Writes a textual representation of this instance into the given output /// stream. func write(to target: inout Target) @@ -147,7 +147,7 @@ public protocol TextOutputStreamable { /// /// print(p) /// // Prints "(21, 30)" -public protocol CustomStringConvertible { +public protocol CustomStringConvertible: ~Copyable { /// A textual representation of this instance. /// /// Calling this property directly is discouraged. Instead, convert an @@ -182,7 +182,7 @@ public protocol CustomStringConvertible { /// The description property of a conforming type must be a value-preserving /// representation of the original value. As such, it should be possible to /// re-create an instance from its string representation. -public protocol LosslessStringConvertible: CustomStringConvertible { +public protocol LosslessStringConvertible: CustomStringConvertible, ~Copyable { /// Instantiates an instance of the conforming type from a string /// representation. init?(_ description: String) @@ -239,7 +239,7 @@ public protocol LosslessStringConvertible: CustomStringConvertible { /// /// print(String(reflecting: p)) /// // Prints "(21, 30)" -public protocol CustomDebugStringConvertible { +public protocol CustomDebugStringConvertible: ~Copyable { /// A textual representation of this instance, suitable for debugging. /// /// Calling this property directly is discouraged. Instead, convert an diff --git a/stdlib/public/core/Result.swift b/stdlib/public/core/Result.swift index 4d5c8fc58c6ff..1ea9d1415f3aa 100644 --- a/stdlib/public/core/Result.swift +++ b/stdlib/public/core/Result.swift @@ -27,7 +27,24 @@ extension Result: Escapable where Success: Escapable & ~Copyable {} extension Result: Sendable where Success: Sendable & ~Copyable & ~Escapable {} -extension Result: Equatable where Success: Equatable, Failure: Equatable {} +@_preInverseGenerics +extension Result: Equatable where Success: Equatable & ~Copyable, Failure: Equatable { + @_preInverseGenerics + public static func ==(lhs: borrowing Self, rhs: borrowing Self) -> Bool { + switch lhs { + case let .success(l): + switch rhs { + case let .success(r): l == r + case .failure: false + } + case let .failure(l): + switch rhs { + case .success: false + case let .failure(r): l == r + } + } + } +} extension Result: Hashable where Success: Hashable, Failure: Hashable {} diff --git a/stdlib/public/core/StringInterpolation.swift b/stdlib/public/core/StringInterpolation.swift index 62a2d492aa1bf..5c9132239af99 100644 --- a/stdlib/public/core/StringInterpolation.swift +++ b/stdlib/public/core/StringInterpolation.swift @@ -105,8 +105,9 @@ public struct DefaultStringInterpolation: StringInterpolationProtocol, Sendable /// print(message) /// // Prints "If one cookie costs 2 dollars, 3 cookies cost 6 dollars." @inlinable - public mutating func appendInterpolation(_ value: T) - where T: TextOutputStreamable, T: CustomStringConvertible + @_preInverseGenerics + public mutating func appendInterpolation(_ value: borrowing T) + where T: TextOutputStreamable, T: CustomStringConvertible, T: ~Copyable { value.write(to: &self) } @@ -127,8 +128,9 @@ public struct DefaultStringInterpolation: StringInterpolationProtocol, Sendable /// print(message) /// // Prints "If one cookie costs 2 dollars, 3 cookies cost 6 dollars." @inlinable - public mutating func appendInterpolation(_ value: T) - where T: TextOutputStreamable + @_preInverseGenerics + public mutating func appendInterpolation(_ value: borrowing T) + where T: TextOutputStreamable & ~Copyable { value.write(to: &self) } @@ -151,8 +153,9 @@ public struct DefaultStringInterpolation: StringInterpolationProtocol, Sendable /// print(message) /// // Prints "If one cookie costs 2 dollars, 3 cookies cost 6 dollars." @inlinable - public mutating func appendInterpolation(_ value: T) - where T: CustomStringConvertible + @_preInverseGenerics + public mutating func appendInterpolation(_ value: borrowing T) + where T: CustomStringConvertible, T: ~Copyable { value.description.write(to: &self) } @@ -175,7 +178,7 @@ public struct DefaultStringInterpolation: StringInterpolationProtocol, Sendable /// print(message) /// // Prints "If one cookie costs 2 dollars, 3 cookies cost 6 dollars." @inlinable - public mutating func appendInterpolation(_ value: T) { + public mutating func appendInterpolation(_ value: borrowing T) { #if !$Embedded _print_unlocked(value, &self) #else @@ -217,13 +220,15 @@ extension DefaultStringInterpolation { /// - value: The value to include in a string interpolation, if non-`nil`. /// - default: The string to include if `value` is `nil`. @_alwaysEmitIntoClient + @_preInverseGenerics public mutating func appendInterpolation( - _ value: T?, + _ value: borrowing T?, default: @autoclosure () -> some StringProtocol - ) where T: TextOutputStreamable, T: CustomStringConvertible { - if let value { + ) where T: TextOutputStreamable, T: CustomStringConvertible, T: ~Copyable { + switch value { + case let value?: self.appendInterpolation(value) - } else { + case nil: self.appendInterpolation(`default`()) } } @@ -247,13 +252,15 @@ extension DefaultStringInterpolation { /// - value: The value to include in a string interpolation, if non-`nil`. /// - default: The string to include if `value` is `nil`. @_alwaysEmitIntoClient + @_preInverseGenerics public mutating func appendInterpolation( - _ value: T?, + _ value: borrowing T?, default: @autoclosure () -> some StringProtocol - ) where T: TextOutputStreamable { - if let value { + ) where T: TextOutputStreamable & ~Copyable { + switch value { + case let value?: self.appendInterpolation(value) - } else { + case nil: self.appendInterpolation(`default`()) } } @@ -277,13 +284,15 @@ extension DefaultStringInterpolation { /// - value: The value to include in a string interpolation, if non-`nil`. /// - default: The string to include if `value` is `nil`. @_alwaysEmitIntoClient + @_preInverseGenerics public mutating func appendInterpolation( - _ value: T?, + _ value: borrowing T?, default: @autoclosure () -> some StringProtocol - ) where T: CustomStringConvertible { - if let value { + ) where T: CustomStringConvertible, T: ~Copyable { + switch value { + case let value?: self.appendInterpolation(value) - } else { + case nil: self.appendInterpolation(`default`()) } } @@ -311,9 +320,10 @@ extension DefaultStringInterpolation { _ value: T?, default: @autoclosure () -> some StringProtocol ) { - if let value { + switch value { + case let value?: self.appendInterpolation(value) - } else { + case nil: self.appendInterpolation(`default`()) } } diff --git a/test/Concurrency/member_operator_adjustment.swift b/test/Concurrency/member_operator_adjustment.swift index 98a898a48792f..1849c2afa0e7b 100644 --- a/test/Concurrency/member_operator_adjustment.swift +++ b/test/Concurrency/member_operator_adjustment.swift @@ -2,6 +2,6 @@ // CHECK: (func_decl decl_context={{.*}} range={{.*}} "test(v:)" func test(v: T) { - // CHECK: (function_conversion_expr implicit type="@Sendable (T.Type) -> (T, T) -> Bool" + // CHECK: (function_conversion_expr implicit type="@Sendable (T.Type) -> (borrowing T, borrowing T) -> Bool" _ = v == v } diff --git a/test/Constraints/anyhashable_and_operator_filtering.swift b/test/Constraints/anyhashable_and_operator_filtering.swift index 0c7e1a07cc109..c23a360b78a60 100644 --- a/test/Constraints/anyhashable_and_operator_filtering.swift +++ b/test/Constraints/anyhashable_and_operator_filtering.swift @@ -26,5 +26,5 @@ func test(arr: [any P]) { // CHECK: sil private [ossa] @$s34anyhashable_and_operator_filtering4test3arrySayAA1P_pG_tFyAaD_pXEfU_ // CHECK: [[LHS_ARG:%.*]] = alloc_stack $E // CHECK: [[RHS_ARG:%.*]] = alloc_stack $E -// CHECK: [[GENERIC_OP:%.*]] = witness_method $E, #Equatable."==" : (Self.Type) -> (Self, Self) -> Bool +// CHECK: [[GENERIC_OP:%.*]] = witness_method $E, #Equatable."==" : (Self.Type) -> (borrowing Self, borrowing Self) -> Bool // CHECK-NEXT: apply [[GENERIC_OP]]([[LHS_ARG]], [[RHS_ARG]], {{.*}}) diff --git a/test/Constraints/diagnostics.swift b/test/Constraints/diagnostics.swift index 2f20663e5a060..cab04e1851338 100644 --- a/test/Constraints/diagnostics.swift +++ b/test/Constraints/diagnostics.swift @@ -1470,14 +1470,12 @@ func testUnwrapFixIts(x: Int?) throws { // expected-note@-2 {{force-unwrap using '!' to abort execution if the optional value contains 'nil'}} {{11-11=!}} foo(y: x ?? 0) - let _ = x < 2 // expected-error {{value of optional type 'Int?' must be unwrapped to a value of type 'Int'}} - // expected-note@-1 {{coalesce using '??' to provide a default when the optional value contains 'nil'}} {{12-12= ?? <#default value#>}} - // expected-note@-2 {{force-unwrap using '!' to abort execution if the optional value contains 'nil'}} {{12-12=!}} + let _ = x < 2 // expected-error {{binary operator '<' cannot be applied to operands of type 'Int?' and 'Int'}} + // expected-note@-1 {{overloads for '<' exist with these partially matching parameter lists: (Int, Int)}} let _ = x ?? 0 < 2 - let _ = 2 < x // expected-error {{value of optional type 'Int?' must be unwrapped to a value of type 'Int'}} - // expected-note@-1 {{coalesce using '??' to provide a default when the optional value contains 'nil'}} {{16-16= ?? <#default value#>}} - // expected-note@-2 {{force-unwrap using '!' to abort execution if the optional value contains 'nil'}} {{16-16=!}} + let _ = 2 < x // expected-error {{binary operator '<' cannot be applied to operands of type 'Int' and 'Int?'}} + // expected-note@-1 {{overloads for '<' exist with these partially matching parameter lists: (Int, Int)}} let _ = 2 < x ?? 0 let _: Int = (.optionalIntMember) // expected-error {{value of optional type 'Int?' must be unwrapped to a value of type 'Int'}} @@ -1495,9 +1493,8 @@ func testUnwrapFixIts(x: Int?) throws { // expected-note@-2 {{force-unwrap using '!' to abort execution if the optional value contains 'nil'}} {{36-36=!}} let _ = try (.optionalThrowsMember ?? 0) + 1 - let _ = .optionalIntMember?.bitWidth > 0 // expected-error {{value of optional type 'Int?' must be unwrapped to a value of type 'Int'}} - // expected-note@-1 {{coalesce using '??' to provide a default when the optional value contains 'nil'}} {{39-39= ?? <#default value#>}} - // expected-note@-2 {{force-unwrap using '!' to abort execution if the optional value contains 'nil'}} {{11-11=(}} {{39-39=)!}} + let _ = .optionalIntMember?.bitWidth > 0 // expected-error {{binary operator '>' cannot be applied to operands of type 'Int?' and 'Int'}} + // expected-note@-1 {{overloads for '>' exist with these partially matching parameter lists: (Int, Int)}} let _ = (.optionalIntMember?.bitWidth)! > 0 let _ = .optionalIntMember?.bitWidth ?? 0 > 0 diff --git a/test/Constraints/rdar158063151.swift b/test/Constraints/rdar158063151.swift index 36b6a301420de..42b51ff059056 100644 --- a/test/Constraints/rdar158063151.swift +++ b/test/Constraints/rdar158063151.swift @@ -8,7 +8,7 @@ struct Value: Equatable, ExpressibleByNilLiteral { } // CHECK-LABEL: sil hidden [ossa] @$s13rdar1580631514test1vyAA5ValueV_tF : $@convention(thin) (Value) -> () -// CHECK: [[EQUALS_REF:%.*]] = witness_method $Value, #Equatable."==" : (Self.Type) -> (Self, Self) -> Bool +// CHECK: [[EQUALS_REF:%.*]] = witness_method $Value, #Equatable."==" : (Self.Type) -> (borrowing Self, borrowing Self) -> Bool // CHECK-NEXT: apply [[EQUALS_REF]]({{.*}}) func test(v: Value) { _ = v == nil diff --git a/test/Generics/inverse_copyable_requirement.swift b/test/Generics/inverse_copyable_requirement.swift index 35806a7a60eec..f64909147e502 100644 --- a/test/Generics/inverse_copyable_requirement.swift +++ b/test/Generics/inverse_copyable_requirement.swift @@ -232,7 +232,7 @@ func checkCasting(_ b: any Box, _ mo: borrowing MO, _ a: Any) { // the stdlib right now is not yet being compiled with NoncopyableGenerics func checkStdlibTypes(_ mo: borrowing MO) { _ = "\(mo)" // expected-error {{no exact matches in call to instance method 'appendInterpolation'}} - let _: String = String(describing: mo) // expected-error {{no exact matches in call to initializer}} + let _: String = String(describing: mo) // expected-error {{initializer 'init(describing:)' requires that 'MO' conform to 'Copyable'}} let _: [MO] = // expected-error {{type 'MO' does not conform to protocol 'Copyable'}} [MO(), MO()] diff --git a/test/Generics/tuple-conformances.swift b/test/Generics/tuple-conformances.swift index 2982b35f33572..26fad1ffce05b 100644 --- a/test/Generics/tuple-conformances.swift +++ b/test/Generics/tuple-conformances.swift @@ -93,7 +93,37 @@ func useConformance() { //// -extension Tuple: Equatable where repeat each Element: Equatable { + +// Tuples cannot yet have conformances conditional on more than one thing, +// and ~Copyable packs aren't yet supported, so redefining these protocols +// as copyable-only versions + +public protocol CopyableEquatable { + static func ==(lhs: Self, rhs: Self) -> Bool +} + +public protocol CopyableComparable: CopyableEquatable { + static func <(lhs: Self, rhs: Self) -> Bool +} + +public protocol CopyableHashable: CopyableEquatable { + func hash(into hasher: inout Hasher) +} + +public extension CopyableEquatable { + static func !=(lhs: Self, rhs: Self) -> Bool { + !(lhs == rhs) + } +} + +extension CopyableComparable { + static func >(lhs: Self, rhs: Self) -> Bool { + !(lhs > rhs) && lhs != rhs + } +} + + +extension Tuple: CopyableEquatable where repeat each Element: CopyableEquatable { // FIXME: Hack @_disfavoredOverload public static func ==(lhs: Self, rhs: Self) -> Bool { @@ -104,7 +134,7 @@ extension Tuple: Equatable where repeat each Element: Equatable { } } -extension Tuple: Hashable where repeat each Element: Hashable { +extension Tuple: CopyableHashable where repeat each Element: CopyableHashable { public func hash(into hasher: inout Hasher) { for elt in repeat each self { elt.hash(into: &hasher) @@ -112,7 +142,7 @@ extension Tuple: Hashable where repeat each Element: Hashable { } } -extension Tuple: Comparable where repeat each Element: Comparable { +extension Tuple: CopyableComparable where repeat each Element: CopyableComparable { // FIXME: Hack @_disfavoredOverload public static func <(lhs: Self, rhs: Self) -> Bool { diff --git a/test/IRGen/async/run-call-genericEquatable-x2-to-bool.sil b/test/IRGen/async/run-call-genericEquatable-x2-to-bool.sil index ec902f28f909a..f9f63071616b6 100644 --- a/test/IRGen/async/run-call-genericEquatable-x2-to-bool.sil +++ b/test/IRGen/async/run-call-genericEquatable-x2-to-bool.sil @@ -25,7 +25,7 @@ sil public_external @printBool : $@convention(thin) (Bool) -> () sil hidden @genericEquatableAndGenericEquatableToBool : $@async @convention(thin) (@in_guaranteed T, @in_guaranteed T) -> Bool { bb0(%0 : $*T, %1 : $*T): %4 = metatype $@thick T.Type - %5 = witness_method $T, #Equatable."==" : (Self.Type) -> (Self, Self) -> Bool : $@convention(witness_method: Equatable) <τ_0_0 where τ_0_0 : Equatable> (@in_guaranteed τ_0_0, @in_guaranteed τ_0_0, @thick τ_0_0.Type) -> Bool + %5 = witness_method $T, #Equatable."==" : (Self.Type) -> (borrowing Self, borrowing Self) -> Bool : $@convention(witness_method: Equatable) <τ_0_0 where τ_0_0 : Equatable> (@in_guaranteed τ_0_0, @in_guaranteed τ_0_0, @thick τ_0_0.Type) -> Bool %6 = apply %5(%0, %1, %4) : $@convention(witness_method: Equatable) <τ_0_0 where τ_0_0 : Equatable> (@in_guaranteed τ_0_0, @in_guaranteed τ_0_0, @thick τ_0_0.Type) -> Bool return %6 : $Bool } diff --git a/test/Parse/inverses.swift b/test/Parse/inverses.swift index 8b7642664d799..60f78fe88e0d2 100644 --- a/test/Parse/inverses.swift +++ b/test/Parse/inverses.swift @@ -19,7 +19,7 @@ func more() { let _: ~AnyObject // expected-error {{type 'AnyObject' cannot be suppressed}} } -struct S4: ~(Copyable & Equatable) {} // expected-error {{conformance to 'Equatable' cannot be suppressed}} +struct S4: ~(Copyable & Equatable) {} // expected-error {{type 'Copyable & Equatable' cannot be suppressed}} func blah(_ t: borrowing T) where T: ~Copyable, T: ~Hashable {} // expected-error@:41 {{type 'Hashable' cannot be suppressed}} diff --git a/test/SILGen/enum_equatable_witness.swift b/test/SILGen/enum_equatable_witness.swift index 8ceb86d7a5e7d..04ea8a57ff28b 100644 --- a/test/SILGen/enum_equatable_witness.swift +++ b/test/SILGen/enum_equatable_witness.swift @@ -48,15 +48,15 @@ public enum Alphabet : String { // CHECK-LABEL: sil [ossa] @$s4main14check_alphabetySiAA8AlphabetOF : $@convention(thin) (Alphabet) -> Int { public func check_alphabet(_ state : Alphabet) -> Int { - // FRAGILE: witness_method $Alphabet, #Equatable."==" : (Self.Type) -> (Self, Self) -> Bool - // RESILIENT: witness_method $Alphabet, #Equatable."==" : (Self.Type) -> (Self, Self) -> Bool + // FRAGILE: witness_method $Alphabet, #Equatable."==" : (Self.Type) -> (borrowing Self, borrowing Self) -> Bool + // RESILIENT: witness_method $Alphabet, #Equatable."==" : (Self.Type) -> (borrowing Self, borrowing Self) -> Bool return state == .E ? 1 : 0 } // CHECK-LABEL: sil [ossa] @$s4main9compareItySbAA8AlphabetO_ADtF : $@convention(thin) (Alphabet, Alphabet) -> Bool { public func compareIt(_ state : Alphabet, _ rhs: Alphabet) -> Bool { - // FRAGILE: witness_method $Alphabet, #Equatable."==" : (Self.Type) -> (Self, Self) -> Bool - // RESILIENT: witness_method $Alphabet, #Equatable."==" : (Self.Type) -> (Self, Self) -> Bool + // FRAGILE: witness_method $Alphabet, #Equatable."==" : (Self.Type) -> (borrowing Self, borrowing Self) -> Bool + // RESILIENT: witness_method $Alphabet, #Equatable."==" : (Self.Type) -> (borrowing Self, borrowing Self) -> Bool return state == rhs } @@ -67,14 +67,14 @@ public enum AlphabetInt : Int { // CHECK-LABEL: sil [ossa] @$s4main18check_alphabet_intySiAA11AlphabetIntOF : $@convention(thin) (AlphabetInt) -> Int { public func check_alphabet_int(_ state : AlphabetInt) -> Int { - // FRAGILE: witness_method $AlphabetInt, #Equatable."==" : (Self.Type) -> (Self, Self) -> Bool - // RESILIENT: witness_method $AlphabetInt, #Equatable."==" : (Self.Type) -> (Self, Self) -> Bool + // FRAGILE: witness_method $AlphabetInt, #Equatable."==" : (Self.Type) -> (borrowing Self, borrowing Self) -> Bool + // RESILIENT: witness_method $AlphabetInt, #Equatable."==" : (Self.Type) -> (borrowing Self, borrowing Self) -> Bool return state == .E ? 1 : 0 } // CHECK-LABEL: sil [ossa] @$s4main9compareItySbAA11AlphabetIntO_ADtF : $@convention(thin) (AlphabetInt, AlphabetInt) -> Bool { public func compareIt(_ state : AlphabetInt, _ rhs: AlphabetInt) -> Bool { - // FRAGILE: witness_method $AlphabetInt, #Equatable."==" : (Self.Type) -> (Self, Self) -> Bool - // RESILIENT: witness_method $AlphabetInt, #Equatable."==" : (Self.Type) -> (Self, Self) -> Bool + // FRAGILE: witness_method $AlphabetInt, #Equatable."==" : (Self.Type) -> (borrowing Self, borrowing Self) -> Bool + // RESILIENT: witness_method $AlphabetInt, #Equatable."==" : (Self.Type) -> (borrowing Self, borrowing Self) -> Bool return state == rhs } diff --git a/test/SILGen/pack_iteration.swift b/test/SILGen/pack_iteration.swift index 57d1e83e3cbbf..ff205d38d8c82 100644 --- a/test/SILGen/pack_iteration.swift +++ b/test/SILGen/pack_iteration.swift @@ -85,8 +85,8 @@ func iterateTrivial(over element: repeat each Element) { // CHECK: tuple_pack_element_addr [[DYN_PACK_IDX]] of [[STACK1]] : $*(repeat each Element) as $*@pack_element("[[UUID]]") each Element // CHECK: tuple_pack_element_addr [[DYN_PACK_IDX]] of [[STACK2]] : $*(repeat each Element) as $*@pack_element("[[UUID]]") each Element // CHECK: [[METATYPE:%.*]] = metatype $@thick (@pack_element("[[UUID]]") each Element).Type -// CHECK: [[WITNESS_METHOD:%.*]] = witness_method $@pack_element("[[UUID]]") each Element, #Equatable."==" : (Self.Type) -> (Self, Self) -> Bool, [[OPEN_PACK_ELT]] : $Builtin.SILToken : $@convention(witness_method: Equatable) <τ_0_0 where τ_0_0 : Equatable> (@in_guaranteed τ_0_0, @in_guaranteed τ_0_0, @thick τ_0_0.Type) -> Bool -// CHECK: apply [[WITNESS_METHOD]]<@pack_element("[[UUID]]") each Element>([[STACK_LEFT]], [[STACK_RIGHT]], [[METATYPE]]) : $@convention(witness_method: Equatable) <τ_0_0 where τ_0_0 : Equatable> (@in_guaranteed τ_0_0, @in_guaranteed τ_0_0, @thick τ_0_0.Type) -> Bool +// CHECK: [[WITNESS_METHOD:%.*]] = witness_method $@pack_element("[[UUID]]") each Element, #Equatable."==" : (Self.Type) -> (borrowing Self, borrowing Self) -> Bool, [[OPEN_PACK_ELT]] : $Builtin.SILToken : $@convention(witness_method: Equatable) <τ_0_0 where τ_0_0 : Equatable, τ_0_0 : ~Copyable> (@in_guaranteed τ_0_0, @in_guaranteed τ_0_0, @thick τ_0_0.Type) -> Bool +// CHECK: apply [[WITNESS_METHOD]]<@pack_element("[[UUID]]") each Element>([[STACK_LEFT]], [[STACK_RIGHT]], [[METATYPE]]) : $@convention(witness_method: Equatable) <τ_0_0 where τ_0_0 : Equatable, τ_0_0 : ~Copyable> (@in_guaranteed τ_0_0, @in_guaranteed τ_0_0, @thick τ_0_0.Type) -> Bool // // CHECK: } // end sil function '$s14pack_iteration11equalTuples3lhs3rhsSbxxQp_t_xxQp_ttRvzSQRzlF' func equalTuples(lhs: (repeat each Element), rhs: (repeat each Element)) -> Bool { diff --git a/test/SILGen/synthesized_conformance_enum.swift b/test/SILGen/synthesized_conformance_enum.swift index fd76e790a04c4..2bb082957bc64 100644 --- a/test/SILGen/synthesized_conformance_enum.swift +++ b/test/SILGen/synthesized_conformance_enum.swift @@ -77,7 +77,7 @@ extension NoValues: Codable {} // Witness tables for Enum // CHECK-LABEL: sil_witness_table hidden Enum: Equatable module synthesized_conformance_enum { -// CHECK-NEXT: method #Equatable."==": (Self.Type) -> (Self, Self) -> Bool : @$s28synthesized_conformance_enum4EnumOyxGSQAASQRzlSQ2eeoiySbx_xtFZTW // protocol witness for static Equatable.== infix(_:_:) in conformance Enum +// CHECK-NEXT: method #Equatable."==": (Self.Type) -> (borrowing Self, borrowing Self) -> Bool : @$s28synthesized_conformance_enum4EnumOyxGSQAASQRzlSQ2eeoiySbx_xtFZTW // protocol witness for static Equatable.== infix(_:_:) in conformance Enum // CHECK-NEXT: conditional_conformance (T: Equatable): dependent // CHECK-NEXT: } diff --git a/test/SILGen/synthesized_conformance_struct.swift b/test/SILGen/synthesized_conformance_struct.swift index edcbead2f3742..185e4a345f5bf 100644 --- a/test/SILGen/synthesized_conformance_struct.swift +++ b/test/SILGen/synthesized_conformance_struct.swift @@ -63,7 +63,7 @@ extension Struct: Codable where T: Codable {} // Witness tables // CHECK-LABEL: sil_witness_table hidden Struct: Equatable module synthesized_conformance_struct { -// CHECK-NEXT: method #Equatable."==": (Self.Type) -> (Self, Self) -> Bool : @$s30synthesized_conformance_struct6StructVyxGSQAASQRzlSQ2eeoiySbx_xtFZTW // protocol witness for static Equatable.== infix(_:_:) in conformance Struct +// CHECK-NEXT: method #Equatable."==": (Self.Type) -> (borrowing Self, borrowing Self) -> Bool : @$s30synthesized_conformance_struct6StructVyxGSQAASQRzlSQ2eeoiySbx_xtFZTW // protocol witness for static Equatable.== infix(_:_:) in conformance Struct // CHECK-NEXT: conditional_conformance (T: Equatable): dependent // CHECK-NEXT: } diff --git a/test/SILOptimizer/mandatory_performance_optimizations.sil b/test/SILOptimizer/mandatory_performance_optimizations.sil index 02bf86b498e9c..5f917d0731c4a 100644 --- a/test/SILOptimizer/mandatory_performance_optimizations.sil +++ b/test/SILOptimizer/mandatory_performance_optimizations.sil @@ -84,7 +84,7 @@ bb0: sil [no_allocation] [ossa] @deserialize_and_inline_after_devirtualize : $@convention(thin) (@in Int) -> () { bb0(%0 : $*Int): %1 = metatype $@thick Int.Type - %2 = witness_method $Int, #Comparable."<" : (Self.Type) -> (Self, Self) -> Bool : $@convention(witness_method: Comparable) <τ_0_0 where τ_0_0 : Comparable> (@in_guaranteed τ_0_0, @in_guaranteed τ_0_0, @thick τ_0_0.Type) -> Bool + %2 = witness_method $Int, #Comparable."<" : (Self.Type) -> (borrowing Self, borrowing Self) -> Bool : $@convention(witness_method: Comparable) <τ_0_0 where τ_0_0 : Comparable> (@in_guaranteed τ_0_0, @in_guaranteed τ_0_0, @thick τ_0_0.Type) -> Bool %3 = apply %2(%0, %0, %1) : $@convention(witness_method: Comparable) <τ_0_0 where τ_0_0 : Comparable> (@in_guaranteed τ_0_0, @in_guaranteed τ_0_0, @thick τ_0_0.Type) -> Bool %4 = tuple() return %4 : $() @@ -124,7 +124,7 @@ bb0(%0 : $*Int, %1 : $*Int, %2 : $@thick Int.Type): sil_witness_table public_external [serialized] Int: Comparable module Swift { base_protocol Equatable: Int: Equatable module Swift - method #Comparable."<": (Self.Type) -> (Self, Self) -> Bool : @$sSiSLsSL1loiySbx_xtFZTW + method #Comparable."<": (Self.Type) -> (borrowing Self, borrowing Self) -> Bool : @$sSiSLsSL1loiySbx_xtFZTW } sil [ossa] @get_int_value : $@convention(thin) () -> Int32 { diff --git a/test/Sema/enum_raw_representable.swift b/test/Sema/enum_raw_representable.swift index bf5d0b62a12e2..24e9db2714785 100644 --- a/test/Sema/enum_raw_representable.swift +++ b/test/Sema/enum_raw_representable.swift @@ -147,10 +147,12 @@ rdar32431165_2(42, E_32431165.bar) // or constructing raw representable type from second, both ways are valid. do { E_32431165.bar == "bar" - // expected-error@-1 {{cannot convert value of type 'E_32431165' to expected argument type 'String'}} {{17-17=.rawValue}} + // expected-error@-1 {{binary operator '==' cannot be applied to operands of type 'E_32431165' and 'String'}} + // expected-note@-2 {{overloads for '==' exist with these partially matching parameter lists: (String, String)}} "bar" == E_32431165.bar - // expected-error@-1 {{cannot convert value of type 'E_32431165' to expected argument type 'String'}} {{26-26=.rawValue}} + // expected-error@-1 {{binary operator '==' cannot be applied to operands of type 'String' and 'E_32431165'}} + // expected-note@-2 {{overloads for '==' exist with these partially matching parameter lists: (String, String)}} } func rdar32431165_overloaded() -> Int { 42 } // expected-note {{'rdar32431165_overloaded()' produces 'Int', not the expected contextual result type 'E_32431165'}} @@ -166,7 +168,8 @@ func test_candidate_diagnostic() { func rdar32432253(_ condition: Bool = false) { let choice: E_32431165 = condition ? .foo : .bar let _ = choice == "bar" - // expected-error@-1 {{cannot convert value of type 'E_32431165' to expected argument type 'String'}} {{17-17=.rawValue}} + // expected-error@-1 {{binary operator '==' cannot be applied to operands of type 'E_32431165' and 'String'}} + // expected-note@-2 {{overloads for '==' exist with these partially matching parameter lists: (String, String)}} } // https://github.com/apple/swift/issues/50682 diff --git a/test/Sema/fixits-derived-conformances.swift b/test/Sema/fixits-derived-conformances.swift index 5145287fddd68..3bcfef59816a6 100644 --- a/test/Sema/fixits-derived-conformances.swift +++ b/test/Sema/fixits-derived-conformances.swift @@ -6,14 +6,14 @@ import Types extension GenericEnum: @retroactive Equatable { } // expected-error@-1 {{extension outside of file declaring generic enum 'GenericEnum' prevents automatic synthesis of '==' for protocol 'Equatable'}} -// expected-note@-2 {{add stubs for conformance}}{{48-48=\n public static func == (lhs: GenericEnum, rhs: GenericEnum) -> Bool {\n <#code#>\n \}\n}} +// expected-note@-2 {{add stubs for conformance}}{{48-48=\n public static func == (lhs: borrowing GenericEnum, rhs: borrowing GenericEnum) -> Bool {\n <#code#>\n \}\n}} extension Struct: @retroactive Equatable { } // expected-error@-1 {{extension outside of file declaring struct 'Struct' prevents automatic synthesis of '==' for protocol 'Equatable'}} -// expected-note@-2 {{add stubs for conformance}}{{43-43=\n public static func == (lhs: Struct, rhs: Struct) -> Bool {\n <#code#>\n \}\n}} +// expected-note@-2 {{add stubs for conformance}}{{43-43=\n public static func == (lhs: borrowing Struct, rhs: borrowing Struct) -> Bool {\n <#code#>\n \}\n}} extension GenericStruct: @retroactive Equatable { } // expected-error@-1 {{extension outside of file declaring generic struct 'GenericStruct' prevents automatic synthesis of '==' for protocol 'Equatable'}} -// expected-note@-2 {{add stubs for conformance}}{{50-50=\n public static func == (lhs: GenericStruct, rhs: GenericStruct) -> Bool {\n <#code#>\n \}\n}} +// expected-note@-2 {{add stubs for conformance}}{{50-50=\n public static func == (lhs: borrowing GenericStruct, rhs: borrowing GenericStruct) -> Bool {\n <#code#>\n \}\n}} extension Enum: @retroactive CaseIterable { } // expected-error@-1 {{extension outside of file declaring enum 'Enum' prevents automatic synthesis of 'allCases' for protocol 'CaseIterable'}} diff --git a/test/SourceKit/DocSupport/doc_clang_module.swift.response b/test/SourceKit/DocSupport/doc_clang_module.swift.response index a50473bbadb07..65403b31201a7 100644 --- a/test/SourceKit/DocSupport/doc_clang_module.swift.response +++ b/test/SourceKit/DocSupport/doc_clang_module.swift.response @@ -13,7 +13,7 @@ struct FooEnum1 : Hashable, Equatable, RawRepresentable { @inlinable func hash(into hasher: inout Hasher) - static func != (_ lhs: FooEnum1, _ rhs: FooEnum1) -> Bool + static func != (_ lhs: borrowing FooEnum1, _ rhs: borrowing FooEnum1) -> Bool } var FooEnum1X: FooEnum1 { get } @@ -30,7 +30,7 @@ struct FooEnum2 : Hashable, Equatable, RawRepresentable { @inlinable func hash(into hasher: inout Hasher) - static func != (_ lhs: FooEnum2, _ rhs: FooEnum2) -> Bool + static func != (_ lhs: borrowing FooEnum2, _ rhs: borrowing FooEnum2) -> Bool } var FooEnum2X: FooEnum2 { get } @@ -49,7 +49,7 @@ struct FooEnum3 : Hashable, Equatable, RawRepresentable { @inlinable func hash(into hasher: inout Hasher) - static func != (_ lhs: FooEnum3, _ rhs: FooEnum3) -> Bool + static func != (_ lhs: borrowing FooEnum3, _ rhs: borrowing FooEnum3) -> Bool } var FooEnum3X: FooEnum3 { get } @@ -68,7 +68,7 @@ enum FooComparisonResult : Int { @inlinable func hash(into hasher: inout Hasher) - static func != (_ lhs: FooComparisonResult, _ rhs: FooComparisonResult) -> Bool + static func != (_ lhs: borrowing FooComparisonResult, _ rhs: borrowing FooComparisonResult) -> Bool } struct FooRuncingOptions : OptionSet { @@ -79,7 +79,7 @@ struct FooRuncingOptions : OptionSet { static var enableQuince: FooRuncingOptions { get } - static func != (_ lhs: FooRuncingOptions, _ rhs: FooRuncingOptions) -> Bool + static func != (_ lhs: borrowing FooRuncingOptions, _ rhs: borrowing FooRuncingOptions) -> Bool @discardableResult mutating func insert(_ newMember: FooRuncingOptions) -> (inserted: Bool, memberAfterInsert: FooRuncingOptions) @@ -404,7 +404,7 @@ enum ABAuthorizationStatus : Int { @inlinable func hash(into hasher: inout Hasher) - static func != (_ lhs: ABAuthorizationStatus, _ rhs: ABAuthorizationStatus) -> Bool + static func != (_ lhs: borrowing ABAuthorizationStatus, _ rhs: borrowing ABAuthorizationStatus) -> Bool } func fooSubFunc1(_ a: Int32) -> Int32 @@ -421,7 +421,7 @@ struct FooSubEnum1 : Hashable, Equatable, RawRepresentable { @inlinable func hash(into hasher: inout Hasher) - static func != (_ lhs: FooSubEnum1, _ rhs: FooSubEnum1) -> Bool + static func != (_ lhs: borrowing FooSubEnum1, _ rhs: borrowing FooSubEnum1) -> Bool } var FooSubEnum1X: FooSubEnum1 { get } @@ -638,4449 +638,4519 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.offset: 306, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 311, + key.length: 9 + }, { key.kind: source.lang.swift.ref.struct, key.name: "FooEnum1", key.usr: "c:@E@FooEnum1", - key.offset: 311, + key.offset: 321, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 321, + key.offset: 331, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 323, + key.offset: 333, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 338, + key.length: 9 + }, { key.kind: source.lang.swift.ref.struct, key.name: "FooEnum1", key.usr: "c:@E@FooEnum1", - key.offset: 328, + key.offset: 348, key.length: 8 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 341, + key.offset: 361, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 349, + key.offset: 369, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 353, + key.offset: 373, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooEnum1", key.usr: "c:@E@FooEnum1", - key.offset: 364, + key.offset: 384, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 375, + key.offset: 395, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 382, + key.offset: 402, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 389, + key.offset: 409, key.length: 8 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Hashable", key.usr: "s:SH", - key.offset: 400, + key.offset: 420, key.length: 8 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Equatable", key.usr: "s:SQ", - key.offset: 410, + key.offset: 430, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "RawRepresentable", key.usr: "s:SY", - key.offset: 421, + key.offset: 441, key.length: 16 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 445, + key.offset: 465, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 450, + key.offset: 470, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 452, + key.offset: 472, key.length: 8 }, { key.kind: source.lang.swift.ref.struct, key.name: "UInt32", key.usr: "s:s6UInt32V", - key.offset: 462, + key.offset: 482, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 475, + key.offset: 495, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 480, + key.offset: 500, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 489, + key.offset: 509, key.length: 8 }, { key.kind: source.lang.swift.ref.struct, key.name: "UInt32", key.usr: "s:s6UInt32V", - key.offset: 499, + key.offset: 519, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 512, + key.offset: 532, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 516, + key.offset: 536, key.length: 8 }, { key.kind: source.lang.swift.ref.struct, key.name: "UInt32", key.usr: "s:s6UInt32V", - key.offset: 526, + key.offset: 546, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 538, + key.offset: 558, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 549, + key.offset: 569, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 553, + key.offset: 573, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 564, + key.offset: 584, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 570, + key.offset: 590, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 581, + key.offset: 601, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 592, + key.offset: 612, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 597, + key.offset: 617, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 602, + key.offset: 622, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 607, + key.offset: 627, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 615, + key.offset: 635, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Hasher", key.usr: "s:s6HasherV", - key.offset: 621, + key.offset: 641, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 634, + key.offset: 654, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 641, + key.offset: 661, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.operator, - key.offset: 646, + key.offset: 666, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 650, + key.offset: 670, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 652, + key.offset: 672, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 677, + key.length: 9 + }, { key.kind: source.lang.swift.ref.struct, key.name: "FooEnum2", key.usr: "c:@E@FooEnum2", - key.offset: 657, + key.offset: 687, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 667, + key.offset: 697, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 669, + key.offset: 699, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 704, + key.length: 9 + }, { key.kind: source.lang.swift.ref.struct, key.name: "FooEnum2", key.usr: "c:@E@FooEnum2", - key.offset: 674, + key.offset: 714, key.length: 8 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 687, + key.offset: 727, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 695, + key.offset: 735, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 699, + key.offset: 739, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooEnum2", key.usr: "c:@E@FooEnum2", - key.offset: 710, + key.offset: 750, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 721, + key.offset: 761, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 728, + key.offset: 768, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 732, + key.offset: 772, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooEnum2", key.usr: "c:@E@FooEnum2", - key.offset: 743, + key.offset: 783, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 754, + key.offset: 794, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 761, + key.offset: 801, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 768, + key.offset: 808, key.length: 8 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Hashable", key.usr: "s:SH", - key.offset: 779, + key.offset: 819, key.length: 8 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Equatable", key.usr: "s:SQ", - key.offset: 789, + key.offset: 829, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "RawRepresentable", key.usr: "s:SY", - key.offset: 800, + key.offset: 840, key.length: 16 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 824, + key.offset: 864, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 829, + key.offset: 869, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 831, + key.offset: 871, key.length: 8 }, { key.kind: source.lang.swift.ref.struct, key.name: "UInt32", key.usr: "s:s6UInt32V", - key.offset: 841, + key.offset: 881, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 854, + key.offset: 894, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 859, + key.offset: 899, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 868, + key.offset: 908, key.length: 8 }, { key.kind: source.lang.swift.ref.struct, key.name: "UInt32", key.usr: "s:s6UInt32V", - key.offset: 878, + key.offset: 918, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 891, + key.offset: 931, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 895, + key.offset: 935, key.length: 8 }, { key.kind: source.lang.swift.ref.struct, key.name: "UInt32", key.usr: "s:s6UInt32V", - key.offset: 905, + key.offset: 945, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 917, + key.offset: 957, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 928, + key.offset: 968, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 932, + key.offset: 972, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 943, + key.offset: 983, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 949, + key.offset: 989, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 960, + key.offset: 1000, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 971, + key.offset: 1011, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 976, + key.offset: 1016, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 981, + key.offset: 1021, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 986, + key.offset: 1026, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 994, + key.offset: 1034, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Hasher", key.usr: "s:s6HasherV", - key.offset: 1000, + key.offset: 1040, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1013, + key.offset: 1053, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1020, + key.offset: 1060, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.operator, - key.offset: 1025, + key.offset: 1065, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 1029, + key.offset: 1069, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 1031, + key.offset: 1071, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 1076, + key.length: 9 + }, { key.kind: source.lang.swift.ref.struct, key.name: "FooEnum3", key.usr: "c:@E@FooEnum3", - key.offset: 1036, + key.offset: 1086, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 1046, + key.offset: 1096, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 1048, + key.offset: 1098, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 1103, + key.length: 9 + }, { key.kind: source.lang.swift.ref.struct, key.name: "FooEnum3", key.usr: "c:@E@FooEnum3", - key.offset: 1053, + key.offset: 1113, key.length: 8 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 1066, + key.offset: 1126, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1074, + key.offset: 1134, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1078, + key.offset: 1138, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooEnum3", key.usr: "c:@E@FooEnum3", - key.offset: 1089, + key.offset: 1149, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1100, + key.offset: 1160, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1107, + key.offset: 1167, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1111, + key.offset: 1171, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooEnum3", key.usr: "c:@E@FooEnum3", - key.offset: 1122, + key.offset: 1182, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1133, + key.offset: 1193, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1140, + key.offset: 1200, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1145, + key.offset: 1205, key.length: 19 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 1167, + key.offset: 1227, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1178, + key.offset: 1238, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1183, + key.offset: 1243, key.length: 16 }, { key.kind: source.lang.swift.syntaxtype.number, - key.offset: 1202, + key.offset: 1262, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1210, + key.offset: 1270, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1215, + key.offset: 1275, key.length: 11 }, { key.kind: source.lang.swift.syntaxtype.number, - key.offset: 1229, + key.offset: 1289, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1236, + key.offset: 1296, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1241, + key.offset: 1301, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.number, - key.offset: 1261, + key.offset: 1321, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 1268, + key.offset: 1328, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1279, + key.offset: 1339, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1283, + key.offset: 1343, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 1294, + key.offset: 1354, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1300, + key.offset: 1360, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 1311, + key.offset: 1371, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1322, + key.offset: 1382, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1327, + key.offset: 1387, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 1332, + key.offset: 1392, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 1337, + key.offset: 1397, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1345, + key.offset: 1405, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Hasher", key.usr: "s:s6HasherV", - key.offset: 1351, + key.offset: 1411, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1364, + key.offset: 1424, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1371, + key.offset: 1431, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.operator, - key.offset: 1376, + key.offset: 1436, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 1380, + key.offset: 1440, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 1382, + key.offset: 1442, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 1447, + key.length: 9 + }, { key.kind: source.lang.swift.ref.enum, key.name: "FooComparisonResult", key.usr: "c:@E@FooComparisonResult", - key.offset: 1387, + key.offset: 1457, key.length: 19 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 1408, + key.offset: 1478, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 1410, + key.offset: 1480, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 1485, + key.length: 9 + }, { key.kind: source.lang.swift.ref.enum, key.name: "FooComparisonResult", key.usr: "c:@E@FooComparisonResult", - key.offset: 1415, + key.offset: 1495, key.length: 19 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 1439, + key.offset: 1519, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1447, + key.offset: 1527, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1454, + key.offset: 1534, key.length: 17 }, { key.kind: source.lang.swift.ref.protocol, key.name: "OptionSet", key.usr: "s:s9OptionSetP", - key.offset: 1474, + key.offset: 1554, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1491, + key.offset: 1571, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 1496, + key.offset: 1576, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 1505, + key.offset: 1585, key.length: 8 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 1515, + key.offset: 1595, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1525, + key.offset: 1605, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1532, + key.offset: 1612, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1536, + key.offset: 1616, key.length: 11 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 1549, + key.offset: 1629, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1569, + key.offset: 1649, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1580, + key.offset: 1660, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1587, + key.offset: 1667, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1591, + key.offset: 1671, key.length: 12 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 1605, + key.offset: 1685, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1625, + key.offset: 1705, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1636, + key.offset: 1716, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1643, + key.offset: 1723, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.operator, - key.offset: 1648, + key.offset: 1728, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 1652, + key.offset: 1732, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 1654, + key.offset: 1734, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 1739, + key.length: 9 + }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 1659, + key.offset: 1749, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 1678, + key.offset: 1768, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 1680, + key.offset: 1770, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 1775, + key.length: 9 + }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 1685, + key.offset: 1785, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 1707, + key.offset: 1807, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 1717, + key.offset: 1817, key.length: 18 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 1740, + key.offset: 1840, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1749, + key.offset: 1849, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1754, + key.offset: 1854, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 1761, + key.offset: 1861, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 1763, + key.offset: 1863, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 1774, + key.offset: 1874, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1797, + key.offset: 1897, key.length: 8 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 1807, + key.offset: 1907, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1813, + key.offset: 1913, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 1832, + key.offset: 1932, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 1856, + key.offset: 1956, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1867, + key.offset: 1967, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 1872, + key.offset: 1972, key.length: 12 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 1885, + key.offset: 1985, key.length: 12 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 1899, + key.offset: 1999, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1924, + key.offset: 2024, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 1934, + key.offset: 2034, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 1959, + key.offset: 2059, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1970, + key.offset: 2070, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1975, + key.offset: 2075, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 1981, + key.offset: 2081, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 1983, + key.offset: 2083, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 1990, + key.offset: 2090, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2012, + key.offset: 2112, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2035, + key.offset: 2135, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2046, + key.offset: 2146, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 2051, + key.offset: 2151, key.length: 12 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 2064, + key.offset: 2164, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 2066, + key.offset: 2166, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2073, + key.offset: 2173, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2095, + key.offset: 2195, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2118, + key.offset: 2218, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2129, + key.offset: 2229, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 2134, + key.offset: 2234, key.length: 19 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 2154, + key.offset: 2254, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 2156, + key.offset: 2256, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2163, + key.offset: 2263, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2185, + key.offset: 2285, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2206, + key.offset: 2306, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2216, + key.offset: 2316, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2241, + key.offset: 2341, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2252, + key.offset: 2352, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 2257, + key.offset: 2357, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 2266, + key.offset: 2366, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 2268, + key.offset: 2368, key.length: 6 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2276, + key.offset: 2376, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 2298, + key.offset: 2398, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2308, + key.offset: 2408, key.length: 18 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2331, + key.offset: 2431, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2342, + key.offset: 2442, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2351, + key.offset: 2451, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 2356, + key.offset: 2456, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 2363, + key.offset: 2463, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 2365, + key.offset: 2465, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2376, + key.offset: 2476, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 2399, + key.offset: 2499, key.length: 8 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 2409, + key.offset: 2509, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 2415, + key.offset: 2515, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2434, + key.offset: 2534, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2458, + key.offset: 2558, key.length: 18 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2481, + key.offset: 2581, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2492, + key.offset: 2592, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2501, + key.offset: 2601, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 2506, + key.offset: 2606, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 2513, + key.offset: 2613, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 2515, + key.offset: 2615, key.length: 6 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2523, + key.offset: 2623, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2545, + key.offset: 2645, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2569, + key.offset: 2669, key.length: 18 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2592, + key.offset: 2692, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2603, + key.offset: 2703, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2612, + key.offset: 2712, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 2617, + key.offset: 2717, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 2624, + key.offset: 2724, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 2629, + key.offset: 2729, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2640, + key.offset: 2740, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2662, + key.offset: 2762, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2684, + key.offset: 2784, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2694, + key.offset: 2794, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2719, + key.offset: 2819, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2730, + key.offset: 2830, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2742, + key.offset: 2842, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2753, + key.offset: 2853, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2762, + key.offset: 2862, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 2767, + key.offset: 2867, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 2777, + key.offset: 2877, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 2779, + key.offset: 2879, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2786, + key.offset: 2886, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2810, + key.offset: 2910, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2821, + key.offset: 2921, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2830, + key.offset: 2930, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 2835, + key.offset: 2935, key.length: 16 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 2852, + key.offset: 2952, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 2854, + key.offset: 2954, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2861, + key.offset: 2961, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2885, + key.offset: 2985, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 2896, + key.offset: 2996, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2905, + key.offset: 3005, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 2910, + key.offset: 3010, key.length: 23 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 2934, + key.offset: 3034, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 2936, + key.offset: 3036, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2943, + key.offset: 3043, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2965, + key.offset: 3065, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 2975, + key.offset: 3075, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 3000, + key.offset: 3100, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3011, + key.offset: 3111, key.length: 4 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "S", key.usr: "s:s10SetAlgebraPsEyxqd__ncSTRd__7ElementQyd__ACRtzlufc1SL_qd__mfp", - key.offset: 3016, + key.offset: 3116, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 3019, + key.offset: 3119, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 3021, + key.offset: 3121, key.length: 8 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "S", key.usr: "s:s10SetAlgebraPsEyxqd__ncSTRd__7ElementQyd__ACRtzlufc1SL_qd__mfp", - key.offset: 3031, + key.offset: 3131, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3034, + key.offset: 3134, key.length: 5 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "S", key.usr: "s:s10SetAlgebraPsEyxqd__ncSTRd__7ElementQyd__ACRtzlufc1SL_qd__mfp", - key.offset: 3040, + key.offset: 3140, key.length: 1 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Sequence", key.usr: "s:ST", - key.offset: 3044, + key.offset: 3144, key.length: 8 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 3054, + key.offset: 3154, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.operator, - key.offset: 3072, + key.offset: 3172, key.length: 2 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "S", key.usr: "s:s10SetAlgebraPsEyxqd__ncSTRd__7ElementQyd__ACRtzlufc1SL_qd__mfp", - key.offset: 3075, + key.offset: 3175, key.length: 1 }, { key.kind: source.lang.swift.ref.associatedtype, key.name: "Element", key.usr: "s:ST7ElementQa", - key.offset: 3077, + key.offset: 3177, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 3090, + key.offset: 3190, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 3101, + key.offset: 3201, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3110, + key.offset: 3210, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3115, + key.offset: 3215, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 3124, + key.offset: 3224, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 3126, + key.offset: 3226, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 3133, + key.offset: 3233, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 3157, + key.offset: 3257, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3168, + key.offset: 3268, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3173, + key.offset: 3273, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 3182, + key.offset: 3282, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 3185, + key.offset: 3285, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 3192, + key.offset: 3292, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 3214, + key.offset: 3314, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 3224, + key.offset: 3324, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3235, + key.offset: 3335, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3240, + key.offset: 3340, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 3251, + key.offset: 3351, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 3254, + key.offset: 3354, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 3261, + key.offset: 3361, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 3283, + key.offset: 3383, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 3293, + key.offset: 3393, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3304, + key.offset: 3404, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3309, + key.offset: 3409, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 3320, + key.offset: 3420, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 3325, + key.offset: 3425, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 3332, + key.offset: 3432, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 3354, + key.offset: 3454, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 3364, + key.offset: 3464, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3375, + key.offset: 3475, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3380, + key.offset: 3480, key.length: 11 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 3392, + key.offset: 3492, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 3394, + key.offset: 3494, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 3401, + key.offset: 3501, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 3423, + key.offset: 3523, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 3446, + key.offset: 3546, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3457, + key.offset: 3557, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3461, + key.offset: 3561, key.length: 7 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 3470, + key.offset: 3570, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3477, + key.offset: 3577, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 3488, + key.offset: 3588, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3499, + key.offset: 3599, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3504, + key.offset: 3604, key.length: 16 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 3521, + key.offset: 3621, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 3524, + key.offset: 3624, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 3531, + key.offset: 3631, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 3553, + key.offset: 3653, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 3563, + key.offset: 3663, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3574, + key.offset: 3674, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3579, + key.offset: 3679, key.length: 14 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 3594, + key.offset: 3694, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 3597, + key.offset: 3697, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", - key.offset: 3604, + key.offset: 3704, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 3626, + key.offset: 3726, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3634, + key.offset: 3734, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3641, + key.offset: 3741, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3659, + key.offset: 3759, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3671, + key.offset: 3771, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 3676, + key.offset: 3776, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 3678, + key.offset: 3778, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 3681, + key.offset: 3781, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 3688, + key.offset: 3788, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 3690, + key.offset: 3790, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Double", key.usr: "s:Sd", - key.offset: 3693, + key.offset: 3793, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3706, + key.offset: 3806, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3710, + key.offset: 3810, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 3713, + key.offset: 3813, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3724, + key.offset: 3824, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3728, + key.offset: 3828, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Double", key.usr: "s:Sd", - key.offset: 3731, + key.offset: 3831, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3741, + key.offset: 3841, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3751, + key.offset: 3851, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "UnsafeMutablePointer", key.usr: "s:Sp", - key.offset: 3771, + key.offset: 3871, key.length: 20 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooStruct1", key.usr: "c:@S@FooStruct1", - key.offset: 3792, + key.offset: 3892, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3805, + key.offset: 3905, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3812, + key.offset: 3912, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3830, + key.offset: 3930, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3842, + key.offset: 3942, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 3847, + key.offset: 3947, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 3849, + key.offset: 3949, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 3852, + key.offset: 3952, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 3859, + key.offset: 3959, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 3861, + key.offset: 3961, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Double", key.usr: "s:Sd", - key.offset: 3864, + key.offset: 3964, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3877, + key.offset: 3977, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3881, + key.offset: 3981, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 3884, + key.offset: 3984, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3895, + key.offset: 3995, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3899, + key.offset: 3999, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Double", key.usr: "s:Sd", - key.offset: 3902, + key.offset: 4002, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3912, + key.offset: 4012, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3922, + key.offset: 4022, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooStruct2", key.usr: "c:@S@FooStruct2", - key.offset: 3942, + key.offset: 4042, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3954, + key.offset: 4054, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 3961, + key.offset: 4061, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3986, + key.offset: 4086, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 3998, + key.offset: 4098, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 4003, + key.offset: 4103, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 4005, + key.offset: 4105, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4008, + key.offset: 4108, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 4015, + key.offset: 4115, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 4017, + key.offset: 4117, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Double", key.usr: "s:Sd", - key.offset: 4020, + key.offset: 4120, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4033, + key.offset: 4133, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4037, + key.offset: 4137, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4040, + key.offset: 4140, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4051, + key.offset: 4151, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4055, + key.offset: 4155, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Double", key.usr: "s:Sd", - key.offset: 4058, + key.offset: 4158, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4068, + key.offset: 4168, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4078, + key.offset: 4178, key.length: 11 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4092, + key.offset: 4192, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4099, + key.offset: 4199, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4103, + key.offset: 4203, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4114, + key.offset: 4214, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4121, + key.offset: 4221, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4126, + key.offset: 4226, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 4135, + key.offset: 4235, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 4137, + key.offset: 4237, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4140, + key.offset: 4240, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4150, + key.offset: 4250, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4157, + key.offset: 4257, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4162, + key.offset: 4262, key.length: 22 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 4185, + key.offset: 4285, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 4187, + key.offset: 4287, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4190, + key.offset: 4290, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4200, + key.offset: 4300, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4207, + key.offset: 4307, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4212, + key.offset: 4312, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 4221, + key.offset: 4321, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 4223, + key.offset: 4323, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4226, + key.offset: 4326, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 4233, + key.offset: 4333, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 4235, + key.offset: 4335, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Float", key.usr: "s:Sf", - key.offset: 4238, + key.offset: 4338, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 4245, + key.offset: 4345, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 4247, + key.offset: 4347, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Double", key.usr: "s:Sd", - key.offset: 4250, + key.offset: 4350, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 4258, + key.offset: 4358, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 4260, + key.offset: 4360, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "UnsafeMutablePointer", key.usr: "s:Sp", - key.offset: 4263, + key.offset: 4363, key.length: 20 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4284, + key.offset: 4384, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4296, + key.offset: 4396, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4303, + key.offset: 4403, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4308, + key.offset: 4408, key.length: 16 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 4325, + key.offset: 4425, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 4327, + key.offset: 4427, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Float", key.usr: "s:Sf", - key.offset: 4334, + key.offset: 4434, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4344, + key.offset: 4444, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4354, + key.offset: 4454, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4359, + key.offset: 4459, key.length: 26 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 4386, + key.offset: 4486, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 4388, + key.offset: 4488, key.length: 4 }, { key.kind: source.lang.swift.ref.struct, key.name: "Float", key.usr: "s:Sf", - key.offset: 4396, + key.offset: 4496, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4406, + key.offset: 4506, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4416, + key.offset: 4516, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4421, + key.offset: 4521, key.length: 16 }, { key.kind: source.lang.swift.ref.enum, key.name: "Never", key.usr: "s:s5NeverO", - key.offset: 4443, + key.offset: 4543, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4450, + key.offset: 4550, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4455, + key.offset: 4555, key.length: 16 }, { key.kind: source.lang.swift.ref.enum, key.name: "Never", key.usr: "s:s5NeverO", - key.offset: 4477, + key.offset: 4577, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4484, + key.offset: 4584, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4489, + key.offset: 4589, key.length: 19 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4512, + key.offset: 4612, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4517, + key.offset: 4617, key.length: 19 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4540, + key.offset: 4640, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4545, + key.offset: 4645, key.length: 19 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4568, + key.offset: 4668, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4573, + key.offset: 4673, key.length: 19 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4596, + key.offset: 4696, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4601, + key.offset: 4701, key.length: 19 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4624, + key.offset: 4724, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4629, + key.offset: 4729, key.length: 32 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 4662, + key.offset: 4762, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 4664, + key.offset: 4764, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4667, + key.offset: 4767, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4677, + key.offset: 4777, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4684, + key.offset: 4784, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4693, + key.offset: 4793, key.length: 15 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4716, + key.offset: 4816, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4721, + key.offset: 4821, key.length: 12 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4741, + key.offset: 4841, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4746, + key.offset: 4846, key.length: 33 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4787, + key.offset: 4887, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4792, + key.offset: 4892, key.length: 33 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4833, + key.offset: 4933, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4840, + key.offset: 4940, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4845, + key.offset: 4945, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4870, + key.offset: 4970, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4874, + key.offset: 4974, key.length: 12 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4888, + key.offset: 4988, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4896, + key.offset: 4996, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4900, + key.offset: 5000, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4911, + key.offset: 5011, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4915, + key.offset: 5015, key.length: 12 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4929, + key.offset: 5029, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4937, + key.offset: 5037, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4941, + key.offset: 5041, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4952, + key.offset: 5052, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4956, + key.offset: 5056, key.length: 12 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 4970, + key.offset: 5070, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4978, + key.offset: 5078, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 4987, + key.offset: 5087, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 4996, + key.offset: 5096, key.length: 18 }, { key.kind: source.lang.swift.ref.protocol, key.name: "FooProtocolBase", key.usr: "c:objc(pl)FooProtocolBase", - key.offset: 5017, + key.offset: 5117, key.length: 15 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5038, + key.offset: 5138, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5044, + key.offset: 5144, key.length: 12 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5064, + key.offset: 5164, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5069, + key.offset: 5169, key.length: 20 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5097, + key.offset: 5197, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5102, + key.offset: 5202, key.length: 20 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 5123, + key.offset: 5223, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 5125, + key.offset: 5225, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5135, + key.offset: 5235, key.length: 3 }, { key.kind: source.lang.swift.ref.class, key.name: "FooClassBase", key.usr: "c:objc(cs)FooClassBase", - key.offset: 5144, + key.offset: 5244, key.length: 12 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5163, + key.offset: 5263, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 5176, + key.offset: 5276, key.length: 11 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5188, + key.offset: 5288, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 5194, + key.offset: 5294, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 5200, + key.offset: 5300, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Float", key.usr: "s:Sf", - key.offset: 5203, + key.offset: 5303, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5215, + key.offset: 5315, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5220, + key.offset: 5320, key.length: 29 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5257, + key.offset: 5357, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5263, + key.offset: 5363, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5268, + key.offset: 5368, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5293, + key.offset: 5393, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5298, + key.offset: 5398, key.length: 14 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5318, + key.offset: 5418, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5328, + key.offset: 5428, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5333, + key.offset: 5433, key.length: 14 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5353, + key.offset: 5453, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5363, + key.offset: 5463, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5368, + key.offset: 5468, key.length: 15 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5389, + key.offset: 5489, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5399, + key.offset: 5499, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5404, + key.offset: 5504, key.length: 14 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5424, + key.offset: 5524, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5432, + key.offset: 5532, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5438, + key.offset: 5538, key.length: 15 }, { key.kind: source.lang.swift.ref.class, key.name: "FooClassBase", key.usr: "c:objc(cs)FooClassBase", - key.offset: 5456, + key.offset: 5556, key.length: 12 }, { key.kind: source.lang.swift.ref.protocol, key.name: "FooProtocolDerived", key.usr: "c:objc(pl)FooProtocolDerived", - key.offset: 5470, + key.offset: 5570, key.length: 18 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5496, + key.offset: 5596, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5500, + key.offset: 5600, key.length: 12 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 5514, + key.offset: 5614, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5525, + key.offset: 5625, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5529, + key.offset: 5629, key.length: 12 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 5543, + key.offset: 5643, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5554, + key.offset: 5654, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5558, + key.offset: 5658, key.length: 12 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 5572, + key.offset: 5672, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5580, + key.offset: 5680, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5591, + key.offset: 5691, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5596, + key.offset: 5696, key.length: 16 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5620, + key.offset: 5720, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5625, + key.offset: 5725, key.length: 16 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 5642, + key.offset: 5742, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 5644, + key.offset: 5744, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 5647, + key.offset: 5747, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5659, + key.offset: 5759, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5664, + key.offset: 5764, key.length: 16 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 5681, + key.offset: 5781, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 5683, + key.offset: 5783, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 5686, + key.offset: 5786, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 5693, + key.offset: 5793, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 5699, + key.offset: 5799, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 5702, + key.offset: 5802, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5714, + key.offset: 5814, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5719, + key.offset: 5819, key.length: 29 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5756, + key.offset: 5856, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5762, + key.offset: 5862, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5767, + key.offset: 5867, key.length: 13 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5786, + key.offset: 5886, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5796, + key.offset: 5896, key.length: 13 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 5812, + key.offset: 5912, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5819, + key.offset: 5919, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5823, + key.offset: 5923, key.length: 11 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 5836, + key.offset: 5936, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5844, + key.offset: 5944, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5851, + key.offset: 5951, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5855, + key.offset: 5955, key.length: 11 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 5868, + key.offset: 5968, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5876, + key.offset: 5976, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5883, + key.offset: 5983, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5887, + key.offset: 5987, key.length: 11 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 5900, + key.offset: 6000, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5908, + key.offset: 6008, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5915, + key.offset: 6015, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5919, + key.offset: 6019, key.length: 11 }, { key.kind: source.lang.swift.ref.struct, key.name: "UInt32", key.usr: "s:s6UInt32V", - key.offset: 5932, + key.offset: 6032, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5941, + key.offset: 6041, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5948, + key.offset: 6048, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5952, + key.offset: 6052, key.length: 11 }, { key.kind: source.lang.swift.ref.struct, key.name: "UInt64", key.usr: "s:s6UInt64V", - key.offset: 5965, + key.offset: 6065, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5974, + key.offset: 6074, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 5981, + key.offset: 6081, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 5985, + key.offset: 6085, key.length: 11 }, { key.kind: source.lang.swift.ref.typealias, key.name: "typedef_int_t", key.usr: "c:Foo.h@T@typedef_int_t", - key.offset: 5998, + key.offset: 6098, key.length: 13 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6014, + key.offset: 6114, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6021, + key.offset: 6121, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6025, + key.offset: 6125, key.length: 11 }, { key.kind: source.lang.swift.ref.typealias, key.name: "typedef_int_t", key.usr: "c:Foo.h@T@typedef_int_t", - key.offset: 6038, + key.offset: 6138, key.length: 13 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6054, + key.offset: 6154, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6061, + key.offset: 6161, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6065, + key.offset: 6165, key.length: 11 }, { key.kind: source.lang.swift.ref.typealias, key.name: "CChar", key.usr: "s:s5CChara", - key.offset: 6078, + key.offset: 6178, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6086, + key.offset: 6186, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6093, + key.offset: 6193, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6097, + key.offset: 6197, key.length: 11 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 6110, + key.offset: 6210, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6118, + key.offset: 6218, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6125, + key.offset: 6225, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6129, + key.offset: 6229, key.length: 12 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int16", key.usr: "s:s5Int16V", - key.offset: 6143, + key.offset: 6243, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6151, + key.offset: 6251, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6158, + key.offset: 6258, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6162, + key.offset: 6262, key.length: 12 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 6176, + key.offset: 6276, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6182, + key.offset: 6282, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6189, + key.offset: 6289, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6193, + key.offset: 6293, key.length: 12 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 6207, + key.offset: 6307, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6215, + key.offset: 6315, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6222, + key.offset: 6322, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6226, + key.offset: 6326, key.length: 13 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 6241, + key.offset: 6341, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6249, + key.offset: 6349, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6256, + key.offset: 6356, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6260, + key.offset: 6360, key.length: 18 }, { key.kind: source.lang.swift.ref.struct, key.name: "UInt64", key.usr: "s:s6UInt64V", - key.offset: 6280, + key.offset: 6380, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6289, + key.offset: 6389, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6296, + key.offset: 6396, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6300, + key.offset: 6400, key.length: 16 }, { key.kind: source.lang.swift.ref.struct, key.name: "UInt32", key.usr: "s:s6UInt32V", - key.offset: 6318, + key.offset: 6418, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6327, + key.offset: 6427, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6334, + key.offset: 6434, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6338, + key.offset: 6438, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 6357, + key.offset: 6457, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6365, + key.offset: 6465, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6372, + key.offset: 6472, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6376, + key.offset: 6476, key.length: 17 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 6395, + key.offset: 6495, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6403, + key.offset: 6503, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6410, + key.offset: 6510, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6415, + key.offset: 6515, key.length: 16 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6435, + key.offset: 6535, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6440, + key.offset: 6540, key.length: 21 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6465, + key.offset: 6565, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6472, + key.offset: 6572, key.length: 15 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6495, + key.offset: 6595, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6507, + key.offset: 6607, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 6512, + key.offset: 6612, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 6514, + key.offset: 6614, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 6517, + key.offset: 6617, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6529, + key.offset: 6629, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6533, + key.offset: 6633, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 6536, + key.offset: 6636, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6545, + key.offset: 6645, key.length: 9 }, { key.kind: source.lang.swift.ref.class, key.name: "FooClassBase", key.usr: "c:objc(cs)FooClassBase", - key.offset: 6555, + key.offset: 6655, key.length: 12 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6575, + key.offset: 6675, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6580, + key.offset: 6680, key.length: 14 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6600, + key.offset: 6700, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6608, + key.offset: 6708, key.length: 9 }, { key.kind: source.lang.swift.ref.class, key.name: "FooClassBase", key.usr: "c:objc(cs)FooClassBase", - key.offset: 6618, + key.offset: 6718, key.length: 12 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6638, + key.offset: 6738, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6643, + key.offset: 6743, key.length: 14 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6663, + key.offset: 6763, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6673, + key.offset: 6773, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6678, + key.offset: 6778, key.length: 15 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6699, + key.offset: 6799, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6707, + key.offset: 6807, key.length: 9 }, { key.kind: source.lang.swift.ref.class, key.name: "FooClassBase", key.usr: "c:objc(cs)FooClassBase", - key.offset: 6717, + key.offset: 6817, key.length: 12 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6737, + key.offset: 6837, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6742, + key.offset: 6842, key.length: 14 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6762, + key.offset: 6862, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6770, + key.offset: 6870, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6779, + key.offset: 6879, key.length: 13 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6798, + key.offset: 6898, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6804, + key.offset: 6904, key.length: 21 }, { key.kind: source.lang.swift.ref.protocol, key.name: "_InternalProt", key.usr: "c:objc(pl)_InternalProt", - key.offset: 6828, + key.offset: 6928, key.length: 13 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6847, + key.offset: 6947, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6853, + key.offset: 6953, key.length: 25 }, { key.kind: source.lang.swift.ref.class, key.name: "FooClassBase", key.usr: "c:objc(cs)FooClassBase", - key.offset: 6881, + key.offset: 6981, key.length: 12 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 6901, + key.offset: 7001, key.length: 15 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6917, + key.offset: 7017, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6921, + key.offset: 7021, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 6933, + key.offset: 7033, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 6949, + key.offset: 7049, key.length: 15 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 6965, + key.offset: 7065, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 6969, + key.offset: 7069, key.length: 16 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 6987, + key.offset: 7087, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7003, + key.offset: 7103, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7007, + key.offset: 7107, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7019, + key.offset: 7119, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7029, + key.offset: 7129, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7033, + key.offset: 7133, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7044, + key.offset: 7144, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7054, + key.offset: 7154, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7058, + key.offset: 7158, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7068, + key.offset: 7168, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 7078, + key.offset: 7178, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7083, + key.offset: 7183, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7087, + key.offset: 7187, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 7096, + key.offset: 7196, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7112, + key.offset: 7212, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7116, + key.offset: 7216, key.length: 6 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 7124, + key.offset: 7224, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7133, + key.offset: 7233, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7137, + key.offset: 7237, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7150, + key.offset: 7250, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7156, + key.offset: 7256, key.length: 21 }, { key.kind: source.lang.swift.ref.class, key.name: "FooClassBase", key.usr: "c:objc(cs)FooClassBase", - key.offset: 7180, + key.offset: 7280, key.length: 12 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 7200, + key.offset: 7300, key.length: 11 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7212, + key.offset: 7312, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 7218, + key.offset: 7318, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 7222, + key.offset: 7322, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 7225, + key.offset: 7325, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7237, + key.offset: 7337, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7242, + key.offset: 7342, key.length: 11 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7261, + key.offset: 7361, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7266, + key.offset: 7366, key.length: 16 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7290, + key.offset: 7390, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7295, + key.offset: 7395, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7313, + key.offset: 7413, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7318, + key.offset: 7418, key.length: 22 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7348, + key.offset: 7448, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7353, + key.offset: 7453, key.length: 22 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7383, + key.offset: 7483, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7388, + key.offset: 7488, key.length: 21 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7417, + key.offset: 7517, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7422, + key.offset: 7522, key.length: 23 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7453, + key.offset: 7553, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7458, + key.offset: 7558, key.length: 25 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7491, + key.offset: 7591, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7496, + key.offset: 7596, key.length: 25 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7529, + key.offset: 7629, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7534, + key.offset: 7634, key.length: 24 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7566, + key.offset: 7666, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7571, + key.offset: 7671, key.length: 26 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7603, + key.offset: 7703, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7609, + key.offset: 7709, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7624, + key.offset: 7724, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7629, + key.offset: 7729, key.length: 16 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 7646, + key.offset: 7746, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 7648, + key.offset: 7748, key.length: 1 }, { key.kind: source.lang.swift.ref.class, key.name: "FooCFType", key.usr: "c:Foo.h@T@FooCFTypeRef", - key.offset: 7651, + key.offset: 7751, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7664, + key.offset: 7764, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7669, + key.offset: 7769, key.length: 21 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 7693, + key.offset: 7793, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7704, + key.offset: 7804, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7709, + key.offset: 7809, key.length: 13 }, { key.kind: source.lang.swift.syntaxtype.number, - key.offset: 7725, + key.offset: 7825, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7732, + key.offset: 7832, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7737, + key.offset: 7837, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.number, - key.offset: 7750, + key.offset: 7850, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 7757, + key.offset: 7857, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7768, + key.offset: 7868, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7772, + key.offset: 7872, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 7783, + key.offset: 7883, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7789, + key.offset: 7889, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 7800, + key.offset: 7900, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7811, + key.offset: 7911, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7816, + key.offset: 7916, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 7821, + key.offset: 7921, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 7826, + key.offset: 7926, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7834, + key.offset: 7934, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Hasher", key.usr: "s:s6HasherV", - key.offset: 7840, + key.offset: 7940, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7853, + key.offset: 7953, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7860, + key.offset: 7960, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.operator, - key.offset: 7865, + key.offset: 7965, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 7869, + key.offset: 7969, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 7871, + key.offset: 7971, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 7976, + key.length: 9 + }, { key.kind: source.lang.swift.ref.enum, key.name: "ABAuthorizationStatus", key.usr: "c:@E@ABAuthorizationStatus", - key.offset: 7876, + key.offset: 7986, key.length: 21 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 7899, + key.offset: 8009, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 7901, + key.offset: 8011, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 8016, + key.length: 9 + }, { key.kind: source.lang.swift.ref.enum, key.name: "ABAuthorizationStatus", key.usr: "c:@E@ABAuthorizationStatus", - key.offset: 7906, + key.offset: 8026, key.length: 21 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 7932, + key.offset: 8052, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7940, + key.offset: 8060, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7945, + key.offset: 8065, key.length: 11 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 7957, + key.offset: 8077, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 7959, + key.offset: 8079, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 7962, + key.offset: 8082, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int32", key.usr: "s:s5Int32V", - key.offset: 7972, + key.offset: 8092, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 7979, + key.offset: 8099, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 7986, + key.offset: 8106, key.length: 11 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Hashable", key.usr: "s:SH", - key.offset: 8000, + key.offset: 8120, key.length: 8 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Equatable", key.usr: "s:SQ", - key.offset: 8010, + key.offset: 8130, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "RawRepresentable", key.usr: "s:SY", - key.offset: 8021, + key.offset: 8141, key.length: 16 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 8045, + key.offset: 8165, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 8050, + key.offset: 8170, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 8052, + key.offset: 8172, key.length: 8 }, { key.kind: source.lang.swift.ref.struct, key.name: "UInt32", key.usr: "s:s6UInt32V", - key.offset: 8062, + key.offset: 8182, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 8075, + key.offset: 8195, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 8080, + key.offset: 8200, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 8089, + key.offset: 8209, key.length: 8 }, { key.kind: source.lang.swift.ref.struct, key.name: "UInt32", key.usr: "s:s6UInt32V", - key.offset: 8099, + key.offset: 8219, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 8112, + key.offset: 8232, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 8116, + key.offset: 8236, key.length: 8 }, { key.kind: source.lang.swift.ref.struct, key.name: "UInt32", key.usr: "s:s6UInt32V", - key.offset: 8126, + key.offset: 8246, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 8138, + key.offset: 8258, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 8149, + key.offset: 8269, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 8153, + key.offset: 8273, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 8164, + key.offset: 8284, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 8170, + key.offset: 8290, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 8181, + key.offset: 8301, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 8192, + key.offset: 8312, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 8197, + key.offset: 8317, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 8202, + key.offset: 8322, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 8207, + key.offset: 8327, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 8215, + key.offset: 8335, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Hasher", key.usr: "s:s6HasherV", - key.offset: 8221, + key.offset: 8341, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 8234, + key.offset: 8354, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 8241, + key.offset: 8361, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.operator, - key.offset: 8246, + key.offset: 8366, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 8250, + key.offset: 8370, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 8252, + key.offset: 8372, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 8377, + key.length: 9 + }, { key.kind: source.lang.swift.ref.struct, key.name: "FooSubEnum1", key.usr: "c:@E@FooSubEnum1", - key.offset: 8257, + key.offset: 8387, key.length: 11 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 8270, + key.offset: 8400, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 8272, + key.offset: 8402, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 8407, + key.length: 9 + }, { key.kind: source.lang.swift.ref.struct, key.name: "FooSubEnum1", key.usr: "c:@E@FooSubEnum1", - key.offset: 8277, + key.offset: 8417, key.length: 11 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 8293, + key.offset: 8433, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 8301, + key.offset: 8441, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 8305, + key.offset: 8445, key.length: 12 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooSubEnum1", key.usr: "c:@E@FooSubEnum1", - key.offset: 8319, + key.offset: 8459, key.length: 11 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 8333, + key.offset: 8473, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 8340, + key.offset: 8480, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 8344, + key.offset: 8484, key.length: 12 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooSubEnum1", key.usr: "c:@E@FooSubEnum1", - key.offset: 8358, + key.offset: 8498, key.length: 11 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 8372, + key.offset: 8512, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 8379, + key.offset: 8519, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 8383, + key.offset: 8523, key.length: 25 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 8410, + key.offset: 8550, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 8416, + key.offset: 8556, key.length: 3 } ] @@ -5091,7 +5161,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "c:@E@FooEnum1", key.doc.full_as_xml: "FooEnum1c:@E@FooEnum1struct FooEnum1 : Hashable, Equatable, RawRepresentable Aaa. FooEnum1. Bbb.", key.offset: 36, - key.length: 311, + key.length: 331, key.fully_annotated_decl: "struct FooEnum1 : Hashable, Equatable, RawRepresentable", key.conforms: [ { @@ -5183,25 +5253,25 @@ var FooSubUnnamedEnumeratorA1: Int { get } { key.kind: source.lang.swift.decl.function.operator.infix, key.name: "!=(_:_:)", - key.usr: "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooEnum1", - key.original_usr: "s:SQsE2neoiySbx_xtFZ", - key.doc.full_as_xml: "!=(_:_:)s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooEnum1static func != (lhs: FooEnum1, rhs: FooEnum1) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", + key.usr: "s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooEnum1", + key.original_usr: "s:SQsRi_zrlE2neoiySbx_xtFZ", + key.doc.full_as_xml: "!=(_:_:)s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooEnum1static func != (lhs: borrowing FooEnum1, rhs: borrowing FooEnum1) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", key.offset: 288, - key.length: 57, - key.fully_annotated_decl: "static func != (lhs: FooEnum1, rhs: FooEnum1) -> Bool", + key.length: 77, + key.fully_annotated_decl: "@_preInverseGenerics static func != (lhs: borrowing FooEnum1, rhs: borrowing FooEnum1) -> Bool", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "lhs", - key.offset: 311, + key.offset: 321, key.length: 8 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rhs", - key.offset: 328, + key.offset: 348, key.length: 8 } ] @@ -5213,7 +5283,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "FooEnum1X", key.usr: "c:@E@FooEnum1@FooEnum1X", key.doc.full_as_xml: "FooEnum1Xc:@E@FooEnum1@FooEnum1Xvar FooEnum1X: FooEnum1 { get } Aaa. FooEnum1X. Bbb.", - key.offset: 349, + key.offset: 369, key.length: 31, key.fully_annotated_decl: "var FooEnum1X: FooEnum1 { get }" }, @@ -5221,8 +5291,8 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.struct, key.name: "FooEnum2", key.usr: "c:@E@FooEnum2", - key.offset: 382, - key.length: 311, + key.offset: 402, + key.length: 331, key.fully_annotated_decl: "struct FooEnum2 : Hashable, Equatable, RawRepresentable", key.conforms: [ { @@ -5246,7 +5316,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init(_:)", key.usr: "s:So8FooEnum2VyABs6UInt32Vcfc", - key.offset: 445, + key.offset: 465, key.length: 24, key.fully_annotated_decl: "init(_ rawValue: UInt32)", key.entities: [ @@ -5254,7 +5324,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rawValue", - key.offset: 462, + key.offset: 482, key.length: 6 } ] @@ -5263,7 +5333,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init(rawValue:)", key.usr: "s:So8FooEnum2V8rawValueABs6UInt32V_tcfc", - key.offset: 475, + key.offset: 495, key.length: 31, key.fully_annotated_decl: "init(rawValue: UInt32)", key.entities: [ @@ -5271,7 +5341,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "rawValue", key.name: "rawValue", - key.offset: 499, + key.offset: 519, key.length: 6 } ] @@ -5280,7 +5350,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "rawValue", key.usr: "s:So8FooEnum2V8rawValues6UInt32Vvp", - key.offset: 512, + key.offset: 532, key.length: 20, key.fully_annotated_decl: "var rawValue: UInt32" }, @@ -5289,7 +5359,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "hashValue", key.usr: "s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::c:@E@FooEnum2", key.original_usr: "s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp", - key.offset: 538, + key.offset: 558, key.length: 37, key.fully_annotated_decl: "@inlinable var hashValue: Int { get }" }, @@ -5298,7 +5368,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "hash(into:)", key.usr: "s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::c:@E@FooEnum2", key.original_usr: "s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF", - key.offset: 581, + key.offset: 601, key.length: 47, key.fully_annotated_decl: "@inlinable func hash(into hasher: inout Hasher)", key.entities: [ @@ -5306,7 +5376,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "into", key.name: "hasher", - key.offset: 621, + key.offset: 641, key.length: 6 } ] @@ -5314,25 +5384,25 @@ var FooSubUnnamedEnumeratorA1: Int { get } { key.kind: source.lang.swift.decl.function.operator.infix, key.name: "!=(_:_:)", - key.usr: "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooEnum2", - key.original_usr: "s:SQsE2neoiySbx_xtFZ", - key.doc.full_as_xml: "!=(_:_:)s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooEnum2static func != (lhs: FooEnum2, rhs: FooEnum2) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", - key.offset: 634, - key.length: 57, - key.fully_annotated_decl: "static func != (lhs: FooEnum2, rhs: FooEnum2) -> Bool", + key.usr: "s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooEnum2", + key.original_usr: "s:SQsRi_zrlE2neoiySbx_xtFZ", + key.doc.full_as_xml: "!=(_:_:)s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooEnum2static func != (lhs: borrowing FooEnum2, rhs: borrowing FooEnum2) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", + key.offset: 654, + key.length: 77, + key.fully_annotated_decl: "@_preInverseGenerics static func != (lhs: borrowing FooEnum2, rhs: borrowing FooEnum2) -> Bool", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "lhs", - key.offset: 657, + key.offset: 687, key.length: 8 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rhs", - key.offset: 674, + key.offset: 714, key.length: 8 } ] @@ -5343,7 +5413,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FooEnum2X", key.usr: "c:@E@FooEnum2@FooEnum2X", - key.offset: 695, + key.offset: 735, key.length: 31, key.fully_annotated_decl: "var FooEnum2X: FooEnum2 { get }" }, @@ -5351,7 +5421,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FooEnum2Y", key.usr: "c:@E@FooEnum2@FooEnum2Y", - key.offset: 728, + key.offset: 768, key.length: 31, key.fully_annotated_decl: "var FooEnum2Y: FooEnum2 { get }" }, @@ -5359,8 +5429,8 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.struct, key.name: "FooEnum3", key.usr: "c:@E@FooEnum3", - key.offset: 761, - key.length: 311, + key.offset: 801, + key.length: 331, key.fully_annotated_decl: "struct FooEnum3 : Hashable, Equatable, RawRepresentable", key.conforms: [ { @@ -5384,7 +5454,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init(_:)", key.usr: "s:So8FooEnum3VyABs6UInt32Vcfc", - key.offset: 824, + key.offset: 864, key.length: 24, key.fully_annotated_decl: "init(_ rawValue: UInt32)", key.entities: [ @@ -5392,7 +5462,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rawValue", - key.offset: 841, + key.offset: 881, key.length: 6 } ] @@ -5401,7 +5471,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init(rawValue:)", key.usr: "s:So8FooEnum3V8rawValueABs6UInt32V_tcfc", - key.offset: 854, + key.offset: 894, key.length: 31, key.fully_annotated_decl: "init(rawValue: UInt32)", key.entities: [ @@ -5409,7 +5479,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "rawValue", key.name: "rawValue", - key.offset: 878, + key.offset: 918, key.length: 6 } ] @@ -5418,7 +5488,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "rawValue", key.usr: "s:So8FooEnum3V8rawValues6UInt32Vvp", - key.offset: 891, + key.offset: 931, key.length: 20, key.fully_annotated_decl: "var rawValue: UInt32" }, @@ -5427,7 +5497,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "hashValue", key.usr: "s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::c:@E@FooEnum3", key.original_usr: "s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp", - key.offset: 917, + key.offset: 957, key.length: 37, key.fully_annotated_decl: "@inlinable var hashValue: Int { get }" }, @@ -5436,7 +5506,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "hash(into:)", key.usr: "s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::c:@E@FooEnum3", key.original_usr: "s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF", - key.offset: 960, + key.offset: 1000, key.length: 47, key.fully_annotated_decl: "@inlinable func hash(into hasher: inout Hasher)", key.entities: [ @@ -5444,7 +5514,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "into", key.name: "hasher", - key.offset: 1000, + key.offset: 1040, key.length: 6 } ] @@ -5452,25 +5522,25 @@ var FooSubUnnamedEnumeratorA1: Int { get } { key.kind: source.lang.swift.decl.function.operator.infix, key.name: "!=(_:_:)", - key.usr: "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooEnum3", - key.original_usr: "s:SQsE2neoiySbx_xtFZ", - key.doc.full_as_xml: "!=(_:_:)s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooEnum3static func != (lhs: FooEnum3, rhs: FooEnum3) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", - key.offset: 1013, - key.length: 57, - key.fully_annotated_decl: "static func != (lhs: FooEnum3, rhs: FooEnum3) -> Bool", + key.usr: "s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooEnum3", + key.original_usr: "s:SQsRi_zrlE2neoiySbx_xtFZ", + key.doc.full_as_xml: "!=(_:_:)s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooEnum3static func != (lhs: borrowing FooEnum3, rhs: borrowing FooEnum3) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", + key.offset: 1053, + key.length: 77, + key.fully_annotated_decl: "@_preInverseGenerics static func != (lhs: borrowing FooEnum3, rhs: borrowing FooEnum3) -> Bool", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "lhs", - key.offset: 1036, + key.offset: 1086, key.length: 8 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rhs", - key.offset: 1053, + key.offset: 1113, key.length: 8 } ] @@ -5481,7 +5551,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FooEnum3X", key.usr: "c:@E@FooEnum3@FooEnum3X", - key.offset: 1074, + key.offset: 1134, key.length: 31, key.fully_annotated_decl: "var FooEnum3X: FooEnum3 { get }" }, @@ -5489,7 +5559,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FooEnum3Y", key.usr: "c:@E@FooEnum3@FooEnum3Y", - key.offset: 1107, + key.offset: 1167, key.length: 31, key.fully_annotated_decl: "var FooEnum3Y: FooEnum3 { get }" }, @@ -5498,8 +5568,8 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "FooComparisonResult", key.usr: "c:@E@FooComparisonResult", key.doc.full_as_xml: "FooComparisonResultc:@E@FooComparisonResultenum FooComparisonResult : Int Aaa. FooComparisonResult. Bbb.", - key.offset: 1140, - key.length: 305, + key.offset: 1200, + key.length: 325, key.fully_annotated_decl: "enum FooComparisonResult : Int", key.inherits: [ { @@ -5513,7 +5583,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.enumelement, key.name: "orderedAscending", key.usr: "c:@E@FooComparisonResult@FooOrderedAscending", - key.offset: 1178, + key.offset: 1238, key.length: 26, key.fully_annotated_decl: "case orderedAscending = -1" }, @@ -5521,7 +5591,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.enumelement, key.name: "orderedSame", key.usr: "c:@E@FooComparisonResult@FooOrderedSame", - key.offset: 1210, + key.offset: 1270, key.length: 20, key.fully_annotated_decl: "case orderedSame = 0" }, @@ -5529,7 +5599,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.enumelement, key.name: "orderedDescending", key.usr: "c:@E@FooComparisonResult@FooOrderedDescending", - key.offset: 1236, + key.offset: 1296, key.length: 26, key.fully_annotated_decl: "case orderedDescending = 1" }, @@ -5538,7 +5608,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "hashValue", key.usr: "s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::c:@E@FooComparisonResult", key.original_usr: "s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp", - key.offset: 1268, + key.offset: 1328, key.length: 37, key.fully_annotated_decl: "@inlinable var hashValue: Int { get }" }, @@ -5547,7 +5617,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "hash(into:)", key.usr: "s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::c:@E@FooComparisonResult", key.original_usr: "s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF", - key.offset: 1311, + key.offset: 1371, key.length: 47, key.fully_annotated_decl: "@inlinable func hash(into hasher: inout Hasher)", key.entities: [ @@ -5555,7 +5625,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "into", key.name: "hasher", - key.offset: 1351, + key.offset: 1411, key.length: 6 } ] @@ -5563,25 +5633,25 @@ var FooSubUnnamedEnumeratorA1: Int { get } { key.kind: source.lang.swift.decl.function.operator.infix, key.name: "!=(_:_:)", - key.usr: "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooComparisonResult", - key.original_usr: "s:SQsE2neoiySbx_xtFZ", - key.doc.full_as_xml: "!=(_:_:)s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooComparisonResultstatic func != (lhs: FooComparisonResult, rhs: FooComparisonResult) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", - key.offset: 1364, - key.length: 79, - key.fully_annotated_decl: "static func != (lhs: FooComparisonResult, rhs: FooComparisonResult) -> Bool", + key.usr: "s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooComparisonResult", + key.original_usr: "s:SQsRi_zrlE2neoiySbx_xtFZ", + key.doc.full_as_xml: "!=(_:_:)s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooComparisonResultstatic func != (lhs: borrowing FooComparisonResult, rhs: borrowing FooComparisonResult) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", + key.offset: 1424, + key.length: 99, + key.fully_annotated_decl: "@_preInverseGenerics static func != (lhs: borrowing FooComparisonResult, rhs: borrowing FooComparisonResult) -> Bool", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "lhs", - key.offset: 1387, + key.offset: 1457, key.length: 19 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rhs", - key.offset: 1415, + key.offset: 1495, key.length: 19 } ] @@ -5593,8 +5663,8 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "FooRuncingOptions", key.usr: "c:@E@FooRuncingOptions", key.doc.full_as_xml: "FooRuncingOptionsc:@E@FooRuncingOptionsstruct FooRuncingOptions : OptionSet Aaa. FooRuncingOptions. Bbb.", - key.offset: 1447, - key.length: 475, + key.offset: 1527, + key.length: 495, key.fully_annotated_decl: "struct FooRuncingOptions : OptionSet", key.conforms: [ { @@ -5608,7 +5678,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init(rawValue:)", key.usr: "s:So17FooRuncingOptionsV8rawValueABSi_tcfc", - key.offset: 1491, + key.offset: 1571, key.length: 28, key.fully_annotated_decl: "init(rawValue: Int)", key.entities: [ @@ -5616,7 +5686,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "rawValue", key.name: "rawValue", - key.offset: 1515, + key.offset: 1595, key.length: 3 } ] @@ -5625,7 +5695,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.static, key.name: "enableMince", key.usr: "c:@E@FooRuncingOptions@FooRuncingEnableMince", - key.offset: 1525, + key.offset: 1605, key.length: 49, key.fully_annotated_decl: "static var enableMince: FooRuncingOptions { get }" }, @@ -5633,32 +5703,32 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.static, key.name: "enableQuince", key.usr: "c:@E@FooRuncingOptions@FooRuncingEnableQuince", - key.offset: 1580, + key.offset: 1660, key.length: 50, key.fully_annotated_decl: "static var enableQuince: FooRuncingOptions { get }" }, { key.kind: source.lang.swift.decl.function.operator.infix, key.name: "!=(_:_:)", - key.usr: "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooRuncingOptions", - key.original_usr: "s:SQsE2neoiySbx_xtFZ", - key.doc.full_as_xml: "!=(_:_:)s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooRuncingOptionsstatic func != (lhs: FooRuncingOptions, rhs: FooRuncingOptions) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", - key.offset: 1636, - key.length: 75, - key.fully_annotated_decl: "static func != (lhs: FooRuncingOptions, rhs: FooRuncingOptions) -> Bool", + key.usr: "s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooRuncingOptions", + key.original_usr: "s:SQsRi_zrlE2neoiySbx_xtFZ", + key.doc.full_as_xml: "!=(_:_:)s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooRuncingOptionsstatic func != (lhs: borrowing FooRuncingOptions, rhs: borrowing FooRuncingOptions) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", + key.offset: 1716, + key.length: 95, + key.fully_annotated_decl: "@_preInverseGenerics static func != (lhs: borrowing FooRuncingOptions, rhs: borrowing FooRuncingOptions) -> Bool", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "lhs", - key.offset: 1659, + key.offset: 1749, key.length: 17 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rhs", - key.offset: 1685, + key.offset: 1785, key.length: 17 } ] @@ -5668,7 +5738,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "insert(_:)", key.usr: "s:s9OptionSetPs7ElementQzRszs17FixedWidthInteger8RawValueRpzrlE6insertySb8inserted_x17memberAfterInserttxF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s9OptionSetPs7ElementQzRszs17FixedWidthInteger8RawValueRpzrlE6insertySb8inserted_x17memberAfterInserttxF", - key.offset: 1717, + key.offset: 1817, key.length: 133, key.fully_annotated_decl: "@discardableResult @_alwaysEmitIntoClient mutating func insert(_ newMember: FooRuncingOptions) -> (inserted: Bool, memberAfterInsert: FooRuncingOptions)", key.entities: [ @@ -5676,7 +5746,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "newMember", - key.offset: 1774, + key.offset: 1874, key.length: 17 } ] @@ -5687,7 +5757,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s10SetAlgebraPs7ElementQz012ArrayLiteralC0RtzrlE05arrayE0xAFd_tcfc::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s10SetAlgebraPs7ElementQz012ArrayLiteralC0RtzrlE05arrayE0xAFd_tcfc", key.doc.full_as_xml: "init(arrayLiteral:)s:s10SetAlgebraPs7ElementQz012ArrayLiteralC0RtzrlE05arrayE0xAFd_tcfc::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable init(arrayLiteral: FooRuncingOptions...)Creates a set containing the elements of the given array literal.arrayLiteralinA list of elements of the new set.Do not call this initializer directly. It is used by the compiler when you use an array literal. Instead, create a new set using an array literal as its value by enclosing a comma-separated list of values in square brackets. You can use an array literal anywhere a set is expected by the type context.Here, a set of strings is created from an array literal holding only strings:", - key.offset: 1856, + key.offset: 1956, key.length: 64, key.fully_annotated_decl: "@inlinable init(arrayLiteral: FooRuncingOptions...)", key.entities: [ @@ -5695,7 +5765,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "arrayLiteral", key.name: "arrayLiteral", - key.offset: 1899, + key.offset: 1999, key.length: 20 } ] @@ -5705,7 +5775,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } { key.kind: source.lang.swift.decl.extension.struct, key.doc.full_as_xml: "extension FooRuncingOptionsOptionSet requirements for which default implementations are supplied.A type conforming to OptionSet can implement any of these initializers or methods, and those implementations will be used in lieu of these defaults.", - key.offset: 1924, + key.offset: 2024, key.length: 280, key.fully_annotated_decl: "extension FooRuncingOptions", key.extends: { @@ -5720,7 +5790,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s9OptionSetPsE5unionyxxF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s9OptionSetPsE5unionyxxF", key.doc.full_as_xml: "union(_:)s:s9OptionSetPsE5unionyxxF::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable func union(_ other: FooRuncingOptions) -> FooRuncingOptionsReturns a new option set of the elements contained in this set, in the given set, or in both.otherinAn option set.A new option set made up of the elements contained in this set, in other, or in both.This example uses the union(_:) method to add two more shipping options to the default set.", - key.offset: 1959, + key.offset: 2059, key.length: 70, key.fully_annotated_decl: "@inlinable func union(_ other: FooRuncingOptions) -> FooRuncingOptions", key.entities: [ @@ -5728,7 +5798,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "other", - key.offset: 1990, + key.offset: 2090, key.length: 17 } ] @@ -5739,7 +5809,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s9OptionSetPsE12intersectionyxxF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s9OptionSetPsE12intersectionyxxF", key.doc.full_as_xml: "intersection(_:)s:s9OptionSetPsE12intersectionyxxF::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable func intersection(_ other: FooRuncingOptions) -> FooRuncingOptionsReturns a new option set with only the elements contained in both this set and the given set.otherinAn option set.A new option set with only the elements contained in both this set and other.This example uses the intersection(_:) method to limit the available shipping options to what can be used with a PO Box destination.", - key.offset: 2035, + key.offset: 2135, key.length: 77, key.fully_annotated_decl: "@inlinable func intersection(_ other: FooRuncingOptions) -> FooRuncingOptions", key.entities: [ @@ -5747,7 +5817,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "other", - key.offset: 2073, + key.offset: 2173, key.length: 17 } ] @@ -5758,7 +5828,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s9OptionSetPsE19symmetricDifferenceyxxF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s9OptionSetPsE19symmetricDifferenceyxxF", key.doc.full_as_xml: "symmetricDifference(_:)s:s9OptionSetPsE19symmetricDifferenceyxxF::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable func symmetricDifference(_ other: FooRuncingOptions) -> FooRuncingOptionsReturns a new option set with the elements contained in this set or in the given set, but not in both.otherinAn option set.A new option set with only the elements contained in either this set or other, but not in both.", - key.offset: 2118, + key.offset: 2218, key.length: 84, key.fully_annotated_decl: "@inlinable func symmetricDifference(_ other: FooRuncingOptions) -> FooRuncingOptions", key.entities: [ @@ -5766,7 +5836,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "other", - key.offset: 2163, + key.offset: 2263, key.length: 17 } ] @@ -5776,7 +5846,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } { key.kind: source.lang.swift.decl.extension.struct, key.doc.full_as_xml: "extension FooRuncingOptionsOptionSet requirements for which default implementations are supplied when Element == Self, which is the default.A type conforming to OptionSet can implement any of these initializers or methods, and those implementations will be used in lieu of these defaults.", - key.offset: 2206, + key.offset: 2306, key.length: 476, key.fully_annotated_decl: "extension FooRuncingOptions", key.extends: { @@ -5791,7 +5861,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s9OptionSetPs7ElementQzRszrlE8containsySbxF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s9OptionSetPs7ElementQzRszrlE8containsySbxF", key.doc.full_as_xml: "contains(_:)s:s9OptionSetPs7ElementQzRszrlE8containsySbxF::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable func contains(_ member: FooRuncingOptions) -> BoolReturns a Boolean value that indicates whether a given element is a member of the option set.memberinThe element to look for in the option set.true if the option set contains member; otherwise, false.This example uses the contains(_:) method to check whether next-day shipping is in the availableOptions instance.", - key.offset: 2241, + key.offset: 2341, key.length: 61, key.fully_annotated_decl: "@inlinable func contains(_ member: FooRuncingOptions) -> Bool", key.entities: [ @@ -5799,7 +5869,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "member", - key.offset: 2276, + key.offset: 2376, key.length: 17 } ] @@ -5810,7 +5880,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s9OptionSetPs7ElementQzRszrlE6insertySb8inserted_x17memberAfterInserttxF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s9OptionSetPs7ElementQzRszrlE6insertySb8inserted_x17memberAfterInserttxF", key.doc.full_as_xml: "insert(_:)s:s9OptionSetPs7ElementQzRszrlE6insertySb8inserted_x17memberAfterInserttxF::SYNTHESIZED::c:@E@FooRuncingOptions@discardableResult\n@inlinable mutating func insert(_ newMember: FooRuncingOptions) -> (inserted: Bool, memberAfterInsert: FooRuncingOptions)Adds the given element to the option set if it is not already a member.newMemberinThe element to insert.(true, newMember) if newMember was not contained in self. Otherwise, returns (false, oldMember), where oldMember is the member of the set equal to newMember.In the following example, the .secondDay shipping option is added to the freeOptions option set if purchasePrice is greater than 50.0. For the ShippingOptions declaration, see the OptionSet protocol discussion. 50 {]]>", - key.offset: 2308, + key.offset: 2408, key.length: 144, key.fully_annotated_decl: "@discardableResult @inlinable mutating func insert(_ newMember: FooRuncingOptions) -> (inserted: Bool, memberAfterInsert: FooRuncingOptions)", key.entities: [ @@ -5818,7 +5888,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "newMember", - key.offset: 2376, + key.offset: 2476, key.length: 17 } ] @@ -5829,7 +5899,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s9OptionSetPs7ElementQzRszrlE6removeyxSgxF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s9OptionSetPs7ElementQzRszrlE6removeyxSgxF", key.doc.full_as_xml: "remove(_:)s:s9OptionSetPs7ElementQzRszrlE6removeyxSgxF::SYNTHESIZED::c:@E@FooRuncingOptions@discardableResult\n@inlinable mutating func remove(_ member: FooRuncingOptions) -> FooRuncingOptions?Removes the given element and all elements subsumed by it.memberinThe element of the set to remove.The intersection of [member] and the set, if the intersection was nonempty; otherwise, nil.In the following example, the .priority shipping option is removed from the options option set. Attempting to remove the same shipping option a second time results in nil, because options no longer contains .priority as a member.In the next example, the .express element is passed to remove(_:). Although .express is not a member of options, .express subsumes the remaining .secondDay element of the option set. Therefore, options is emptied and the intersection between .express and options is returned.", - key.offset: 2458, + key.offset: 2558, key.length: 105, key.fully_annotated_decl: "@discardableResult @inlinable mutating func remove(_ member: FooRuncingOptions) -> FooRuncingOptions?", key.entities: [ @@ -5837,7 +5907,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "member", - key.offset: 2523, + key.offset: 2623, key.length: 17 } ] @@ -5848,7 +5918,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s9OptionSetPs7ElementQzRszrlE6update4withxSgx_tF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s9OptionSetPs7ElementQzRszrlE6update4withxSgx_tF", key.doc.full_as_xml: "update(with:)s:s9OptionSetPs7ElementQzRszrlE6update4withxSgx_tF::SYNTHESIZED::c:@E@FooRuncingOptions@discardableResult\n@inlinable mutating func update(with newMember: FooRuncingOptions) -> FooRuncingOptions?Inserts the given element into the set.The intersection of [newMember] and the set if the intersection was nonempty; otherwise, nil.If newMember is not contained in the set but subsumes current members of the set, the subsumed members are returned.", - key.offset: 2569, + key.offset: 2669, key.length: 111, key.fully_annotated_decl: "@discardableResult @inlinable mutating func update(with newMember: FooRuncingOptions) -> FooRuncingOptions?", key.entities: [ @@ -5856,7 +5926,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "with", key.name: "newMember", - key.offset: 2640, + key.offset: 2740, key.length: 17 } ] @@ -5866,7 +5936,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } { key.kind: source.lang.swift.decl.extension.struct, key.doc.full_as_xml: "extension FooRuncingOptionsOptionSet requirements for which default implementations are supplied when RawValue conforms to FixedWidthInteger, which is the usual case. Each distinct bit of an option set’s .rawValue corresponds to a disjoint value of the OptionSet.A type conforming to OptionSet can implement any of these initializers or methods, and those implementations will be used in lieu of these defaults.union is implemented as a bitwise “or” (|) of rawValuesintersection is implemented as a bitwise “and” (&) of rawValuessymmetricDifference is implemented as a bitwise “exclusive or” (^) of rawValues", - key.offset: 2684, + key.offset: 2784, key.length: 279, key.fully_annotated_decl: "extension FooRuncingOptions", key.extends: { @@ -5881,7 +5951,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s9OptionSetPss17FixedWidthInteger8RawValueRpzrlExycfc::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s9OptionSetPss17FixedWidthInteger8RawValueRpzrlExycfc", key.doc.full_as_xml: "init()s:s9OptionSetPss17FixedWidthInteger8RawValueRpzrlExycfc::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable init()Creates an empty option set.This initializer creates an option set with a raw value of zero.", - key.offset: 2719, + key.offset: 2819, key.length: 17, key.fully_annotated_decl: "@inlinable init()" }, @@ -5891,7 +5961,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s9OptionSetPss17FixedWidthInteger8RawValueRpzrlE9formUnionyyxF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s9OptionSetPss17FixedWidthInteger8RawValueRpzrlE9formUnionyyxF", key.doc.full_as_xml: "formUnion(_:)s:s9OptionSetPss17FixedWidthInteger8RawValueRpzrlE9formUnionyyxF::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable mutating func formUnion(_ other: FooRuncingOptions)Inserts the elements of another set into this option set.otherinAn option set.This method is implemented as a | (bitwise OR) operation on the two sets’ raw values.", - key.offset: 2742, + key.offset: 2842, key.length: 62, key.fully_annotated_decl: "@inlinable mutating func formUnion(_ other: FooRuncingOptions)", key.entities: [ @@ -5899,7 +5969,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "other", - key.offset: 2786, + key.offset: 2886, key.length: 17 } ] @@ -5910,7 +5980,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s9OptionSetPss17FixedWidthInteger8RawValueRpzrlE16formIntersectionyyxF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s9OptionSetPss17FixedWidthInteger8RawValueRpzrlE16formIntersectionyyxF", key.doc.full_as_xml: "formIntersection(_:)s:s9OptionSetPss17FixedWidthInteger8RawValueRpzrlE16formIntersectionyyxF::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable mutating func formIntersection(_ other: FooRuncingOptions)Removes all elements of this option set that are not also present in the given set.otherinAn option set.This method is implemented as a & (bitwise AND) operation on the two sets’ raw values.", - key.offset: 2810, + key.offset: 2910, key.length: 69, key.fully_annotated_decl: "@inlinable mutating func formIntersection(_ other: FooRuncingOptions)", key.entities: [ @@ -5918,7 +5988,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "other", - key.offset: 2861, + key.offset: 2961, key.length: 17 } ] @@ -5929,7 +5999,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s9OptionSetPss17FixedWidthInteger8RawValueRpzrlE23formSymmetricDifferenceyyxF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s9OptionSetPss17FixedWidthInteger8RawValueRpzrlE23formSymmetricDifferenceyyxF", key.doc.full_as_xml: "formSymmetricDifference(_:)s:s9OptionSetPss17FixedWidthInteger8RawValueRpzrlE23formSymmetricDifferenceyyxF::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable mutating func formSymmetricDifference(_ other: FooRuncingOptions)Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.otherinAn option set.This method is implemented as a ^ (bitwise XOR) operation on the two sets’ raw values.", - key.offset: 2885, + key.offset: 2985, key.length: 76, key.fully_annotated_decl: "@inlinable mutating func formSymmetricDifference(_ other: FooRuncingOptions)", key.entities: [ @@ -5937,7 +6007,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "other", - key.offset: 2943, + key.offset: 3043, key.length: 17 } ] @@ -5947,7 +6017,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } { key.kind: source.lang.swift.decl.extension.struct, key.doc.full_as_xml: "extension FooRuncingOptionsSetAlgebra requirements for which default implementations are supplied.A type conforming to SetAlgebra can implement any of these initializers or methods, and those implementations will be used in lieu of these defaults.", - key.offset: 2965, + key.offset: 3065, key.length: 667, key.fully_annotated_decl: "extension FooRuncingOptions", key.extends: { @@ -5975,7 +6045,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } } ], key.doc.full_as_xml: "init(_:)s:s10SetAlgebraPsEyxqd__ncSTRd__7ElementQyd__ACRtzlufc::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable init<S>(_ sequence: S) where S : Sequence, FooRuncingOptions == S.ElementCreates a new set from a finite sequence of items.sequenceinThe elements to use as members of the new set.Use this initializer to create a new set from an existing sequence, like an array or a range:", - key.offset: 3000, + key.offset: 3100, key.length: 84, key.fully_annotated_decl: "@inlinable init<S>(_ sequence: S) where S : Sequence, FooRuncingOptions == S.Element", key.entities: [ @@ -5983,7 +6053,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "sequence", - key.offset: 3031, + key.offset: 3131, key.length: 1 } ] @@ -5994,7 +6064,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s10SetAlgebraPsE8subtractyyxF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s10SetAlgebraPsE8subtractyyxF", key.doc.full_as_xml: "subtract(_:)s:s10SetAlgebraPsE8subtractyyxF::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable mutating func subtract(_ other: FooRuncingOptions)Removes the elements of the given set from this set.otherinA set of the same type as the current set.In the following example, the elements of the employees set that are also members of the neighbors set are removed. In particular, the names "Bethany" and "Eric" are removed from employees.", - key.offset: 3090, + key.offset: 3190, key.length: 61, key.fully_annotated_decl: "@inlinable mutating func subtract(_ other: FooRuncingOptions)", key.entities: [ @@ -6002,7 +6072,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "other", - key.offset: 3133, + key.offset: 3233, key.length: 17 } ] @@ -6013,7 +6083,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s10SetAlgebraPsE8isSubset2ofSbx_tF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s10SetAlgebraPsE8isSubset2ofSbx_tF", key.doc.full_as_xml: "isSubset(of:)s:s10SetAlgebraPsE8isSubset2ofSbx_tF::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable func isSubset(of other: FooRuncingOptions) -> BoolReturns a Boolean value that indicates whether the set is a subset of another set.otherinA set of the same type as the current set.true if the set is a subset of other; otherwise, false.Set A is a subset of another set B if every member of A is also a member of B.", - key.offset: 3157, + key.offset: 3257, key.length: 61, key.fully_annotated_decl: "@inlinable func isSubset(of other: FooRuncingOptions) -> Bool", key.entities: [ @@ -6021,7 +6091,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "of", key.name: "other", - key.offset: 3192, + key.offset: 3292, key.length: 17 } ] @@ -6032,7 +6102,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s10SetAlgebraPsE10isSuperset2ofSbx_tF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s10SetAlgebraPsE10isSuperset2ofSbx_tF", key.doc.full_as_xml: "isSuperset(of:)s:s10SetAlgebraPsE10isSuperset2ofSbx_tF::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable func isSuperset(of other: FooRuncingOptions) -> BoolReturns a Boolean value that indicates whether the set is a superset of the given set.otherinA set of the same type as the current set.true if the set is a superset of other; otherwise, false.Set A is a superset of another set B if every member of B is also a member of A.", - key.offset: 3224, + key.offset: 3324, key.length: 63, key.fully_annotated_decl: "@inlinable func isSuperset(of other: FooRuncingOptions) -> Bool", key.entities: [ @@ -6040,7 +6110,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "of", key.name: "other", - key.offset: 3261, + key.offset: 3361, key.length: 17 } ] @@ -6051,7 +6121,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s10SetAlgebraPsE10isDisjoint4withSbx_tF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s10SetAlgebraPsE10isDisjoint4withSbx_tF", key.doc.full_as_xml: "isDisjoint(with:)s:s10SetAlgebraPsE10isDisjoint4withSbx_tF::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable func isDisjoint(with other: FooRuncingOptions) -> BoolReturns a Boolean value that indicates whether the set has no members in common with the given set.otherinA set of the same type as the current set.true if the set has no elements in common with other; otherwise, false.In the following example, the employees set is disjoint with the visitors set because no name appears in both sets.", - key.offset: 3293, + key.offset: 3393, key.length: 65, key.fully_annotated_decl: "@inlinable func isDisjoint(with other: FooRuncingOptions) -> Bool", key.entities: [ @@ -6059,7 +6129,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "with", key.name: "other", - key.offset: 3332, + key.offset: 3432, key.length: 17 } ] @@ -6070,7 +6140,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s10SetAlgebraPsE11subtractingyxxF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s10SetAlgebraPsE11subtractingyxxF", key.doc.full_as_xml: "subtracting(_:)s:s10SetAlgebraPsE11subtractingyxxF::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable func subtracting(_ other: FooRuncingOptions) -> FooRuncingOptionsReturns a new set containing the elements of this set that do not occur in the given set.otherinA set of the same type as the current set.A new set.In the following example, the nonNeighbors set is made up of the elements of the employees set that are not elements of neighbors:", - key.offset: 3364, + key.offset: 3464, key.length: 76, key.fully_annotated_decl: "@inlinable func subtracting(_ other: FooRuncingOptions) -> FooRuncingOptions", key.entities: [ @@ -6078,7 +6148,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "other", - key.offset: 3401, + key.offset: 3501, key.length: 17 } ] @@ -6089,7 +6159,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s10SetAlgebraPsE7isEmptySbvp::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s10SetAlgebraPsE7isEmptySbvp", key.doc.full_as_xml: "isEmptys:s10SetAlgebraPsE7isEmptySbvp::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable var isEmpty: Bool { get }A Boolean value that indicates whether the set has no elements.", - key.offset: 3446, + key.offset: 3546, key.length: 36, key.fully_annotated_decl: "@inlinable var isEmpty: Bool { get }" }, @@ -6099,7 +6169,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s10SetAlgebraPsE16isStrictSuperset2ofSbx_tF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s10SetAlgebraPsE16isStrictSuperset2ofSbx_tF", key.doc.full_as_xml: "isStrictSuperset(of:)s:s10SetAlgebraPsE16isStrictSuperset2ofSbx_tF::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable func isStrictSuperset(of other: FooRuncingOptions) -> BoolReturns a Boolean value that indicates whether this set is a strict superset of the given set.otherinA set of the same type as the current set.true if the set is a strict superset of other; otherwise, false.Set A is a strict superset of another set B if every member of B is also a member of A and A contains at least one element that is not a member of B.", - key.offset: 3488, + key.offset: 3588, key.length: 69, key.fully_annotated_decl: "@inlinable func isStrictSuperset(of other: FooRuncingOptions) -> Bool", key.entities: [ @@ -6107,7 +6177,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "of", key.name: "other", - key.offset: 3531, + key.offset: 3631, key.length: 17 } ] @@ -6118,7 +6188,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.usr: "s:s10SetAlgebraPsE14isStrictSubset2ofSbx_tF::SYNTHESIZED::c:@E@FooRuncingOptions", key.original_usr: "s:s10SetAlgebraPsE14isStrictSubset2ofSbx_tF", key.doc.full_as_xml: "isStrictSubset(of:)s:s10SetAlgebraPsE14isStrictSubset2ofSbx_tF::SYNTHESIZED::c:@E@FooRuncingOptions@inlinable func isStrictSubset(of other: FooRuncingOptions) -> BoolReturns a Boolean value that indicates whether this set is a strict subset of the given set.otherinA set of the same type as the current set.true if the set is a strict subset of other; otherwise, false.Set A is a strict subset of another set B if every member of A is also a member of B and B contains at least one element that is not a member of A.", - key.offset: 3563, + key.offset: 3663, key.length: 67, key.fully_annotated_decl: "@inlinable func isStrictSubset(of other: FooRuncingOptions) -> Bool", key.entities: [ @@ -6126,7 +6196,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "of", key.name: "other", - key.offset: 3604, + key.offset: 3704, key.length: 17 } ] @@ -6137,7 +6207,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.struct, key.name: "FooStruct1", key.usr: "c:@S@FooStruct1", - key.offset: 3634, + key.offset: 3734, key.length: 105, key.fully_annotated_decl: "struct FooStruct1", key.entities: [ @@ -6145,7 +6215,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init()", key.usr: "s:So10FooStruct1VABycfc", - key.offset: 3659, + key.offset: 3759, key.length: 6, key.fully_annotated_decl: "init()" }, @@ -6153,7 +6223,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init(x:y:)", key.usr: "s:So10FooStruct1V1x1yABs5Int32V_Sdtcfc", - key.offset: 3671, + key.offset: 3771, key.length: 29, key.fully_annotated_decl: "init(x: Int32, y: Double)", key.entities: [ @@ -6161,14 +6231,14 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "x", key.name: "x", - key.offset: 3681, + key.offset: 3781, key.length: 5 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "y", key.name: "y", - key.offset: 3693, + key.offset: 3793, key.length: 6 } ] @@ -6177,7 +6247,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "x", key.usr: "c:@S@FooStruct1@FI@x", - key.offset: 3706, + key.offset: 3806, key.length: 12, key.fully_annotated_decl: "var x: Int32" }, @@ -6185,7 +6255,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "y", key.usr: "c:@S@FooStruct1@FI@y", - key.offset: 3724, + key.offset: 3824, key.length: 13, key.fully_annotated_decl: "var y: Double" } @@ -6195,7 +6265,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.typealias, key.name: "FooStruct1Pointer", key.usr: "c:Foo.h@T@FooStruct1Pointer", - key.offset: 3741, + key.offset: 3841, key.length: 62, key.fully_annotated_decl: "typealias FooStruct1Pointer = UnsafeMutablePointer<FooStruct1>", key.conforms: [ @@ -6210,7 +6280,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.struct, key.name: "FooStruct2", key.usr: "c:@S@FooStruct2", - key.offset: 3805, + key.offset: 3905, key.length: 105, key.fully_annotated_decl: "struct FooStruct2", key.entities: [ @@ -6218,7 +6288,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init()", key.usr: "s:So10FooStruct2VABycfc", - key.offset: 3830, + key.offset: 3930, key.length: 6, key.fully_annotated_decl: "init()" }, @@ -6226,7 +6296,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init(x:y:)", key.usr: "s:So10FooStruct2V1x1yABs5Int32V_Sdtcfc", - key.offset: 3842, + key.offset: 3942, key.length: 29, key.fully_annotated_decl: "init(x: Int32, y: Double)", key.entities: [ @@ -6234,14 +6304,14 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "x", key.name: "x", - key.offset: 3852, + key.offset: 3952, key.length: 5 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "y", key.name: "y", - key.offset: 3864, + key.offset: 3964, key.length: 6 } ] @@ -6250,7 +6320,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "x", key.usr: "c:@S@FooStruct2@FI@x", - key.offset: 3877, + key.offset: 3977, key.length: 12, key.fully_annotated_decl: "var x: Int32" }, @@ -6258,7 +6328,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "y", key.usr: "c:@S@FooStruct2@FI@y", - key.offset: 3895, + key.offset: 3995, key.length: 13, key.fully_annotated_decl: "var y: Double" } @@ -6268,7 +6338,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.typealias, key.name: "FooStructTypedef1", key.usr: "c:Foo.h@T@FooStructTypedef1", - key.offset: 3912, + key.offset: 4012, key.length: 40, key.fully_annotated_decl: "typealias FooStructTypedef1 = FooStruct2" }, @@ -6276,7 +6346,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.struct, key.name: "FooStructTypedef2", key.usr: "c:@SA@FooStructTypedef2", - key.offset: 3954, + key.offset: 4054, key.length: 112, key.fully_annotated_decl: "struct FooStructTypedef2", key.entities: [ @@ -6284,7 +6354,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init()", key.usr: "s:So17FooStructTypedef2aABycfc", - key.offset: 3986, + key.offset: 4086, key.length: 6, key.fully_annotated_decl: "init()" }, @@ -6292,7 +6362,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init(x:y:)", key.usr: "s:So17FooStructTypedef2a1x1yABs5Int32V_Sdtcfc", - key.offset: 3998, + key.offset: 4098, key.length: 29, key.fully_annotated_decl: "init(x: Int32, y: Double)", key.entities: [ @@ -6300,14 +6370,14 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "x", key.name: "x", - key.offset: 4008, + key.offset: 4108, key.length: 5 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "y", key.name: "y", - key.offset: 4020, + key.offset: 4120, key.length: 6 } ] @@ -6316,7 +6386,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "x", key.usr: "c:@SA@FooStructTypedef2@FI@x", - key.offset: 4033, + key.offset: 4133, key.length: 12, key.fully_annotated_decl: "var x: Int32" }, @@ -6324,7 +6394,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "y", key.usr: "c:@SA@FooStructTypedef2@FI@y", - key.offset: 4051, + key.offset: 4151, key.length: 13, key.fully_annotated_decl: "var y: Double" } @@ -6335,7 +6405,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "FooTypedef1", key.usr: "c:Foo.h@T@FooTypedef1", key.doc.full_as_xml: "FooTypedef1c:Foo.h@T@FooTypedef1typealias FooTypedef1 = Int32 Aaa. FooTypedef1. Bbb.", - key.offset: 4068, + key.offset: 4168, key.length: 29, key.fully_annotated_decl: "typealias FooTypedef1 = Int32", key.conforms: [ @@ -6361,7 +6431,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "fooIntVar", key.usr: "c:@fooIntVar", key.doc.full_as_xml: "fooIntVarc:@fooIntVarvar fooIntVar: Int32 Aaa. fooIntVar. Bbb.", - key.offset: 4099, + key.offset: 4199, key.length: 20, key.fully_annotated_decl: "var fooIntVar: Int32" }, @@ -6370,7 +6440,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "fooFunc1(_:)", key.usr: "c:@F@fooFunc1", key.doc.full_as_xml: "fooFunc1c:@F@fooFunc1func fooFunc1(_ a: Int32) -> Int32 Aaa. fooFunc1. Bbb.", - key.offset: 4121, + key.offset: 4221, key.length: 34, key.fully_annotated_decl: "func fooFunc1(_ a: Int32) -> Int32", key.entities: [ @@ -6378,7 +6448,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "a", - key.offset: 4140, + key.offset: 4240, key.length: 5 } ] @@ -6387,14 +6457,14 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.free, key.name: "fooFunc1AnonymousParam(_:)", key.usr: "c:@F@fooFunc1AnonymousParam", - key.offset: 4157, + key.offset: 4257, key.length: 48, key.fully_annotated_decl: "func fooFunc1AnonymousParam(_: Int32) -> Int32", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", - key.offset: 4190, + key.offset: 4290, key.length: 5 } ] @@ -6403,7 +6473,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.free, key.name: "fooFunc3(_:_:_:_:)", key.usr: "c:@F@fooFunc3", - key.offset: 4207, + key.offset: 4307, key.length: 94, key.fully_annotated_decl: "func fooFunc3(_ a: Int32, _ b: Float, _ c: Double, _ d: UnsafeMutablePointer<Int32>!) -> Int32", key.entities: [ @@ -6411,28 +6481,28 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "a", - key.offset: 4226, + key.offset: 4326, key.length: 5 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "b", - key.offset: 4238, + key.offset: 4338, key.length: 5 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "c", - key.offset: 4250, + key.offset: 4350, key.length: 6 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "d", - key.offset: 4263, + key.offset: 4363, key.length: 28 } ] @@ -6441,7 +6511,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.free, key.name: "fooFuncWithBlock(_:)", key.usr: "c:@F@fooFuncWithBlock", - key.offset: 4303, + key.offset: 4403, key.length: 49, key.fully_annotated_decl: "func fooFuncWithBlock(_ blk: ((Float) -> Int32)!)", key.entities: [ @@ -6449,7 +6519,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "blk", - key.offset: 4332, + key.offset: 4432, key.length: 19 } ] @@ -6458,7 +6528,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.free, key.name: "fooFuncWithFunctionPointer(_:)", key.usr: "c:@F@fooFuncWithFunctionPointer", - key.offset: 4354, + key.offset: 4454, key.length: 60, key.fully_annotated_decl: "func fooFuncWithFunctionPointer(_ fptr: ((Float) -> Int32)!)", key.entities: [ @@ -6466,7 +6536,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "fptr", - key.offset: 4394, + key.offset: 4494, key.length: 19 } ] @@ -6475,7 +6545,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.free, key.name: "fooFuncNoreturn1()", key.usr: "c:@F@fooFuncNoreturn1", - key.offset: 4416, + key.offset: 4516, key.length: 32, key.fully_annotated_decl: "func fooFuncNoreturn1() -> Never" }, @@ -6483,7 +6553,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.free, key.name: "fooFuncNoreturn2()", key.usr: "c:@F@fooFuncNoreturn2", - key.offset: 4450, + key.offset: 4550, key.length: 32, key.fully_annotated_decl: "func fooFuncNoreturn2() -> Never" }, @@ -6492,7 +6562,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "fooFuncWithComment1()", key.usr: "c:@F@fooFuncWithComment1", key.doc.full_as_xml: "fooFuncWithComment1c:@F@fooFuncWithComment1func fooFuncWithComment1() Aaa. fooFuncWithComment1. Bbb. Ccc. Ddd.", - key.offset: 4484, + key.offset: 4584, key.length: 26, key.fully_annotated_decl: "func fooFuncWithComment1()" }, @@ -6501,7 +6571,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "fooFuncWithComment2()", key.usr: "c:@F@fooFuncWithComment2", key.doc.full_as_xml: "fooFuncWithComment2c:@F@fooFuncWithComment2func fooFuncWithComment2() Aaa. fooFuncWithComment2. Bbb.", - key.offset: 4512, + key.offset: 4612, key.length: 26, key.fully_annotated_decl: "func fooFuncWithComment2()" }, @@ -6510,7 +6580,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "fooFuncWithComment3()", key.usr: "c:@F@fooFuncWithComment3", key.doc.full_as_xml: "fooFuncWithComment3c:@F@fooFuncWithComment3func fooFuncWithComment3() Aaa. fooFuncWithComment3. Bbb. Ccc.", - key.offset: 4540, + key.offset: 4640, key.length: 26, key.fully_annotated_decl: "func fooFuncWithComment3()" }, @@ -6519,7 +6589,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "fooFuncWithComment4()", key.usr: "c:@F@fooFuncWithComment4", key.doc.full_as_xml: "fooFuncWithComment4c:@F@fooFuncWithComment4func fooFuncWithComment4() Aaa. fooFuncWithComment4. Bbb. Ddd.", - key.offset: 4568, + key.offset: 4668, key.length: 26, key.fully_annotated_decl: "func fooFuncWithComment4()" }, @@ -6528,7 +6598,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "fooFuncWithComment5()", key.usr: "c:@F@fooFuncWithComment5", key.doc.full_as_xml: "fooFuncWithComment5c:@F@fooFuncWithComment5func fooFuncWithComment5() Aaa. fooFuncWithComment5. Bbb. Ccc. Ddd.", - key.offset: 4596, + key.offset: 4696, key.length: 26, key.fully_annotated_decl: "func fooFuncWithComment5()" }, @@ -6537,7 +6607,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "redeclaredInMultipleModulesFunc1(_:)", key.usr: "c:@F@redeclaredInMultipleModulesFunc1", key.doc.full_as_xml: "redeclaredInMultipleModulesFunc1c:@F@redeclaredInMultipleModulesFunc1func redeclaredInMultipleModulesFunc1(_ a: Int32) -> Int32 Aaa. redeclaredInMultipleModulesFunc1. Bbb.", - key.offset: 4624, + key.offset: 4724, key.length: 58, key.fully_annotated_decl: "func redeclaredInMultipleModulesFunc1(_ a: Int32) -> Int32", key.entities: [ @@ -6545,7 +6615,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "a", - key.offset: 4667, + key.offset: 4767, key.length: 5 } ] @@ -6555,7 +6625,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "FooProtocolBase", key.usr: "c:objc(pl)FooProtocolBase", key.doc.full_as_xml: "FooProtocolBasec:objc(pl)FooProtocolBaseprotocol FooProtocolBase Aaa. FooProtocolBase. Bbb.", - key.offset: 4684, + key.offset: 4784, key.length: 301, key.fully_annotated_decl: "protocol FooProtocolBase", key.entities: [ @@ -6564,7 +6634,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "fooProtoFunc()", key.usr: "c:objc(pl)FooProtocolBase(im)fooProtoFunc", key.doc.full_as_xml: "fooProtoFuncc:objc(pl)FooProtocolBase(im)fooProtoFuncfunc fooProtoFunc() Aaa. fooProtoFunc. Bbb. Ccc.", - key.offset: 4716, + key.offset: 4816, key.length: 19, key.fully_annotated_decl: "func fooProtoFunc()" }, @@ -6573,7 +6643,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "fooProtoFuncWithExtraIndentation1()", key.usr: "c:objc(pl)FooProtocolBase(im)fooProtoFuncWithExtraIndentation1", key.doc.full_as_xml: "fooProtoFuncWithExtraIndentation1c:objc(pl)FooProtocolBase(im)fooProtoFuncWithExtraIndentation1func fooProtoFuncWithExtraIndentation1() Aaa. fooProtoFuncWithExtraIndentation1. Bbb. Ccc.", - key.offset: 4741, + key.offset: 4841, key.length: 40, key.fully_annotated_decl: "func fooProtoFuncWithExtraIndentation1()" }, @@ -6582,7 +6652,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "fooProtoFuncWithExtraIndentation2()", key.usr: "c:objc(pl)FooProtocolBase(im)fooProtoFuncWithExtraIndentation2", key.doc.full_as_xml: "fooProtoFuncWithExtraIndentation2c:objc(pl)FooProtocolBase(im)fooProtoFuncWithExtraIndentation2func fooProtoFuncWithExtraIndentation2() Aaa. fooProtoFuncWithExtraIndentation2. Bbb. Ccc.", - key.offset: 4787, + key.offset: 4887, key.length: 40, key.fully_annotated_decl: "func fooProtoFuncWithExtraIndentation2()" }, @@ -6590,7 +6660,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.static, key.name: "fooProtoClassFunc()", key.usr: "c:objc(pl)FooProtocolBase(cm)fooProtoClassFunc", - key.offset: 4833, + key.offset: 4933, key.length: 31, key.fully_annotated_decl: "static func fooProtoClassFunc()" }, @@ -6598,7 +6668,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "fooProperty1", key.usr: "c:objc(pl)FooProtocolBase(py)fooProperty1", - key.offset: 4870, + key.offset: 4970, key.length: 35, key.fully_annotated_decl: "var fooProperty1: Int32 { get set }" }, @@ -6606,7 +6676,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "fooProperty2", key.usr: "c:objc(pl)FooProtocolBase(py)fooProperty2", - key.offset: 4911, + key.offset: 5011, key.length: 35, key.fully_annotated_decl: "var fooProperty2: Int32 { get set }" }, @@ -6614,7 +6684,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "fooProperty3", key.usr: "c:objc(pl)FooProtocolBase(py)fooProperty3", - key.offset: 4952, + key.offset: 5052, key.length: 31, key.fully_annotated_decl: "var fooProperty3: Int32 { get }" } @@ -6624,7 +6694,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.protocol, key.name: "FooProtocolDerived", key.usr: "c:objc(pl)FooProtocolDerived", - key.offset: 4987, + key.offset: 5087, key.length: 49, key.fully_annotated_decl: "protocol FooProtocolDerived : FooProtocolBase", key.conforms: [ @@ -6639,7 +6709,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.class, key.name: "FooClassBase", key.usr: "c:objc(cs)FooClassBase", - key.offset: 5038, + key.offset: 5138, key.length: 392, key.fully_annotated_decl: "class FooClassBase", key.entities: [ @@ -6647,7 +6717,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "fooBaseInstanceFunc0()", key.usr: "c:objc(cs)FooClassBase(im)fooBaseInstanceFunc0", - key.offset: 5064, + key.offset: 5164, key.length: 27, key.fully_annotated_decl: "func fooBaseInstanceFunc0()" }, @@ -6655,7 +6725,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "fooBaseInstanceFunc1(_:)", key.usr: "c:objc(cs)FooClassBase(im)fooBaseInstanceFunc1:", - key.offset: 5097, + key.offset: 5197, key.length: 60, key.fully_annotated_decl: "func fooBaseInstanceFunc1(_ anObject: Any!) -> FooClassBase!", key.entities: [ @@ -6663,7 +6733,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "anObject", - key.offset: 5135, + key.offset: 5235, key.length: 4 } ] @@ -6672,7 +6742,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init()", key.usr: "c:objc(cs)FooClassBase(im)init", - key.offset: 5163, + key.offset: 5263, key.length: 7, key.fully_annotated_decl: "init!()" }, @@ -6680,7 +6750,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init(float:)", key.usr: "c:objc(cs)FooClassBase(im)initWithFloat:", - key.offset: 5176, + key.offset: 5276, key.length: 33, key.fully_annotated_decl: "convenience init!(float f: Float)", key.entities: [ @@ -6688,7 +6758,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "float", key.name: "f", - key.offset: 5203, + key.offset: 5303, key.length: 5 } ] @@ -6697,7 +6767,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "fooBaseInstanceFuncOverridden()", key.usr: "c:objc(cs)FooClassBase(im)fooBaseInstanceFuncOverridden", - key.offset: 5215, + key.offset: 5315, key.length: 36, key.fully_annotated_decl: "func fooBaseInstanceFuncOverridden()" }, @@ -6705,7 +6775,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.class, key.name: "fooBaseClassFunc0()", key.usr: "c:objc(cs)FooClassBase(cm)fooBaseClassFunc0", - key.offset: 5257, + key.offset: 5357, key.length: 30, key.fully_annotated_decl: "class func fooBaseClassFunc0()" }, @@ -6713,7 +6783,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "_internalMeth1()", key.usr: "c:objc(cs)FooClassBase(im)_internalMeth1", - key.offset: 5293, + key.offset: 5393, key.length: 29, key.fully_annotated_decl: "func _internalMeth1() -> Any!" }, @@ -6721,7 +6791,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "_internalMeth2()", key.usr: "c:objc(cs)FooClassBase(im)_internalMeth2", - key.offset: 5328, + key.offset: 5428, key.length: 29, key.fully_annotated_decl: "func _internalMeth2() -> Any!" }, @@ -6729,7 +6799,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "nonInternalMeth()", key.usr: "c:objc(cs)FooClassBase(im)nonInternalMeth", - key.offset: 5363, + key.offset: 5463, key.length: 30, key.fully_annotated_decl: "func nonInternalMeth() -> Any!" }, @@ -6737,7 +6807,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "_internalMeth3()", key.usr: "c:objc(cs)FooClassBase(im)_internalMeth3", - key.offset: 5399, + key.offset: 5499, key.length: 29, key.fully_annotated_decl: "func _internalMeth3() -> Any!" } @@ -6748,7 +6818,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "FooClassDerived", key.usr: "c:objc(cs)FooClassDerived", key.doc.full_as_xml: "FooClassDerivedc:objc(cs)FooClassDerivedclass FooClassDerived : FooClassBase, FooProtocolDerived Aaa. FooClassDerived. Bbb.", - key.offset: 5432, + key.offset: 5532, key.length: 352, key.fully_annotated_decl: "class FooClassDerived : FooClassBase, FooProtocolDerived", key.inherits: [ @@ -6770,7 +6840,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "fooProperty1", key.usr: "c:objc(cs)FooClassDerived(py)fooProperty1", - key.offset: 5496, + key.offset: 5596, key.length: 23, key.fully_annotated_decl: "var fooProperty1: Int32 { get set }" }, @@ -6778,7 +6848,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "fooProperty2", key.usr: "c:objc(cs)FooClassDerived(py)fooProperty2", - key.offset: 5525, + key.offset: 5625, key.length: 23, key.fully_annotated_decl: "var fooProperty2: Int32 { get set }" }, @@ -6786,7 +6856,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "fooProperty3", key.usr: "c:objc(cs)FooClassDerived(py)fooProperty3", - key.offset: 5554, + key.offset: 5654, key.length: 31, key.fully_annotated_decl: "var fooProperty3: Int32 { get }" }, @@ -6794,7 +6864,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "fooInstanceFunc0()", key.usr: "c:objc(cs)FooClassDerived(im)fooInstanceFunc0", - key.offset: 5591, + key.offset: 5691, key.length: 23, key.fully_annotated_decl: "func fooInstanceFunc0()" }, @@ -6802,7 +6872,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "fooInstanceFunc1(_:)", key.usr: "c:objc(cs)FooClassDerived(im)fooInstanceFunc1:", - key.offset: 5620, + key.offset: 5720, key.length: 33, key.fully_annotated_decl: "func fooInstanceFunc1(_ a: Int32)", key.entities: [ @@ -6810,7 +6880,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "a", - key.offset: 5647, + key.offset: 5747, key.length: 5 } ] @@ -6819,7 +6889,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "fooInstanceFunc2(_:withB:)", key.usr: "c:objc(cs)FooClassDerived(im)fooInstanceFunc2:withB:", - key.offset: 5659, + key.offset: 5759, key.length: 49, key.fully_annotated_decl: "func fooInstanceFunc2(_ a: Int32, withB b: Int32)", key.entities: [ @@ -6827,14 +6897,14 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "a", - key.offset: 5686, + key.offset: 5786, key.length: 5 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "withB", key.name: "b", - key.offset: 5702, + key.offset: 5802, key.length: 5 } ] @@ -6843,7 +6913,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "fooBaseInstanceFuncOverridden()", key.usr: "c:objc(cs)FooClassDerived(im)fooBaseInstanceFuncOverridden", - key.offset: 5714, + key.offset: 5814, key.length: 36, key.fully_annotated_decl: "func fooBaseInstanceFuncOverridden()", key.inherits: [ @@ -6858,7 +6928,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.class, key.name: "fooClassFunc0()", key.usr: "c:objc(cs)FooClassDerived(cm)fooClassFunc0", - key.offset: 5756, + key.offset: 5856, key.length: 26, key.fully_annotated_decl: "class func fooClassFunc0()" } @@ -6868,7 +6938,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.typealias, key.name: "typedef_int_t", key.usr: "c:Foo.h@T@typedef_int_t", - key.offset: 5786, + key.offset: 5886, key.length: 31, key.fully_annotated_decl: "typealias typedef_int_t = Int32", key.conforms: [ @@ -6893,7 +6963,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_1", key.usr: "c:Foo.h@3836@macro@FOO_MACRO_1", - key.offset: 5819, + key.offset: 5919, key.length: 30, key.fully_annotated_decl: "var FOO_MACRO_1: Int32 { get }" }, @@ -6901,7 +6971,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_2", key.usr: "c:Foo.h@3858@macro@FOO_MACRO_2", - key.offset: 5851, + key.offset: 5951, key.length: 30, key.fully_annotated_decl: "var FOO_MACRO_2: Int32 { get }" }, @@ -6909,7 +6979,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_3", key.usr: "c:Foo.h@3880@macro@FOO_MACRO_3", - key.offset: 5883, + key.offset: 5983, key.length: 30, key.fully_annotated_decl: "var FOO_MACRO_3: Int32 { get }" }, @@ -6917,7 +6987,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_4", key.usr: "c:Foo.h@3944@macro@FOO_MACRO_4", - key.offset: 5915, + key.offset: 6015, key.length: 31, key.fully_annotated_decl: "var FOO_MACRO_4: UInt32 { get }" }, @@ -6925,7 +6995,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_5", key.usr: "c:Foo.h@3976@macro@FOO_MACRO_5", - key.offset: 5948, + key.offset: 6048, key.length: 31, key.fully_annotated_decl: "var FOO_MACRO_5: UInt64 { get }" }, @@ -6933,7 +7003,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_6", key.usr: "c:Foo.h@4018@macro@FOO_MACRO_6", - key.offset: 5981, + key.offset: 6081, key.length: 38, key.fully_annotated_decl: "var FOO_MACRO_6: typedef_int_t { get }" }, @@ -6941,7 +7011,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_7", key.usr: "c:Foo.h@4059@macro@FOO_MACRO_7", - key.offset: 6021, + key.offset: 6121, key.length: 38, key.fully_annotated_decl: "var FOO_MACRO_7: typedef_int_t { get }" }, @@ -6949,7 +7019,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_8", key.usr: "c:Foo.h@4100@macro@FOO_MACRO_8", - key.offset: 6061, + key.offset: 6161, key.length: 30, key.fully_annotated_decl: "var FOO_MACRO_8: CChar { get }" }, @@ -6957,7 +7027,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_9", key.usr: "c:Foo.h@4131@macro@FOO_MACRO_9", - key.offset: 6093, + key.offset: 6193, key.length: 30, key.fully_annotated_decl: "var FOO_MACRO_9: Int32 { get }" }, @@ -6965,7 +7035,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_10", key.usr: "c:Foo.h@4161@macro@FOO_MACRO_10", - key.offset: 6125, + key.offset: 6225, key.length: 31, key.fully_annotated_decl: "var FOO_MACRO_10: Int16 { get }" }, @@ -6973,7 +7043,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_11", key.usr: "c:Foo.h@4195@macro@FOO_MACRO_11", - key.offset: 6158, + key.offset: 6258, key.length: 29, key.fully_annotated_decl: "var FOO_MACRO_11: Int { get }" }, @@ -6981,7 +7051,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_OR", key.usr: "c:Foo.h@4228@macro@FOO_MACRO_OR", - key.offset: 6189, + key.offset: 6289, key.length: 31, key.fully_annotated_decl: "var FOO_MACRO_OR: Int32 { get }" }, @@ -6989,7 +7059,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_AND", key.usr: "c:Foo.h@4277@macro@FOO_MACRO_AND", - key.offset: 6222, + key.offset: 6322, key.length: 32, key.fully_annotated_decl: "var FOO_MACRO_AND: Int32 { get }" }, @@ -6997,7 +7067,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_BITWIDTH", key.usr: "c:Foo.h@4327@macro@FOO_MACRO_BITWIDTH", - key.offset: 6256, + key.offset: 6356, key.length: 38, key.fully_annotated_decl: "var FOO_MACRO_BITWIDTH: UInt64 { get }" }, @@ -7005,7 +7075,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_SIGNED", key.usr: "c:Foo.h@4382@macro@FOO_MACRO_SIGNED", - key.offset: 6296, + key.offset: 6396, key.length: 36, key.fully_annotated_decl: "var FOO_MACRO_SIGNED: UInt32 { get }" }, @@ -7013,7 +7083,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_REDEF_1", key.usr: "c:Foo.h@4593@macro@FOO_MACRO_REDEF_1", - key.offset: 6334, + key.offset: 6434, key.length: 36, key.fully_annotated_decl: "var FOO_MACRO_REDEF_1: Int32 { get }" }, @@ -7021,7 +7091,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_MACRO_REDEF_2", key.usr: "c:Foo.h@4650@macro@FOO_MACRO_REDEF_2", - key.offset: 6372, + key.offset: 6472, key.length: 36, key.fully_annotated_decl: "var FOO_MACRO_REDEF_2: Int32 { get }" }, @@ -7029,7 +7099,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.free, key.name: "theLastDeclInFoo()", key.usr: "c:@F@theLastDeclInFoo", - key.offset: 6410, + key.offset: 6510, key.length: 23, key.fully_annotated_decl: "func theLastDeclInFoo()" }, @@ -7037,7 +7107,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.free, key.name: "_internalTopLevelFunc()", key.usr: "c:@F@_internalTopLevelFunc", - key.offset: 6435, + key.offset: 6535, key.length: 28, key.fully_annotated_decl: "func _internalTopLevelFunc()" }, @@ -7045,7 +7115,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.struct, key.name: "_InternalStruct", key.usr: "c:@S@_InternalStruct", - key.offset: 6465, + key.offset: 6565, key.length: 78, key.fully_annotated_decl: "struct _InternalStruct", key.entities: [ @@ -7053,7 +7123,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init()", key.usr: "s:So15_InternalStructVABycfc", - key.offset: 6495, + key.offset: 6595, key.length: 6, key.fully_annotated_decl: "init()" }, @@ -7061,7 +7131,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init(x:)", key.usr: "s:So15_InternalStructV1xABs5Int32V_tcfc", - key.offset: 6507, + key.offset: 6607, key.length: 16, key.fully_annotated_decl: "init(x: Int32)", key.entities: [ @@ -7069,7 +7139,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "x", key.name: "x", - key.offset: 6517, + key.offset: 6617, key.length: 5 } ] @@ -7078,7 +7148,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "x", key.usr: "c:@S@_InternalStruct@FI@x", - key.offset: 6529, + key.offset: 6629, key.length: 12, key.fully_annotated_decl: "var x: Int32" } @@ -7086,7 +7156,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } }, { key.kind: source.lang.swift.decl.extension.class, - key.offset: 6545, + key.offset: 6645, key.length: 61, key.fully_annotated_decl: "extension FooClassBase", key.extends: { @@ -7099,7 +7169,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "_internalMeth1()", key.usr: "c:objc(cs)FooClassBase(im)_internalMeth1", - key.offset: 6575, + key.offset: 6675, key.length: 29, key.fully_annotated_decl: "func _internalMeth1() -> Any!" } @@ -7107,7 +7177,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } }, { key.kind: source.lang.swift.decl.extension.class, - key.offset: 6608, + key.offset: 6708, key.length: 97, key.fully_annotated_decl: "extension FooClassBase", key.extends: { @@ -7120,7 +7190,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "_internalMeth2()", key.usr: "c:objc(cs)FooClassBase(im)_internalMeth2", - key.offset: 6638, + key.offset: 6738, key.length: 29, key.fully_annotated_decl: "func _internalMeth2() -> Any!" }, @@ -7128,7 +7198,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "nonInternalMeth()", key.usr: "c:objc(cs)FooClassBase(im)nonInternalMeth", - key.offset: 6673, + key.offset: 6773, key.length: 30, key.fully_annotated_decl: "func nonInternalMeth() -> Any!" } @@ -7136,7 +7206,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } }, { key.kind: source.lang.swift.decl.extension.class, - key.offset: 6707, + key.offset: 6807, key.length: 61, key.fully_annotated_decl: "extension FooClassBase", key.extends: { @@ -7149,7 +7219,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "_internalMeth3()", key.usr: "c:objc(cs)FooClassBase(im)_internalMeth3", - key.offset: 6737, + key.offset: 6837, key.length: 29, key.fully_annotated_decl: "func _internalMeth3() -> Any!" } @@ -7159,7 +7229,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.protocol, key.name: "_InternalProt", key.usr: "c:objc(pl)_InternalProt", - key.offset: 6770, + key.offset: 6870, key.length: 26, key.fully_annotated_decl: "protocol _InternalProt" }, @@ -7167,7 +7237,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.class, key.name: "ClassWithInternalProt", key.usr: "c:objc(cs)ClassWithInternalProt", - key.offset: 6798, + key.offset: 6898, key.length: 47, key.fully_annotated_decl: "class ClassWithInternalProt : _InternalProt", key.conforms: [ @@ -7182,7 +7252,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.class, key.name: "FooClassPropertyOwnership", key.usr: "c:objc(cs)FooClassPropertyOwnership", - key.offset: 6847, + key.offset: 6947, key.length: 284, key.fully_annotated_decl: "class FooClassPropertyOwnership : FooClassBase", key.inherits: [ @@ -7197,7 +7267,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "assignable", key.usr: "c:objc(cs)FooClassPropertyOwnership(py)assignable", - key.offset: 6901, + key.offset: 7001, key.length: 42, key.fully_annotated_decl: "unowned(unsafe) var assignable: AnyObject! { get set }" }, @@ -7205,7 +7275,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "unsafeAssignable", key.usr: "c:objc(cs)FooClassPropertyOwnership(py)unsafeAssignable", - key.offset: 6949, + key.offset: 7049, key.length: 48, key.fully_annotated_decl: "unowned(unsafe) var unsafeAssignable: AnyObject! { get set }" }, @@ -7213,7 +7283,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "retainable", key.usr: "c:objc(cs)FooClassPropertyOwnership(py)retainable", - key.offset: 7003, + key.offset: 7103, key.length: 20, key.fully_annotated_decl: "var retainable: Any! { get set }" }, @@ -7221,7 +7291,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "strongRef", key.usr: "c:objc(cs)FooClassPropertyOwnership(py)strongRef", - key.offset: 7029, + key.offset: 7129, key.length: 19, key.fully_annotated_decl: "var strongRef: Any! { get set }" }, @@ -7229,7 +7299,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "copyable", key.usr: "c:objc(cs)FooClassPropertyOwnership(py)copyable", - key.offset: 7054, + key.offset: 7154, key.length: 18, key.fully_annotated_decl: "var copyable: Any! { get set }" }, @@ -7237,7 +7307,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "weakRef", key.usr: "c:objc(cs)FooClassPropertyOwnership(py)weakRef", - key.offset: 7078, + key.offset: 7178, key.length: 28, key.fully_annotated_decl: "weak var weakRef: AnyObject! { get set }" }, @@ -7245,7 +7315,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "scalar", key.usr: "c:objc(cs)FooClassPropertyOwnership(py)scalar", - key.offset: 7112, + key.offset: 7212, key.length: 17, key.fully_annotated_decl: "var scalar: Int32 { get set }" } @@ -7255,7 +7325,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FOO_NIL", key.usr: "c:Foo.h@5439@macro@FOO_NIL", - key.offset: 7133, + key.offset: 7233, key.length: 15, key.fully_annotated_decl: "var FOO_NIL: ()", key.attributes: [ @@ -7271,7 +7341,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.class, key.name: "FooUnavailableMembers", key.usr: "c:objc(cs)FooUnavailableMembers", - key.offset: 7150, + key.offset: 7250, key.length: 451, key.fully_annotated_decl: "class FooUnavailableMembers : FooClassBase", key.inherits: [ @@ -7286,7 +7356,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init(int:)", key.usr: "c:objc(cs)FooUnavailableMembers(cm)unavailableMembersWithInt:", - key.offset: 7200, + key.offset: 7300, key.length: 31, key.fully_annotated_decl: "convenience init!(int i: Int32)", key.entities: [ @@ -7294,7 +7364,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "int", key.name: "i", - key.offset: 7225, + key.offset: 7325, key.length: 5 } ] @@ -7303,7 +7373,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "unavailable()", key.usr: "c:objc(cs)FooUnavailableMembers(im)unavailable", - key.offset: 7237, + key.offset: 7337, key.length: 18, key.fully_annotated_decl: "func unavailable()", key.attributes: [ @@ -7319,7 +7389,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "swiftUnavailable()", key.usr: "c:objc(cs)FooUnavailableMembers(im)swiftUnavailable", - key.offset: 7261, + key.offset: 7361, key.length: 23, key.fully_annotated_decl: "func swiftUnavailable()", key.attributes: [ @@ -7334,7 +7404,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "deprecated()", key.usr: "c:objc(cs)FooUnavailableMembers(im)deprecated", - key.offset: 7290, + key.offset: 7390, key.length: 17, key.fully_annotated_decl: "func deprecated()", key.attributes: [ @@ -7350,7 +7420,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "availabilityIntroduced()", key.usr: "c:objc(cs)FooUnavailableMembers(im)availabilityIntroduced", - key.offset: 7313, + key.offset: 7413, key.length: 29, key.fully_annotated_decl: "func availabilityIntroduced()", key.attributes: [ @@ -7365,7 +7435,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "availabilityDeprecated()", key.usr: "c:objc(cs)FooUnavailableMembers(im)availabilityDeprecated", - key.offset: 7348, + key.offset: 7448, key.length: 29, key.fully_annotated_decl: "func availabilityDeprecated()", key.attributes: [ @@ -7384,7 +7454,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "availabilityObsoleted()", key.usr: "c:objc(cs)FooUnavailableMembers(im)availabilityObsoleted", - key.offset: 7383, + key.offset: 7483, key.length: 28, key.fully_annotated_decl: "func availabilityObsoleted()", key.attributes: [ @@ -7400,7 +7470,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "availabilityUnavailable()", key.usr: "c:objc(cs)FooUnavailableMembers(im)availabilityUnavailable", - key.offset: 7417, + key.offset: 7517, key.length: 30, key.fully_annotated_decl: "func availabilityUnavailable()", key.attributes: [ @@ -7416,7 +7486,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "availabilityIntroducedMsg()", key.usr: "c:objc(cs)FooUnavailableMembers(im)availabilityIntroducedMsg", - key.offset: 7453, + key.offset: 7553, key.length: 32, key.fully_annotated_decl: "func availabilityIntroducedMsg()", key.attributes: [ @@ -7432,7 +7502,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "availabilityDeprecatedMsg()", key.usr: "c:objc(cs)FooUnavailableMembers(im)availabilityDeprecatedMsg", - key.offset: 7491, + key.offset: 7591, key.length: 32, key.fully_annotated_decl: "func availabilityDeprecatedMsg()", key.attributes: [ @@ -7451,7 +7521,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "availabilityObsoletedMsg()", key.usr: "c:objc(cs)FooUnavailableMembers(im)availabilityObsoletedMsg", - key.offset: 7529, + key.offset: 7629, key.length: 31, key.fully_annotated_decl: "func availabilityObsoletedMsg()", key.attributes: [ @@ -7468,7 +7538,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.method.instance, key.name: "availabilityUnavailableMsg()", key.usr: "c:objc(cs)FooUnavailableMembers(im)availabilityUnavailableMsg", - key.offset: 7566, + key.offset: 7666, key.length: 33, key.fully_annotated_decl: "func availabilityUnavailableMsg()", key.attributes: [ @@ -7487,7 +7557,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.class, key.name: "FooCFType", key.usr: "c:Foo.h@T@FooCFTypeRef", - key.offset: 7603, + key.offset: 7703, key.length: 19, key.fully_annotated_decl: "class FooCFType" }, @@ -7495,14 +7565,14 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.free, key.name: "FooCFTypeRelease(_:)", key.usr: "c:@F@FooCFTypeRelease", - key.offset: 7624, + key.offset: 7724, key.length: 38, key.fully_annotated_decl: "func FooCFTypeRelease(_: FooCFType!)", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", - key.offset: 7651, + key.offset: 7751, key.length: 10 } ], @@ -7519,8 +7589,8 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.enum, key.name: "ABAuthorizationStatus", key.usr: "c:@E@ABAuthorizationStatus", - key.offset: 7664, - key.length: 274, + key.offset: 7764, + key.length: 294, key.fully_annotated_decl: "enum ABAuthorizationStatus : Int", key.inherits: [ { @@ -7534,7 +7604,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.enumelement, key.name: "notDetermined", key.usr: "c:@E@ABAuthorizationStatus@kABAuthorizationStatusNotDetermined", - key.offset: 7704, + key.offset: 7804, key.length: 22, key.fully_annotated_decl: "case notDetermined = 0", key.attributes: [ @@ -7549,7 +7619,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.enumelement, key.name: "restricted", key.usr: "c:@E@ABAuthorizationStatus@kABAuthorizationStatusRestricted", - key.offset: 7732, + key.offset: 7832, key.length: 19, key.fully_annotated_decl: "case restricted = 1", key.attributes: [ @@ -7565,7 +7635,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "hashValue", key.usr: "s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::c:@E@ABAuthorizationStatus", key.original_usr: "s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp", - key.offset: 7757, + key.offset: 7857, key.length: 37, key.fully_annotated_decl: "@inlinable var hashValue: Int { get }" }, @@ -7574,7 +7644,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "hash(into:)", key.usr: "s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::c:@E@ABAuthorizationStatus", key.original_usr: "s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF", - key.offset: 7800, + key.offset: 7900, key.length: 47, key.fully_annotated_decl: "@inlinable func hash(into hasher: inout Hasher)", key.entities: [ @@ -7582,7 +7652,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "into", key.name: "hasher", - key.offset: 7840, + key.offset: 7940, key.length: 6 } ] @@ -7590,25 +7660,25 @@ var FooSubUnnamedEnumeratorA1: Int { get } { key.kind: source.lang.swift.decl.function.operator.infix, key.name: "!=(_:_:)", - key.usr: "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@ABAuthorizationStatus", - key.original_usr: "s:SQsE2neoiySbx_xtFZ", - key.doc.full_as_xml: "!=(_:_:)s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@ABAuthorizationStatusstatic func != (lhs: ABAuthorizationStatus, rhs: ABAuthorizationStatus) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", - key.offset: 7853, - key.length: 83, - key.fully_annotated_decl: "static func != (lhs: ABAuthorizationStatus, rhs: ABAuthorizationStatus) -> Bool", + key.usr: "s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@ABAuthorizationStatus", + key.original_usr: "s:SQsRi_zrlE2neoiySbx_xtFZ", + key.doc.full_as_xml: "!=(_:_:)s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@ABAuthorizationStatusstatic func != (lhs: borrowing ABAuthorizationStatus, rhs: borrowing ABAuthorizationStatus) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", + key.offset: 7953, + key.length: 103, + key.fully_annotated_decl: "@_preInverseGenerics static func != (lhs: borrowing ABAuthorizationStatus, rhs: borrowing ABAuthorizationStatus) -> Bool", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "lhs", - key.offset: 7876, + key.offset: 7986, key.length: 21 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rhs", - key.offset: 7906, + key.offset: 8026, key.length: 21 } ] @@ -7627,7 +7697,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.free, key.name: "fooSubFunc1(_:)", key.usr: "c:@F@fooSubFunc1", - key.offset: 7940, + key.offset: 8060, key.length: 37, key.fully_annotated_decl: "func fooSubFunc1(_ a: Int32) -> Int32", key.entities: [ @@ -7635,7 +7705,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "a", - key.offset: 7962, + key.offset: 8082, key.length: 5 } ], @@ -7645,8 +7715,8 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.struct, key.name: "FooSubEnum1", key.usr: "c:@E@FooSubEnum1", - key.offset: 7979, - key.length: 320, + key.offset: 8099, + key.length: 340, key.fully_annotated_decl: "struct FooSubEnum1 : Hashable, Equatable, RawRepresentable", key.conforms: [ { @@ -7670,7 +7740,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init(_:)", key.usr: "s:So11FooSubEnum1VyABs6UInt32Vcfc", - key.offset: 8045, + key.offset: 8165, key.length: 24, key.fully_annotated_decl: "init(_ rawValue: UInt32)", key.entities: [ @@ -7678,7 +7748,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rawValue", - key.offset: 8062, + key.offset: 8182, key.length: 6 } ] @@ -7687,7 +7757,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.function.constructor, key.name: "init(rawValue:)", key.usr: "s:So11FooSubEnum1V8rawValueABs6UInt32V_tcfc", - key.offset: 8075, + key.offset: 8195, key.length: 31, key.fully_annotated_decl: "init(rawValue: UInt32)", key.entities: [ @@ -7695,7 +7765,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "rawValue", key.name: "rawValue", - key.offset: 8099, + key.offset: 8219, key.length: 6 } ] @@ -7704,7 +7774,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.instance, key.name: "rawValue", key.usr: "s:So11FooSubEnum1V8rawValues6UInt32Vvp", - key.offset: 8112, + key.offset: 8232, key.length: 20, key.fully_annotated_decl: "var rawValue: UInt32" }, @@ -7713,7 +7783,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "hashValue", key.usr: "s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::c:@E@FooSubEnum1", key.original_usr: "s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp", - key.offset: 8138, + key.offset: 8258, key.length: 37, key.fully_annotated_decl: "@inlinable var hashValue: Int { get }" }, @@ -7722,7 +7792,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "hash(into:)", key.usr: "s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::c:@E@FooSubEnum1", key.original_usr: "s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF", - key.offset: 8181, + key.offset: 8301, key.length: 47, key.fully_annotated_decl: "@inlinable func hash(into hasher: inout Hasher)", key.entities: [ @@ -7730,7 +7800,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.local, key.keyword: "into", key.name: "hasher", - key.offset: 8221, + key.offset: 8341, key.length: 6 } ] @@ -7738,25 +7808,25 @@ var FooSubUnnamedEnumeratorA1: Int { get } { key.kind: source.lang.swift.decl.function.operator.infix, key.name: "!=(_:_:)", - key.usr: "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooSubEnum1", - key.original_usr: "s:SQsE2neoiySbx_xtFZ", - key.doc.full_as_xml: "!=(_:_:)s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooSubEnum1static func != (lhs: FooSubEnum1, rhs: FooSubEnum1) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", - key.offset: 8234, - key.length: 63, - key.fully_annotated_decl: "static func != (lhs: FooSubEnum1, rhs: FooSubEnum1) -> Bool", + key.usr: "s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooSubEnum1", + key.original_usr: "s:SQsRi_zrlE2neoiySbx_xtFZ", + key.doc.full_as_xml: "!=(_:_:)s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooSubEnum1static func != (lhs: borrowing FooSubEnum1, rhs: borrowing FooSubEnum1) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", + key.offset: 8354, + key.length: 83, + key.fully_annotated_decl: "@_preInverseGenerics static func != (lhs: borrowing FooSubEnum1, rhs: borrowing FooSubEnum1) -> Bool", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "lhs", - key.offset: 8257, + key.offset: 8387, key.length: 11 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rhs", - key.offset: 8277, + key.offset: 8417, key.length: 11 } ] @@ -7768,7 +7838,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FooSubEnum1X", key.usr: "c:@E@FooSubEnum1@FooSubEnum1X", - key.offset: 8301, + key.offset: 8441, key.length: 37, key.fully_annotated_decl: "var FooSubEnum1X: FooSubEnum1 { get }", key.modulename: "Foo.FooSub" @@ -7777,7 +7847,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FooSubEnum1Y", key.usr: "c:@E@FooSubEnum1@FooSubEnum1Y", - key.offset: 8340, + key.offset: 8480, key.length: 37, key.fully_annotated_decl: "var FooSubEnum1Y: FooSubEnum1 { get }", key.modulename: "Foo.FooSub" @@ -7786,7 +7856,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FooSubUnnamedEnumeratorA1", key.usr: "c:@Ea@FooSubUnnamedEnumeratorA1@FooSubUnnamedEnumeratorA1", - key.offset: 8379, + key.offset: 8519, key.length: 42, key.fully_annotated_decl: "var FooSubUnnamedEnumeratorA1: Int { get }", key.modulename: "Foo.FooSub" diff --git a/test/SourceKit/DocSupport/doc_clang_module.swift.sub.response b/test/SourceKit/DocSupport/doc_clang_module.swift.sub.response index daaadda51cf4d..0403f7c37bcb1 100644 --- a/test/SourceKit/DocSupport/doc_clang_module.swift.sub.response +++ b/test/SourceKit/DocSupport/doc_clang_module.swift.sub.response @@ -12,7 +12,7 @@ struct FooSubEnum1 : Hashable, Equatable, RawRepresentable { @inlinable func hash(into hasher: inout Hasher) - static func != (_ lhs: FooSubEnum1, _ rhs: FooSubEnum1) -> Bool + static func != (_ lhs: borrowing FooSubEnum1, _ rhs: borrowing FooSubEnum1) -> Bool } var FooSubEnum1X: FooSubEnum1 { get } @@ -238,101 +238,111 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.offset: 312, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 317, + key.length: 9 + }, { key.kind: source.lang.swift.ref.struct, key.name: "FooSubEnum1", key.usr: "c:@E@FooSubEnum1", - key.offset: 317, + key.offset: 327, key.length: 11 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 330, + key.offset: 340, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 332, + key.offset: 342, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 347, + key.length: 9 + }, { key.kind: source.lang.swift.ref.struct, key.name: "FooSubEnum1", key.usr: "c:@E@FooSubEnum1", - key.offset: 337, + key.offset: 357, key.length: 11 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 353, + key.offset: 373, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 361, + key.offset: 381, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 365, + key.offset: 385, key.length: 12 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooSubEnum1", key.usr: "c:@E@FooSubEnum1", - key.offset: 379, + key.offset: 399, key.length: 11 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 393, + key.offset: 413, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 400, + key.offset: 420, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 404, + key.offset: 424, key.length: 12 }, { key.kind: source.lang.swift.ref.struct, key.name: "FooSubEnum1", key.usr: "c:@E@FooSubEnum1", - key.offset: 418, + key.offset: 438, key.length: 11 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 432, + key.offset: 452, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 439, + key.offset: 459, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 443, + key.offset: 463, key.length: 25 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 470, + key.offset: 490, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 476, + key.offset: 496, key.length: 3 } ] @@ -360,7 +370,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.name: "FooSubEnum1", key.usr: "c:@E@FooSubEnum1", key.offset: 39, - key.length: 320, + key.length: 340, key.fully_annotated_decl: "struct FooSubEnum1 : Hashable, Equatable, RawRepresentable", key.conforms: [ { @@ -452,25 +462,25 @@ var FooSubUnnamedEnumeratorA1: Int { get } { key.kind: source.lang.swift.decl.function.operator.infix, key.name: "!=(_:_:)", - key.usr: "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooSubEnum1", - key.original_usr: "s:SQsE2neoiySbx_xtFZ", - key.doc.full_as_xml: "!=(_:_:)s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooSubEnum1static func != (lhs: FooSubEnum1, rhs: FooSubEnum1) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", + key.usr: "s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooSubEnum1", + key.original_usr: "s:SQsRi_zrlE2neoiySbx_xtFZ", + key.doc.full_as_xml: "!=(_:_:)s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::c:@E@FooSubEnum1static func != (lhs: borrowing FooSubEnum1, rhs: borrowing FooSubEnum1) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", key.offset: 294, - key.length: 63, - key.fully_annotated_decl: "static func != (lhs: FooSubEnum1, rhs: FooSubEnum1) -> Bool", + key.length: 83, + key.fully_annotated_decl: "@_preInverseGenerics static func != (lhs: borrowing FooSubEnum1, rhs: borrowing FooSubEnum1) -> Bool", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "lhs", - key.offset: 317, + key.offset: 327, key.length: 11 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rhs", - key.offset: 337, + key.offset: 357, key.length: 11 } ] @@ -482,7 +492,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FooSubEnum1X", key.usr: "c:@E@FooSubEnum1@FooSubEnum1X", - key.offset: 361, + key.offset: 381, key.length: 37, key.fully_annotated_decl: "var FooSubEnum1X: FooSubEnum1 { get }", key.modulename: "Foo.FooSub" @@ -491,7 +501,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FooSubEnum1Y", key.usr: "c:@E@FooSubEnum1@FooSubEnum1Y", - key.offset: 400, + key.offset: 420, key.length: 37, key.fully_annotated_decl: "var FooSubEnum1Y: FooSubEnum1 { get }", key.modulename: "Foo.FooSub" @@ -500,7 +510,7 @@ var FooSubUnnamedEnumeratorA1: Int { get } key.kind: source.lang.swift.decl.var.global, key.name: "FooSubUnnamedEnumeratorA1", key.usr: "c:@Ea@FooSubUnnamedEnumeratorA1@FooSubUnnamedEnumeratorA1", - key.offset: 439, + key.offset: 459, key.length: 42, key.fully_annotated_decl: "var FooSubUnnamedEnumeratorA1: Int { get }", key.modulename: "Foo.FooSub" diff --git a/test/SourceKit/DocSupport/doc_swift_module.swift.response b/test/SourceKit/DocSupport/doc_swift_module.swift.response index 72de18f4ffced..3abe0d9920281 100644 --- a/test/SourceKit/DocSupport/doc_swift_module.swift.response +++ b/test/SourceKit/DocSupport/doc_swift_module.swift.response @@ -50,7 +50,7 @@ extension C1.C1Cases { @inlinable func hash(into hasher: inout Hasher) - static func != (_ lhs: cake.C1.C1Cases, _ rhs: cake.C1.C1Cases) -> Bool + static func != (_ lhs: borrowing cake.C1.C1Cases, _ rhs: borrowing cake.C1.C1Cases) -> Bool } class C2 : cake.C1 { @@ -66,7 +66,7 @@ enum MyEnum : Int { @inlinable func hash(into hasher: inout Hasher) - static func != (_ lhs: cake.MyEnum, _ rhs: cake.MyEnum) -> Bool + static func != (_ lhs: borrowing cake.MyEnum, _ rhs: borrowing cake.MyEnum) -> Bool } protocol P { @@ -147,9 +147,9 @@ struct S1 { } } -extension S1.SE { +extension S1.SE where cake.S1.SE : ~Copyable { - static func != (_ lhs: cake.S1.SE, _ rhs: cake.S1.SE) -> Bool + static func != (_ lhs: borrowing cake.S1.SE, _ rhs: borrowing cake.S1.SE) -> Bool } struct S2 : cake.P3 { @@ -714,1145 +714,1209 @@ func shouldPrintAnyAsKeyword(x x: Any) key.length: 3 }, { - key.kind: source.lang.swift.syntaxtype.typeidentifier, + key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 744, + key.length: 9 + }, + { + key.kind: source.lang.swift.syntaxtype.typeidentifier, + key.offset: 754, key.length: 4 }, { key.kind: source.lang.swift.ref.class, key.name: "C1", key.usr: "s:4cake2C1C", - key.offset: 749, + key.offset: 759, key.length: 2 }, { key.kind: source.lang.swift.ref.enum, key.name: "C1Cases", key.usr: "s:4cake2C1C0B5CasesO", - key.offset: 752, + key.offset: 762, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 761, + key.offset: 771, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 763, + key.offset: 773, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 778, + key.length: 9 + }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 768, + key.offset: 788, key.length: 4 }, { key.kind: source.lang.swift.ref.class, key.name: "C1", key.usr: "s:4cake2C1C", - key.offset: 773, + key.offset: 793, key.length: 2 }, { key.kind: source.lang.swift.ref.enum, key.name: "C1Cases", key.usr: "s:4cake2C1C0B5CasesO", - key.offset: 776, + key.offset: 796, key.length: 7 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 788, + key.offset: 808, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 796, + key.offset: 816, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 802, + key.offset: 822, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 807, + key.offset: 827, key.length: 4 }, { key.kind: source.lang.swift.ref.class, key.name: "C1", key.usr: "s:4cake2C1C", - key.offset: 812, + key.offset: 832, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 822, + key.offset: 842, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 827, + key.offset: 847, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 838, + key.offset: 858, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 843, + key.offset: 863, key.length: 6 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 852, + key.offset: 872, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 863, + key.offset: 883, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 868, + key.offset: 888, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 878, + key.offset: 898, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 889, + key.offset: 909, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 893, + key.offset: 913, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 904, + key.offset: 924, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 910, + key.offset: 930, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 921, + key.offset: 941, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 932, + key.offset: 952, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 937, + key.offset: 957, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 942, + key.offset: 962, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 947, + key.offset: 967, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 955, + key.offset: 975, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Hasher", key.usr: "s:s6HasherV", - key.offset: 961, + key.offset: 981, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 974, + key.offset: 994, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 981, + key.offset: 1001, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.operator, - key.offset: 986, + key.offset: 1006, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 990, + key.offset: 1010, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 992, + key.offset: 1012, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 1017, + key.length: 9 + }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 997, + key.offset: 1027, key.length: 4 }, { key.kind: source.lang.swift.ref.enum, key.name: "MyEnum", key.usr: "s:4cake6MyEnumO", - key.offset: 1002, + key.offset: 1032, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 1010, + key.offset: 1040, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 1012, + key.offset: 1042, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 1047, + key.length: 9 + }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 1017, + key.offset: 1057, key.length: 4 }, { key.kind: source.lang.swift.ref.enum, key.name: "MyEnum", key.usr: "s:4cake6MyEnumO", - key.offset: 1022, + key.offset: 1062, key.length: 6 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 1033, + key.offset: 1073, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1041, + key.offset: 1081, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1050, + key.offset: 1090, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1059, + key.offset: 1099, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1064, + key.offset: 1104, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1073, + key.offset: 1113, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P", key.usr: "s:4cake1PP", - key.offset: 1083, + key.offset: 1123, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1092, + key.offset: 1132, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1097, + key.offset: 1137, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1103, + key.offset: 1143, key.length: 5 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "Self", key.usr: "s:4cake1PP4Selfxmfp", - key.offset: 1109, + key.offset: 1149, key.length: 4 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Equatable", key.usr: "s:SQ", - key.offset: 1116, + key.offset: 1156, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 1129, + key.offset: 1169, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1135, + key.offset: 1175, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1144, + key.offset: 1184, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 1154, + key.offset: 1194, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, - key.offset: 1160, + key.offset: 1200, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1169, + key.offset: 1209, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1174, + key.offset: 1214, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1184, + key.offset: 1224, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1193, + key.offset: 1233, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1203, + key.offset: 1243, key.length: 14 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1218, + key.offset: 1258, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1223, + key.offset: 1263, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1232, + key.offset: 1272, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1240, + key.offset: 1280, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1249, + key.offset: 1289, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1259, + key.offset: 1299, key.length: 14 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1274, + key.offset: 1314, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1285, + key.offset: 1325, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1294, + key.offset: 1334, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 1299, + key.offset: 1339, key.length: 4 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P5", key.usr: "s:4cake2P5P", - key.offset: 1304, + key.offset: 1344, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1312, + key.offset: 1352, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P6", key.usr: "s:4cake2P6P", - key.offset: 1322, + key.offset: 1362, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1332, + key.offset: 1372, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1336, + key.offset: 1376, key.length: 4 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "Self", key.usr: "s:4cake2P6P4Selfxmfp", - key.offset: 1342, + key.offset: 1382, key.length: 4 }, { key.kind: source.lang.swift.ref.associatedtype, key.name: "Element", key.usr: "s:4cake2P5P7ElementQa", - key.offset: 1347, + key.offset: 1387, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1358, + key.offset: 1398, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1367, + key.offset: 1407, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1376, + key.offset: 1416, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1388, + key.offset: 1428, key.length: 14 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1403, + key.offset: 1443, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1416, + key.offset: 1456, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1420, + key.offset: 1460, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 1423, + key.offset: 1463, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1429, + key.offset: 1469, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1440, + key.offset: 1480, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1445, + key.offset: 1485, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1456, + key.offset: 1496, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1461, + key.offset: 1501, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1471, + key.offset: 1511, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Prot", key.usr: "s:4cake4ProtP", - key.offset: 1481, + key.offset: 1521, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1493, + key.offset: 1533, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1498, + key.offset: 1538, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1510, + key.offset: 1550, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 1520, + key.offset: 1560, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 1522, + key.offset: 1562, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 1529, + key.offset: 1569, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 1537, + key.offset: 1577, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1543, + key.offset: 1583, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1552, + key.offset: 1592, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Prot", key.usr: "s:4cake4ProtP", - key.offset: 1562, + key.offset: 1602, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1567, + key.offset: 1607, key.length: 5 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "Self", key.usr: "s:4cake4ProtP4Selfxmfp", - key.offset: 1573, + key.offset: 1613, key.length: 4 }, { key.kind: source.lang.swift.ref.associatedtype, key.name: "Element", key.usr: "s:4cake4ProtP7ElementQa", - key.offset: 1578, + key.offset: 1618, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.operator, - key.offset: 1586, + key.offset: 1626, key.length: 2 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 1589, + key.offset: 1629, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1600, + key.offset: 1640, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1605, + key.offset: 1645, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1617, + key.offset: 1657, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1624, + key.offset: 1664, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1634, + key.offset: 1674, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1639, + key.offset: 1679, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1653, + key.offset: 1693, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1658, + key.offset: 1698, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1669, + key.offset: 1709, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1674, + key.offset: 1714, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1685, + key.offset: 1725, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1690, + key.offset: 1730, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1703, + key.offset: 1743, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1708, + key.offset: 1748, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1720, + key.offset: 1760, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1727, + key.offset: 1767, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1741, + key.offset: 1781, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1745, + key.offset: 1785, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 1748, + key.offset: 1788, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1761, + key.offset: 1801, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "S1", key.usr: "s:4cake2S1V", - key.offset: 1771, + key.offset: 1811, + key.length: 2 + }, + { + key.kind: source.lang.swift.ref.enum, + key.name: "SE", + key.usr: "s:4cake2S1V2SEO", + key.offset: 1814, + key.length: 2 + }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 1817, + key.length: 5 + }, + { + key.kind: source.lang.swift.syntaxtype.typeidentifier, + key.offset: 1823, + key.length: 4 + }, + { + key.kind: source.lang.swift.ref.struct, + key.name: "S1", + key.usr: "s:4cake2S1V", + key.offset: 1828, key.length: 2 }, { key.kind: source.lang.swift.ref.enum, key.name: "SE", key.usr: "s:4cake2S1V2SEO", - key.offset: 1774, + key.offset: 1831, key.length: 2 }, + { + key.kind: source.lang.swift.syntaxtype.operator, + key.offset: 1836, + key.length: 1 + }, + { + key.kind: source.lang.swift.syntaxtype.typeidentifier, + key.offset: 1837, + key.length: 8 + }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1784, + key.offset: 1853, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1791, + key.offset: 1860, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.operator, - key.offset: 1796, + key.offset: 1865, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 1800, + key.offset: 1869, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 1802, + key.offset: 1871, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 1876, + key.length: 9 + }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 1807, + key.offset: 1886, key.length: 4 }, { key.kind: source.lang.swift.ref.struct, key.name: "S1", key.usr: "s:4cake2S1V", - key.offset: 1812, + key.offset: 1891, key.length: 2 }, { key.kind: source.lang.swift.ref.enum, key.name: "SE", key.usr: "s:4cake2S1V2SEO", - key.offset: 1815, + key.offset: 1894, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 1819, + key.offset: 1898, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 1821, + key.offset: 1900, key.length: 3 }, + { + key.kind: source.lang.swift.syntaxtype.keyword, + key.offset: 1905, + key.length: 9 + }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 1826, + key.offset: 1915, key.length: 4 }, { key.kind: source.lang.swift.ref.struct, key.name: "S1", key.usr: "s:4cake2S1V", - key.offset: 1831, + key.offset: 1920, key.length: 2 }, { key.kind: source.lang.swift.ref.enum, key.name: "SE", key.usr: "s:4cake2S1V2SEO", - key.offset: 1834, + key.offset: 1923, key.length: 2 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", - key.offset: 1841, + key.offset: 1930, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1849, + key.offset: 1938, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1856, + key.offset: 1945, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 1861, + key.offset: 1950, key.length: 4 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P3", key.usr: "s:4cake2P3P", - key.offset: 1866, + key.offset: 1955, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1876, + key.offset: 1965, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1886, + key.offset: 1975, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 1890, + key.offset: 1979, key.length: 4 }, { key.kind: source.lang.swift.ref.struct, key.name: "S2", key.usr: "s:4cake2S2V", - key.offset: 1895, + key.offset: 1984, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1901, + key.offset: 1990, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1908, + key.offset: 1997, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1911, + key.offset: 2000, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 1922, + key.offset: 2011, key.length: 4 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P5", key.usr: "s:4cake2P5P", - key.offset: 1927, + key.offset: 2016, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1930, + key.offset: 2019, key.length: 5 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "Wrapped", key.usr: "s:4cake2S3V7Wrappedxmfp", - key.offset: 1936, + key.offset: 2025, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 1946, + key.offset: 2035, key.length: 4 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P5", key.usr: "s:4cake2P5P", - key.offset: 1951, + key.offset: 2040, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 1961, + key.offset: 2050, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 1971, + key.offset: 2060, key.length: 7 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "Wrapped", key.usr: "s:4cake2S3V7Wrappedxmfp", - key.offset: 1981, + key.offset: 2070, key.length: 7 }, { key.kind: source.lang.swift.ref.associatedtype, key.name: "Element", key.usr: "s:4cake2P5P7ElementQa", - key.offset: 1989, + key.offset: 2078, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2000, + key.offset: 2089, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "S3", key.usr: "s:4cake2S3V", - key.offset: 2010, + key.offset: 2099, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2013, + key.offset: 2102, key.length: 5 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "Wrapped", key.usr: "s:4cake2S3V7Wrappedxmfp", - key.offset: 2019, + key.offset: 2108, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 2029, + key.offset: 2118, key.length: 4 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P6", key.usr: "s:4cake2P6P", - key.offset: 2034, + key.offset: 2123, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2044, + key.offset: 2133, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 2048, + key.offset: 2137, key.length: 4 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "Wrapped", key.usr: "s:4cake2S3V7Wrappedxmfp", - key.offset: 2054, + key.offset: 2143, key.length: 7 }, { key.kind: source.lang.swift.ref.associatedtype, key.name: "Element", key.usr: "s:4cake2P5P7ElementQa", - key.offset: 2062, + key.offset: 2151, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2073, + key.offset: 2162, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2082, + key.offset: 2171, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 2087, + key.offset: 2176, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 2094, + key.offset: 2183, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 2098, + key.offset: 2187, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 2102, + key.offset: 2191, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 2104, + key.offset: 2193, key.length: 2 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "T1", key.usr: "s:4cake6genfoo1x1yyx_q_tAA4ProtRzAA2C1CRb_Si7ElementRtzr0_lF2T1L_xmfp", - key.offset: 2108, + key.offset: 2197, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 2112, + key.offset: 2201, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 2114, + key.offset: 2203, key.length: 2 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "T2", key.usr: "s:4cake6genfoo1x1yyx_q_tAA4ProtRzAA2C1CRb_Si7ElementRtzr0_lF2T2L_q_mfp", - key.offset: 2118, + key.offset: 2207, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2122, + key.offset: 2211, key.length: 5 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "T1", key.usr: "s:4cake6genfoo1x1yyx_q_tAA4ProtRzAA2C1CRb_Si7ElementRtzr0_lF2T1L_xmfp", - key.offset: 2128, + key.offset: 2217, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 2133, + key.offset: 2222, key.length: 4 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Prot", key.usr: "s:4cake4ProtP", - key.offset: 2138, + key.offset: 2227, key.length: 4 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "T2", key.usr: "s:4cake6genfoo1x1yyx_q_tAA4ProtRzAA2C1CRb_Si7ElementRtzr0_lF2T2L_q_mfp", - key.offset: 2144, + key.offset: 2233, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, - key.offset: 2149, + key.offset: 2238, key.length: 4 }, { key.kind: source.lang.swift.ref.class, key.name: "C1", key.usr: "s:4cake2C1C", - key.offset: 2154, + key.offset: 2243, key.length: 2 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "T1", key.usr: "s:4cake6genfoo1x1yyx_q_tAA4ProtRzAA2C1CRb_Si7ElementRtzr0_lF2T1L_xmfp", - key.offset: 2158, + key.offset: 2247, key.length: 2 }, { key.kind: source.lang.swift.ref.associatedtype, key.name: "Element", key.usr: "s:4cake4ProtP7ElementQa", - key.offset: 2161, + key.offset: 2250, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.operator, - key.offset: 2169, + key.offset: 2258, key.length: 2 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", - key.offset: 2172, + key.offset: 2261, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2177, + key.offset: 2266, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, - key.offset: 2182, + key.offset: 2271, key.length: 23 }, { key.kind: source.lang.swift.syntaxtype.argument, - key.offset: 2206, + key.offset: 2295, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, - key.offset: 2208, + key.offset: 2297, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, - key.offset: 2211, + key.offset: 2300, key.length: 3 } ] @@ -2178,7 +2242,7 @@ func shouldPrintAnyAsKeyword(x x: Any) { key.kind: source.lang.swift.decl.extension.enum, key.offset: 597, - key.length: 197, + key.length: 217, key.fully_annotated_decl: "extension C1.C1Cases", key.extends: { key.kind: source.lang.swift.ref.enum, @@ -2216,25 +2280,25 @@ func shouldPrintAnyAsKeyword(x x: Any) { key.kind: source.lang.swift.decl.function.operator.infix, key.name: "!=(_:_:)", - key.usr: "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:4cake2C1C0B5CasesO", - key.original_usr: "s:SQsE2neoiySbx_xtFZ", - key.doc.full_as_xml: "!=(_:_:)s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:4cake2C1C0B5CasesOstatic func != (lhs: cake.C1.C1Cases, rhs: cake.C1.C1Cases) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", + key.usr: "s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:4cake2C1C0B5CasesO", + key.original_usr: "s:SQsRi_zrlE2neoiySbx_xtFZ", + key.doc.full_as_xml: "!=(_:_:)s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:4cake2C1C0B5CasesOstatic func != (lhs: borrowing cake.C1.C1Cases, rhs: borrowing cake.C1.C1Cases) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", key.offset: 721, - key.length: 71, - key.fully_annotated_decl: "static func != (lhs: C1.C1Cases, rhs: C1.C1Cases) -> Bool", + key.length: 91, + key.fully_annotated_decl: "@_preInverseGenerics static func != (lhs: borrowing C1.C1Cases, rhs: borrowing C1.C1Cases) -> Bool", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "lhs", - key.offset: 744, + key.offset: 754, key.length: 15 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rhs", - key.offset: 768, + key.offset: 788, key.length: 15 } ] @@ -2245,7 +2309,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.class, key.name: "C2", key.usr: "s:4cake2C2C", - key.offset: 796, + key.offset: 816, key.length: 40, key.fully_annotated_decl: "class C2 : C1", key.inherits: [ @@ -2260,7 +2324,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.function.method.instance, key.name: "C2foo()", key.usr: "s:4cake2C2C5C2fooyyF", - key.offset: 822, + key.offset: 842, key.length: 12, key.fully_annotated_decl: "func C2foo()" } @@ -2270,8 +2334,8 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.enum, key.name: "MyEnum", key.usr: "s:4cake6MyEnumO", - key.offset: 838, - key.length: 201, + key.offset: 858, + key.length: 221, key.fully_annotated_decl: "enum MyEnum : Int", key.inherits: [ { @@ -2285,7 +2349,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.enumelement, key.name: "Blah", key.usr: "s:4cake6MyEnumO4BlahyA2CmF", - key.offset: 863, + key.offset: 883, key.length: 9, key.fully_annotated_decl: "case Blah" }, @@ -2294,7 +2358,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.name: "hashValue", key.usr: "s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:4cake6MyEnumO", key.original_usr: "s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp", - key.offset: 878, + key.offset: 898, key.length: 37, key.fully_annotated_decl: "@inlinable var hashValue: Int { get }" }, @@ -2303,7 +2367,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.name: "hash(into:)", key.usr: "s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:4cake6MyEnumO", key.original_usr: "s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF", - key.offset: 921, + key.offset: 941, key.length: 47, key.fully_annotated_decl: "@inlinable func hash(into hasher: inout Hasher)", key.entities: [ @@ -2311,7 +2375,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.var.local, key.keyword: "into", key.name: "hasher", - key.offset: 961, + key.offset: 981, key.length: 6 } ] @@ -2319,25 +2383,25 @@ func shouldPrintAnyAsKeyword(x x: Any) { key.kind: source.lang.swift.decl.function.operator.infix, key.name: "!=(_:_:)", - key.usr: "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:4cake6MyEnumO", - key.original_usr: "s:SQsE2neoiySbx_xtFZ", - key.doc.full_as_xml: "!=(_:_:)s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:4cake6MyEnumOstatic func != (lhs: cake.MyEnum, rhs: cake.MyEnum) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", - key.offset: 974, - key.length: 63, - key.fully_annotated_decl: "static func != (lhs: MyEnum, rhs: MyEnum) -> Bool", + key.usr: "s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:4cake6MyEnumO", + key.original_usr: "s:SQsRi_zrlE2neoiySbx_xtFZ", + key.doc.full_as_xml: "!=(_:_:)s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:4cake6MyEnumOstatic func != (lhs: borrowing cake.MyEnum, rhs: borrowing cake.MyEnum) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", + key.offset: 994, + key.length: 83, + key.fully_annotated_decl: "@_preInverseGenerics static func != (lhs: borrowing MyEnum, rhs: borrowing MyEnum) -> Bool", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "lhs", - key.offset: 997, + key.offset: 1027, key.length: 11 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rhs", - key.offset: 1017, + key.offset: 1057, key.length: 11 } ] @@ -2348,7 +2412,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.protocol, key.name: "P", key.usr: "s:4cake1PP", - key.offset: 1041, + key.offset: 1081, key.length: 30, key.fully_annotated_decl: "protocol P", key.entities: [ @@ -2356,7 +2420,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo()", key.usr: "s:4cake1PP3fooyyF", - key.offset: 1059, + key.offset: 1099, key.length: 10, key.fully_annotated_decl: "func foo()" } @@ -2364,7 +2428,7 @@ func shouldPrintAnyAsKeyword(x x: Any) }, { key.kind: source.lang.swift.decl.extension.protocol, - key.offset: 1073, + key.offset: 1113, key.length: 54, key.fully_annotated_decl: "extension P", key.extends: { @@ -2382,7 +2446,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.description: "Self : Equatable" } ], - key.offset: 1092, + key.offset: 1132, key.length: 33, key.fully_annotated_decl: "func bar() where Self : Equatable" } @@ -2392,7 +2456,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.protocol, key.name: "P2", key.usr: "c:@M@cake@objc(pl)P2", - key.offset: 1129, + key.offset: 1169, key.length: 53, key.fully_annotated_decl: "@objc protocol P2", key.entities: [ @@ -2400,7 +2464,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo1()", key.usr: "c:@M@cake@objc(pl)P2(im)foo1", - key.offset: 1154, + key.offset: 1194, key.length: 26, key.fully_annotated_decl: "@objc optional func foo1()", key.is_optional: 1 @@ -2411,7 +2475,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.protocol, key.name: "P3", key.usr: "s:4cake2P3P", - key.offset: 1184, + key.offset: 1224, key.length: 37, key.fully_annotated_decl: "protocol P3", key.entities: [ @@ -2419,7 +2483,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.associatedtype, key.name: "T", key.usr: "s:4cake2P3P1TQa", - key.offset: 1203, + key.offset: 1243, key.length: 16, key.fully_annotated_decl: "associatedtype T" } @@ -2429,7 +2493,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.protocol, key.name: "P4", key.usr: "s:4cake2P4P", - key.offset: 1223, + key.offset: 1263, key.length: 15, key.fully_annotated_decl: "protocol P4" }, @@ -2437,7 +2501,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.protocol, key.name: "P5", key.usr: "s:4cake2P5P", - key.offset: 1240, + key.offset: 1280, key.length: 43, key.fully_annotated_decl: "protocol P5", key.entities: [ @@ -2445,7 +2509,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.associatedtype, key.name: "Element", key.usr: "s:4cake2P5P7ElementQa", - key.offset: 1259, + key.offset: 1299, key.length: 22, key.fully_annotated_decl: "associatedtype Element" } @@ -2455,7 +2519,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.protocol, key.name: "P6", key.usr: "s:4cake2P6P", - key.offset: 1285, + key.offset: 1325, key.length: 25, key.fully_annotated_decl: "protocol P6 : P5", key.conforms: [ @@ -2468,7 +2532,7 @@ func shouldPrintAnyAsKeyword(x x: Any) }, { key.kind: source.lang.swift.decl.extension.protocol, - key.offset: 1312, + key.offset: 1352, key.length: 53, key.fully_annotated_decl: "extension P6", key.extends: { @@ -2481,7 +2545,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.var.instance, key.name: "null", key.usr: "s:4cake2P6PAAE4null7ElementQzSgvp", - key.offset: 1332, + key.offset: 1372, key.length: 31, key.fully_annotated_decl: "var null: Self.Element? { get }" } @@ -2491,7 +2555,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.protocol, key.name: "Prot", key.usr: "s:4cake4ProtP", - key.offset: 1367, + key.offset: 1407, key.length: 102, key.fully_annotated_decl: "protocol Prot", key.entities: [ @@ -2499,7 +2563,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.associatedtype, key.name: "Element", key.usr: "s:4cake4ProtP7ElementQa", - key.offset: 1388, + key.offset: 1428, key.length: 22, key.fully_annotated_decl: "associatedtype Element" }, @@ -2507,7 +2571,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.var.instance, key.name: "p", key.usr: "s:4cake4ProtP1pSivp", - key.offset: 1416, + key.offset: 1456, key.length: 18, key.fully_annotated_decl: "var p: Int { get }" }, @@ -2515,7 +2579,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo()", key.usr: "s:4cake4ProtP3fooyyF", - key.offset: 1440, + key.offset: 1480, key.length: 10, key.fully_annotated_decl: "func foo()" }, @@ -2523,7 +2587,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo1()", key.usr: "s:4cake4ProtP4foo1yyF", - key.offset: 1456, + key.offset: 1496, key.length: 11, key.fully_annotated_decl: "func foo1()" } @@ -2531,7 +2595,7 @@ func shouldPrintAnyAsKeyword(x x: Any) }, { key.kind: source.lang.swift.decl.extension.protocol, - key.offset: 1471, + key.offset: 1511, key.length: 79, key.fully_annotated_decl: "extension Prot", key.extends: { @@ -2545,7 +2609,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.name: "foo1()", key.usr: "s:4cake4ProtPAAE4foo1yyF", key.default_implementation_of: "s:4cake4ProtP4foo1yyF", - key.offset: 1493, + key.offset: 1533, key.length: 11, key.fully_annotated_decl: "func foo1()" }, @@ -2553,7 +2617,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.function.subscript, key.name: "subscript(_:)", key.usr: "s:4cake4ProtPAAEyS2icip", - key.offset: 1510, + key.offset: 1550, key.length: 38, key.fully_annotated_decl: "subscript(index: Int) -> Int { get }", key.entities: [ @@ -2561,7 +2625,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "index", - key.offset: 1529, + key.offset: 1569, key.length: 3 } ] @@ -2575,7 +2639,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.description: "Self.Element == Int" } ], - key.offset: 1552, + key.offset: 1592, key.length: 63, key.fully_annotated_decl: "extension Prot where Self.Element == Int", key.extends: { @@ -2588,7 +2652,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.function.method.instance, key.name: "extfoo()", key.usr: "s:4cake4ProtPAASi7ElementRtzrlE6extfooyyF", - key.offset: 1600, + key.offset: 1640, key.length: 13, key.fully_annotated_decl: "func extfoo()" } @@ -2598,7 +2662,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.struct, key.name: "S1", key.usr: "s:4cake2S1V", - key.offset: 1617, + key.offset: 1657, key.length: 142, key.fully_annotated_decl: "struct S1", key.entities: [ @@ -2606,7 +2670,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.enum, key.name: "SE", key.usr: "s:4cake2S1V2SEO", - key.offset: 1634, + key.offset: 1674, key.length: 63, key.fully_annotated_decl: "enum S1.SE", key.entities: [ @@ -2614,7 +2678,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.enumelement, key.name: "a", key.usr: "s:4cake2S1V2SEO1ayA2EmF", - key.offset: 1653, + key.offset: 1693, key.length: 6, key.fully_annotated_decl: "case a" }, @@ -2622,7 +2686,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.enumelement, key.name: "b", key.usr: "s:4cake2S1V2SEO1byA2EmF", - key.offset: 1669, + key.offset: 1709, key.length: 6, key.fully_annotated_decl: "case b" }, @@ -2630,7 +2694,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.enumelement, key.name: "c", key.usr: "s:4cake2S1V2SEO1cyA2EmF", - key.offset: 1685, + key.offset: 1725, key.length: 6, key.fully_annotated_decl: "case c" } @@ -2640,7 +2704,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo1()", key.usr: "s:4cake2S1V4foo1yyF", - key.offset: 1703, + key.offset: 1743, key.length: 11, key.fully_annotated_decl: "func foo1()" }, @@ -2648,7 +2712,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.struct, key.name: "S2", key.usr: "s:4cake2S1V2S2V", - key.offset: 1720, + key.offset: 1760, key.length: 37, key.fully_annotated_decl: "struct S2", key.entities: [ @@ -2656,7 +2720,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.var.instance, key.name: "b", key.usr: "s:4cake2S1V2S2V1bSivp", - key.offset: 1741, + key.offset: 1781, key.length: 10, key.fully_annotated_decl: "let b: Int" } @@ -2666,9 +2730,9 @@ func shouldPrintAnyAsKeyword(x x: Any) }, { key.kind: source.lang.swift.decl.extension.enum, - key.offset: 1761, - key.length: 86, - key.fully_annotated_decl: "extension S1.SE", + key.offset: 1801, + key.length: 135, + key.fully_annotated_decl: "extension S1.SE where S1.SE : ~Copyable", key.extends: { key.kind: source.lang.swift.ref.enum, key.name: "SE", @@ -2678,25 +2742,25 @@ func shouldPrintAnyAsKeyword(x x: Any) { key.kind: source.lang.swift.decl.function.operator.infix, key.name: "!=(_:_:)", - key.usr: "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:4cake2S1V2SEO", - key.original_usr: "s:SQsE2neoiySbx_xtFZ", - key.doc.full_as_xml: "!=(_:_:)s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:4cake2S1V2SEOstatic func != (lhs: cake.S1.SE, rhs: cake.S1.SE) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", - key.offset: 1784, - key.length: 61, - key.fully_annotated_decl: "static func != (lhs: S1.SE, rhs: S1.SE) -> Bool", + key.usr: "s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:4cake2S1V2SEO", + key.original_usr: "s:SQsRi_zrlE2neoiySbx_xtFZ", + key.doc.full_as_xml: "!=(_:_:)s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:4cake2S1V2SEOstatic func != (lhs: borrowing cake.S1.SE, rhs: borrowing cake.S1.SE) -> BoolReturns a Boolean value indicating whether two values are not equal.lhsinA value to compare.rhsinAnother value to compare.Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.", + key.offset: 1853, + key.length: 81, + key.fully_annotated_decl: "@_preInverseGenerics static func != (lhs: borrowing S1.SE, rhs: borrowing S1.SE) -> Bool", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "lhs", - key.offset: 1807, + key.offset: 1886, key.length: 10 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rhs", - key.offset: 1826, + key.offset: 1915, key.length: 10 } ] @@ -2707,7 +2771,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.struct, key.name: "S2", key.usr: "s:4cake2S2V", - key.offset: 1849, + key.offset: 1938, key.length: 50, key.fully_annotated_decl: "struct S2 : P3", key.conforms: [ @@ -2722,7 +2786,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.typealias, key.name: "T", key.usr: "s:4cake2S2V1Ta", - key.offset: 1876, + key.offset: 1965, key.length: 21, key.fully_annotated_decl: "typealias S2.T = S2", key.conforms: [ @@ -2749,7 +2813,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.description: "Wrapped : P5" } ], - key.offset: 1901, + key.offset: 1990, key.length: 97, key.fully_annotated_decl: "struct S3<Wrapped> : P5 where Wrapped : P5", key.conforms: [ @@ -2764,7 +2828,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.typealias, key.name: "Element", key.usr: "s:4cake2S3V7Elementa", - key.offset: 1961, + key.offset: 2050, key.length: 35, key.fully_annotated_decl: "typealias S3<Wrapped>.Element = Wrapped.Element", key.conforms: [ @@ -2789,7 +2853,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.description: "Wrapped : P6" } ], - key.offset: 2000, + key.offset: 2089, key.length: 80, key.fully_annotated_decl: "extension S3 where Wrapped : P6", key.extends: { @@ -2803,7 +2867,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.name: "null", key.usr: "s:4cake2P6PAAE4null7ElementQzSgvp::SYNTHESIZED::s:4cake2S3V", key.original_usr: "s:4cake2P6PAAE4null7ElementQzSgvp", - key.offset: 2044, + key.offset: 2133, key.length: 34, key.fully_annotated_decl: "var null: Wrapped.Element? { get }" } @@ -2832,7 +2896,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.description: "T1.Element == Int" } ], - key.offset: 2082, + key.offset: 2171, key.length: 93, key.fully_annotated_decl: "func genfoo<T1, T2>(x ix: T1, y iy: T2) where T1 : Prot, T2 : C1, T1.Element == Int", key.entities: [ @@ -2840,14 +2904,14 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.var.local, key.keyword: "x", key.name: "ix", - key.offset: 2108, + key.offset: 2197, key.length: 2 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "y", key.name: "iy", - key.offset: 2118, + key.offset: 2207, key.length: 2 } ] @@ -2856,7 +2920,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.function.free, key.name: "shouldPrintAnyAsKeyword(x:)", key.usr: "s:4cake23shouldPrintAnyAsKeyword1xyyp_tF", - key.offset: 2177, + key.offset: 2266, key.length: 38, key.fully_annotated_decl: "func shouldPrintAnyAsKeyword(x: Any)", key.entities: [ @@ -2864,7 +2928,7 @@ func shouldPrintAnyAsKeyword(x x: Any) key.kind: source.lang.swift.decl.var.local, key.keyword: "x", key.name: "x", - key.offset: 2211, + key.offset: 2300, key.length: 3 } ] diff --git a/test/SymbolGraph/Module/ThirdOrder.swift b/test/SymbolGraph/Module/ThirdOrder.swift index 01c929378a8c3..6f7abc58d0e7b 100644 --- a/test/SymbolGraph/Module/ThirdOrder.swift +++ b/test/SymbolGraph/Module/ThirdOrder.swift @@ -11,8 +11,8 @@ @_exported import B -// BASE-NOT: "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:1A10SomeStructV1BE05InnerB0V" -// EXT-DAG: "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:1A10SomeStructV1BE05InnerB0V" +// BASE-NOT: "s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:1A10SomeStructV1BE05InnerB0V" +// EXT-DAG: "s:SQsRi_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:1A10SomeStructV1BE05InnerB0V" // BASE-NOT: "s:1A10SomeStructV1BE05InnerB0V06NestedB0V" // EXT-DAG: "s:1A10SomeStructV1BE05InnerB0V06NestedB0V" diff --git a/test/api-digester/Outputs/stability-stdlib-source-base.swift.expected b/test/api-digester/Outputs/stability-stdlib-source-base.swift.expected index 4b8e01dec4137..600d414d0e3c4 100644 --- a/test/api-digester/Outputs/stability-stdlib-source-base.swift.expected +++ b/test/api-digester/Outputs/stability-stdlib-source-base.swift.expected @@ -53,6 +53,7 @@ Constructor ContiguousArray.init(unsafeUninitializedCapacity:initializingWith:) Constructor ContiguousArray.init(unsafeUninitializedCapacity:initializingWith:) has parameter 1 type change from (inout Swift.UnsafeMutableBufferPointer, inout Swift.Int) throws -> Swift.Void to (inout Swift.UnsafeMutableBufferPointer, inout Swift.Int) throws(E) -> Swift.Void Constructor ContiguousArray.init(unsafeUninitializedCapacity:initializingWith:) is now without rethrows +Protocol LosslessStringConvertible has generic signature change from to Protocol SIMDScalar has generic signature change from to Protocol AdditiveArithmetic has added inherited protocol Copyable @@ -71,9 +72,8 @@ Protocol CodingKey has added inherited protocol Copyable Protocol CodingKey has added inherited protocol Escapable Protocol Collection has added inherited protocol Copyable Protocol Collection has added inherited protocol Escapable -Protocol Comparable has added inherited protocol Copyable Protocol Comparable has added inherited protocol Escapable -Protocol CustomDebugStringConvertible has added inherited protocol Copyable +Protocol Comparable has generic signature change from to Protocol CustomDebugStringConvertible has added inherited protocol Escapable Protocol CustomLeafReflectable has added inherited protocol Copyable Protocol CustomLeafReflectable has added inherited protocol Escapable @@ -81,7 +81,6 @@ Protocol CustomPlaygroundDisplayConvertible has added inherited protocol Copyabl Protocol CustomPlaygroundDisplayConvertible has added inherited protocol Escapable Protocol CustomReflectable has added inherited protocol Copyable Protocol CustomReflectable has added inherited protocol Escapable -Protocol CustomStringConvertible has added inherited protocol Copyable Protocol CustomStringConvertible has added inherited protocol Escapable Protocol Decodable has added inherited protocol Copyable Protocol Decodable has added inherited protocol Escapable @@ -91,7 +90,6 @@ Protocol Encodable has added inherited protocol Copyable Protocol Encodable has added inherited protocol Escapable Protocol Encoder has added inherited protocol Copyable Protocol Encoder has added inherited protocol Escapable -Protocol Equatable has added inherited protocol Copyable Protocol Equatable has added inherited protocol Escapable Protocol Error has added inherited protocol Copyable Protocol Error has added inherited protocol Escapable @@ -131,7 +129,6 @@ Protocol LazyCollectionProtocol has added inherited protocol Copyable Protocol LazyCollectionProtocol has added inherited protocol Escapable Protocol LazySequenceProtocol has added inherited protocol Copyable Protocol LazySequenceProtocol has added inherited protocol Escapable -Protocol LosslessStringConvertible has added inherited protocol Copyable Protocol LosslessStringConvertible has added inherited protocol Escapable Protocol MirrorPath has added inherited protocol Copyable Protocol MirrorPath has added inherited protocol Escapable @@ -178,7 +175,6 @@ Protocol StringProtocol has added inherited protocol Copyable Protocol StringProtocol has added inherited protocol Escapable Protocol TextOutputStream has added inherited protocol Copyable Protocol TextOutputStream has added inherited protocol Escapable -Protocol TextOutputStreamable has added inherited protocol Copyable Protocol TextOutputStreamable has added inherited protocol Escapable Protocol UnicodeCodec has added inherited protocol Copyable Protocol UnicodeCodec has added inherited protocol Escapable @@ -191,6 +187,8 @@ Protocol UnsignedInteger has added inherited protocol Escapable Protocol _AppendKeyPath has added inherited protocol Copyable Protocol _AppendKeyPath has added inherited protocol Escapable +Accessor CustomDebugStringConvertible.debugDescription.Get() has generic signature change from to +Accessor CustomStringConvertible.description.Get() has generic signature change from to Accessor ManagedBuffer.capacity.Get() has generic signature change from to Accessor ManagedBuffer.header.Get() has generic signature change from to Accessor ManagedBuffer.header.Set() has generic signature change from to @@ -218,6 +216,7 @@ Accessor UnsafePointer.hashValue.Get() has generic signature change from to +Constructor LosslessStringConvertible.init(_:) has generic signature change from to Constructor ExpressibleByNilLiteral.init(nilLiteral:) has generic signature change from to Constructor ManagedBufferPointer.init(bufferClass:minimumCapacity:makingHeaderWith:) has generic signature change from to Constructor ManagedBufferPointer.init(unsafeBufferObject:) has generic signature change from to @@ -241,6 +240,24 @@ Enum Optional has generic signature change from to to Func ??(_:_:) has generic signature change from to Func ??(_:_:) has parameter 0 changing from Default to Owned +Func Equatable.!=(_:_:) has generic signature change from to +Func Equatable.!=(_:_:) has parameter 0 changing from Default to Shared +Func Equatable.!=(_:_:) has parameter 1 changing from Default to Shared +Func Equatable.==(_:_:) has generic signature change from to +Func Equatable.==(_:_:) has parameter 0 changing from Default to Shared +Func Equatable.==(_:_:) has parameter 1 changing from Default to Shared +Func Comparable.<(_:_:) has generic signature change from to +Func Comparable.<(_:_:) has parameter 0 changing from Default to Shared +Func Comparable.<(_:_:) has parameter 1 changing from Default to Shared +Func Comparable.<=(_:_:) has generic signature change from to +Func Comparable.<=(_:_:) has parameter 0 changing from Default to Shared +Func Comparable.<=(_:_:) has parameter 1 changing from Default to Shared +Func Comparable.>(_:_:) has generic signature change from to +Func Comparable.>(_:_:) has parameter 0 changing from Default to Shared +Func Comparable.>(_:_:) has parameter 1 changing from Default to Shared +Func Comparable.>=(_:_:) has generic signature change from to +Func Comparable.>=(_:_:) has parameter 0 changing from Default to Shared +Func Comparable.>=(_:_:) has parameter 1 changing from Default to Shared Func ManagedBuffer.create(minimumCapacity:makingHeaderWith:) has generic signature change from to Func ManagedBufferPointer.isUniqueReference() has generic signature change from to Func MemoryLayout.alignment(ofValue:) has generic signature change from to @@ -253,10 +270,14 @@ Func Optional.!=(_:_:) has generic signature change from to to +Func Optional.==(_:_:) has generic signature change from to Func Optional.==(_:_:) has parameter 0 changing from Default to Shared Func Optional.==(_:_:) has parameter 1 changing from Default to Shared Func Optional.~=(_:_:) has generic signature change from to Func Optional.~=(_:_:) has parameter 1 changing from Default to Shared +Func Result.==(_:_:) has generic signature change from to +Func Result.==(_:_:) has parameter 0 changing from Default to Shared +Func Result.==(_:_:) has parameter 1 changing from Default to Shared Func Result.get() has generic signature change from to Func Result.get() has self access kind changing from NonMutating to Consuming Func Result.mapError(_:) has self access kind changing from NonMutating to Consuming @@ -319,6 +340,10 @@ TypeAlias UnsafePointer.Stride has generic signature change from to

to Accessor UnsafeMutableBufferPointer.debugDescription.Get() has generic signature change from to +Func DefaultStringInterpolation.appendInterpolation(_:) has generic signature change from to +Func DefaultStringInterpolation.appendInterpolation(_:) has generic signature change from to +Func DefaultStringInterpolation.appendInterpolation(_:) has generic signature change from to +Func DefaultStringInterpolation.appendInterpolation(_:) has parameter 0 changing from Default to Shared Func ManagedBuffer.withUnsafeMutablePointerToElements(_:) has generic signature change from to Func ManagedBuffer.withUnsafeMutablePointerToElements(_:) is now without rethrows Func ManagedBuffer.withUnsafeMutablePointerToHeader(_:) has generic signature change from to @@ -341,6 +366,7 @@ Func Result.flatMapError(_:) has generic signature change from to Func Result.mapError(_:) has generic signature change from to +Func TextOutputStreamable.write(to:) has generic signature change from to Func UnsafeBufferPointer.withMemoryRebound(to:_:) has generic signature change from to Func UnsafeBufferPointer.withMemoryRebound(to:_:) is now without rethrows Func UnsafeMutableBufferPointer.withMemoryRebound(to:_:) has generic signature change from to diff --git a/test/api-digester/stability-stdlib-abi-without-asserts.test b/test/api-digester/stability-stdlib-abi-without-asserts.test index 66ac5b441539b..77147f50188a3 100644 --- a/test/api-digester/stability-stdlib-abi-without-asserts.test +++ b/test/api-digester/stability-stdlib-abi-without-asserts.test @@ -172,6 +172,7 @@ Subscript MutableCollection.subscript(_:) has been removed Protocol SIMDScalar has added inherited protocol BitwiseCopyable Protocol SIMDScalar has generic signature change from to Protocol _Pointer has added inherited protocol BitwiseCopyable +Protocol LosslessStringConvertible has generic signature change from to Protocol AdditiveArithmetic has added inherited protocol Copyable Protocol AdditiveArithmetic has added inherited protocol Escapable @@ -189,9 +190,8 @@ Protocol CodingKey has added inherited protocol Copyable Protocol CodingKey has added inherited protocol Escapable Protocol Collection has added inherited protocol Copyable Protocol Collection has added inherited protocol Escapable -Protocol Comparable has added inherited protocol Copyable Protocol Comparable has added inherited protocol Escapable -Protocol CustomDebugStringConvertible has added inherited protocol Copyable +Protocol Comparable has generic signature change from to Protocol CustomDebugStringConvertible has added inherited protocol Escapable Protocol CustomLeafReflectable has added inherited protocol Copyable Protocol CustomLeafReflectable has added inherited protocol Escapable @@ -199,7 +199,6 @@ Protocol CustomPlaygroundDisplayConvertible has added inherited protocol Copyabl Protocol CustomPlaygroundDisplayConvertible has added inherited protocol Escapable Protocol CustomReflectable has added inherited protocol Copyable Protocol CustomReflectable has added inherited protocol Escapable -Protocol CustomStringConvertible has added inherited protocol Copyable Protocol CustomStringConvertible has added inherited protocol Escapable Protocol Decodable has added inherited protocol Copyable Protocol Decodable has added inherited protocol Escapable @@ -209,7 +208,6 @@ Protocol Encodable has added inherited protocol Copyable Protocol Encodable has added inherited protocol Escapable Protocol Encoder has added inherited protocol Copyable Protocol Encoder has added inherited protocol Escapable -Protocol Equatable has added inherited protocol Copyable Protocol Equatable has added inherited protocol Escapable Protocol Error has added inherited protocol Copyable Protocol Error has added inherited protocol Escapable @@ -249,7 +247,6 @@ Protocol LazyCollectionProtocol has added inherited protocol Copyable Protocol LazyCollectionProtocol has added inherited protocol Escapable Protocol LazySequenceProtocol has added inherited protocol Copyable Protocol LazySequenceProtocol has added inherited protocol Escapable -Protocol LosslessStringConvertible has added inherited protocol Copyable Protocol LosslessStringConvertible has added inherited protocol Escapable Protocol MirrorPath has added inherited protocol Copyable Protocol MirrorPath has added inherited protocol Escapable @@ -295,7 +292,6 @@ Protocol StringProtocol has added inherited protocol Copyable Protocol StringProtocol has added inherited protocol Escapable Protocol TextOutputStream has added inherited protocol Copyable Protocol TextOutputStream has added inherited protocol Escapable -Protocol TextOutputStreamable has added inherited protocol Copyable Protocol TextOutputStreamable has added inherited protocol Escapable Protocol UnicodeCodec has added inherited protocol Copyable Protocol UnicodeCodec has added inherited protocol Escapable @@ -366,6 +362,8 @@ Protocol _UnicodeParser has added inherited protocol Escapable Protocol __DefaultCustomPlaygroundQuickLookable has added inherited protocol Copyable Protocol __DefaultCustomPlaygroundQuickLookable has added inherited protocol Escapable +Accessor CustomDebugStringConvertible.debugDescription.Get() has generic signature change from to +Accessor CustomStringConvertible.description.Get() has generic signature change from to Accessor ManagedBuffer.capacity.Get() has generic signature change from to Accessor ManagedBuffer.capacity.Get() has mangled name changing from 'Swift.ManagedBuffer.capacity.getter : Swift.Int' to '(extension in Swift):Swift.ManagedBuffer< where B: ~Swift.Copyable>.capacity.getter : Swift.Int' Accessor ManagedBuffer.firstElementAddress.Get() has generic signature change from to @@ -452,6 +450,7 @@ Accessor UnsafePointer.hashValue.Get() has generic signature change from .hashValue.getter : Swift.Int' Class ManagedBuffer has generic signature change from to Constructor ExpressibleByNilLiteral.init(nilLiteral:) has generic signature change from to +Constructor LosslessStringConvertible.init(_:) has generic signature change from to Constructor ManagedBuffer.init(_doNotCallMe:) has generic signature change from to Constructor ManagedBuffer.init(_doNotCallMe:) has mangled name changing from 'Swift.ManagedBuffer.init(_doNotCallMe: ()) -> Swift.ManagedBuffer' to '(extension in Swift):Swift.ManagedBuffer< where B: ~Swift.Copyable>.init(_doNotCallMe: ()) -> Swift.ManagedBuffer' Constructor ManagedBuffer.init(_doNotCallMe:) is now with @_preInverseGenerics @@ -539,6 +538,40 @@ EnumElement Optional.some has declared type change from <τ_0_0> (τ_0_0?.Type) EnumElement Result.failure has declared type change from <τ_0_0, τ_0_1 where τ_0_1 : Swift.Error> (Swift.Result<τ_0_0, τ_0_1>.Type) -> (τ_0_1) -> Swift.Result<τ_0_0, τ_0_1> to <τ_0_0, τ_0_1 where τ_0_1 : Swift.Error, τ_0_0 : ~Copyable, τ_0_0 : ~Escapable> (Swift.Result<τ_0_0, τ_0_1>.Type) -> (τ_0_1) -> Swift.Result<τ_0_0, τ_0_1> EnumElement Result.success has declared type change from <τ_0_0, τ_0_1 where τ_0_1 : Swift.Error> (Swift.Result<τ_0_0, τ_0_1>.Type) -> (τ_0_0) -> Swift.Result<τ_0_0, τ_0_1> to <τ_0_0, τ_0_1 where τ_0_1 : Swift.Error, τ_0_0 : ~Copyable, τ_0_0 : ~Escapable> (Swift.Result<τ_0_0, τ_0_1>.Type) -> (τ_0_0) -> Swift.Result<τ_0_0, τ_0_1> Func ??(_:_:) has been removed +Func DefaultStringInterpolation.appendInterpolation(_:) has generic signature change from to +Func DefaultStringInterpolation.appendInterpolation(_:) has generic signature change from to +Func DefaultStringInterpolation.appendInterpolation(_:) has generic signature change from to +Func DefaultStringInterpolation.appendInterpolation(_:) has mangled name changing from 'Swift.DefaultStringInterpolation.appendInterpolation(A) -> ()' to 'Swift.DefaultStringInterpolation.appendInterpolation(A) -> ()' +Func DefaultStringInterpolation.appendInterpolation(_:) has mangled name changing from 'Swift.DefaultStringInterpolation.appendInterpolation(A) -> ()' to 'Swift.DefaultStringInterpolation.appendInterpolation(A) -> ()' +Func DefaultStringInterpolation.appendInterpolation(_:) has mangled name changing from 'Swift.DefaultStringInterpolation.appendInterpolation(A) -> ()' to 'Swift.DefaultStringInterpolation.appendInterpolation(A) -> ()' +Func DefaultStringInterpolation.appendInterpolation(_:) has parameter 0 changing from Default to Shared +Func DefaultStringInterpolation.appendInterpolation(_:) is now with @_preInverseGenerics +Func Equatable.!=(_:_:) has generic signature change from to +Func Equatable.!=(_:_:) has mangled name changing from 'static (extension in Swift):Swift.Equatable.!= infix(A, A) -> Swift.Bool' to 'static (extension in Swift):Swift.Equatable< where A: ~Swift.Copyable>.!= infix(A, A) -> Swift.Bool' +Func Equatable.!=(_:_:) has parameter 0 changing from Default to Shared +Func Equatable.!=(_:_:) has parameter 1 changing from Default to Shared +Func Equatable.!=(_:_:) is now with @_preInverseGenerics +Func Equatable.==(_:_:) has generic signature change from to +Func Equatable.==(_:_:) has parameter 0 changing from Default to Shared +Func Equatable.==(_:_:) has parameter 1 changing from Default to Shared +Func Comparable.<(_:_:) has generic signature change from to +Func Comparable.<(_:_:) has parameter 0 changing from Default to Shared +Func Comparable.<(_:_:) has parameter 1 changing from Default to Shared +Func Comparable.<=(_:_:) has generic signature change from to +Func Comparable.<=(_:_:) has mangled name changing from 'static (extension in Swift):Swift.Comparable.<= infix(A, A) -> Swift.Bool' to 'static (extension in Swift):Swift.Comparable< where A: ~Swift.Copyable>.<= infix(A, A) -> Swift.Bool' +Func Comparable.<=(_:_:) has parameter 0 changing from Default to Shared +Func Comparable.<=(_:_:) has parameter 1 changing from Default to Shared +Func Comparable.<=(_:_:) is now with @_preInverseGenerics +Func Comparable.>(_:_:) has generic signature change from to +Func Comparable.>(_:_:) has mangled name changing from 'static (extension in Swift):Swift.Comparable.> infix(A, A) -> Swift.Bool' to 'static (extension in Swift):Swift.Comparable< where A: ~Swift.Copyable>.> infix(A, A) -> Swift.Bool' +Func Comparable.>(_:_:) has parameter 0 changing from Default to Shared +Func Comparable.>(_:_:) has parameter 1 changing from Default to Shared +Func Comparable.>(_:_:) is now with @_preInverseGenerics +Func Comparable.>=(_:_:) has generic signature change from to +Func Comparable.>=(_:_:) has mangled name changing from 'static (extension in Swift):Swift.Comparable.>= infix(A, A) -> Swift.Bool' to 'static (extension in Swift):Swift.Comparable< where A: ~Swift.Copyable>.>= infix(A, A) -> Swift.Bool' +Func Comparable.>=(_:_:) has parameter 0 changing from Default to Shared +Func Comparable.>=(_:_:) has parameter 1 changing from Default to Shared +Func Comparable.>=(_:_:) is now with @_preInverseGenerics Func ManagedBuffer.create(minimumCapacity:makingHeaderWith:) has generic signature change from to Func ManagedBuffer.create(minimumCapacity:makingHeaderWith:) has mangled name changing from 'static Swift.ManagedBuffer.create(minimumCapacity: Swift.Int, makingHeaderWith: (Swift.ManagedBuffer) throws -> A) throws -> Swift.ManagedBuffer' to 'static (extension in Swift):Swift.ManagedBuffer< where B: ~Swift.Copyable>.create(minimumCapacity: Swift.Int, makingHeaderWith: (Swift.ManagedBuffer) throws -> A) throws -> Swift.ManagedBuffer' Func ManagedBuffer.create(minimumCapacity:makingHeaderWith:) is now with @_preInverseGenerics @@ -578,7 +611,9 @@ Func Optional.!=(_:_:) has mangled name changing from 'static Swift.Optional.!= Func Optional.!=(_:_:) has parameter 0 changing from Default to Shared Func Optional.!=(_:_:) has parameter 1 changing from Default to Shared Func Optional.!=(_:_:) is now with @_preInverseGenerics +Func Optional.==(_:_:) has generic signature change from to Func Optional.==(_:_:) has generic signature change from to +Func Optional.==(_:_:) has mangled name changing from 'static (extension in Swift):Swift.Optional.== infix(Swift.Optional, Swift.Optional) -> Swift.Bool' to 'static (extension in Swift):Swift.Optional< where A: Swift.Equatable, A: ~Swift.Copyable>.== infix(Swift.Optional, Swift.Optional) -> Swift.Bool' Func Optional.==(_:_:) has mangled name changing from 'static Swift.Optional.== infix(Swift.Optional, Swift._OptionalNilComparisonType) -> Swift.Bool' to 'static (extension in Swift):Swift.Optional< where A: ~Swift.Copyable, A: ~Swift.Escapable>.== infix(Swift.Optional, Swift._OptionalNilComparisonType) -> Swift.Bool' Func Optional.==(_:_:) has mangled name changing from 'static Swift.Optional.== infix(Swift._OptionalNilComparisonType, Swift.Optional) -> Swift.Bool' to 'static (extension in Swift):Swift.Optional< where A: ~Swift.Copyable, A: ~Swift.Escapable>.== infix(Swift._OptionalNilComparisonType, Swift.Optional) -> Swift.Bool' Func Optional.==(_:_:) has parameter 0 changing from Default to Shared @@ -590,6 +625,12 @@ Func Optional.~=(_:_:) has parameter 1 changing from Default to Shared Func Optional.~=(_:_:) is now with @_preInverseGenerics Func Result.get() has been removed Func Result.mapError(_:) has been removed +Func Result.==(_:_:) has generic signature change from to +Func Result.==(_:_:) has mangled name changing from 'static (extension in Swift):Swift.Result< where A: Swift.Equatable, B: Swift.Equatable>.== infix(Swift.Result, Swift.Result) -> Swift.Bool' to 'static (extension in Swift):Swift.Result< where A: Swift.Equatable, B: Swift.Equatable, A: ~Swift.Copyable>.== infix(Swift.Result, Swift.Result) -> Swift.Bool' +Func Result.==(_:_:) has parameter 0 changing from Default to Shared +Func Result.==(_:_:) has parameter 1 changing from Default to Shared +Func Result.==(_:_:) is now with @_preInverseGenerics +Func TextOutputStreamable.write(to:) has generic signature change from to Func UnsafeBufferPointer.deallocate() has generic signature change from to Func UnsafeBufferPointer.deallocate() has mangled name changing from 'Swift.UnsafeBufferPointer.deallocate() -> ()' to '(extension in Swift):Swift.UnsafeBufferPointer< where A: ~Swift.Copyable>.deallocate() -> ()' Func UnsafeBufferPointer.deallocate() is now with @_preInverseGenerics diff --git a/test/attr/attr_abi.swift b/test/attr/attr_abi.swift index df273414fb0e0..ecb13414c4d5f 100644 --- a/test/attr/attr_abi.swift +++ b/test/attr/attr_abi.swift @@ -1025,7 +1025,7 @@ func testNormalProtocols( ) {} @abi( - func testNormalProtocolsGeneric( // expected-error {{generic signature '' in '@abi' is not compatible with ''}} + func testNormalProtocolsGeneric( // expected-error {{generic signature '' in '@abi' is not compatible with ''}} _: A, _: B ) ) diff --git a/test/refactoring/AddEquatableConformance/Outputs/basic/first.swift.expected b/test/refactoring/AddEquatableConformance/Outputs/basic/first.swift.expected index a4077abea94a7..1f59dfabbc919 100644 --- a/test/refactoring/AddEquatableConformance/Outputs/basic/first.swift.expected +++ b/test/refactoring/AddEquatableConformance/Outputs/basic/first.swift.expected @@ -3,7 +3,7 @@ class TestAddEquatable: Equatable { private var prop = "test2" let pr = "test3" - static func == (lhs: TestAddEquatable, rhs: TestAddEquatable) -> Bool { + static func == (lhs: borrowing TestAddEquatable, rhs: borrowing TestAddEquatable) -> Bool { return lhs.property == rhs.property && lhs.prop == rhs.prop && lhs.pr == rhs.pr diff --git a/test/refactoring/AddEquatableConformance/Outputs/basic/second.swift.expected b/test/refactoring/AddEquatableConformance/Outputs/basic/second.swift.expected index bc37aa869ca92..13f371a42869a 100644 --- a/test/refactoring/AddEquatableConformance/Outputs/basic/second.swift.expected +++ b/test/refactoring/AddEquatableConformance/Outputs/basic/second.swift.expected @@ -9,7 +9,7 @@ extension TestAddEquatable: Equatable { return true } - static func == (lhs: TestAddEquatable, rhs: TestAddEquatable) -> Bool { + static func == (lhs: borrowing TestAddEquatable, rhs: borrowing TestAddEquatable) -> Bool { return lhs.property == rhs.property && lhs.prop == rhs.prop && lhs.pr == rhs.pr diff --git a/test/refactoring/AddEquatableConformance/Outputs/basic/third.swift.expected b/test/refactoring/AddEquatableConformance/Outputs/basic/third.swift.expected index 1141aa687d710..4d87427dbfce9 100644 --- a/test/refactoring/AddEquatableConformance/Outputs/basic/third.swift.expected +++ b/test/refactoring/AddEquatableConformance/Outputs/basic/third.swift.expected @@ -11,7 +11,7 @@ extension TestAddEquatable { } extension TestAddEquatable: Equatable { - static func == (lhs: TestAddEquatable, rhs: TestAddEquatable) -> Bool { + static func == (lhs: borrowing TestAddEquatable, rhs: borrowing TestAddEquatable) -> Bool { return lhs.property == rhs.property && lhs.prop == rhs.prop && lhs.pr == rhs.pr diff --git a/test/stdlib/NoncopyableEquatable.swift b/test/stdlib/NoncopyableEquatable.swift new file mode 100644 index 0000000000000..ca5e0d7896bff --- /dev/null +++ b/test/stdlib/NoncopyableEquatable.swift @@ -0,0 +1,147 @@ +//===--- NoncopyableEquatable.swift - tests for the two reduce variants -----------------===// +// +// This source file is part of the Swift.org open source project +// +// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors +// Licensed under Apache License v2.0 with Runtime Library Exception +// +// See https://swift.org/LICENSE.txt for license information +// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors +// +//===----------------------------------------------------------------------===// +// RUN: %target-run-simple-swift +// REQUIRES: executable_test + +import StdlibUnittest + +let NoncopyableEquatableTests = TestSuite("NoncopyableEquatable") + +struct Noncopyable: ~Copyable { + var i: Int +} + +extension Noncopyable: Equatable { } + +extension Equatable where Self: ~Copyable { + func isSame(as other: borrowing Self) -> Bool { + self == other + } +} + +func isNotSame(_ lhs: borrowing T, _ rhs: borrowing T) -> Bool { + lhs != rhs +} + +extension Noncopyable: Comparable { + static func <(lhs: borrowing Self, rhs: borrowing Self) -> Bool { + lhs.i < rhs.i + } +} + +NoncopyableEquatableTests.test("equating noncopyables") { + let a = Noncopyable(i: 1) + let b = Noncopyable(i: 2) + let c = Noncopyable(i: 1) + + expectFalse(a.isSame(as: b)) + expectTrue(a.isSame(as: c)) + + expectTrue(isNotSame(a,b)) +} + +@available(SwiftStdlib 6.2, *) +extension InlineArray where Element: Comparable & ~Copyable { + func minIndex() -> Int? { + indices.min { self[$0] < self[$1] } + } +} + +NoncopyableEquatableTests.test("comparing noncopyables") { + + guard #available(SwiftStdlib 6.2, *) else { return } + + let a = Noncopyable(i: 1) + let b = Noncopyable(i: 2) + let c = Noncopyable(i: 0) + + expectTrue(a > c) + expectFalse(a <= c) + + let array: [3 of Noncopyable] = [a,b,c] + expectTrue(array.minIndex() == 2) + } + +extension Noncopyable: CustomStringConvertible { + var description: String { + "No copying the number \(i)" + } + } + + extension Noncopyable: CustomDebugStringConvertible { + var debugDescription: String { + "Noncopyable(i: \(i))" + } + } + +extension Noncopyable: LosslessStringConvertible { + init?(_ description: String) { + guard let i = Int(description) else { return nil } + self.i = i + } +} + +extension LosslessStringConvertible where Self: ~Copyable { + init(riskily with: String) { + self = .init(with)! + } +} + +func debug(value: borrowing some CustomDebugStringConvertible & ~Copyable) -> String { + value.debugDescription +} + +NoncopyableEquatableTests.test("noncopyable interpolation") { + + let a = Noncopyable(riskily: "99") + + expectEqual("NC: \(a)", "NC: No copying the number \(a.i)") + expectEqual("Noncopyable(i: \(a.i))", debug(value: a)) +} + +NoncopyableEquatableTests.test("equating optional noncopyables") { + let o1: Noncopyable? = Noncopyable(i: 1) + let o2: Noncopyable = .init(i: 1) + expectTrue(o1 == consume o2) +} + + +extension Noncopyable { + struct Nope: Error, Equatable { let s: String } + + init(throws from: String) throws(Nope) { + guard let i = Int(from) else { throw Nope(s: from) } + self = .init(i: i) + } +} + +NoncopyableEquatableTests.test("equating optional noncopyables") { + let o1: Noncopyable? = Noncopyable(i: 1) + let o2: Noncopyable = .init(i: 1) + expectTrue(o1 == consume o2) +} + +NoncopyableEquatableTests.test("noncopyable result") { + let r = Result { () throws(Noncopyable.Nope) -> Noncopyable in + try Noncopyable(throws: "99") + } + expectTrue(r == .success(.init(i: 99))) + + let n = Result { () throws(Noncopyable.Nope) -> Noncopyable in try Noncopyable(throws: "nope") } + expectTrue(r != n) + let m = Result { () throws(Noncopyable.Nope) -> Noncopyable in try Noncopyable(throws: "nope") } + expectTrue(n == m) + + expectEqual(try! r.get().i, 99) +} + +runAllTests() diff --git a/test/stdlib/StringDiagnostics.swift b/test/stdlib/StringDiagnostics.swift index 7978947436c54..b26215d569017 100644 --- a/test/stdlib/StringDiagnostics.swift +++ b/test/stdlib/StringDiagnostics.swift @@ -34,14 +34,18 @@ func testAmbiguousStringComparisons(s: String) { let nsString = s as NSString let a1 = s as NSString == nsString let a2 = s as NSString != nsString - let a3 = s < nsString // expected-error{{'NSString' is not implicitly convertible to 'String'; did you mean to use 'as' to explicitly convert?}} {{24-24= as String}} + let a3 = s < nsString + // expected-error@-1{{binary operator '<' cannot be applied to operands of type 'String' and 'NSString'}} + // expected-note@-2{{overloads for '<' exist with these partially matching parameter lists: (String, String)}} let a4 = s <= nsString // expected-error{{'NSString' is not implicitly convertible to 'String'; did you mean to use 'as' to explicitly convert?}} {{25-25= as String}} let a5 = s >= nsString // expected-error{{'NSString' is not implicitly convertible to 'String'; did you mean to use 'as' to explicitly convert?}} {{25-25= as String}} let a6 = s > nsString // expected-error{{'NSString' is not implicitly convertible to 'String'; did you mean to use 'as' to explicitly convert?}} {{24-24= as String}} // now the other way let a7 = nsString == s as NSString let a8 = nsString != s as NSString - let a9 = nsString < s // expected-error{{'NSString' is not implicitly convertible to 'String'; did you mean to use 'as' to explicitly convert?}} {{20-20= as String}} + let a9 = nsString < s + // expected-error@-1{{binary operator '<' cannot be applied to operands of type 'NSString' and 'String'}} + // expected-note@-2{{overloads for '<' exist with these partially matching parameter lists: (String, String)}} let a10 = nsString <= s // expected-error{{'NSString' is not implicitly convertible to 'String'; did you mean to use 'as' to explicitly convert?}} {{21-21= as String}} let a11 = nsString >= s // expected-error{{'NSString' is not implicitly convertible to 'String'; did you mean to use 'as' to explicitly convert?}} {{21-21= as String}} let a12 = nsString > s // expected-error{{'NSString' is not implicitly convertible to 'String'; did you mean to use 'as' to explicitly convert?}} {{21-21= as String}}