File tree Expand file tree Collapse file tree 6 files changed +28
-33
lines changed Expand file tree Collapse file tree 6 files changed +28
-33
lines changed Original file line number Diff line number Diff line change @@ -28,19 +28,19 @@ zmq_has = []
2828vendored = [' zmq-sys/vendored' ]
2929
3030[dependencies ]
31+ bitflags = " 1.0"
3132libc = " 0.2.15"
3233zmq-sys = { version = " 0.11.0" , path = " zmq-sys" }
33- bitflags = " 1.0"
3434
3535[dev-dependencies ]
36- log = " 0.4.3 "
36+ trybuild = " * " # { version = " 0.4.0", features = ["stable"] }
3737env_logger = { version = " 0.7" , default-features = false }
38+ log = " 0.4.3"
39+ nix = " 0.16"
3840quickcheck = " 0.9"
3941rand = " 0.7"
4042tempfile = " 3"
4143timebomb = " 0.1.2"
42- nix = " 0.16"
43- compiletest_rs = { version = " 0.4.0" , features = [" stable" ] }
4444
4545[[example ]]
4646name = " helloworld_client"
Original file line number Diff line number Diff line change 1- extern crate zmq;
2-
31fn main ( ) {
42 let context = zmq:: Context :: new ( ) ;
53 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-
31use std:: thread;
42
53macro_rules! t {
@@ -12,7 +10,7 @@ fn main() {
1210 let mut context = zmq:: Context :: new ( ) ;
1311 let socket = t ! ( context. socket( zmq:: REP ) ) ;
1412 let s = & socket;
15- let t = thread:: spawn ( move || { //~ cannot be shared between threads safely [E0277]
13+ let t = thread:: spawn ( move || {
1614 t ! ( s. bind( "tcp://127.0.0.1:12345" ) )
1715 } ) ;
1816 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-
231#[ 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" ) ;
265}
You can’t perform that action at this time.
0 commit comments