diff options
| author | Manish Goregaokar <manishsmail@gmail.com> | 2019-04-22 15:39:38 -0700 |
|---|---|---|
| committer | Manish Goregaokar <manishsmail@gmail.com> | 2019-04-23 08:01:42 -0700 |
| commit | b03cf3ff97f3edc0f153a5f069ef431ab642873e (patch) | |
| tree | 73a78b37d080f938efe3c364f20dce1a36601d23 | |
| parent | 7e2043de2fe8397f25b9db47992b58256727e44a (diff) | |
| download | rust-b03cf3ff97f3edc0f153a5f069ef431ab642873e.tar.gz rust-b03cf3ff97f3edc0f153a5f069ef431ab642873e.zip | |
Add test
| -rw-r--r-- | tests/ui/methods.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/ui/methods.rs b/tests/ui/methods.rs index 3a8aedcd659..395271b37eb 100644 --- a/tests/ui/methods.rs +++ b/tests/ui/methods.rs @@ -268,3 +268,21 @@ fn main() { let opt = Some(0); let _ = opt.unwrap(); } + +struct Foo(u8); +#[rustfmt::skip] +fn test_or_with_ctors() { + let opt = Some(1); + let opt_opt = Some(Some(1)); + // we also test for const promotion, this makes sure we don't hit that + let two = 2; + + let _ = opt_opt.unwrap_or(Some(2)); + let _ = opt_opt.unwrap_or(Some(two)); + let _ = opt.ok_or(Some(2)); + let _ = opt.ok_or(Some(two)); + let _ = opt.ok_or(Foo(2)); + let _ = opt.ok_or(Foo(two)); + let _ = opt.or(Some(2)); + let _ = opt.or(Some(two)); +} |
