summaryrefslogtreecommitdiffstats
path: root/src/test/ui/regions/init-res-into-things.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/regions/init-res-into-things.rs')
-rw-r--r--src/test/ui/regions/init-res-into-things.rs81
1 files changed, 0 insertions, 81 deletions
diff --git a/src/test/ui/regions/init-res-into-things.rs b/src/test/ui/regions/init-res-into-things.rs
deleted file mode 100644
index 7f416262d..000000000
--- a/src/test/ui/regions/init-res-into-things.rs
+++ /dev/null
@@ -1,81 +0,0 @@
-// run-pass
-
-#![allow(non_camel_case_types)]
-#![allow(dead_code)]
-
-use std::cell::Cell;
-
-// Resources can't be copied, but storing into data structures counts
-// as a move unless the stored thing is used afterwards.
-
-struct r<'a> {
- i: &'a Cell<isize>,
-}
-
-struct BoxR<'a> { x: r<'a> }
-
-impl<'a> Drop for r<'a> {
- fn drop(&mut self) {
- self.i.set(self.i.get() + 1)
- }
-}
-
-fn r(i: &Cell<isize>) -> r {
- r {
- i: i
- }
-}
-
-fn test_rec() {
- let i = &Cell::new(0);
- {
- let _a = BoxR {x: r(i)};
- }
- assert_eq!(i.get(), 1);
-}
-
-fn test_tag() {
- enum t<'a> {
- t0(r<'a>),
- }
-
- let i = &Cell::new(0);
- {
- let _a = t::t0(r(i));
- }
- assert_eq!(i.get(), 1);
-}
-
-fn test_tup() {
- let i = &Cell::new(0);
- {
- let _a = (r(i), 0);
- }
- assert_eq!(i.get(), 1);
-}
-
-fn test_unique() {
- let i = &Cell::new(0);
- {
- let _a: Box<_> = Box::new(r(i));
- }
- assert_eq!(i.get(), 1);
-}
-
-fn test_unique_rec() {
- let i = &Cell::new(0);
- {
- let _a: Box<_> = Box::new(BoxR {
- x: r(i)
- });
- }
- assert_eq!(i.get(), 1);
-}
-
-pub fn main() {
- test_rec();
- test_tag();
- test_tup();
- test_unique();
- test_unique_rec();
-}