diff options
Diffstat (limited to 'src/test/ui/binding/borrowed-ptr-pattern-option.rs')
-rw-r--r-- | src/test/ui/binding/borrowed-ptr-pattern-option.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/test/ui/binding/borrowed-ptr-pattern-option.rs b/src/test/ui/binding/borrowed-ptr-pattern-option.rs new file mode 100644 index 000000000..319b8631e --- /dev/null +++ b/src/test/ui/binding/borrowed-ptr-pattern-option.rs @@ -0,0 +1,15 @@ +// run-pass + +fn select<'r>(x: &'r Option<isize>, y: &'r Option<isize>) -> &'r Option<isize> { + match (x, y) { + (&None, &None) => x, + (&Some(_), _) => x, + (&None, &Some(_)) => y + } +} + +pub fn main() { + let x = None; + let y = Some(3); + assert_eq!(select(&x, &y).unwrap(), 3); +} |