[rust-dev] Integer overflow, round -2147483648

Daniel Micay danielmicay at gmail.com
Sun Jun 22 15:25:45 PDT 2014


On 22/06/14 06:37 AM, Matthieu Monrocq wrote:
> I am not a fan of having wrap-around and non-wrap-around types, because
> whether you use wrap-around arithmetic or not is, in the end, an
> implementation detail, and having to switch types left and right
> whenever going from one mode to the other is going to be a lot of
> boilerplate.
> 
> Instead, why not take the same road than swift and map +, -, * and / to
> non-wrap-around operators and declare new (more verbose) operators for
> the rare case where performance matters or wrap-around is the right
> semantics ?

That's the wrong default for a performance-centric language.
> 
> Even though Rust is a performance conscious language (since it aims at
> displacing C and C++), the 80/20 rule still applies and most of Rust
> code should not require absolute speed; so let's make it convenient to
> write safe code and prevent newcomers from shooting themselves in the
> foot by providing safety by default, and for those who profiled their
> applications or are writing hashing algorithms *also* provide the
> necessary escape hatches.

Reducing performance of programs making heavy use of integer arithmetic
by 50%+ is unacceptable.

> This way we can have our cake and eat it too... or am I missing something ?

No one will use the language after seeing that it's slower than Java by
default.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20140622/b1dbe751/attachment.sig>


More information about the Rust-dev mailing list