summaryrefslogtreecommitdiffstats
path: root/src/test/ui/regions/regions-lub-ref-ref-rc.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/regions/regions-lub-ref-ref-rc.rs')
-rw-r--r--src/test/ui/regions/regions-lub-ref-ref-rc.rs28
1 files changed, 0 insertions, 28 deletions
diff --git a/src/test/ui/regions/regions-lub-ref-ref-rc.rs b/src/test/ui/regions/regions-lub-ref-ref-rc.rs
deleted file mode 100644
index 96c71b084..000000000
--- a/src/test/ui/regions/regions-lub-ref-ref-rc.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-// run-pass
-#![allow(dead_code)]
-// Test a corner case of LUB coercion. In this case, one arm of the
-// match requires a deref coercion and the other doesn't, and there
-// is an extra `&` on the `rc`. We want to be sure that the lifetime
-// assigned to this `&rc` value is not `'a` but something smaller. In
-// other words, the type from `rc` is `&'a Rc<String>` and the type
-// from `&rc` should be `&'x &'a Rc<String>`, where `'x` is something
-// small.
-
-use std::rc::Rc;
-
-#[derive(Clone)]
-enum Cached<'mir> {
- Ref(&'mir String),
- Owned(Rc<String>),
-}
-
-impl<'mir> Cached<'mir> {
- fn get_ref<'a>(&'a self) -> &'a String {
- match *self {
- Cached::Ref(r) => r,
- Cached::Owned(ref rc) => &rc,
- }
- }
-}
-
-fn main() { }