[INFO] fetching crate snap7-sys 0.1.3... [INFO] checking snap7-sys-0.1.3 against try#ea663bba38739867a4b75ac820991b4f5d093c3b for pr-62262-1 [INFO] extracting crate snap7-sys 0.1.3 into /workspace/builds/worker-6/source [INFO] validating manifest of crates.io crate snap7-sys 0.1.3 on toolchain ea663bba38739867a4b75ac820991b4f5d093c3b [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate snap7-sys 0.1.3 [INFO] finished tweaking crates.io crate snap7-sys 0.1.3 [INFO] tweaked toml for crates.io crate snap7-sys 0.1.3 written to /workspace/builds/worker-6/source/Cargo.toml [INFO] crate crates.io crate snap7-sys 0.1.3 already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "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-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "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] 611db4f0fba646fd8e37b879ca709791e16579e889a52509ef5872054030b7dd [INFO] running `"docker" "start" "-a" "611db4f0fba646fd8e37b879ca709791e16579e889a52509ef5872054030b7dd"` [INFO] [stderr] Compiling regex-syntax v0.6.11 [INFO] [stderr] Compiling libloading v0.5.2 [INFO] [stderr] Compiling backtrace-sys v0.1.31 [INFO] [stderr] Compiling atty v0.2.13 [INFO] [stderr] Compiling backtrace v0.3.34 [INFO] [stderr] Compiling clap v2.33.0 [INFO] [stderr] Compiling clang-sys v0.28.1 [INFO] [stderr] Compiling failure v0.1.5 [INFO] [stderr] Compiling which v2.0.1 [INFO] [stderr] Compiling regex v1.2.1 [INFO] [stderr] Compiling env_logger v0.6.2 [INFO] [stderr] Compiling bindgen v0.49.2 [INFO] [stderr] Compiling snap7-sys v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] error[E0277]: arrays only have std trait implementations for lengths 0..=32 [INFO] [stderr] --> /opt/rustwide/target/debug/build/snap7-sys-b9fbd5178bc62c13/out/bindings.rs:3:9538 [INFO] [stderr] | [INFO] [stderr] 3 | pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type word = u16 ; pub type S7Object = usize ; # [ repr ( C , packed ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TS7DataItem { pub Area : :: std :: os :: raw :: c_int , pub WordLen : :: std :: os :: raw :: c_int , pub Result : :: std :: os :: raw :: c_int , pub DBNumber : :: std :: os :: raw :: c_int , pub Start : :: std :: os :: raw :: c_int , pub Amount : :: std :: os :: raw :: c_int , pub pdata : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_TS7DataItem ( ) { assert_eq ! ( :: std :: mem :: size_of :: < TS7DataItem > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( TS7DataItem ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < TS7DataItem > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( TS7DataItem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7DataItem > ( ) ) ) . Area as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( TS7DataItem ) , "::" , stringify ! ( Area ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7DataItem > ( ) ) ) . WordLen as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( TS7DataItem ) , "::" , stringify ! ( WordLen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7DataItem > ( ) ) ) . Result as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( TS7DataItem ) , "::" , stringify ! ( Result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7DataItem > ( ) ) ) . DBNumber as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( TS7DataItem ) , "::" , stringify ! ( DBNumber ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7DataItem > ( ) ) ) . Start as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( TS7DataItem ) , "::" , stringify ! ( Start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7DataItem > ( ) ) ) . Amount as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( TS7DataItem ) , "::" , stringify ! ( Amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7DataItem > ( ) ) ) . pdata as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( TS7DataItem ) , "::" , stringify ! ( pdata ) ) ) ; } pub type PS7DataItem = * mut TS7DataItem ; # [ repr ( C , packed ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TS7BlocksList { pub OBCount : :: std :: os :: raw :: c_int , pub FBCount : :: std :: os :: raw :: c_int , pub FCCount : :: std :: os :: raw :: c_int , pub SFBCount : :: std :: os :: raw :: c_int , pub SFCCount : :: std :: os :: raw :: c_int , pub DBCount : :: std :: os :: raw :: c_int , pub SDBCount : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_TS7BlocksList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < TS7BlocksList > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( TS7BlocksList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < TS7BlocksList > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( TS7BlocksList ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlocksList > ( ) ) ) . OBCount as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlocksList ) , "::" , stringify ! ( OBCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlocksList > ( ) ) ) . FBCount as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlocksList ) , "::" , stringify ! ( FBCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlocksList > ( ) ) ) . FCCount as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlocksList ) , "::" , stringify ! ( FCCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlocksList > ( ) ) ) . SFBCount as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlocksList ) , "::" , stringify ! ( SFBCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlocksList > ( ) ) ) . SFCCount as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlocksList ) , "::" , stringify ! ( SFCCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlocksList > ( ) ) ) . DBCount as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlocksList ) , "::" , stringify ! ( DBCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlocksList > ( ) ) ) . SDBCount as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlocksList ) , "::" , stringify ! ( SDBCount ) ) ) ; } # [ repr ( C , packed ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TS7BlockInfo { pub BlkType : :: std :: os :: raw :: c_int , pub BlkNumber : :: std :: os :: raw :: c_int , pub BlkLang : :: std :: os :: raw :: c_int , pub BlkFlags : :: std :: os :: raw :: c_int , pub MC7Size : :: std :: os :: raw :: c_int , pub LoadSize : :: std :: os :: raw :: c_int , pub LocalData : :: std :: os :: raw :: c_int , pub SBBLength : :: std :: os :: raw :: c_int , pub CheckSum : :: std :: os :: raw :: c_int , pub Version : :: std :: os :: raw :: c_int , pub CodeDate : [ :: std :: os :: raw :: c_char ; 11usize ] , pub IntfDate : [ :: std :: os :: raw :: c_char ; 11usize ] , pub Author : [ :: std :: os :: raw :: c_char ; 9usize ] , pub Family : [ :: std :: os :: raw :: c_char ; 9usize ] , pub Header : [ :: std :: os :: raw :: c_char ; 9usize ] , } # [ test ] fn bindgen_test_layout_TS7BlockInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < TS7BlockInfo > ( ) , 89usize , concat ! ( "Size of: " , stringify ! ( TS7BlockInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < TS7BlockInfo > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( TS7BlockInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . BlkType as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( BlkType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . BlkNumber as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( BlkNumber ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . BlkLang as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( BlkLang ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . BlkFlags as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( BlkFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . MC7Size as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( MC7Size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . LoadSize as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( LoadSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . LocalData as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( LocalData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . SBBLength as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( SBBLength ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . CheckSum as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( CheckSum ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . Version as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( Version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . CodeDate as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( CodeDate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . IntfDate as * const _ as usize } , 51usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( IntfDate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . Author as * const _ as usize } , 62usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( Author ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . Family as * const _ as usize } , 71usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( Family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . Header as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( Header ) ) ) ; } pub type TS7BlocksOfType = [ word ; 8192usize ] ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TS7CpuInfo { pub ModuleTypeName : [ :: std :: os :: raw :: c_char ; 33usize ] , pub SerialNumber : [ :: std :: os :: raw :: c_char ; 25usize ] , pub ASName : [ :: std :: os :: raw :: c_char ; 25usize ] , pub Copyright : [ :: std :: os :: raw :: c_char ; 27usize ] , pub ModuleName : [ :: std :: os :: raw :: c_char ; 25usize ] , } # [ test ] fn bindgen_test_layout_TS7CpuInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < TS7CpuInfo > ( ) , 135usize , concat ! ( "Size of: " , stringify ! ( TS7CpuInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < TS7CpuInfo > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( TS7CpuInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpuInfo > ( ) ) ) . ModuleTypeName as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpuInfo ) , "::" , stringify ! ( ModuleTypeName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpuInfo > ( ) ) ) . SerialNumber as * const _ as usize } , 33usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpuInfo ) , "::" , stringify ! ( SerialNumber ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpuInfo > ( ) ) ) . ASName as * const _ as usize } , 58usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpuInfo ) , "::" , stringify ! ( ASName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpuInfo > ( ) ) ) . Copyright as * const _ as usize } , 83usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpuInfo ) , "::" , stringify ! ( Copyright ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpuInfo > ( ) ) ) . ModuleName as * const _ as usize } , 110usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpuInfo ) , "::" , stringify ! ( ModuleName ) ) ) ; } # [ repr ( C , packed ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TS7CpInfo { pub MaxPduLengt : :: std :: os :: raw :: c_int , pub MaxConnections : :: std :: os :: raw :: c_int , pub MaxMpiRate : :: std :: os :: raw :: c_int , pub MaxBusRate : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_TS7CpInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < TS7CpInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( TS7CpInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < TS7CpInfo > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( TS7CpInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpInfo > ( ) ) ) . MaxPduLengt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpInfo ) , "::" , stringify ! ( MaxPduLengt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpInfo > ( ) ) ) . MaxConnections as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpInfo ) , "::" , stringify ! ( MaxConnections ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpInfo > ( ) ) ) . MaxMpiRate as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpInfo ) , "::" , stringify ! ( MaxMpiRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpInfo > ( ) ) ) . MaxBusRate as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpInfo ) , "::" , stringify ! ( MaxBusRate ) ) ) ; } extern "C" { pub fn Cli_Create ( ) -> S7Object ; } extern "C" { pub fn Cli_Destroy ( Client : * mut S7Object ) ; } extern "C" { pub fn Cli_ConnectTo ( Client : S7Object , Address : * const :: std :: os :: raw :: c_char , Rack : :: std :: os :: raw :: c_int , Slot : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_SetConnectionParams ( Client : S7Object , Address : * const :: std :: os :: raw :: c_char , LocalTSAP : word , RemoteTSAP : word ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_SetConnectionType ( Client : S7Object , ConnectionType : word ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_Disconnect ( Client : S7Object ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_GetParam ( Client : S7Object , ParamNumber : :: std :: os :: raw :: c_int , pValue : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_SetParam ( Client : S7Object , ParamNumber : :: std :: os :: raw :: c_int , pValue : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_ReadArea ( Client : S7Object , Area : :: std :: os :: raw :: c_int , DBNumber : :: std :: os :: raw :: c_int , Start : :: std :: os :: raw :: c_int , Amount : :: std :: os :: raw :: c_int , WordLen : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_WriteArea ( Client : S7Object , Area : :: std :: os :: raw :: c_int , DBNumber : :: std :: os :: raw :: c_int , Start : :: std :: os :: raw :: c_int , Amount : :: std :: os :: raw :: c_int , WordLen : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_ReadMultiVars ( Client : S7Object , Item : PS7DataItem , ItemsCount : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_WriteMultiVars ( Client : S7Object , Item : PS7DataItem , ItemsCount : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_DBRead ( Client : S7Object , DBNumber : :: std :: os :: raw :: c_int , Start : :: std :: os :: raw :: c_int , Size : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_DBWrite ( Client : S7Object , DBNumber : :: std :: os :: raw :: c_int , Start : :: std :: os :: raw :: c_int , Size : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_MBRead ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Size : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_MBWrite ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Size : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_EBRead ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Size : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_EBWrite ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Size : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_ABRead ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Size : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_ABWrite ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Size : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_TMRead ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Amount : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_TMWrite ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Amount : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_CTRead ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Amount : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_CTWrite ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Amount : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_ListBlocks ( Client : S7Object , pUsrData : * mut TS7BlocksList ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_GetAgBlockInfo ( Client : S7Object , BlockType : :: std :: os :: raw :: c_int , BlockNum : :: std :: os :: raw :: c_int , pUsrData : * mut TS7BlockInfo ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_GetPgBlockInfo ( Client : S7Object , pBlock : * mut :: std :: os :: raw :: c_void , pUsrData : * mut TS7BlockInfo , Size : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_ListBlocksOfType ( Client : S7Object , BlockType : :: std :: os :: raw :: c_int , pUsrData : * mut TS7BlocksOfType , ItemsCount : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_GetCpuInfo ( Client : S7Object , pUsrData : * mut TS7CpuInfo ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_GetCpInfo ( Client : S7Object , pUsrData : * mut TS7CpInfo ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_GetPlcStatus ( Client : S7Object , Status : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_GetPduLength ( Client : S7Object , Requested : * mut :: std :: os :: raw :: c_int , Negotiated : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_ErrorText ( Error : :: std :: os :: raw :: c_int , Text : * mut :: std :: os :: raw :: c_char , TextLen : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_GetConnected ( Client : S7Object , Connected : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::array::LengthAtMost32` is not implemented for `[i8; 33]` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::fmt::Debug` for `[i8; 33]` [INFO] [stderr] = note: required because of the requirements on the impl of `std::fmt::Debug` for `&[i8; 33]` [INFO] [stderr] = note: required for the cast to the object type `dyn std::fmt::Debug` [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `snap7-sys`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0277]: arrays only have std trait implementations for lengths 0..=32 [INFO] [stderr] --> /opt/rustwide/target/debug/build/snap7-sys-b9fbd5178bc62c13/out/bindings.rs:3:9538 [INFO] [stderr] | [INFO] [stderr] 3 | pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type word = u16 ; pub type S7Object = usize ; # [ repr ( C , packed ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TS7DataItem { pub Area : :: std :: os :: raw :: c_int , pub WordLen : :: std :: os :: raw :: c_int , pub Result : :: std :: os :: raw :: c_int , pub DBNumber : :: std :: os :: raw :: c_int , pub Start : :: std :: os :: raw :: c_int , pub Amount : :: std :: os :: raw :: c_int , pub pdata : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_TS7DataItem ( ) { assert_eq ! ( :: std :: mem :: size_of :: < TS7DataItem > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( TS7DataItem ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < TS7DataItem > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( TS7DataItem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7DataItem > ( ) ) ) . Area as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( TS7DataItem ) , "::" , stringify ! ( Area ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7DataItem > ( ) ) ) . WordLen as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( TS7DataItem ) , "::" , stringify ! ( WordLen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7DataItem > ( ) ) ) . Result as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( TS7DataItem ) , "::" , stringify ! ( Result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7DataItem > ( ) ) ) . DBNumber as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( TS7DataItem ) , "::" , stringify ! ( DBNumber ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7DataItem > ( ) ) ) . Start as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( TS7DataItem ) , "::" , stringify ! ( Start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7DataItem > ( ) ) ) . Amount as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( TS7DataItem ) , "::" , stringify ! ( Amount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7DataItem > ( ) ) ) . pdata as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( TS7DataItem ) , "::" , stringify ! ( pdata ) ) ) ; } pub type PS7DataItem = * mut TS7DataItem ; # [ repr ( C , packed ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TS7BlocksList { pub OBCount : :: std :: os :: raw :: c_int , pub FBCount : :: std :: os :: raw :: c_int , pub FCCount : :: std :: os :: raw :: c_int , pub SFBCount : :: std :: os :: raw :: c_int , pub SFCCount : :: std :: os :: raw :: c_int , pub DBCount : :: std :: os :: raw :: c_int , pub SDBCount : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_TS7BlocksList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < TS7BlocksList > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( TS7BlocksList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < TS7BlocksList > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( TS7BlocksList ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlocksList > ( ) ) ) . OBCount as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlocksList ) , "::" , stringify ! ( OBCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlocksList > ( ) ) ) . FBCount as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlocksList ) , "::" , stringify ! ( FBCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlocksList > ( ) ) ) . FCCount as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlocksList ) , "::" , stringify ! ( FCCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlocksList > ( ) ) ) . SFBCount as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlocksList ) , "::" , stringify ! ( SFBCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlocksList > ( ) ) ) . SFCCount as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlocksList ) , "::" , stringify ! ( SFCCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlocksList > ( ) ) ) . DBCount as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlocksList ) , "::" , stringify ! ( DBCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlocksList > ( ) ) ) . SDBCount as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlocksList ) , "::" , stringify ! ( SDBCount ) ) ) ; } # [ repr ( C , packed ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TS7BlockInfo { pub BlkType : :: std :: os :: raw :: c_int , pub BlkNumber : :: std :: os :: raw :: c_int , pub BlkLang : :: std :: os :: raw :: c_int , pub BlkFlags : :: std :: os :: raw :: c_int , pub MC7Size : :: std :: os :: raw :: c_int , pub LoadSize : :: std :: os :: raw :: c_int , pub LocalData : :: std :: os :: raw :: c_int , pub SBBLength : :: std :: os :: raw :: c_int , pub CheckSum : :: std :: os :: raw :: c_int , pub Version : :: std :: os :: raw :: c_int , pub CodeDate : [ :: std :: os :: raw :: c_char ; 11usize ] , pub IntfDate : [ :: std :: os :: raw :: c_char ; 11usize ] , pub Author : [ :: std :: os :: raw :: c_char ; 9usize ] , pub Family : [ :: std :: os :: raw :: c_char ; 9usize ] , pub Header : [ :: std :: os :: raw :: c_char ; 9usize ] , } # [ test ] fn bindgen_test_layout_TS7BlockInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < TS7BlockInfo > ( ) , 89usize , concat ! ( "Size of: " , stringify ! ( TS7BlockInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < TS7BlockInfo > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( TS7BlockInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . BlkType as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( BlkType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . BlkNumber as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( BlkNumber ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . BlkLang as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( BlkLang ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . BlkFlags as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( BlkFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . MC7Size as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( MC7Size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . LoadSize as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( LoadSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . LocalData as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( LocalData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . SBBLength as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( SBBLength ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . CheckSum as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( CheckSum ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . Version as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( Version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . CodeDate as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( CodeDate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . IntfDate as * const _ as usize } , 51usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( IntfDate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . Author as * const _ as usize } , 62usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( Author ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . Family as * const _ as usize } , 71usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( Family ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7BlockInfo > ( ) ) ) . Header as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( TS7BlockInfo ) , "::" , stringify ! ( Header ) ) ) ; } pub type TS7BlocksOfType = [ word ; 8192usize ] ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TS7CpuInfo { pub ModuleTypeName : [ :: std :: os :: raw :: c_char ; 33usize ] , pub SerialNumber : [ :: std :: os :: raw :: c_char ; 25usize ] , pub ASName : [ :: std :: os :: raw :: c_char ; 25usize ] , pub Copyright : [ :: std :: os :: raw :: c_char ; 27usize ] , pub ModuleName : [ :: std :: os :: raw :: c_char ; 25usize ] , } # [ test ] fn bindgen_test_layout_TS7CpuInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < TS7CpuInfo > ( ) , 135usize , concat ! ( "Size of: " , stringify ! ( TS7CpuInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < TS7CpuInfo > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( TS7CpuInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpuInfo > ( ) ) ) . ModuleTypeName as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpuInfo ) , "::" , stringify ! ( ModuleTypeName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpuInfo > ( ) ) ) . SerialNumber as * const _ as usize } , 33usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpuInfo ) , "::" , stringify ! ( SerialNumber ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpuInfo > ( ) ) ) . ASName as * const _ as usize } , 58usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpuInfo ) , "::" , stringify ! ( ASName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpuInfo > ( ) ) ) . Copyright as * const _ as usize } , 83usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpuInfo ) , "::" , stringify ! ( Copyright ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpuInfo > ( ) ) ) . ModuleName as * const _ as usize } , 110usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpuInfo ) , "::" , stringify ! ( ModuleName ) ) ) ; } # [ repr ( C , packed ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TS7CpInfo { pub MaxPduLengt : :: std :: os :: raw :: c_int , pub MaxConnections : :: std :: os :: raw :: c_int , pub MaxMpiRate : :: std :: os :: raw :: c_int , pub MaxBusRate : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_TS7CpInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < TS7CpInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( TS7CpInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < TS7CpInfo > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( TS7CpInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpInfo > ( ) ) ) . MaxPduLengt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpInfo ) , "::" , stringify ! ( MaxPduLengt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpInfo > ( ) ) ) . MaxConnections as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpInfo ) , "::" , stringify ! ( MaxConnections ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpInfo > ( ) ) ) . MaxMpiRate as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpInfo ) , "::" , stringify ! ( MaxMpiRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < TS7CpInfo > ( ) ) ) . MaxBusRate as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( TS7CpInfo ) , "::" , stringify ! ( MaxBusRate ) ) ) ; } extern "C" { pub fn Cli_Create ( ) -> S7Object ; } extern "C" { pub fn Cli_Destroy ( Client : * mut S7Object ) ; } extern "C" { pub fn Cli_ConnectTo ( Client : S7Object , Address : * const :: std :: os :: raw :: c_char , Rack : :: std :: os :: raw :: c_int , Slot : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_SetConnectionParams ( Client : S7Object , Address : * const :: std :: os :: raw :: c_char , LocalTSAP : word , RemoteTSAP : word ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_SetConnectionType ( Client : S7Object , ConnectionType : word ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_Disconnect ( Client : S7Object ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_GetParam ( Client : S7Object , ParamNumber : :: std :: os :: raw :: c_int , pValue : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_SetParam ( Client : S7Object , ParamNumber : :: std :: os :: raw :: c_int , pValue : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_ReadArea ( Client : S7Object , Area : :: std :: os :: raw :: c_int , DBNumber : :: std :: os :: raw :: c_int , Start : :: std :: os :: raw :: c_int , Amount : :: std :: os :: raw :: c_int , WordLen : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_WriteArea ( Client : S7Object , Area : :: std :: os :: raw :: c_int , DBNumber : :: std :: os :: raw :: c_int , Start : :: std :: os :: raw :: c_int , Amount : :: std :: os :: raw :: c_int , WordLen : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_ReadMultiVars ( Client : S7Object , Item : PS7DataItem , ItemsCount : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_WriteMultiVars ( Client : S7Object , Item : PS7DataItem , ItemsCount : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_DBRead ( Client : S7Object , DBNumber : :: std :: os :: raw :: c_int , Start : :: std :: os :: raw :: c_int , Size : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_DBWrite ( Client : S7Object , DBNumber : :: std :: os :: raw :: c_int , Start : :: std :: os :: raw :: c_int , Size : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_MBRead ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Size : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_MBWrite ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Size : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_EBRead ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Size : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_EBWrite ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Size : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_ABRead ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Size : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_ABWrite ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Size : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_TMRead ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Amount : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_TMWrite ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Amount : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_CTRead ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Amount : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_CTWrite ( Client : S7Object , Start : :: std :: os :: raw :: c_int , Amount : :: std :: os :: raw :: c_int , pUsrData : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_ListBlocks ( Client : S7Object , pUsrData : * mut TS7BlocksList ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_GetAgBlockInfo ( Client : S7Object , BlockType : :: std :: os :: raw :: c_int , BlockNum : :: std :: os :: raw :: c_int , pUsrData : * mut TS7BlockInfo ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_GetPgBlockInfo ( Client : S7Object , pBlock : * mut :: std :: os :: raw :: c_void , pUsrData : * mut TS7BlockInfo , Size : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_ListBlocksOfType ( Client : S7Object , BlockType : :: std :: os :: raw :: c_int , pUsrData : * mut TS7BlocksOfType , ItemsCount : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_GetCpuInfo ( Client : S7Object , pUsrData : * mut TS7CpuInfo ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_GetCpInfo ( Client : S7Object , pUsrData : * mut TS7CpInfo ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_GetPlcStatus ( Client : S7Object , Status : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_GetPduLength ( Client : S7Object , Requested : * mut :: std :: os :: raw :: c_int , Negotiated : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_ErrorText ( Error : :: std :: os :: raw :: c_int , Text : * mut :: std :: os :: raw :: c_char , TextLen : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn Cli_GetConnected ( Client : S7Object , Connected : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::array::LengthAtMost32` is not implemented for `[i8; 33]` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::fmt::Debug` for `[i8; 33]` [INFO] [stderr] = note: required because of the requirements on the impl of `std::fmt::Debug` for `&[i8; 33]` [INFO] [stderr] = note: required for the cast to the object type `dyn std::fmt::Debug` [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `snap7-sys`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "611db4f0fba646fd8e37b879ca709791e16579e889a52509ef5872054030b7dd"` [INFO] running `"docker" "rm" "-f" "611db4f0fba646fd8e37b879ca709791e16579e889a52509ef5872054030b7dd"` [INFO] [stdout] 611db4f0fba646fd8e37b879ca709791e16579e889a52509ef5872054030b7dd