File tree 1 file changed +6
-14
lines changed
1 file changed +6
-14
lines changed Original file line number Diff line number Diff line change 1
1
// run-pass
2
2
// aux-build:weak-lang-items.rs
3
3
4
- // ignore-emscripten no threads support
5
4
// pretty-expanded FIXME #23616
6
5
7
6
extern crate weak_lang_items as other;
8
7
9
8
fn main ( ) {
10
- let _ = std:: thread:: spawn ( move || {
11
- // The goal of the test is just to make sure other::foo() is called. Since the function
12
- // panics, it's executed in its own thread. That way, the panic is isolated within the
13
- // thread and wont't affect the overall exit code.
14
- //
15
- // That causes a spurious failures in panic=abort targets though: if the program exits
16
- // before the thread is fully initialized the test will pass, but if the thread gets
17
- // executed first the whole program will abort. Adding a 60 seconds sleep will (hopefully!)
18
- // ensure the program always exits before the thread is executed.
19
- std:: thread:: sleep ( std:: time:: Duration :: from_secs ( 60 ) ) ;
20
-
21
- other:: foo ( )
22
- } ) ;
9
+ // The goal of the test is just to make sure other::foo() is referenced at link time. Since
10
+ // the function panics, to prevent it from running we gate it behind an always-false `if` that
11
+ // is not going to be optimized away.
12
+ if std:: hint:: black_box ( false ) {
13
+ other:: foo ( ) ;
14
+ }
23
15
}
You can’t perform that action at this time.
0 commit comments