]> git.lizzy.rs Git - rust.git/blob - src/test/ui/logging-only-prints-once.rs
Update tests
[rust.git] / src / test / ui / logging-only-prints-once.rs
1 // run-pass
2 // ignore-windows
3 // ignore-emscripten no threads support
4 // exec-env:RUSTC_LOG=debug
5
6 use std::cell::Cell;
7 use std::fmt;
8 use std::thread;
9
10 struct Foo(Cell<isize>);
11
12 impl fmt::Debug for Foo {
13     fn fmt(&self, _fmt: &mut fmt::Formatter) -> fmt::Result {
14         let Foo(ref f) = *self;
15         assert_eq!(f.get(), 0);
16         f.set(1);
17         Ok(())
18     }
19 }
20
21 pub fn main() {
22     thread::spawn(move|| {
23         let mut f = Foo(Cell::new(0));
24         println!("{:?}", f);
25         let Foo(ref mut f) = f;
26         assert_eq!(f.get(), 1);
27     }).join().ok().unwrap();
28 }