File tree 6 files changed +28
-33
lines changed
6 files changed +28
-33
lines changed Original file line number Diff line number Diff line change @@ -28,19 +28,19 @@ zmq_has = []
28
28
vendored = [' zmq-sys/vendored' ]
29
29
30
30
[dependencies ]
31
+ bitflags = " 1.0"
31
32
libc = " 0.2.15"
32
33
zmq-sys = { version = " 0.11.0" , path = " zmq-sys" }
33
- bitflags = " 1.0"
34
34
35
35
[dev-dependencies ]
36
- log = " 0.4.3 "
36
+ trybuild = " * " # { version = " 0.4.0", features = ["stable"] }
37
37
env_logger = { version = " 0.7" , default-features = false }
38
+ log = " 0.4.3"
39
+ nix = " 0.16"
38
40
quickcheck = " 0.9"
39
41
rand = " 0.7"
40
42
tempfile = " 3"
41
43
timebomb = " 0.1.2"
42
- nix = " 0.16"
43
- compiletest_rs = { version = " 0.4.0" , features = [" stable" ] }
44
44
45
45
[[example ]]
46
46
name = " helloworld_client"
Original file line number Diff line number Diff line change 1
- extern crate zmq;
2
-
3
1
fn main ( ) {
4
2
let context = zmq:: Context :: new ( ) ;
5
3
let _poll_item = {
Original file line number Diff line number Diff line change
1
+ error[E0597]: `socket` does not live long enough
2
+ --> $DIR/no-leaking-poll-items.rs:5:9
3
+ |
4
+ 3 | let _poll_item = {
5
+ | ---------- borrow later stored here
6
+ 4 | let socket = context.socket(zmq::PAIR).unwrap();
7
+ 5 | socket.as_poll_item(zmq::POLLIN)
8
+ | ^^^^^^ borrowed value does not live long enough
9
+ 6 | }; //~^ ERROR `socket` does not live long enough [E0597]
10
+ | - `socket` dropped here while still borrowed
Original file line number Diff line number Diff line change 1
- extern crate zmq;
2
-
3
1
use std:: thread;
4
2
5
3
macro_rules! t {
@@ -12,7 +10,7 @@ fn main() {
12
10
let mut context = zmq:: Context :: new ( ) ;
13
11
let socket = t ! ( context. socket( zmq:: REP ) ) ;
14
12
let s = & socket;
15
- let t = thread:: spawn ( move || { //~ cannot be shared between threads safely [E0277]
13
+ let t = thread:: spawn ( move || {
16
14
t ! ( s. bind( "tcp://127.0.0.1:12345" ) )
17
15
} ) ;
18
16
socket. send ( "ABC" , 0 ) ;
Original file line number Diff line number Diff line change
1
+ error[E0277]: `*mut std::ffi::c_void` cannot be shared between threads safely
2
+ --> $DIR/socket-thread-unsafe.rs:13:13
3
+ |
4
+ 13 | let t = thread::spawn(move || {
5
+ | ^^^^^^^^^^^^^ `*mut std::ffi::c_void` cannot be shared between threads safely
6
+ |
7
+ = help: within `zmq::Socket`, the trait `std::marker::Sync` is not implemented for `*mut std::ffi::c_void`
8
+ = note: required because it appears within the type `zmq::Socket`
9
+ = note: required because of the requirements on the impl of `std::marker::Send` for `&zmq::Socket`
10
+ = note: required because it appears within the type `[closure@$DIR/tests/compile-fail/socket-thread-unsafe.rs:13:27: 15:6 s:&zmq::Socket]`
Original file line number Diff line number Diff line change 1
- use std:: env;
2
- use std:: path:: PathBuf ;
3
-
4
- fn run_mode ( mode : & ' static str ) {
5
- let mut config = compiletest_rs:: Config :: default ( ) ;
6
-
7
- let cfg_mode = mode. parse ( ) . expect ( "Invalid mode" ) ;
8
-
9
- config. target_rustcflags = Some ( format ! (
10
- "-L target/{profile} -L target/{profile}/deps" ,
11
- profile = env!( "BUILD_PROFILE" )
12
- ) ) ;
13
-
14
- if let Ok ( name) = env:: var ( "TESTNAME" ) {
15
- config. filter = Some ( name)
16
- }
17
- config. mode = cfg_mode;
18
- config. src_base = PathBuf :: from ( format ! ( "tests/{}" , mode) ) ;
19
-
20
- compiletest_rs:: run_tests ( & config) ;
21
- }
22
-
23
1
#[ test]
24
- fn compile_test ( ) {
25
- run_mode ( "compile-fail" ) ;
2
+ fn compile_fail ( ) {
3
+ let t = trybuild:: TestCases :: new ( ) ;
4
+ t. compile_fail ( "tests/compile-fail/*.rs" ) ;
26
5
}
You can’t perform that action at this time.
0 commit comments