summaryrefslogtreecommitdiffstats
path: root/rust/vendor/failure/examples/bail_ensure.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/vendor/failure/examples/bail_ensure.rs')
-rw-r--r--rust/vendor/failure/examples/bail_ensure.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/rust/vendor/failure/examples/bail_ensure.rs b/rust/vendor/failure/examples/bail_ensure.rs
new file mode 100644
index 0000000..05c399b
--- /dev/null
+++ b/rust/vendor/failure/examples/bail_ensure.rs
@@ -0,0 +1,26 @@
+#[macro_use]
+extern crate failure;
+
+use failure::Error;
+
+fn bailer() -> Result<(), Error> {
+ // bail!("ruh roh");
+ bail!("ruh {}", "roh");
+}
+
+fn ensures() -> Result<(), Error> {
+ ensure!(true, "true is false");
+ ensure!(false, "false is false");
+ Ok(())
+}
+
+fn main() {
+ match bailer() {
+ Ok(_) => println!("ok"),
+ Err(e) => println!("{}", e),
+ }
+ match ensures() {
+ Ok(_) => println!("ok"),
+ Err(e) => println!("{}", e),
+ }
+}