about summary refs log tree commit diff
path: root/src/libcore/tests
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-09-08 00:07:36 +0200
committerGitHub <noreply@github.com>2019-09-08 00:07:36 +0200
commitcd3cb281da9a4387f5896db75129d7dd73cca8f4 (patch)
treed19b29534ae871eaa6fdf621d2658dd041672075 /src/libcore/tests
parentcab2d84f061c624a016250458f29f0297b74d0fe (diff)
parent7b3f72906ffea5a8aec9e3d109d8e012f771a672 (diff)
downloadrust-cd3cb281da9a4387f5896db75129d7dd73cca8f4.tar.gz
rust-cd3cb281da9a4387f5896db75129d7dd73cca8f4.zip
Rollup merge of #64255 - varkor:bool-to-option, r=Centril
Add methods for converting `bool` to `Option<T>`

This provides a reference implementation for https://github.com/rust-lang/rfcs/pull/2757.
Diffstat (limited to 'src/libcore/tests')
-rw-r--r--src/libcore/tests/bool.rs7
-rw-r--r--src/libcore/tests/lib.rs2
2 files changed, 9 insertions, 0 deletions
diff --git a/src/libcore/tests/bool.rs b/src/libcore/tests/bool.rs
new file mode 100644
index 00000000000..0f1e6e89451
--- /dev/null
+++ b/src/libcore/tests/bool.rs
@@ -0,0 +1,7 @@
+#[test]
+fn test_bool_to_option() {
+    assert_eq!(false.then(0), None);
+    assert_eq!(true.then(0), Some(0));
+    assert_eq!(false.then_with(|| 0), None);
+    assert_eq!(true.then_with(|| 0), Some(0));
+}
diff --git a/src/libcore/tests/lib.rs b/src/libcore/tests/lib.rs
index a3b108b2e9c..b2c29aa2692 100644
--- a/src/libcore/tests/lib.rs
+++ b/src/libcore/tests/lib.rs
@@ -1,3 +1,4 @@
+#![feature(bool_to_option)]
 #![feature(bound_cloned)]
 #![feature(box_syntax)]
 #![feature(cell_update)]
@@ -40,6 +41,7 @@ mod any;
 mod array;
 mod ascii;
 mod atomic;
+mod bool;
 mod cell;
 mod char;
 mod clone;