[INFO] updating cached repository https://github.com/slp/qsd [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 4538983da0f5c8dfca2e92ea01b41d2146db60cb [INFO] checking slp/qsd against try#e4dba30b9b475d8750370c4dfb49b6541990904d for pr-71393 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fslp%2Fqsd" "/workspace/builds/worker-0/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/slp/qsd on toolchain e4dba30b9b475d8750370c4dfb49b6541990904d [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/slp/qsd [INFO] finished tweaking git repo https://github.com/slp/qsd [INFO] tweaked toml for git repo https://github.com/slp/qsd written to /workspace/builds/worker-0/source/Cargo.toml [INFO] crate git repo https://github.com/slp/qsd already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "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-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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=forbid" "-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" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 407867ed4b94e1642d4abe723c1c7930d5152ad6d7e96345532386df6767b39e [INFO] running `"docker" "start" "-a" "407867ed4b94e1642d4abe723c1c7930d5152ad6d7e96345532386df6767b39e"` [INFO] [stderr] Compiling memchr v2.2.0 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling byteorder v1.3.1 [INFO] [stderr] Compiling rustc-demangle v0.1.15 [INFO] [stderr] Compiling quick-error v1.2.2 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling unicode-width v0.1.5 [INFO] [stderr] Compiling termcolor v1.0.5 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling bindgen v0.49.2 [INFO] [stderr] Compiling vec_map v0.8.1 [INFO] [stderr] Compiling ansi_term v0.11.0 [INFO] [stderr] Compiling peeking_take_while v0.1.2 [INFO] [stderr] Compiling shlex v0.1.1 [INFO] [stderr] Checking bitflags v1.0.4 [INFO] [stderr] Checking ucd-util v0.1.3 [INFO] [stderr] Compiling nix v0.14.0 [INFO] [stderr] Checking lazy_static v1.3.0 [INFO] [stderr] Checking utf8-ranges v1.0.2 [INFO] [stderr] Checking virtio-bindings v0.1.0 (https://github.com/slp/virtio-bindings#3336927b) [INFO] [stderr] Compiling backtrace-sys v0.1.28 [INFO] [stderr] Compiling backtrace v0.3.30 [INFO] [stderr] Compiling libloading v0.5.1 [INFO] [stderr] Compiling clang-sys v0.28.0 [INFO] [stderr] Compiling thread_local v0.3.6 [INFO] [stderr] Compiling regex-syntax v0.6.6 [INFO] [stderr] Compiling log v0.4.6 [INFO] [stderr] Compiling humantime v1.2.0 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling libc v0.2.58 [INFO] [stderr] Compiling nom v4.2.3 [INFO] [stderr] Checking atty v0.2.11 [INFO] [stderr] Checking vm-memory v0.1.0 (https://github.com/rust-vmm/vm-memory#682f10b3) [INFO] [stderr] Checking epoll v4.1.0 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Compiling aho-corasick v0.7.3 [INFO] [stderr] Compiling fxhash v0.2.1 [INFO] [stderr] Compiling quote v0.6.12 [INFO] [stderr] Compiling failure v0.1.5 [INFO] [stderr] Compiling which v2.0.1 [INFO] [stderr] Compiling cexpr v0.3.5 [INFO] [stderr] Compiling regex v1.1.6 [INFO] [stderr] Checking vhostuser_rs v0.1.0 (https://github.com/slp/vhostuser_rs#87f08d25) [INFO] [stderr] Checking env_logger v0.5.13 [INFO] [stderr] Compiling env_logger v0.6.1 [INFO] [stderr] Compiling liburing-sys v0.1.2 [INFO] [stderr] error[E0277]: `io_uring_sqe__bindgen_ty_1` doesn't implement `std::fmt::Debug` [INFO] [stderr] --> /opt/rustwide/target/debug/build/liburing-sys-be8cf68159dc0d4d/out/bindings.rs:3:2185 [INFO] [stderr] | [INFO] [stderr] 3 | pub type __off_t = :: std :: os :: raw :: c_long ; pub type off_t = __off_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __sigset_t { pub __val : [ :: std :: os :: raw :: c_ulong ; 16usize ] , } # [ test ] fn bindgen_test_layout___sigset_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __sigset_t > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( __sigset_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __sigset_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __sigset_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __sigset_t > ( ) ) ) . __val as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __sigset_t ) , "::" , stringify ! ( __val ) ) ) ; } pub type sigset_t = __sigset_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } pub type __kernel_rwf_t = :: std :: os :: raw :: c_int ; pub type __u8 = :: std :: os :: raw :: c_uchar ; pub type __u16 = :: std :: os :: raw :: c_ushort ; pub type __s32 = :: std :: os :: raw :: c_int ; pub type __u32 = :: std :: os :: raw :: c_uint ; pub type __u64 = :: std :: os :: raw :: c_ulonglong ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_uring_sqe { pub opcode : __u8 , pub flags : __u8 , pub ioprio : __u16 , pub fd : __s32 , pub off : __u64 , pub addr : __u64 , pub len : __u32 , pub __bindgen_anon_1 : io_uring_sqe__bindgen_ty_1 , pub user_data : __u64 , pub __bindgen_anon_2 : io_uring_sqe__bindgen_ty_2 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union io_uring_sqe__bindgen_ty_1 { pub rw_flags : __kernel_rwf_t , pub fsync_flags : __u32 , pub poll_events : __u16 , _bindgen_union_align : u32 , } # [ test ] fn bindgen_test_layout_io_uring_sqe__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_sqe__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_sqe__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_1 > ( ) ) ) . rw_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) , "::" , stringify ! ( rw_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_1 > ( ) ) ) . fsync_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) , "::" , stringify ! ( fsync_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_1 > ( ) ) ) . poll_events as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) , "::" , stringify ! ( poll_events ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union io_uring_sqe__bindgen_ty_2 { pub buf_index : __u16 , pub __pad2 : [ __u64 ; 3usize ] , _bindgen_union_align : [ u64 ; 3usize ] , } # [ test ] fn bindgen_test_layout_io_uring_sqe__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_sqe__bindgen_ty_2 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( io_uring_sqe__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_sqe__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_sqe__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_2 > ( ) ) ) . buf_index as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_2 ) , "::" , stringify ! ( buf_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_2 > ( ) ) ) . __pad2 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_2 ) , "::" , stringify ! ( __pad2 ) ) ) ; } # [ test ] fn bindgen_test_layout_io_uring_sqe ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_sqe > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( io_uring_sqe ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_sqe > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_sqe ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . opcode as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( opcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . flags as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . ioprio as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( ioprio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . fd as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . off as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( off ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . addr as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . len as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . user_data as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( user_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_uring_cqe { pub user_data : __u64 , pub res : __s32 , pub flags : __u32 , } # [ test ] fn bindgen_test_layout_io_uring_cqe ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_cqe > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( io_uring_cqe ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_cqe > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_cqe ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cqe > ( ) ) ) . user_data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cqe ) , "::" , stringify ! ( user_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cqe > ( ) ) ) . res as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cqe ) , "::" , stringify ! ( res ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cqe > ( ) ) ) . flags as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cqe ) , "::" , stringify ! ( flags ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_sqring_offsets { pub head : __u32 , pub tail : __u32 , pub ring_mask : __u32 , pub ring_entries : __u32 , pub flags : __u32 , pub dropped : __u32 , pub array : __u32 , pub resv1 : __u32 , pub resv2 : __u64 , } # [ test ] fn bindgen_test_layout_io_sqring_offsets ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_sqring_offsets > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( io_sqring_offsets ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_sqring_offsets > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_sqring_offsets ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . tail as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . ring_mask as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( ring_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . ring_entries as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( ring_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . dropped as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( dropped ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . array as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . resv1 as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( resv1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . resv2 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( resv2 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_cqring_offsets { pub head : __u32 , pub tail : __u32 , pub ring_mask : __u32 , pub ring_entries : __u32 , pub overflow : __u32 , pub cqes : __u32 , pub resv : [ __u64 ; 2usize ] , } # [ test ] fn bindgen_test_layout_io_cqring_offsets ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_cqring_offsets > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( io_cqring_offsets ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_cqring_offsets > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_cqring_offsets ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . tail as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . ring_mask as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( ring_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . ring_entries as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( ring_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . overflow as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( overflow ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . cqes as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( cqes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . resv as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( resv ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_uring_params { pub sq_entries : __u32 , pub cq_entries : __u32 , pub flags : __u32 , pub sq_thread_cpu : __u32 , pub sq_thread_idle : __u32 , pub resv : [ __u32 ; 5usize ] , pub sq_off : io_sqring_offsets , pub cq_off : io_cqring_offsets , } # [ test ] fn bindgen_test_layout_io_uring_params ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_params > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( io_uring_params ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_params > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_params ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . sq_entries as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( sq_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . cq_entries as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( cq_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . flags as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . sq_thread_cpu as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( sq_thread_cpu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . sq_thread_idle as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( sq_thread_idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . resv as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( resv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . sq_off as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( sq_off ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . cq_off as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( cq_off ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_uring_sq { pub khead : * mut :: std :: os :: raw :: c_uint , pub ktail : * mut :: std :: os :: raw :: c_uint , pub kring_mask : * mut :: std :: os :: raw :: c_uint , pub kring_entries : * mut :: std :: os :: raw :: c_uint , pub kflags : * mut :: std :: os :: raw :: c_uint , pub kdropped : * mut :: std :: os :: raw :: c_uint , pub array : * mut :: std :: os :: raw :: c_uint , pub sqes : * mut io_uring_sqe , pub sqe_head : :: std :: os :: raw :: c_uint , pub sqe_tail : :: std :: os :: raw :: c_uint , pub ring_sz : usize , } # [ test ] fn bindgen_test_layout_io_uring_sq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_sq > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( io_uring_sq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_sq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_sq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . khead as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( khead ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . ktail as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( ktail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . kring_mask as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( kring_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . kring_entries as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( kring_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . kflags as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( kflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . kdropped as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( kdropped ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . array as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . sqes as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( sqes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . sqe_head as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( sqe_head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . sqe_tail as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( sqe_tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . ring_sz as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( ring_sz ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_uring_cq { pub khead : * mut :: std :: os :: raw :: c_uint , pub ktail : * mut :: std :: os :: raw :: c_uint , pub kring_mask : * mut :: std :: os :: raw :: c_uint , pub kring_entries : * mut :: std :: os :: raw :: c_uint , pub koverflow : * mut :: std :: os :: raw :: c_uint , pub cqes : * mut io_uring_cqe , pub ring_sz : usize , } # [ test ] fn bindgen_test_layout_io_uring_cq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_cq > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( io_uring_cq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_cq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_cq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . khead as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( khead ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . ktail as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( ktail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . kring_mask as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( kring_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . kring_entries as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( kring_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . koverflow as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( koverflow ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . cqes as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( cqes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . ring_sz as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( ring_sz ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_uring { pub sq : io_uring_sq , pub cq : io_uring_cq , pub ring_fd : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_io_uring ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( io_uring ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring > ( ) ) ) . sq as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring ) , "::" , stringify ! ( sq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring > ( ) ) ) . cq as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( io_uring ) , "::" , stringify ! ( cq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring > ( ) ) ) . ring_fd as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( io_uring ) , "::" , stringify ! ( ring_fd ) ) ) ; } extern "C" { pub fn io_uring_setup ( entries : :: std :: os :: raw :: c_uint , p : * mut io_uring_params ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_enter ( fd : :: std :: os :: raw :: c_uint , to_submit : :: std :: os :: raw :: c_uint , min_complete : :: std :: os :: raw :: c_uint , flags : :: std :: os :: raw :: c_uint , sig : * mut sigset_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_register ( fd : :: std :: os :: raw :: c_int , opcode : :: std :: os :: raw :: c_uint , arg : * mut :: std :: os :: raw :: c_void , nr_args : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_queue_init ( entries : :: std :: os :: raw :: c_uint , ring : * mut io_uring , flags : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_queue_mmap ( fd : :: std :: os :: raw :: c_int , p : * mut io_uring_params , ring : * mut io_uring ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_queue_exit ( ring : * mut io_uring ) ; } extern "C" { pub fn io_uring_peek_cqe ( ring : * mut io_uring , cqe_ptr : * mut * mut io_uring_cqe ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_wait_cqe ( ring : * mut io_uring , cqe_ptr : * mut * mut io_uring_cqe ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_submit ( ring : * mut io_uring ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_get_sqe ( ring : * mut io_uring ) -> * mut io_uring_sqe ; } extern "C" { pub fn _io_uring_prep_rw ( op : :: std :: os :: raw :: c_int , sqe : * mut io_uring_sqe , fd : :: std :: os :: raw :: c_int , addr : * mut :: std :: os :: raw :: c_void , len : :: std :: os :: raw :: c_uint , offset : off_t ) ; } extern "C" { pub fn _io_uring_cqe_seen ( ring : * mut io_uring , cqe : * mut io_uring_cqe ) ; } extern "C" { pub fn _io_uring_prep_readv ( sqe : * mut io_uring_sqe , fd : :: std :: os :: raw :: c_int , iovecs : * mut iovec , nr_vecs : :: std :: os :: raw :: c_uint , offset : off_t ) ; } extern "C" { pub fn _io_uring_prep_read_fixed ( sqe : * mut io_uring_sqe , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , nbytes : :: std :: os :: raw :: c_uint , offset : off_t ) ; } extern "C" { pub fn _io_uring_prep_writev ( sqe : * mut io_uring_sqe , fd : :: std :: os :: raw :: c_int , iovecs : * mut iovec , nr_vecs : :: std :: os :: raw :: c_uint , offset : off_t ) ; } extern "C" { pub fn _io_uring_prep_write_fixed ( sqe : * mut io_uring_sqe , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , nbytes : :: std :: os :: raw :: c_uint , offset : off_t ) ; } extern "C" { pub fn _io_uring_prep_fsync ( sqe : * mut io_uring_sqe , fd : :: std :: os :: raw :: c_int , fsync_flags : :: std :: os :: raw :: c_uint ) ; } extern "C" { pub fn _io_uring_prep_nop ( sqe : * mut io_uring_sqe ) ; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `io_uring_sqe__bindgen_ty_1` cannot be formatted using `{:?}` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Debug` is not implemented for `io_uring_sqe__bindgen_ty_1` [INFO] [stderr] = note: add `#[derive(Debug)]` or manually implement `std::fmt::Debug` [INFO] [stderr] = note: required because of the requirements on the impl of `std::fmt::Debug` for `&io_uring_sqe__bindgen_ty_1` [INFO] [stderr] = note: required for the cast to the object type `dyn std::fmt::Debug` [INFO] [stderr] = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0277]: `io_uring_sqe__bindgen_ty_2` doesn't implement `std::fmt::Debug` [INFO] [stderr] --> /opt/rustwide/target/debug/build/liburing-sys-be8cf68159dc0d4d/out/bindings.rs:3:2261 [INFO] [stderr] | [INFO] [stderr] 3 | pub type __off_t = :: std :: os :: raw :: c_long ; pub type off_t = __off_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __sigset_t { pub __val : [ :: std :: os :: raw :: c_ulong ; 16usize ] , } # [ test ] fn bindgen_test_layout___sigset_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __sigset_t > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( __sigset_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __sigset_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __sigset_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __sigset_t > ( ) ) ) . __val as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __sigset_t ) , "::" , stringify ! ( __val ) ) ) ; } pub type sigset_t = __sigset_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } pub type __kernel_rwf_t = :: std :: os :: raw :: c_int ; pub type __u8 = :: std :: os :: raw :: c_uchar ; pub type __u16 = :: std :: os :: raw :: c_ushort ; pub type __s32 = :: std :: os :: raw :: c_int ; pub type __u32 = :: std :: os :: raw :: c_uint ; pub type __u64 = :: std :: os :: raw :: c_ulonglong ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_uring_sqe { pub opcode : __u8 , pub flags : __u8 , pub ioprio : __u16 , pub fd : __s32 , pub off : __u64 , pub addr : __u64 , pub len : __u32 , pub __bindgen_anon_1 : io_uring_sqe__bindgen_ty_1 , pub user_data : __u64 , pub __bindgen_anon_2 : io_uring_sqe__bindgen_ty_2 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union io_uring_sqe__bindgen_ty_1 { pub rw_flags : __kernel_rwf_t , pub fsync_flags : __u32 , pub poll_events : __u16 , _bindgen_union_align : u32 , } # [ test ] fn bindgen_test_layout_io_uring_sqe__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_sqe__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_sqe__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_1 > ( ) ) ) . rw_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) , "::" , stringify ! ( rw_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_1 > ( ) ) ) . fsync_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) , "::" , stringify ! ( fsync_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_1 > ( ) ) ) . poll_events as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_1 ) , "::" , stringify ! ( poll_events ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union io_uring_sqe__bindgen_ty_2 { pub buf_index : __u16 , pub __pad2 : [ __u64 ; 3usize ] , _bindgen_union_align : [ u64 ; 3usize ] , } # [ test ] fn bindgen_test_layout_io_uring_sqe__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_sqe__bindgen_ty_2 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( io_uring_sqe__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_sqe__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_sqe__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_2 > ( ) ) ) . buf_index as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_2 ) , "::" , stringify ! ( buf_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe__bindgen_ty_2 > ( ) ) ) . __pad2 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe__bindgen_ty_2 ) , "::" , stringify ! ( __pad2 ) ) ) ; } # [ test ] fn bindgen_test_layout_io_uring_sqe ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_sqe > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( io_uring_sqe ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_sqe > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_sqe ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . opcode as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( opcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . flags as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . ioprio as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( ioprio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . fd as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . off as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( off ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . addr as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . len as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sqe > ( ) ) ) . user_data as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sqe ) , "::" , stringify ! ( user_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_uring_cqe { pub user_data : __u64 , pub res : __s32 , pub flags : __u32 , } # [ test ] fn bindgen_test_layout_io_uring_cqe ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_cqe > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( io_uring_cqe ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_cqe > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_cqe ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cqe > ( ) ) ) . user_data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cqe ) , "::" , stringify ! ( user_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cqe > ( ) ) ) . res as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cqe ) , "::" , stringify ! ( res ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cqe > ( ) ) ) . flags as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cqe ) , "::" , stringify ! ( flags ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_sqring_offsets { pub head : __u32 , pub tail : __u32 , pub ring_mask : __u32 , pub ring_entries : __u32 , pub flags : __u32 , pub dropped : __u32 , pub array : __u32 , pub resv1 : __u32 , pub resv2 : __u64 , } # [ test ] fn bindgen_test_layout_io_sqring_offsets ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_sqring_offsets > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( io_sqring_offsets ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_sqring_offsets > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_sqring_offsets ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . tail as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . ring_mask as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( ring_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . ring_entries as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( ring_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . dropped as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( dropped ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . array as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . resv1 as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( resv1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_sqring_offsets > ( ) ) ) . resv2 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( io_sqring_offsets ) , "::" , stringify ! ( resv2 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_cqring_offsets { pub head : __u32 , pub tail : __u32 , pub ring_mask : __u32 , pub ring_entries : __u32 , pub overflow : __u32 , pub cqes : __u32 , pub resv : [ __u64 ; 2usize ] , } # [ test ] fn bindgen_test_layout_io_cqring_offsets ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_cqring_offsets > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( io_cqring_offsets ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_cqring_offsets > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_cqring_offsets ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . head as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . tail as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . ring_mask as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( ring_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . ring_entries as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( ring_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . overflow as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( overflow ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . cqes as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( cqes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_cqring_offsets > ( ) ) ) . resv as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( io_cqring_offsets ) , "::" , stringify ! ( resv ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_uring_params { pub sq_entries : __u32 , pub cq_entries : __u32 , pub flags : __u32 , pub sq_thread_cpu : __u32 , pub sq_thread_idle : __u32 , pub resv : [ __u32 ; 5usize ] , pub sq_off : io_sqring_offsets , pub cq_off : io_cqring_offsets , } # [ test ] fn bindgen_test_layout_io_uring_params ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_params > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( io_uring_params ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_params > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_params ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . sq_entries as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( sq_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . cq_entries as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( cq_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . flags as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . sq_thread_cpu as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( sq_thread_cpu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . sq_thread_idle as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( sq_thread_idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . resv as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( resv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . sq_off as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( sq_off ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_params > ( ) ) ) . cq_off as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_params ) , "::" , stringify ! ( cq_off ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_uring_sq { pub khead : * mut :: std :: os :: raw :: c_uint , pub ktail : * mut :: std :: os :: raw :: c_uint , pub kring_mask : * mut :: std :: os :: raw :: c_uint , pub kring_entries : * mut :: std :: os :: raw :: c_uint , pub kflags : * mut :: std :: os :: raw :: c_uint , pub kdropped : * mut :: std :: os :: raw :: c_uint , pub array : * mut :: std :: os :: raw :: c_uint , pub sqes : * mut io_uring_sqe , pub sqe_head : :: std :: os :: raw :: c_uint , pub sqe_tail : :: std :: os :: raw :: c_uint , pub ring_sz : usize , } # [ test ] fn bindgen_test_layout_io_uring_sq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_sq > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( io_uring_sq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_sq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_sq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . khead as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( khead ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . ktail as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( ktail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . kring_mask as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( kring_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . kring_entries as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( kring_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . kflags as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( kflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . kdropped as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( kdropped ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . array as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( array ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . sqes as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( sqes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . sqe_head as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( sqe_head ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . sqe_tail as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( sqe_tail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_sq > ( ) ) ) . ring_sz as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_sq ) , "::" , stringify ! ( ring_sz ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_uring_cq { pub khead : * mut :: std :: os :: raw :: c_uint , pub ktail : * mut :: std :: os :: raw :: c_uint , pub kring_mask : * mut :: std :: os :: raw :: c_uint , pub kring_entries : * mut :: std :: os :: raw :: c_uint , pub koverflow : * mut :: std :: os :: raw :: c_uint , pub cqes : * mut io_uring_cqe , pub ring_sz : usize , } # [ test ] fn bindgen_test_layout_io_uring_cq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring_cq > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( io_uring_cq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring_cq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring_cq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . khead as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( khead ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . ktail as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( ktail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . kring_mask as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( kring_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . kring_entries as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( kring_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . koverflow as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( koverflow ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . cqes as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( cqes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring_cq > ( ) ) ) . ring_sz as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( io_uring_cq ) , "::" , stringify ! ( ring_sz ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct io_uring { pub sq : io_uring_sq , pub cq : io_uring_cq , pub ring_fd : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_io_uring ( ) { assert_eq ! ( :: std :: mem :: size_of :: < io_uring > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( io_uring ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < io_uring > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( io_uring ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring > ( ) ) ) . sq as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( io_uring ) , "::" , stringify ! ( sq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring > ( ) ) ) . cq as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( io_uring ) , "::" , stringify ! ( cq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < io_uring > ( ) ) ) . ring_fd as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( io_uring ) , "::" , stringify ! ( ring_fd ) ) ) ; } extern "C" { pub fn io_uring_setup ( entries : :: std :: os :: raw :: c_uint , p : * mut io_uring_params ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_enter ( fd : :: std :: os :: raw :: c_uint , to_submit : :: std :: os :: raw :: c_uint , min_complete : :: std :: os :: raw :: c_uint , flags : :: std :: os :: raw :: c_uint , sig : * mut sigset_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_register ( fd : :: std :: os :: raw :: c_int , opcode : :: std :: os :: raw :: c_uint , arg : * mut :: std :: os :: raw :: c_void , nr_args : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_queue_init ( entries : :: std :: os :: raw :: c_uint , ring : * mut io_uring , flags : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_queue_mmap ( fd : :: std :: os :: raw :: c_int , p : * mut io_uring_params , ring : * mut io_uring ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_queue_exit ( ring : * mut io_uring ) ; } extern "C" { pub fn io_uring_peek_cqe ( ring : * mut io_uring , cqe_ptr : * mut * mut io_uring_cqe ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_wait_cqe ( ring : * mut io_uring , cqe_ptr : * mut * mut io_uring_cqe ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_submit ( ring : * mut io_uring ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn io_uring_get_sqe ( ring : * mut io_uring ) -> * mut io_uring_sqe ; } extern "C" { pub fn _io_uring_prep_rw ( op : :: std :: os :: raw :: c_int , sqe : * mut io_uring_sqe , fd : :: std :: os :: raw :: c_int , addr : * mut :: std :: os :: raw :: c_void , len : :: std :: os :: raw :: c_uint , offset : off_t ) ; } extern "C" { pub fn _io_uring_cqe_seen ( ring : * mut io_uring , cqe : * mut io_uring_cqe ) ; } extern "C" { pub fn _io_uring_prep_readv ( sqe : * mut io_uring_sqe , fd : :: std :: os :: raw :: c_int , iovecs : * mut iovec , nr_vecs : :: std :: os :: raw :: c_uint , offset : off_t ) ; } extern "C" { pub fn _io_uring_prep_read_fixed ( sqe : * mut io_uring_sqe , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , nbytes : :: std :: os :: raw :: c_uint , offset : off_t ) ; } extern "C" { pub fn _io_uring_prep_writev ( sqe : * mut io_uring_sqe , fd : :: std :: os :: raw :: c_int , iovecs : * mut iovec , nr_vecs : :: std :: os :: raw :: c_uint , offset : off_t ) ; } extern "C" { pub fn _io_uring_prep_write_fixed ( sqe : * mut io_uring_sqe , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , nbytes : :: std :: os :: raw :: c_uint , offset : off_t ) ; } extern "C" { pub fn _io_uring_prep_fsync ( sqe : * mut io_uring_sqe , fd : :: std :: os :: raw :: c_int , fsync_flags : :: std :: os :: raw :: c_uint ) ; } extern "C" { pub fn _io_uring_prep_nop ( sqe : * mut io_uring_sqe ) ; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `io_uring_sqe__bindgen_ty_2` cannot be formatted using `{:?}` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Debug` is not implemented for `io_uring_sqe__bindgen_ty_2` [INFO] [stderr] = note: add `#[derive(Debug)]` or manually implement `std::fmt::Debug` [INFO] [stderr] = note: required because of the requirements on the impl of `std::fmt::Debug` for `&io_uring_sqe__bindgen_ty_2` [INFO] [stderr] = note: required for the cast to the object type `dyn std::fmt::Debug` [INFO] [stderr] = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `liburing-sys`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "407867ed4b94e1642d4abe723c1c7930d5152ad6d7e96345532386df6767b39e"` [INFO] running `"docker" "rm" "-f" "407867ed4b94e1642d4abe723c1c7930d5152ad6d7e96345532386df6767b39e"` [INFO] [stdout] 407867ed4b94e1642d4abe723c1c7930d5152ad6d7e96345532386df6767b39e