[INFO] crate airspy 0.4.0 is already in cache [INFO] testing airspy-0.4.0 against 1.44.0 for beta-1.45-1 [INFO] extracting crate airspy 0.4.0 into /workspace/builds/worker-13/source [INFO] validating manifest of crates.io crate airspy 0.4.0 on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "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-13/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "+1.44.0" "build" "--frozen"` [INFO] [stdout] 5a308015717c351ba078901f66d5a3082043aaffbe1d1079aee05301c7571d58 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "5a308015717c351ba078901f66d5a3082043aaffbe1d1079aee05301c7571d58"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling num-integer v0.1.42 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling num-iter v0.1.40 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling num-rational 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/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.rx.sh5nkvnv-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.rx.sh5nkvnv-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.rx.sh5nkvnv-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.rx.sh5nkvnv-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.rx.sh5nkvnv-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.rx.sh5nkvnv-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.rx.sh5nkvnv-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.rx.sh5nkvnv-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.rx.sh5nkvnv-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.rx.sh5nkvnv-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.rx.sh5nkvnv-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.rx.sh5nkvnv-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.rx.sh5nkvnv-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.rx.sh5nkvnv-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.rx.sh5nkvnv-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.rx.sh5nkvnv-cgu.9.rcgu.o" "-o" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1" "/opt/rustwide/target/debug/deps/rx-9356672d20c363a1.1wfxwta24ofthqxk.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libairspy-43370b83a99746f6.rlib" "/opt/rustwide/target/debug/deps/liblibc-e4dfce483ea4fe1d.rlib" "/opt/rustwide/target/debug/deps/libnum-f9cd76f063dbf302.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-0c82eff8f687c199.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-ad1b8f5f9458ec37.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-99622083f21c3ff4.rlib" "/opt/rustwide/target/debug/deps/libnum_bigint-a390f54fe9cecbeb.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-ba1c86bf1fdc9cb2.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-d45fe4ad432827bb.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-205127404fcba336.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-a657948fb7763780.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-4af901391177f653.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-9bdd51edf637d1e0.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-df9a9630b2ea2e1e.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-fddbfe63d5cc9339.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-dc1fcc6e43806791.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-e2f4bff19e00107e.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-a152d13c1d7ed405.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-d92b841792fc008d.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-a64c249515c023f5.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-57654524b3e40c00.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-72180f1527a726a2.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-990cc8f4a91a3ab4.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" "5a308015717c351ba078901f66d5a3082043aaffbe1d1079aee05301c7571d58"` [INFO] running `"docker" "rm" "-f" "5a308015717c351ba078901f66d5a3082043aaffbe1d1079aee05301c7571d58"` [INFO] [stdout] 5a308015717c351ba078901f66d5a3082043aaffbe1d1079aee05301c7571d58