about summary refs log tree commit diff
path: root/src/libcore/tests
diff options
context:
space:
mode:
authorDaiki Mizukami <mizukami1113@gmail.com>2018-04-24 01:45:44 +0900
committerDaiki Mizukami <mizukami1113@gmail.com>2018-04-24 01:53:40 +0900
commitfbb1c280bf5f3d4fc68f323860ade8fa48d96979 (patch)
treeb32de9c3c7b2d72aa452e62330877c3c410b1c42 /src/libcore/tests
parent1fac3ca9c4e4ba3d27a9ffb29b78f7656d15e160 (diff)
downloadrust-fbb1c280bf5f3d4fc68f323860ade8fa48d96979.tar.gz
rust-fbb1c280bf5f3d4fc68f323860ade8fa48d96979.zip
core: Fix overflow in `int::mod_euc` when `self < 0 && rhs == MIN`
Diffstat (limited to 'src/libcore/tests')
-rw-r--r--src/libcore/tests/lib.rs1
-rw-r--r--src/libcore/tests/num/int_macros.rs5
2 files changed, 6 insertions, 0 deletions
diff --git a/src/libcore/tests/lib.rs b/src/libcore/tests/lib.rs
index 7d3852d2f2a..ccf647c358d 100644
--- a/src/libcore/tests/lib.rs
+++ b/src/libcore/tests/lib.rs
@@ -15,6 +15,7 @@
 #![feature(core_private_diy_float)]
 #![feature(dec2flt)]
 #![feature(decode_utf8)]
+#![feature(euclidean_division)]
 #![feature(exact_size_is_empty)]
 #![feature(fixed_size_array)]
 #![feature(float_internals)]
diff --git a/src/libcore/tests/num/int_macros.rs b/src/libcore/tests/num/int_macros.rs
index 8d791283ab8..71d2e794538 100644
--- a/src/libcore/tests/num/int_macros.rs
+++ b/src/libcore/tests/num/int_macros.rs
@@ -31,6 +31,11 @@ mod tests {
     }
 
     #[test]
+    fn test_mod_euc() {
+        assert!((-1 as $T).mod_euc(MIN) == MAX);
+    }
+
+    #[test]
     pub fn test_abs() {
         assert!((1 as $T).abs() == 1 as $T);
         assert!((0 as $T).abs() == 0 as $T);