@@ -3,37 +3,12 @@ extension JSON {
33 ///
44 /// This error is thrown by decoders, and is different from
55 /// `Grammar.Pattern.IntegerOverflowError`, which is thrown by the parser.
6- public struct IntegerOverflowError : Error , Sendable {
6+ public struct IntegerOverflowError < Representation > : NumericOverflowError , Equatable {
77 /// The number literal that could not be converted.
88 public let number : Number
99
10- /// The metatype of the desired integer type.
11- public let overflows : any FixedWidthInteger . Type
12-
13- public init ( number: Number , overflows: any FixedWidthInteger . Type ) {
10+ public init ( number: Number ) {
1411 self . number = number
15- self . overflows = overflows
1612 }
1713 }
1814}
19- extension JSON . IntegerOverflowError {
20- @available (
21- swift, deprecated: 5.7 ,
22- message: " use the more strongly-typed 'overflows' property "
23- ) public var type : Any . Type { self . overflows }
24- }
25- extension JSON . IntegerOverflowError : Equatable {
26- public static func == ( lhs: Self , rhs: Self ) -> Bool {
27- lhs. equals ( number: rhs. number, overflows: rhs. overflows)
28- }
29-
30- private func equals< Integer> ( number: JSON . Number , overflows _: Integer . Type ) -> Bool
31- where Integer: FixedWidthInteger {
32- self . number == number && self . overflows is Integer . Type
33- }
34- }
35- extension JSON . IntegerOverflowError : CustomStringConvertible {
36- public var description : String {
37- " integer literal ' \( number) ' overflows decoded type ' \( self . overflows) ' "
38- }
39- }
0 commit comments