mirror of
https://git.proxmox.com/git/rustc
synced 2025-08-16 12:39:53 +00:00
36 lines
653 B
Rust
36 lines
653 B
Rust
#[macro_use]
|
|
extern crate failure;
|
|
|
|
use failure::Fail;
|
|
|
|
fn return_failure() -> Result<(), failure::Error> {
|
|
#[derive(Fail, Debug)]
|
|
#[fail(display = "my error")]
|
|
struct MyError;
|
|
|
|
let err = MyError;
|
|
Err(err.into())
|
|
}
|
|
|
|
fn return_error() -> Result<(), Box<std::error::Error>> {
|
|
return_failure()?;
|
|
Ok(())
|
|
}
|
|
|
|
fn return_error_send_sync() -> Result<(), Box<std::error::Error + Send + Sync>> {
|
|
return_failure()?;
|
|
Ok(())
|
|
}
|
|
|
|
#[test]
|
|
fn smoke_default_compat() {
|
|
let err = return_error();
|
|
assert!(err.is_err());
|
|
}
|
|
|
|
#[test]
|
|
fn smoke_compat_send_sync() {
|
|
let err = return_error_send_sync();
|
|
assert!(err.is_err());
|
|
}
|