use core::atomic;
use core::clone::Clone;
+use core::fmt::{mod, Show};
use core::kinds::{Sync, Send};
use core::mem::{min_align_of, size_of, drop};
use core::mem;
}
}
+impl<T: Send + Sync + Show> Show for Arc<T> {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ (**self).fmt(f)
+ }
+}
+
impl<T: Send + Sync + Clone> Arc<T> {
/// Acquires a mutable pointer to the inner contents by guaranteeing that
/// the reference count is one (no sharing is possible).
use std::mem::drop;
use std::ops::Drop;
use std::option::{Option, Some, None};
+ use std::str::Str;
use std::sync::atomic;
use std::task;
use std::vec::Vec;
assert!(canary.load(atomic::Acquire) == 1);
drop(arc_weak);
}
+
+ #[test]
+ fn show_arc() {
+ let a = Arc::new(5u32);
+ assert!(format!("{}", a).as_slice() == "5")
+ }
}