[INFO] crate airspy 0.4.0 is already in cache [INFO] testing airspy-0.4.0 against beta-2020-06-03 for beta-1.45-1 [INFO] extracting crate airspy 0.4.0 into /workspace/builds/worker-14/source [INFO] validating manifest of crates.io crate airspy 0.4.0 on toolchain beta-2020-06-03 [INFO] running `"/workspace/cargo-home/bin/cargo" "+beta-2020-06-03" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate airspy 0.4.0 [INFO] finished tweaking crates.io crate airspy 0.4.0 [INFO] tweaked toml for crates.io crate airspy 0.4.0 written to /workspace/builds/worker-14/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+beta-2020-06-03" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+beta-2020-06-03" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-06-03" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] f92075051ca9492023fe99b1e5ebd207280c319860e68b1ccf0196f78104b610 [INFO] running `"docker" "start" "-a" "f92075051ca9492023fe99b1e5ebd207280c319860e68b1ccf0196f78104b610"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling num-traits v0.2.11 [INFO] [stderr] Compiling num-integer v0.1.42 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Compiling num-iter v0.1.40 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling num v0.2.1 [INFO] [stderr] Compiling airspy v0.4.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib.rs:190:9 [INFO] [stderr] | [INFO] [stderr] 190 | try!(ffifn!(ffi::airspy_get_samplerates(self.ptr, lenp, 0))); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib.rs:193:9 [INFO] [stderr] | [INFO] [stderr] 193 | try!(ffifn!(ffi::airspy_get_samplerates(self.ptr, ratesp, len))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib.rs:202:21 [INFO] [stderr] | [INFO] [stderr] 202 | let rates = try!(self.get_sample_rates()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib.rs:224:9 [INFO] [stderr] | [INFO] [stderr] 224 | try!(ffifn!(ffi::airspy_set_sample_type(self.ptr, T::get_type()))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | try!(ffifn!(ffi::airspy_si5351c_read( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib.rs:263:9 [INFO] [stderr] | [INFO] [stderr] 263 | try!(ffifn!(ffi::airspy_r820t_read( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib.rs:327:9 [INFO] [stderr] | [INFO] [stderr] 327 | try!(ffifn!(ffi::airspy_gpio_read( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib.rs:354:9 [INFO] [stderr] | [INFO] [stderr] 354 | try!(ffifn!(ffi::airspy_gpiodir_read( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib.rs:366:9 [INFO] [stderr] | [INFO] [stderr] 366 | try!(ffifn!(ffi::airspy_board_id_read(self.ptr, &mut id as *mut u8))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib.rs:377:9 [INFO] [stderr] | [INFO] [stderr] 377 | try!(ffifn!(ffi::airspy_version_string_read(self.ptr, bufp, 255))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib.rs:388:9 [INFO] [stderr] | [INFO] [stderr] 388 | try!(ffifn!(ffi::airspy_board_partid_serialno_read(self.ptr, &mut v))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_SUCCESS` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | AIRSPY_SUCCESS = 0, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspySuccess` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_TRUE` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | AIRSPY_TRUE = 1, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspyTrue` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_ERROR_INVALID_PARAM` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | AIRSPY_ERROR_INVALID_PARAM = -2, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspyErrorInvalidParam` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_ERROR_NOT_FOUND` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | AIRSPY_ERROR_NOT_FOUND = -5, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspyErrorNotFound` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_ERROR_BUSY` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | AIRSPY_ERROR_BUSY = -6, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspyErrorBusy` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_ERROR_NO_MEM` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | AIRSPY_ERROR_NO_MEM = -11, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspyErrorNoMem` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_ERROR_LIBUSB` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | AIRSPY_ERROR_LIBUSB = -1000, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspyErrorLibusb` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_ERROR_THREAD` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | AIRSPY_ERROR_THREAD = -1001, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspyErrorThread` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_ERROR_STREAMING_THREAD_ERR` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | AIRSPY_ERROR_STREAMING_THREAD_ERR = -1002, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspyErrorStreamingThreadErr` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_ERROR_STREAMING_STOPPED` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | AIRSPY_ERROR_STREAMING_STOPPED = -1003, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspyErrorStreamingStopped` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_ERROR_OTHER` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | AIRSPY_ERROR_OTHER = -9999 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspyErrorOther` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_BOARD_ID_PROTO_AIRSPY` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | AIRSPY_BOARD_ID_PROTO_AIRSPY = 0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspyBoardIdProtoAirspy` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_BOARD_ID_INVALID` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | AIRSPY_BOARD_ID_INVALID = 0xFF [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspyBoardIdInvalid` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_SAMPLE_FLOAT32_IQ` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | AIRSPY_SAMPLE_FLOAT32_IQ = 0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspySampleFloat32Iq` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_SAMPLE_FLOAT32_REAL` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | AIRSPY_SAMPLE_FLOAT32_REAL = 1, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspySampleFloat32Real` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_SAMPLE_INT16_IQ` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | AIRSPY_SAMPLE_INT16_IQ = 2, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspySampleInt16Iq` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_SAMPLE_INT16_REAL` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | AIRSPY_SAMPLE_INT16_REAL = 3, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspySampleInt16Real` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_SAMPLE_UINT16_REAL` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | AIRSPY_SAMPLE_UINT16_REAL = 4, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspySampleUint16Real` [INFO] [stderr] [INFO] [stderr] warning: variant `AIRSPY_SAMPLE_END` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | AIRSPY_SAMPLE_END = 5 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AirspySampleEnd` [INFO] [stderr] [INFO] [stderr] warning: variant `RECEIVER_MODE_OFF` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | RECEIVER_MODE_OFF = 0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReceiverModeOff` [INFO] [stderr] [INFO] [stderr] warning: variant `RECEIVER_MODE_RX` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | RECEIVER_MODE_RX = 1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReceiverModeRx` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PORT0` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | GPIO_PORT0 = 0, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPort0` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PORT1` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | GPIO_PORT1 = 1, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPort1` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PORT2` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | GPIO_PORT2 = 2, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPort2` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PORT3` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | GPIO_PORT3 = 3, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPort3` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PORT4` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | GPIO_PORT4 = 4, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPort4` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PORT5` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | GPIO_PORT5 = 5, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPort5` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PORT6` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | GPIO_PORT6 = 6, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPort6` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PORT7` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | GPIO_PORT7 = 7, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPort7` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN0` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | GPIO_PIN0 = 0, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin0` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN1` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | GPIO_PIN1 = 1, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin1` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN2` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | GPIO_PIN2 = 2, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin2` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN3` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | GPIO_PIN3 = 3, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin3` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN4` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | GPIO_PIN4 = 4, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin4` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN5` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | GPIO_PIN5 = 5, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin5` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN6` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | GPIO_PIN6 = 6, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin6` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN7` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | GPIO_PIN7 = 7, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin7` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN8` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | GPIO_PIN8 = 8, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin8` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN9` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | GPIO_PIN9 = 9, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin9` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN10` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | GPIO_PIN10 = 10, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin10` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN11` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | GPIO_PIN11 = 11, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin11` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN12` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | GPIO_PIN12 = 12, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin12` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN13` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | GPIO_PIN13 = 13, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin13` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN14` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | GPIO_PIN14 = 14, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin14` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN15` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | GPIO_PIN15 = 15, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin15` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN16` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | GPIO_PIN16 = 16, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin16` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN17` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | GPIO_PIN17 = 17, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin17` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN18` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | GPIO_PIN18 = 18, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin18` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN19` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | GPIO_PIN19 = 19, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin19` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN20` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | GPIO_PIN20 = 20, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin20` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN21` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | GPIO_PIN21 = 21, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin21` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN22` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | GPIO_PIN22 = 22, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin22` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN23` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | GPIO_PIN23 = 23, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin23` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN24` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | GPIO_PIN24 = 24, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin24` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN25` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | GPIO_PIN25 = 25, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin25` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN26` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:113:5 [INFO] [stderr] | [INFO] [stderr] 113 | GPIO_PIN26 = 26, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin26` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN27` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | GPIO_PIN27 = 27, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin27` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN28` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | GPIO_PIN28 = 28, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin28` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN29` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | GPIO_PIN29 = 29, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin29` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN30` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | GPIO_PIN30 = 30, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin30` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_PIN31` should have an upper camel case name [INFO] [stderr] --> src/ffi.rs:118:5 [INFO] [stderr] | [INFO] [stderr] 118 | GPIO_PIN31 = 31 [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioPin31` [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:126:35 [INFO] [stderr] | [INFO] [stderr] 126 | pub fn airspy_open_sn(device: *mut *mut airspy_device, serial_number: u64) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(improper_ctypes)]` on by default [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:127:32 [INFO] [stderr] | [INFO] [stderr] 127 | pub fn airspy_open(device: *mut *mut airspy_device) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:128:33 [INFO] [stderr] | [INFO] [stderr] 128 | pub fn airspy_close(device: *mut airspy_device) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:129:43 [INFO] [stderr] | [INFO] [stderr] 129 | pub fn airspy_get_samplerates(device: *mut airspy_device, buffer: *mut u32, len: u32) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:130:42 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn airspy_set_samplerate(device: *mut airspy_device, samplerate: u32) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:131:36 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn airspy_start_rx(device: *mut airspy_device, callback: extern fn(*mut airspy_transfer_t) -> c_int, rx_ctx: *mut c_void) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:131:66 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn airspy_start_rx(device: *mut airspy_device, callback: extern fn(*mut airspy_transfer_t) -> c_int, rx_ctx: *mut c_void) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:132:35 [INFO] [stderr] | [INFO] [stderr] 132 | pub fn airspy_stop_rx(device: *mut airspy_device) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:133:40 [INFO] [stderr] | [INFO] [stderr] 133 | pub fn airspy_is_streaming(device: *mut airspy_device) -> c_int; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:134:41 [INFO] [stderr] | [INFO] [stderr] 134 | pub fn airspy_si5351c_write(device: *mut airspy_device, register_number: u8, value: u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:135:40 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn airspy_si5351c_read(device: *mut airspy_device, register_number: u8, value: *mut u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:136:39 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn airspy_r820t_write(device: *mut airspy_device, register_number: u8, value: u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:137:38 [INFO] [stderr] | [INFO] [stderr] 137 | pub fn airspy_r820t_read(device: *mut airspy_device, register_number: u8, value: *mut u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:138:38 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn airspy_gpio_write(device: *mut airspy_device, port: airspy_gpio_port_t, pin: airspy_gpio_pin_t, value: u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:139:37 [INFO] [stderr] | [INFO] [stderr] 139 | pub fn airspy_gpio_read(device: *mut airspy_device, port: airspy_gpio_port_t, pin: airspy_gpio_pin_t, value: *mut u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:140:41 [INFO] [stderr] | [INFO] [stderr] 140 | pub fn airspy_gpiodir_write(device: *mut airspy_device, port: airspy_gpio_port_t, pin: airspy_gpio_pin_t, value: u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:141:40 [INFO] [stderr] | [INFO] [stderr] 141 | pub fn airspy_gpiodir_read(device: *mut airspy_device, port: airspy_gpio_port_t, pin: airspy_gpio_pin_t, value: *mut u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:142:42 [INFO] [stderr] | [INFO] [stderr] 142 | pub fn airspy_spiflash_erase(device: *mut airspy_device) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:143:42 [INFO] [stderr] | [INFO] [stderr] 143 | pub fn airspy_spiflash_write(device: *mut airspy_device, address: u32, length: u16, data: *mut c_char) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:144:41 [INFO] [stderr] | [INFO] [stderr] 144 | pub fn airspy_spiflash_read(device: *mut airspy_device, address: u32, length: u16, data: *mut c_char) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:145:41 [INFO] [stderr] | [INFO] [stderr] 145 | pub fn airspy_board_id_read(device: *mut airspy_device, value: *mut u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:146:47 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn airspy_version_string_read(device: *mut airspy_device, version: *mut c_char, length: u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:147:54 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn airspy_board_partid_serialno_read(device: *mut airspy_device, read_partid_serialno: *mut airspy_read_partid_serialno_t) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:148:43 [INFO] [stderr] | [INFO] [stderr] 148 | pub fn airspy_set_sample_type(device: *mut airspy_device, sample_type: airspy_sample_type) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:149:36 [INFO] [stderr] | [INFO] [stderr] 149 | pub fn airspy_set_freq(device: *mut airspy_device, freq_hz: u32) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:150:40 [INFO] [stderr] | [INFO] [stderr] 150 | pub fn airspy_set_lna_gain(device: *mut airspy_device, value: u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:151:42 [INFO] [stderr] | [INFO] [stderr] 151 | pub fn airspy_set_mixer_gain(device: *mut airspy_device, value: u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:152:40 [INFO] [stderr] | [INFO] [stderr] 152 | pub fn airspy_set_vga_gain(device: *mut airspy_device, value: u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:153:39 [INFO] [stderr] | [INFO] [stderr] 153 | pub fn airspy_set_lna_agc(device: *mut airspy_device, value: u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:154:41 [INFO] [stderr] | [INFO] [stderr] 154 | pub fn airspy_set_mixer_agc(device: *mut airspy_device, value: u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:155:39 [INFO] [stderr] | [INFO] [stderr] 155 | pub fn airspy_set_rf_bias(device: *mut airspy_device, value: u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `ffi::airspy_device`, which is not FFI-safe [INFO] [stderr] --> src/ffi.rs:156:39 [INFO] [stderr] | [INFO] [stderr] 156 | pub fn airspy_set_packing(device: *mut airspy_device, value: u8) -> airspy_error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a member to this struct [INFO] [stderr] = note: this struct has no fields [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/ffi.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct airspy_device; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 104 warnings emitted [INFO] [stderr] [INFO] [stderr] error: linking with `cc` failed: exit code: 1 [INFO] [stderr] | [INFO] [stderr] = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/opt/rustwide/rustup-home/toolchains/beta-2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.rx.3exowr3l-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.rx.3exowr3l-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.rx.3exowr3l-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.rx.3exowr3l-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.rx.3exowr3l-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.rx.3exowr3l-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.rx.3exowr3l-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.rx.3exowr3l-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.rx.3exowr3l-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.rx.3exowr3l-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.rx.3exowr3l-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.rx.3exowr3l-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.rx.3exowr3l-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.rx.3exowr3l-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.rx.3exowr3l-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.rx.3exowr3l-cgu.9.rcgu.o" "-o" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39" "/opt/rustwide/target/debug/deps/rx-0f1eea2d9152ae39.r2lvfqsja3lig8d.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/beta-2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libairspy-0c96f0f4006e5740.rlib" "/opt/rustwide/target/debug/deps/liblibc-2e17c5c99334ee98.rlib" "/opt/rustwide/target/debug/deps/libnum-c5eac0b594a2db96.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-d4e1fab701a7a47c.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-fb394de26c997e51.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-9ebadaa1469f06bb.rlib" "/opt/rustwide/target/debug/deps/libnum_bigint-017584a26f722f41.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-c159f6e6dd15ee1b.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-52dec7f9b3387655.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/beta-2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-44f8eb3d0b2fad61.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-abc626f09920d361.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-546e83c8973f1a65.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-12768dfc68674934.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-e06867e4497f2ee8.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-cbc579f43f6df57b.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-7abd6d5a7ebf9a23.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-46423c7bc03bd327.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-fc3773ed7bc68f07.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-9cdc98176efd27e2.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-02d88502a763e06b.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-8cdc9d38dd6cd3ce.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-336f7d63e72901ef.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/beta-2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-57917b1be5233117.rlib" "-Wl,-Bdynamic" "-lairspy" "-lutil" "-ldl" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-ldl" "-lutil" [INFO] [stderr] = note: /usr/bin/ld: cannot find -lairspy [INFO] [stderr] collect2: error: ld returned 1 exit status [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: could not compile `airspy`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "f92075051ca9492023fe99b1e5ebd207280c319860e68b1ccf0196f78104b610"` [INFO] running `"docker" "rm" "-f" "f92075051ca9492023fe99b1e5ebd207280c319860e68b1ccf0196f78104b610"` [INFO] [stdout] f92075051ca9492023fe99b1e5ebd207280c319860e68b1ccf0196f78104b610