But the purpose of func dividedReportingOverflow(by other: Int <apple-reference-documentation://hsf4N66ABq>) -> (partialValue: Int <apple-reference-documentation://hsf4N66ABq>, overflow: Bool <apple-reference-documentation://hsvynwdxKM>)
is to report an overflow in the return value. And actually this compiles and runs in Xcode 9 if the code is on top-level in main.m: let minusOne = -1 let r1 = Int.min.dividedReportingOverflow(by: minusOne) print(r1) // (partialValue: -9223372036854775808, overflow: true) let zero = 0 let r2 = Int.min.dividedReportingOverflow(by: zero) print(r2) // (partialValue: -9223372036854775808, overflow: true) But the same code inside a function (or do-block) fails to compile: func foo() { let minusOne = -1 let r1 = Int.min.dividedReportingOverflow(by: minusOne) // error: division '-9223372036854775808 / -1' results in an overflow print(r1) let zero = 0 let r2 = Int.min.dividedReportingOverflow(by: zero) // error: division by zero print(r2) } Martin > On 22. Sep 2017, at 10:19, Alex Blewitt via swift-users > <swift-users@swift.org> wrote: > > Int.min is the smallest negative value, and Int.max is the largest positive > value (that fits in an Int). However, the absolute value of Int.min is larger > than the absolute value of Int.max. So you can't convert Int.min into > -Int.min because it's larger than Int.max. > > In other words, this is expected behaviour :) > > For example: > > Int.min + Int.max = 1 > > If they were the same value, it would be zero. > > Alex > >> On 22 Sep 2017, at 02:42, Peter W A Wood via swift-users >> <swift-users@swift.org <mailto:swift-users@swift.org>> wrote: >> >> Entering the following statement in a playground gives an overflow error. >> Where should I report this? >> >> Statement: >> >> Int.min.dividedReportingOverflow(by:-1) >> >> Playground log: >> >> Playground execution failed: >> >> error: MyPlayground.playground:3:9: error: division '-9223372036854775808 / >> -1' results in an overflow >> Int.min.dividedReportingOverflow(by:-1) >> >> Peter >> _______________________________________________ >> swift-users mailing list >> swift-users@swift.org <mailto:swift-users@swift.org> >> https://lists.swift.org/mailman/listinfo/swift-users > > _______________________________________________ > swift-users mailing list > swift-users@swift.org > https://lists.swift.org/mailman/listinfo/swift-users
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users