rollup merge of #20262: arturoc/fix-scoped_thread_local

was missing a couple of semicolons and applications using it failed to compile
This commit is contained in:
Alex Crichton 2014-12-29 16:36:25 -08:00
commit 6b473b2e05
1 changed files with 16 additions and 2 deletions

View File

@ -62,10 +62,10 @@ pub struct Key<T> { #[doc(hidden)] pub inner: KeyInner<T> }
#[macro_export]
macro_rules! scoped_thread_local {
(static $name:ident: $t:ty) => (
__scoped_thread_local_inner!(static $name: $t)
__scoped_thread_local_inner!(static $name: $t);
);
(pub static $name:ident: $t:ty) => (
__scoped_thread_local_inner!(pub static $name: $t)
__scoped_thread_local_inner!(pub static $name: $t);
);
}
@ -240,6 +240,8 @@ mod tests {
use cell::Cell;
use prelude::*;
scoped_thread_local!(static FOO: uint);
#[test]
fn smoke() {
scoped_thread_local!(static BAR: uint);
@ -264,4 +266,16 @@ mod tests {
});
});
}
#[test]
fn scope_item_allowed() {
assert!(!FOO.is_set());
FOO.set(&1, || {
assert!(FOO.is_set());
FOO.with(|slot| {
assert_eq!(*slot, 1);
});
});
assert!(!FOO.is_set());
}
}