rust/src/test/run-pass-fulldeps/auxiliary/outlive-expansion-phase.rs

26 lines
508 B
Rust
Raw Normal View History

// force-host
#![feature(plugin_registrar)]
#![feature(box_syntax, rustc_private)]
extern crate rustc;
extern crate rustc_plugin;
use std::any::Any;
use std::cell::RefCell;
use rustc_plugin::Registry;
struct Foo {
foo: isize
}
impl Drop for Foo {
fn drop(&mut self) {}
}
#[plugin_registrar]
pub fn registrar(_: &mut Registry) {
thread_local!(static FOO: RefCell<Option<Box<Any+Send>>> = RefCell::new(None));
FOO.with(|s| *s.borrow_mut() = Some(box Foo { foo: 10 } as Box<Any+Send>));
}