<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">This is not a bug. The error reports correctly that -Int.min cannot be represented in the Int type. This holds true for all implementations of fixed-size signed integers in Swift and most languages. In fact, Int.min is defined as Int.min = -Int.max-1.</div><div class=""><br class=""></div><div class="">The reason is that almost all fixed-sized implementations of signed integers can represent an even number of integers. Since zero is both positive and negative, they cannot represent an equal number of positive and negative numbers. By convention, there is one more negative number, because arithmetics is easier to implement electronically this way.</div><div class=""><br class=""></div><div class="">Zero is represented in binary by 000…000, -1 by 111…111, Int.max by 011…111, and Int.min by 100…000. The first bit can be interpreted as a sign bit, it is 0 for all positive numbers, and 1 for all non-positive (that is, smaller than zero) numbers. You can negate all numbers by inverting all of their bits and than adding 1, ignoring the overflow to the unrepresentable 1000…000 when passing from -1 to 0, and signalling an overflow when inverting Int.min. All additions can be implemented as if the binary representations were unsigned, checking for overflow only if both terms have the same sign.</div><div class=""><br class=""></div><div><blockquote type="cite" class=""><div class="">On 22 Sep 2017, at 03:42, Peter W A Wood via swift-users &lt;<a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Entering the following statement in a playground gives an overflow error. Where should I report this?<div class=""><br class=""></div><div class="">Statement:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(62, 30, 129); background-color: rgb(255, 255, 255);" class=""><span style="color: #703daa" class="">Int</span><span style="" class="">.</span><span style="color: #703daa" class="">min</span><span style="" class="">.</span><span style="text-decoration: underline" class="">d</span>ividedReportingOverflow<span style="" class="">(by:</span><span style="color: #272ad8" class="">-1</span><span style="" class="">)</span></div></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(62, 30, 129); background-color: rgb(255, 255, 255);" class=""><span style="" class=""><br class=""></span></div><div style="margin: 0px; line-height: normal; background-color: rgb(255, 255, 255);" class="">Playground log:</div><div style="margin: 0px; line-height: normal; background-color: rgb(255, 255, 255);" class=""><br class=""></div><div style="margin: 0px; line-height: normal; background-color: rgb(255, 255, 255);" class=""><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">Playground execution failed:</b></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class=""></b></span><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">error: MyPlayground.playground:3:9: error: division '-9223372036854775808 / -1' results in an overflow</b></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">Int.min.dividedReportingOverflow(by:-1)</b></span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class=""><br class=""></b></span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Peter</span></div></div></div>_______________________________________________<br class="">swift-users mailing list<br class=""><a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-users<br class=""></div></blockquote></div><br class=""></body></html>