u2f-rs icon indicating copy to clipboard operation
u2f-rs copied to clipboard

Build fails. error[E0308]: mismatched types

Open micwoj92 opened this issue 9 months ago • 0 comments

cargo build
   Compiling libc v0.2.150
   Compiling proc-macro2 v1.0.69
   Compiling unicode-ident v1.0.12
   Compiling pkg-config v0.3.27
   Compiling vcpkg v0.2.15
   Compiling autocfg v1.1.0
   Compiling serde v1.0.192
   Compiling foreign-types-shared v0.1.1
   Compiling openssl v0.10.59
   Compiling serde_json v1.0.108
   Compiling foreign-types v0.3.2
   Compiling cfg-if v1.0.0
   Compiling iana-time-zone v0.1.58
   Compiling num-traits v0.2.17
   Compiling itoa v1.0.9
   Compiling ryu v1.0.15
   Compiling bitflags v2.4.1
   Compiling once_cell v1.18.0
   Compiling byteorder v1.5.0
   Compiling base64 v0.11.0
   Compiling quote v1.0.33
   Compiling cc v1.0.83
   Compiling iovec v0.1.4
   Compiling syn v2.0.39
   Compiling time v0.1.45
   Compiling bytes v0.4.12
   Compiling chrono v0.4.31
   Compiling openssl-sys v0.9.95
   Compiling openssl-macros v0.1.1
   Compiling serde_derive v1.0.192
   Compiling u2f v0.2.0 (/home/micwoj92/pkg/rust/u2f-rs)
error[E0308]: mismatched types
  --> src/util.rs:25:5
   |
20 | pub fn expiration(timestamp: String) -> Duration {
   |                                         -------- expected `time::Duration` because of return type
...
25 |     now.signed_duration_since(ts.unwrap())
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `time::Duration`, found `chrono::Duration`
   |
   = note: `chrono::Duration` and `time::Duration` have similar names, but are actually distinct types
note: `chrono::Duration` is defined in crate `chrono`
  --> /home/micwoj92/.cargo/registry/src/index.crates.io-6f17d22bba15001f/chrono-0.4.31/src/duration.rs:55:1
   |
55 | pub struct Duration {
   | ^^^^^^^^^^^^^^^^^^^
note: `time::Duration` is defined in crate `time`
  --> /home/micwoj92/.cargo/registry/src/index.crates.io-6f17d22bba15001f/time-0.1.45/src/duration.rs:45:1
   |
45 | pub struct Duration {
   | ^^^^^^^^^^^^^^^^^^^

warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
  --> src/u2ferror.rs:62:44
   |
62 |             U2fError::OpenSSLError(e) => e.description(),
   |                                            ^^^^^^^^^^^
   |
   = note: `#[warn(deprecated)]` on by default

For more information about this error, try `rustc --explain E0308`.
warning: `u2f` (lib) generated 1 warning
error: could not compile `u2f` (lib) due to previous error; 1 warning emitted
warning: build failed, waiting for other jobs to finish...

micwoj92 avatar Nov 12 '23 15:11 micwoj92