1extern crate libloading;
2
3#[cfg(test)]
4fn assert_send<T: Send>() {}
5#[cfg(test)]
6fn assert_sync<T: Sync>() {}
7#[cfg(test)]
8fn assert_display<T: std::fmt::Display>() {}
9
10#[test]
11fn check_error_send() {
12    assert_send::<libloading::Error>();
13}
14
15#[test]
16fn check_error_sync() {
17    assert_sync::<libloading::Error>();
18}
19
20#[test]
21fn check_error_display() {
22    assert_display::<libloading::Error>();
23}
24
25#[test]
26fn check_library_send() {
27    assert_send::<libloading::Library>();
28}
29
30#[cfg(unix)]
31#[test]
32fn check_unix_library_send() {
33    assert_send::<libloading::os::unix::Library>();
34}
35
36#[cfg(windows)]
37#[test]
38fn check_windows_library_send() {
39    assert_send::<libloading::os::windows::Library>();
40}
41
42#[test]
43fn check_library_sync() {
44    assert_sync::<libloading::Library>();
45}
46
47#[cfg(unix)]
48#[test]
49fn check_unix_library_sync() {
50    assert_sync::<libloading::os::unix::Library>();
51}
52
53#[cfg(windows)]
54#[test]
55fn check_windows_library_sync() {
56    assert_sync::<libloading::os::windows::Library>();
57}
58
59#[test]
60fn check_symbol_send() {
61    assert_send::<libloading::Symbol<fn() -> ()>>();
62    // assert_not_send::<libloading::Symbol<*const ()>>();
63}
64
65#[cfg(unix)]
66#[test]
67fn check_unix_symbol_send() {
68    assert_send::<libloading::os::unix::Symbol<fn() -> ()>>();
69    // assert_not_send::<libloading::os::unix::Symbol<*const ()>>();
70}
71
72#[cfg(windows)]
73#[test]
74fn check_windows_symbol_send() {
75    assert_send::<libloading::os::windows::Symbol<fn() -> ()>>();
76}
77
78#[test]
79fn check_symbol_sync() {
80    assert_sync::<libloading::Symbol<fn() -> ()>>();
81    // assert_not_sync::<libloading::Symbol<*const ()>>();
82}
83
84#[cfg(unix)]
85#[test]
86fn check_unix_symbol_sync() {
87    assert_sync::<libloading::os::unix::Symbol<fn() -> ()>>();
88    // assert_not_sync::<libloading::os::unix::Symbol<*const ()>>();
89}
90
91#[cfg(windows)]
92#[test]
93fn check_windows_symbol_sync() {
94    assert_sync::<libloading::os::windows::Symbol<fn() -> ()>>();
95    // assert_not_sync::<libloading::os::windows::Symbol<*const ()>>();
96}
97