[INFO] cloning repository https://github.com/meowjesty/get_file_version_example
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/meowjesty/get_file_version_example" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmeowjesty%2Fget_file_version_example", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmeowjesty%2Fget_file_version_example'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8f9ace261a3637e2860423d6347363131b66c8c0
[INFO] checking meowjesty/get_file_version_example against try#b98202ad067d72e45cec8be3d5c15d86ef0fd086 for pr-155193
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmeowjesty%2Fget_file_version_example" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/meowjesty/get_file_version_example
[INFO] finished tweaking git repo https://github.com/meowjesty/get_file_version_example
[INFO] tweaked toml for git repo https://github.com/meowjesty/get_file_version_example written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/meowjesty/get_file_version_example on toolchain b98202ad067d72e45cec8be3d5c15d86ef0fd086
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/meowjesty/get_file_version_example already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking meowjesty/get_file_version_example against try#b98202ad067d72e45cec8be3d5c15d86ef0fd086 for pr-155193
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmeowjesty%2Fget_file_version_example" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/meowjesty/get_file_version_example
[INFO] finished tweaking git repo https://github.com/meowjesty/get_file_version_example
[INFO] tweaked toml for git repo https://github.com/meowjesty/get_file_version_example written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/meowjesty/get_file_version_example on toolchain b98202ad067d72e45cec8be3d5c15d86ef0fd086
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/meowjesty/get_file_version_example already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded windows_quote v0.19.0
[INFO] [stderr]   Downloaded windows_macros v0.19.0
[INFO] [stderr]   Downloaded windows_gen v0.19.0
[INFO] [stderr]   Downloaded syn v1.0.75
[INFO] [stderr]   Downloaded windows v0.19.0
[INFO] [stderr]   Downloaded windows_reader v0.19.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 751818293d34867471449a66d8b786d274c4f4ad7f3ef7c1cd7a728be9650cc9
[INFO] running `Command { std: "docker" "start" "-a" "751818293d34867471449a66d8b786d274c4f4ad7f3ef7c1cd7a728be9650cc9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "751818293d34867471449a66d8b786d274c4f4ad7f3ef7c1cd7a728be9650cc9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "751818293d34867471449a66d8b786d274c4f4ad7f3ef7c1cd7a728be9650cc9", kill_on_drop: false }`
[INFO] [stdout] 751818293d34867471449a66d8b786d274c4f4ad7f3ef7c1cd7a728be9650cc9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a07698b95dc5c9b3f4a98b618a40d9f5cfbe3920a8bf8c796298ae8909ec1866
[INFO] running `Command { std: "docker" "start" "-a" "a07698b95dc5c9b3f4a98b618a40d9f5cfbe3920a8bf8c796298ae8909ec1866", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.28
[INFO] [stderr]    Compiling syn v1.0.75
[INFO] [stderr]    Compiling windows_reader v0.19.0
[INFO] [stderr]    Compiling windows_quote v0.19.0
[INFO] [stderr]    Compiling const-sha1 v0.2.0
[INFO] [stderr]     Checking windows_gen v0.19.0
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling windows_macros v0.19.0
[INFO] [stderr]    Compiling windows v0.19.0
[INFO] [stderr]    Compiling get-file-version v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/get-file-version-d32d4c864d08e991/out/windows.rs:1:3933
[INFO] [stdout]   |
[INFO] [stdout] 1 | ... if ! value . 0 . is_null ( ) { unsafe { :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: In...
[INFO] [stdout]   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout]   = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]   |
[INFO] [stdout] 1 | # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Windows { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Win32 { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Foundation { # [ repr ( transparent ) ] # [ derive ( :: std :: default :: Default , :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct BOOL ( pub i32 ) ; unsafe impl :: windows :: Abi for BOOL { type Abi = Self ; type DefaultType = Self ; } impl BOOL { # [ inline ] pub fn as_bool ( self ) -> bool { ! ( self . 0 == 0 ) } # [ inline ] pub fn ok ( self ) -> :: windows :: Result < ( ) > { if self . as_bool ( ) { Ok ( ( ) ) } else { Err ( :: windows :: HRESULT :: from_thread ( ) . into ( ) ) } } # [ inline ] # [ track_caller ] pub fn unwrap ( self ) { self . ok ( ) . unwrap ( ) ; } # [ inline ] # [ track_caller ] pub fn expect ( self , msg : & str ) { self . ok ( ) . expect ( msg ) ; } } impl :: std :: convert :: From < BOOL > for bool { fn from ( value : BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < & BOOL > for bool { fn from ( value : & BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < bool > for BOOL { fn from ( value : bool ) -> Self { if value { BOOL ( 1 ) } else { BOOL ( 0 ) } } } impl :: std :: convert :: From < & bool > for BOOL { fn from ( value : & bool ) -> Self { ( * value ) . into ( ) } } impl :: std :: cmp :: PartialEq < bool > for BOOL { fn eq ( & self , other : & bool ) -> bool { self . as_bool ( ) == * other } } impl :: std :: cmp :: PartialEq < BOOL > for bool { fn eq ( & self , other : & BOOL ) -> bool { * self == other . as_bool ( ) } } impl std :: ops :: Not for BOOL { type Output = Self ; fn not ( self ) -> Self :: Output { if self . as_bool ( ) { BOOL ( 0 ) } else { BOOL ( 1 ) } } } impl < 'a > :: windows :: IntoParam < 'a , BOOL > for bool { fn into_param ( self ) -> :: windows :: Param < 'a , BOOL > { :: windows :: Param :: Owned ( self . into ( ) ) } } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct HINSTANCE ( pub isize ) ; impl HINSTANCE { } impl :: std :: default :: Default for HINSTANCE { fn default ( ) -> Self { Self ( 0 ) } } impl HINSTANCE { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for HINSTANCE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "HINSTANCE" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for HINSTANCE { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for HINSTANCE { } unsafe impl :: windows :: Abi for HINSTANCE { type Abi = Self ; type DefaultType = Self ; } # [ repr ( transparent ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct PSTR ( pub * mut u8 ) ; impl PSTR { pub const NULL : Self = Self ( :: std :: ptr :: null_mut ( ) ) ; pub fn is_null ( & self ) -> bool { self . 0 . is_null ( ) } } impl :: std :: default :: Default for PSTR { fn default ( ) -> Self { Self ( :: std :: ptr :: null_mut ( ) ) } } impl :: std :: cmp :: PartialEq for PSTR { fn eq ( & self , other : & Self ) -> bool { self . 0 == other . 0 } } unsafe impl :: windows :: Abi for PSTR { type Abi = Self ; type DefaultType = Self ; fn drop_param ( param : & mut :: windows :: Param < '_ , Self > ) { if let :: windows :: Param :: Boxed ( value ) = param { if ! value . 0 . is_null ( ) { unsafe { let _ = :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for & 'a str { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for String { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Storage { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod FileSystem { pub unsafe fn GetFileVersionInfoA < 'a , > ( lptstrfilename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PSTR > , dwhandle : u32 , dwlen : u32 , lpdata : * mut :: std :: ffi :: c_void , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="VERSION" ) ] extern "system" { fn GetFileVersionInfoA ( lptstrfilename : super::super::Foundation:: PSTR , dwhandle : u32 , dwlen : u32 , lpdata : * mut :: std :: ffi :: c_void ) -> super::super::Foundation:: BOOL ; } GetFileVersionInfoA ( lptstrfilename . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( dwhandle ) , :: std :: mem :: transmute ( dwlen ) , :: std :: mem :: transmute ( lpdata ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn GetFileVersionInfoSizeA < 'a , > ( lptstrfilename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PSTR > , lpdwhandle : * mut u32 , ) -> u32 { # [ cfg ( windows ) ] { # [ link ( name ="VERSION" ) ] extern "system" { fn GetFileVersionInfoSizeA ( lptstrfilename : super::super::Foundation:: PSTR , lpdwhandle : * mut u32 ) -> u32 ; } GetFileVersionInfoSizeA ( lptstrfilename . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lpdwhandle ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct VS_FIXEDFILEINFO { pub dwSignature : u32 , pub dwStrucVersion : u32 , pub dwFileVersionMS : u32 , pub dwFileVersionLS : u32 , pub dwProductVersionMS : u32 , pub dwProductVersionLS : u32 , pub dwFileFlagsMask : u32 , pub dwFileFlags : VS_FIXEDFILEINFO_FILE_FLAGS , pub dwFileOS : VS_FIXEDFILEINFO_FILE_OS , pub dwFileType : VS_FIXEDFILEINFO_FILE_TYPE , pub dwFileSubtype : VS_FIXEDFILEINFO_FILE_SUBTYPE , pub dwFileDateMS : u32 , pub dwFileDateLS : u32 } impl VS_FIXEDFILEINFO { } impl :: std :: default :: Default for VS_FIXEDFILEINFO { fn default ( ) -> Self { Self { dwSignature : 0 , dwStrucVersion : 0 , dwFileVersionMS : 0 , dwFileVersionLS : 0 , dwProductVersionMS : 0 , dwProductVersionLS : 0 , dwFileFlagsMask : 0 , dwFileFlags : :: std :: default :: Default :: default ( ) , dwFileOS : :: std :: default :: Default :: default ( ) , dwFileType : :: std :: default :: Default :: default ( ) , dwFileSubtype : :: std :: default :: Default :: default ( ) , dwFileDateMS : 0 , dwFileDateLS : 0 } } } impl :: std :: fmt :: Debug for VS_FIXEDFILEINFO { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "VS_FIXEDFILEINFO" ) . field ( "dwSignature" , & self . dwSignature ) . field ( "dwStrucVersion" , & self . dwStrucVersion ) . field ( "dwFileVersionMS" , & self . dwFileVersionMS ) . field ( "dwFileVersionLS" , & self . dwFileVersionLS ) . field ( "dwProductVersionMS" , & self . dwProductVersionMS ) . field ( "dwProductVersionLS" , & self . dwProductVersionLS ) . field ( "dwFileFlagsMask" , & self . dwFileFlagsMask ) . field ( "dwFileFlags" , & self . dwFileFlags ) . field ( "dwFileOS" , & self . dwFileOS ) . field ( "dwFileType" , & self . dwFileType ) . field ( "dwFileSubtype" , & self . dwFileSubtype ) . field ( "dwFileDateMS" , & self . dwFileDateMS ) . field ( "dwFileDateLS" , & self . dwFileDateLS ) . finish ( ) } } impl :: std :: cmp :: PartialEq for VS_FIXEDFILEINFO { fn eq ( & self , other : & Self ) -> bool { self . dwSignature == other . dwSignature && self . dwStrucVersion == other . dwStrucVersion && self . dwFileVersionMS == other . dwFileVersionMS && self . dwFileVersionLS == other . dwFileVersionLS && self . dwProductVersionMS == other . dwProductVersionMS && self . dwProductVersionLS == other . dwProductVersionLS && self . dwFileFlagsMask == other . dwFileFlagsMask && self . dwFileFlags == other . dwFileFlags && self . dwFileOS == other . dwFileOS && self . dwFileType == other . dwFileType && self . dwFileSubtype == other . dwFileSubtype && self . dwFileDateMS == other . dwFileDateMS && self . dwFileDateLS == other . dwFileDateLS } } impl :: std :: cmp :: Eq for VS_FIXEDFILEINFO { } unsafe impl :: windows :: Abi for VS_FIXEDFILEINFO { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct VS_FIXEDFILEINFO_FILE_FLAGS ( pub u32 ) ; pub const VS_FF_DEBUG : VS_FIXEDFILEINFO_FILE_FLAGS = VS_FIXEDFILEINFO_FILE_FLAGS ( 1u32 ) ; pub const VS_FF_PRERELEASE : VS_FIXEDFILEINFO_FILE_FLAGS = VS_FIXEDFILEINFO_FILE_FLAGS ( 2u32 ) ; pub const VS_FF_PATCHED : VS_FIXEDFILEINFO_FILE_FLAGS = VS_FIXEDFILEINFO_FILE_FLAGS ( 4u32 ) ; pub const VS_FF_PRIVATEBUILD : VS_FIXEDFILEINFO_FILE_FLAGS = VS_FIXEDFILEINFO_FILE_FLAGS ( 8u32 ) ; pub const VS_FF_INFOINFERRED : VS_FIXEDFILEINFO_FILE_FLAGS = VS_FIXEDFILEINFO_FILE_FLAGS ( 16u32 ) ; pub const VS_FF_SPECIALBUILD : VS_FIXEDFILEINFO_FILE_FLAGS = VS_FIXEDFILEINFO_FILE_FLAGS ( 32u32 ) ; impl :: std :: convert :: From < u32 > for VS_FIXEDFILEINFO_FILE_FLAGS { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for VS_FIXEDFILEINFO_FILE_FLAGS { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for VS_FIXEDFILEINFO_FILE_FLAGS { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for VS_FIXEDFILEINFO_FILE_FLAGS { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for VS_FIXEDFILEINFO_FILE_FLAGS { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for VS_FIXEDFILEINFO_FILE_FLAGS { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct VS_FIXEDFILEINFO_FILE_OS ( pub i32 ) ; pub const VOS_UNKNOWN : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 0i32 ) ; pub const VOS_DOS : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 65536i32 ) ; pub const VOS_OS216 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 131072i32 ) ; pub const VOS_OS232 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 196608i32 ) ; pub const VOS_NT : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 262144i32 ) ; pub const VOS_WINCE : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 327680i32 ) ; pub const VOS__BASE : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 0i32 ) ; pub const VOS__WINDOWS16 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 1i32 ) ; pub const VOS__PM16 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 2i32 ) ; pub const VOS__PM32 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 3i32 ) ; pub const VOS__WINDOWS32 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 4i32 ) ; pub const VOS_DOS_WINDOWS16 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 65537i32 ) ; pub const VOS_DOS_WINDOWS32 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 65540i32 ) ; pub const VOS_OS216_PM16 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 131074i32 ) ; pub const VOS_OS232_PM32 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 196611i32 ) ; pub const VOS_NT_WINDOWS32 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 262148i32 ) ; impl :: std :: convert :: From < i32 > for VS_FIXEDFILEINFO_FILE_OS { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for VS_FIXEDFILEINFO_FILE_OS { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct VS_FIXEDFILEINFO_FILE_SUBTYPE ( pub i32 ) ; pub const VFT2_UNKNOWN : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 0i32 ) ; pub const VFT2_DRV_PRINTER : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 1i32 ) ; pub const VFT2_DRV_KEYBOARD : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 2i32 ) ; pub const VFT2_DRV_LANGUAGE : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 3i32 ) ; pub const VFT2_DRV_DISPLAY : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 4i32 ) ; pub const VFT2_DRV_MOUSE : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 5i32 ) ; pub const VFT2_DRV_NETWORK : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 6i32 ) ; pub const VFT2_DRV_SYSTEM : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 7i32 ) ; pub const VFT2_DRV_INSTALLABLE : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 8i32 ) ; pub const VFT2_DRV_SOUND : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 9i32 ) ; pub const VFT2_DRV_COMM : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 10i32 ) ; pub const VFT2_DRV_INPUTMETHOD : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 11i32 ) ; pub const VFT2_DRV_VERSIONED_PRINTER : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 12i32 ) ; pub const VFT2_FONT_RASTER : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 1i32 ) ; pub const VFT2_FONT_VECTOR : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 2i32 ) ; pub const VFT2_FONT_TRUETYPE : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 3i32 ) ; impl :: std :: convert :: From < i32 > for VS_FIXEDFILEINFO_FILE_SUBTYPE { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for VS_FIXEDFILEINFO_FILE_SUBTYPE { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct VS_FIXEDFILEINFO_FILE_TYPE ( pub i32 ) ; pub const VFT_UNKNOWN : VS_FIXEDFILEINFO_FILE_TYPE = VS_FIXEDFILEINFO_FILE_TYPE ( 0i32 ) ; pub const VFT_APP : VS_FIXEDFILEINFO_FILE_TYPE = VS_FIXEDFILEINFO_FILE_TYPE ( 1i32 ) ; pub const VFT_DLL : VS_FIXEDFILEINFO_FILE_TYPE = VS_FIXEDFILEINFO_FILE_TYPE ( 2i32 ) ; pub const VFT_DRV : VS_FIXEDFILEINFO_FILE_TYPE = VS_FIXEDFILEINFO_FILE_TYPE ( 3i32 ) ; pub const VFT_FONT : VS_FIXEDFILEINFO_FILE_TYPE = VS_FIXEDFILEINFO_FILE_TYPE ( 4i32 ) ; pub const VFT_VXD : VS_FIXEDFILEINFO_FILE_TYPE = VS_FIXEDFILEINFO_FILE_TYPE ( 5i32 ) ; pub const VFT_STATIC_LIB : VS_FIXEDFILEINFO_FILE_TYPE = VS_FIXEDFILEINFO_FILE_TYPE ( 7i32 ) ; impl :: std :: convert :: From < i32 > for VS_FIXEDFILEINFO_FILE_TYPE { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for VS_FIXEDFILEINFO_FILE_TYPE { type Abi = Self ; type DefaultType = Self ; } pub unsafe fn VerQueryValueA < 'a , > ( pblock : * const :: std :: ffi :: c_void , lpsubblock : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PSTR > , lplpbuffer : * mut * mut :: std :: ffi :: c_void , pulen : * mut u32 , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="VERSION" ) ] extern "system" { fn VerQueryValueA ( pblock : * const :: std :: ffi :: c_void , lpsubblock : super::super::Foundation:: PSTR , lplpbuffer : * mut * mut :: std :: ffi :: c_void , pulen : * mut u32 ) -> super::super::Foundation:: BOOL ; } VerQueryValueA ( :: std :: mem :: transmute ( pblock ) , lpsubblock . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lplpbuffer ) , :: std :: mem :: transmute ( pulen ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod System { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod LibraryLoader { pub unsafe fn GetModuleFileNameA < 'a , > ( hmodule : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HINSTANCE > , lpfilename : super::super::Foundation:: PSTR , nsize : u32 , ) -> u32 { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn GetModuleFileNameA ( hmodule : super::super::Foundation:: HINSTANCE , lpfilename : super::super::Foundation:: PSTR , nsize : u32 ) -> u32 ; } GetModuleFileNameA ( hmodule . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lpfilename ) , :: std :: mem :: transmute ( nsize ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } } } }
[INFO] [stdout]   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/get-file-version-d32d4c864d08e991/out/windows.rs:1:3933
[INFO] [stdout]   |
[INFO] [stdout] 1 | ... if ! value . 0 . is_null ( ) { unsafe { :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: In...
[INFO] [stdout]   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout]   = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]   |
[INFO] [stdout] 1 | # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Windows { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Win32 { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Foundation { # [ repr ( transparent ) ] # [ derive ( :: std :: default :: Default , :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct BOOL ( pub i32 ) ; unsafe impl :: windows :: Abi for BOOL { type Abi = Self ; type DefaultType = Self ; } impl BOOL { # [ inline ] pub fn as_bool ( self ) -> bool { ! ( self . 0 == 0 ) } # [ inline ] pub fn ok ( self ) -> :: windows :: Result < ( ) > { if self . as_bool ( ) { Ok ( ( ) ) } else { Err ( :: windows :: HRESULT :: from_thread ( ) . into ( ) ) } } # [ inline ] # [ track_caller ] pub fn unwrap ( self ) { self . ok ( ) . unwrap ( ) ; } # [ inline ] # [ track_caller ] pub fn expect ( self , msg : & str ) { self . ok ( ) . expect ( msg ) ; } } impl :: std :: convert :: From < BOOL > for bool { fn from ( value : BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < & BOOL > for bool { fn from ( value : & BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < bool > for BOOL { fn from ( value : bool ) -> Self { if value { BOOL ( 1 ) } else { BOOL ( 0 ) } } } impl :: std :: convert :: From < & bool > for BOOL { fn from ( value : & bool ) -> Self { ( * value ) . into ( ) } } impl :: std :: cmp :: PartialEq < bool > for BOOL { fn eq ( & self , other : & bool ) -> bool { self . as_bool ( ) == * other } } impl :: std :: cmp :: PartialEq < BOOL > for bool { fn eq ( & self , other : & BOOL ) -> bool { * self == other . as_bool ( ) } } impl std :: ops :: Not for BOOL { type Output = Self ; fn not ( self ) -> Self :: Output { if self . as_bool ( ) { BOOL ( 0 ) } else { BOOL ( 1 ) } } } impl < 'a > :: windows :: IntoParam < 'a , BOOL > for bool { fn into_param ( self ) -> :: windows :: Param < 'a , BOOL > { :: windows :: Param :: Owned ( self . into ( ) ) } } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct HINSTANCE ( pub isize ) ; impl HINSTANCE { } impl :: std :: default :: Default for HINSTANCE { fn default ( ) -> Self { Self ( 0 ) } } impl HINSTANCE { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for HINSTANCE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "HINSTANCE" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for HINSTANCE { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for HINSTANCE { } unsafe impl :: windows :: Abi for HINSTANCE { type Abi = Self ; type DefaultType = Self ; } # [ repr ( transparent ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct PSTR ( pub * mut u8 ) ; impl PSTR { pub const NULL : Self = Self ( :: std :: ptr :: null_mut ( ) ) ; pub fn is_null ( & self ) -> bool { self . 0 . is_null ( ) } } impl :: std :: default :: Default for PSTR { fn default ( ) -> Self { Self ( :: std :: ptr :: null_mut ( ) ) } } impl :: std :: cmp :: PartialEq for PSTR { fn eq ( & self , other : & Self ) -> bool { self . 0 == other . 0 } } unsafe impl :: windows :: Abi for PSTR { type Abi = Self ; type DefaultType = Self ; fn drop_param ( param : & mut :: windows :: Param < '_ , Self > ) { if let :: windows :: Param :: Boxed ( value ) = param { if ! value . 0 . is_null ( ) { unsafe { let _ = :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for & 'a str { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for String { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Storage { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod FileSystem { pub unsafe fn GetFileVersionInfoA < 'a , > ( lptstrfilename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PSTR > , dwhandle : u32 , dwlen : u32 , lpdata : * mut :: std :: ffi :: c_void , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="VERSION" ) ] extern "system" { fn GetFileVersionInfoA ( lptstrfilename : super::super::Foundation:: PSTR , dwhandle : u32 , dwlen : u32 , lpdata : * mut :: std :: ffi :: c_void ) -> super::super::Foundation:: BOOL ; } GetFileVersionInfoA ( lptstrfilename . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( dwhandle ) , :: std :: mem :: transmute ( dwlen ) , :: std :: mem :: transmute ( lpdata ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn GetFileVersionInfoSizeA < 'a , > ( lptstrfilename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PSTR > , lpdwhandle : * mut u32 , ) -> u32 { # [ cfg ( windows ) ] { # [ link ( name ="VERSION" ) ] extern "system" { fn GetFileVersionInfoSizeA ( lptstrfilename : super::super::Foundation:: PSTR , lpdwhandle : * mut u32 ) -> u32 ; } GetFileVersionInfoSizeA ( lptstrfilename . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lpdwhandle ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct VS_FIXEDFILEINFO { pub dwSignature : u32 , pub dwStrucVersion : u32 , pub dwFileVersionMS : u32 , pub dwFileVersionLS : u32 , pub dwProductVersionMS : u32 , pub dwProductVersionLS : u32 , pub dwFileFlagsMask : u32 , pub dwFileFlags : VS_FIXEDFILEINFO_FILE_FLAGS , pub dwFileOS : VS_FIXEDFILEINFO_FILE_OS , pub dwFileType : VS_FIXEDFILEINFO_FILE_TYPE , pub dwFileSubtype : VS_FIXEDFILEINFO_FILE_SUBTYPE , pub dwFileDateMS : u32 , pub dwFileDateLS : u32 } impl VS_FIXEDFILEINFO { } impl :: std :: default :: Default for VS_FIXEDFILEINFO { fn default ( ) -> Self { Self { dwSignature : 0 , dwStrucVersion : 0 , dwFileVersionMS : 0 , dwFileVersionLS : 0 , dwProductVersionMS : 0 , dwProductVersionLS : 0 , dwFileFlagsMask : 0 , dwFileFlags : :: std :: default :: Default :: default ( ) , dwFileOS : :: std :: default :: Default :: default ( ) , dwFileType : :: std :: default :: Default :: default ( ) , dwFileSubtype : :: std :: default :: Default :: default ( ) , dwFileDateMS : 0 , dwFileDateLS : 0 } } } impl :: std :: fmt :: Debug for VS_FIXEDFILEINFO { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "VS_FIXEDFILEINFO" ) . field ( "dwSignature" , & self . dwSignature ) . field ( "dwStrucVersion" , & self . dwStrucVersion ) . field ( "dwFileVersionMS" , & self . dwFileVersionMS ) . field ( "dwFileVersionLS" , & self . dwFileVersionLS ) . field ( "dwProductVersionMS" , & self . dwProductVersionMS ) . field ( "dwProductVersionLS" , & self . dwProductVersionLS ) . field ( "dwFileFlagsMask" , & self . dwFileFlagsMask ) . field ( "dwFileFlags" , & self . dwFileFlags ) . field ( "dwFileOS" , & self . dwFileOS ) . field ( "dwFileType" , & self . dwFileType ) . field ( "dwFileSubtype" , & self . dwFileSubtype ) . field ( "dwFileDateMS" , & self . dwFileDateMS ) . field ( "dwFileDateLS" , & self . dwFileDateLS ) . finish ( ) } } impl :: std :: cmp :: PartialEq for VS_FIXEDFILEINFO { fn eq ( & self , other : & Self ) -> bool { self . dwSignature == other . dwSignature && self . dwStrucVersion == other . dwStrucVersion && self . dwFileVersionMS == other . dwFileVersionMS && self . dwFileVersionLS == other . dwFileVersionLS && self . dwProductVersionMS == other . dwProductVersionMS && self . dwProductVersionLS == other . dwProductVersionLS && self . dwFileFlagsMask == other . dwFileFlagsMask && self . dwFileFlags == other . dwFileFlags && self . dwFileOS == other . dwFileOS && self . dwFileType == other . dwFileType && self . dwFileSubtype == other . dwFileSubtype && self . dwFileDateMS == other . dwFileDateMS && self . dwFileDateLS == other . dwFileDateLS } } impl :: std :: cmp :: Eq for VS_FIXEDFILEINFO { } unsafe impl :: windows :: Abi for VS_FIXEDFILEINFO { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct VS_FIXEDFILEINFO_FILE_FLAGS ( pub u32 ) ; pub const VS_FF_DEBUG : VS_FIXEDFILEINFO_FILE_FLAGS = VS_FIXEDFILEINFO_FILE_FLAGS ( 1u32 ) ; pub const VS_FF_PRERELEASE : VS_FIXEDFILEINFO_FILE_FLAGS = VS_FIXEDFILEINFO_FILE_FLAGS ( 2u32 ) ; pub const VS_FF_PATCHED : VS_FIXEDFILEINFO_FILE_FLAGS = VS_FIXEDFILEINFO_FILE_FLAGS ( 4u32 ) ; pub const VS_FF_PRIVATEBUILD : VS_FIXEDFILEINFO_FILE_FLAGS = VS_FIXEDFILEINFO_FILE_FLAGS ( 8u32 ) ; pub const VS_FF_INFOINFERRED : VS_FIXEDFILEINFO_FILE_FLAGS = VS_FIXEDFILEINFO_FILE_FLAGS ( 16u32 ) ; pub const VS_FF_SPECIALBUILD : VS_FIXEDFILEINFO_FILE_FLAGS = VS_FIXEDFILEINFO_FILE_FLAGS ( 32u32 ) ; impl :: std :: convert :: From < u32 > for VS_FIXEDFILEINFO_FILE_FLAGS { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for VS_FIXEDFILEINFO_FILE_FLAGS { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for VS_FIXEDFILEINFO_FILE_FLAGS { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for VS_FIXEDFILEINFO_FILE_FLAGS { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for VS_FIXEDFILEINFO_FILE_FLAGS { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for VS_FIXEDFILEINFO_FILE_FLAGS { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct VS_FIXEDFILEINFO_FILE_OS ( pub i32 ) ; pub const VOS_UNKNOWN : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 0i32 ) ; pub const VOS_DOS : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 65536i32 ) ; pub const VOS_OS216 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 131072i32 ) ; pub const VOS_OS232 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 196608i32 ) ; pub const VOS_NT : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 262144i32 ) ; pub const VOS_WINCE : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 327680i32 ) ; pub const VOS__BASE : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 0i32 ) ; pub const VOS__WINDOWS16 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 1i32 ) ; pub const VOS__PM16 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 2i32 ) ; pub const VOS__PM32 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 3i32 ) ; pub const VOS__WINDOWS32 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 4i32 ) ; pub const VOS_DOS_WINDOWS16 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 65537i32 ) ; pub const VOS_DOS_WINDOWS32 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 65540i32 ) ; pub const VOS_OS216_PM16 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 131074i32 ) ; pub const VOS_OS232_PM32 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 196611i32 ) ; pub const VOS_NT_WINDOWS32 : VS_FIXEDFILEINFO_FILE_OS = VS_FIXEDFILEINFO_FILE_OS ( 262148i32 ) ; impl :: std :: convert :: From < i32 > for VS_FIXEDFILEINFO_FILE_OS { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for VS_FIXEDFILEINFO_FILE_OS { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct VS_FIXEDFILEINFO_FILE_SUBTYPE ( pub i32 ) ; pub const VFT2_UNKNOWN : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 0i32 ) ; pub const VFT2_DRV_PRINTER : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 1i32 ) ; pub const VFT2_DRV_KEYBOARD : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 2i32 ) ; pub const VFT2_DRV_LANGUAGE : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 3i32 ) ; pub const VFT2_DRV_DISPLAY : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 4i32 ) ; pub const VFT2_DRV_MOUSE : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 5i32 ) ; pub const VFT2_DRV_NETWORK : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 6i32 ) ; pub const VFT2_DRV_SYSTEM : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 7i32 ) ; pub const VFT2_DRV_INSTALLABLE : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 8i32 ) ; pub const VFT2_DRV_SOUND : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 9i32 ) ; pub const VFT2_DRV_COMM : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 10i32 ) ; pub const VFT2_DRV_INPUTMETHOD : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 11i32 ) ; pub const VFT2_DRV_VERSIONED_PRINTER : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 12i32 ) ; pub const VFT2_FONT_RASTER : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 1i32 ) ; pub const VFT2_FONT_VECTOR : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 2i32 ) ; pub const VFT2_FONT_TRUETYPE : VS_FIXEDFILEINFO_FILE_SUBTYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE ( 3i32 ) ; impl :: std :: convert :: From < i32 > for VS_FIXEDFILEINFO_FILE_SUBTYPE { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for VS_FIXEDFILEINFO_FILE_SUBTYPE { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct VS_FIXEDFILEINFO_FILE_TYPE ( pub i32 ) ; pub const VFT_UNKNOWN : VS_FIXEDFILEINFO_FILE_TYPE = VS_FIXEDFILEINFO_FILE_TYPE ( 0i32 ) ; pub const VFT_APP : VS_FIXEDFILEINFO_FILE_TYPE = VS_FIXEDFILEINFO_FILE_TYPE ( 1i32 ) ; pub const VFT_DLL : VS_FIXEDFILEINFO_FILE_TYPE = VS_FIXEDFILEINFO_FILE_TYPE ( 2i32 ) ; pub const VFT_DRV : VS_FIXEDFILEINFO_FILE_TYPE = VS_FIXEDFILEINFO_FILE_TYPE ( 3i32 ) ; pub const VFT_FONT : VS_FIXEDFILEINFO_FILE_TYPE = VS_FIXEDFILEINFO_FILE_TYPE ( 4i32 ) ; pub const VFT_VXD : VS_FIXEDFILEINFO_FILE_TYPE = VS_FIXEDFILEINFO_FILE_TYPE ( 5i32 ) ; pub const VFT_STATIC_LIB : VS_FIXEDFILEINFO_FILE_TYPE = VS_FIXEDFILEINFO_FILE_TYPE ( 7i32 ) ; impl :: std :: convert :: From < i32 > for VS_FIXEDFILEINFO_FILE_TYPE { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for VS_FIXEDFILEINFO_FILE_TYPE { type Abi = Self ; type DefaultType = Self ; } pub unsafe fn VerQueryValueA < 'a , > ( pblock : * const :: std :: ffi :: c_void , lpsubblock : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PSTR > , lplpbuffer : * mut * mut :: std :: ffi :: c_void , pulen : * mut u32 , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="VERSION" ) ] extern "system" { fn VerQueryValueA ( pblock : * const :: std :: ffi :: c_void , lpsubblock : super::super::Foundation:: PSTR , lplpbuffer : * mut * mut :: std :: ffi :: c_void , pulen : * mut u32 ) -> super::super::Foundation:: BOOL ; } VerQueryValueA ( :: std :: mem :: transmute ( pblock ) , lpsubblock . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lplpbuffer ) , :: std :: mem :: transmute ( pulen ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod System { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod LibraryLoader { pub unsafe fn GetModuleFileNameA < 'a , > ( hmodule : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HINSTANCE > , lpfilename : super::super::Foundation:: PSTR , nsize : u32 , ) -> u32 { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn GetModuleFileNameA ( hmodule : super::super::Foundation:: HINSTANCE , lpfilename : super::super::Foundation:: PSTR , nsize : u32 ) -> u32 ; } GetModuleFileNameA ( hmodule . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lpfilename ) , :: std :: mem :: transmute ( nsize ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } } } }
[INFO] [stdout]   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.08s
[INFO] running `Command { std: "docker" "inspect" "a07698b95dc5c9b3f4a98b618a40d9f5cfbe3920a8bf8c796298ae8909ec1866", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a07698b95dc5c9b3f4a98b618a40d9f5cfbe3920a8bf8c796298ae8909ec1866", kill_on_drop: false }`
[INFO] [stdout] a07698b95dc5c9b3f4a98b618a40d9f5cfbe3920a8bf8c796298ae8909ec1866
