Skip to content
This repository has been archived by the owner on Mar 25, 2024. It is now read-only.

serde-yaml does not compile with a minimal-versions lockfile #183

Closed
lopopolo opened this issue Jan 3, 2021 · 1 comment
Closed

serde-yaml does not compile with a minimal-versions lockfile #183

lopopolo opened this issue Jan 3, 2021 · 1 comment

Comments

@lopopolo
Copy link

lopopolo commented Jan 3, 2021

Hi, I am trying to build a project that depends on serde-yaml in CI with a -Z minimal-versions lockfile.

There are two issues here:

Rust

$ rustc -Vv
rustc 1.49.0 (e1884a8e3 2020-12-29)
binary: rustc
commit-hash: e1884a8e3c3e813aada8254edfa120e85bf5ffca
commit-date: 2020-12-29
host: x86_64-apple-darwin
release: 1.49.0

Build log

$ cargo +nightly generate-lockfile -Z minimal-versions
    Updating crates.io index
$ cargo build
   Compiling serde v1.0.60
   Compiling linked-hash-map v0.0.9
   Compiling linked-hash-map v0.5.3
   Compiling dtoa v0.4.0
   Compiling yaml-rust v0.4.0
   Compiling serde_yaml v0.8.14 (/Users/lopopolo/dev/repos/serde-yaml)
error: cannot find macro `forward_to_deserialize_any_helper` in this scope
   --> src/number.rs:402:5
    |
402 | /     forward_to_deserialize_any! {
403 | |         bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
404 | |         bytes byte_buf option unit unit_struct newtype_struct seq tuple
405 | |         tuple_struct map struct enum identifier ignored_any
406 | |     }
    | |_____^ help: a macro with a similar name exists: `forward_to_deserialize_any`
    |
   ::: /Users/lopopolo/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.60/src/macros.rs:132:1
    |
132 |   macro_rules! forward_to_deserialize_any {
    |   --------------------------------------- similarly named macro `forward_to_deserialize_any` defined here
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot find macro `forward_to_deserialize_any_helper` in this scope
   --> src/number.rs:424:5
    |
424 | /     forward_to_deserialize_any! {
425 | |         bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
426 | |         bytes byte_buf option unit unit_struct newtype_struct seq tuple
427 | |         tuple_struct map struct enum identifier ignored_any
428 | |     }
    | |_____^ help: a macro with a similar name exists: `forward_to_deserialize_any`
    |
   ::: /Users/lopopolo/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.60/src/macros.rs:132:1
    |
132 |   macro_rules! forward_to_deserialize_any {
    |   --------------------------------------- similarly named macro `forward_to_deserialize_any` defined here
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot find macro `forward_to_deserialize_any_helper` in this scope
   --> src/value/de.rs:589:5
    |
589 | /     forward_to_deserialize_any! {
590 | |         bool i8 i16 i32 i64 u8 u16 u32 u64 f32 f64 char str string bytes
591 | |         byte_buf option unit unit_struct newtype_struct seq tuple tuple_struct
592 | |         map struct enum identifier
593 | |     }
    | |_____^ help: a macro with a similar name exists: `forward_to_deserialize_any`
    |
   ::: /Users/lopopolo/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.60/src/macros.rs:132:1
    |
132 |   macro_rules! forward_to_deserialize_any {
    |   --------------------------------------- similarly named macro `forward_to_deserialize_any` defined here
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot find macro `forward_to_deserialize_any_helper` in this scope
   --> src/value/de.rs:684:5
    |
684 | /     forward_to_deserialize_any! {
685 | |         bool i8 i16 i32 i64 u8 u16 u32 u64 f32 f64 char str string bytes
686 | |         byte_buf option unit unit_struct newtype_struct seq tuple tuple_struct
687 | |         map struct enum identifier
688 | |     }
    | |_____^ help: a macro with a similar name exists: `forward_to_deserialize_any`
    |
   ::: /Users/lopopolo/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.60/src/macros.rs:132:1
    |
132 |   macro_rules! forward_to_deserialize_any {
    |   --------------------------------------- similarly named macro `forward_to_deserialize_any` defined here
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0046]: not all trait items implemented, missing: `deserialize_bool`, `deserialize_i8`, `deserialize_i16`, `deserialize_i32`, `deserialize_i64`, `deserialize_u8`, `deserialize_u16`, `deserialize_u32`, `deserialize_u64`, `deserialize_f32`, `deserialize_f64`, `deserialize_char`, `deserialize_str`, `deserialize_string`, `deserialize_bytes`, `deserialize_byte_buf`, `deserialize_option`, `deserialize_unit`, `deserialize_unit_struct`, `deserialize_newtype_struct`, `deserialize_seq`, `deserialize_tuple`, `deserialize_tuple_struct`, `deserialize_map`, `deserialize_struct`, `deserialize_enum`, `deserialize_identifier`, `deserialize_ignored_any`
   --> src/number.rs:387:1
    |
387 | impl<'de> Deserializer<'de> for Number {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `deserialize_bool`, `deserialize_i8`, `deserialize_i16`, `deserialize_i32`, `deserialize_i64`, `deserialize_u8`, `deserialize_u16`, `deserialize_u32`, `deserialize_u64`, `deserialize_f32`, `deserialize_f64`, `deserialize_char`, `deserialize_str`, `deserialize_string`, `deserialize_bytes`, `deserialize_byte_buf`, `deserialize_option`, `deserialize_unit`, `deserialize_unit_struct`, `deserialize_newtype_struct`, `deserialize_seq`, `deserialize_tuple`, `deserialize_tuple_struct`, `deserialize_map`, `deserialize_struct`, `deserialize_enum`, `deserialize_identifier`, `deserialize_ignored_any` in implementation
    |
    = help: implement the missing item: `fn deserialize_bool<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_i8<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_i16<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_i32<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_i64<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_u8<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_u16<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_u32<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_u64<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_f32<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_f64<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_char<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_str<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_string<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_bytes<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_byte_buf<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_option<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_unit<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_unit_struct<V>(self, _: &'static str, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_newtype_struct<V>(self, _: &'static str, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_seq<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_tuple<V>(self, _: usize, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_tuple_struct<V>(self, _: &'static str, _: usize, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_map<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_struct<V>(self, _: &'static str, _: &'static [&'static str], _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_enum<V>(self, _: &'static str, _: &'static [&'static str], _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_identifier<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_ignored_any<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`

error[E0046]: not all trait items implemented, missing: `deserialize_bool`, `deserialize_i8`, `deserialize_i16`, `deserialize_i32`, `deserialize_i64`, `deserialize_u8`, `deserialize_u16`, `deserialize_u32`, `deserialize_u64`, `deserialize_f32`, `deserialize_f64`, `deserialize_char`, `deserialize_str`, `deserialize_string`, `deserialize_bytes`, `deserialize_byte_buf`, `deserialize_option`, `deserialize_unit`, `deserialize_unit_struct`, `deserialize_newtype_struct`, `deserialize_seq`, `deserialize_tuple`, `deserialize_tuple_struct`, `deserialize_map`, `deserialize_struct`, `deserialize_enum`, `deserialize_identifier`, `deserialize_ignored_any`
   --> src/number.rs:409:1
    |
409 | impl<'de, 'a> Deserializer<'de> for &'a Number {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `deserialize_bool`, `deserialize_i8`, `deserialize_i16`, `deserialize_i32`, `deserialize_i64`, `deserialize_u8`, `deserialize_u16`, `deserialize_u32`, `deserialize_u64`, `deserialize_f32`, `deserialize_f64`, `deserialize_char`, `deserialize_str`, `deserialize_string`, `deserialize_bytes`, `deserialize_byte_buf`, `deserialize_option`, `deserialize_unit`, `deserialize_unit_struct`, `deserialize_newtype_struct`, `deserialize_seq`, `deserialize_tuple`, `deserialize_tuple_struct`, `deserialize_map`, `deserialize_struct`, `deserialize_enum`, `deserialize_identifier`, `deserialize_ignored_any` in implementation
    |
    = help: implement the missing item: `fn deserialize_bool<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_i8<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_i16<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_i32<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_i64<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_u8<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_u16<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_u32<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_u64<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_f32<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_f64<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_char<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_str<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_string<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_bytes<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_byte_buf<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_option<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_unit<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_unit_struct<V>(self, _: &'static str, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_newtype_struct<V>(self, _: &'static str, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_seq<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_tuple<V>(self, _: usize, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_tuple_struct<V>(self, _: &'static str, _: usize, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_map<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_struct<V>(self, _: &'static str, _: &'static [&'static str], _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_enum<V>(self, _: &'static str, _: &'static [&'static str], _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_identifier<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_ignored_any<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`

error[E0046]: not all trait items implemented, missing: `deserialize_bool`, `deserialize_i8`, `deserialize_i16`, `deserialize_i32`, `deserialize_i64`, `deserialize_u8`, `deserialize_u16`, `deserialize_u32`, `deserialize_u64`, `deserialize_f32`, `deserialize_f64`, `deserialize_char`, `deserialize_str`, `deserialize_string`, `deserialize_bytes`, `deserialize_byte_buf`, `deserialize_option`, `deserialize_unit`, `deserialize_unit_struct`, `deserialize_newtype_struct`, `deserialize_seq`, `deserialize_tuple`, `deserialize_tuple_struct`, `deserialize_map`, `deserialize_struct`, `deserialize_enum`, `deserialize_identifier`
   --> src/value/de.rs:559:1
    |
559 | impl<'de> Deserializer<'de> for SeqDeserializer {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `deserialize_bool`, `deserialize_i8`, `deserialize_i16`, `deserialize_i32`, `deserialize_i64`, `deserialize_u8`, `deserialize_u16`, `deserialize_u32`, `deserialize_u64`, `deserialize_f32`, `deserialize_f64`, `deserialize_char`, `deserialize_str`, `deserialize_string`, `deserialize_bytes`, `deserialize_byte_buf`, `deserialize_option`, `deserialize_unit`, `deserialize_unit_struct`, `deserialize_newtype_struct`, `deserialize_seq`, `deserialize_tuple`, `deserialize_tuple_struct`, `deserialize_map`, `deserialize_struct`, `deserialize_enum`, `deserialize_identifier` in implementation
    |
    = help: implement the missing item: `fn deserialize_bool<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_i8<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_i16<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_i32<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_i64<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_u8<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_u16<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_u32<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_u64<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_f32<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_f64<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_char<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_str<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_string<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_bytes<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_byte_buf<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_option<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_unit<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_unit_struct<V>(self, _: &'static str, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_newtype_struct<V>(self, _: &'static str, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_seq<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_tuple<V>(self, _: usize, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_tuple_struct<V>(self, _: &'static str, _: usize, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_map<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_struct<V>(self, _: &'static str, _: &'static [&'static str], _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_enum<V>(self, _: &'static str, _: &'static [&'static str], _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_identifier<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`

error[E0046]: not all trait items implemented, missing: `deserialize_bool`, `deserialize_i8`, `deserialize_i16`, `deserialize_i32`, `deserialize_i64`, `deserialize_u8`, `deserialize_u16`, `deserialize_u32`, `deserialize_u64`, `deserialize_f32`, `deserialize_f64`, `deserialize_char`, `deserialize_str`, `deserialize_string`, `deserialize_bytes`, `deserialize_byte_buf`, `deserialize_option`, `deserialize_unit`, `deserialize_unit_struct`, `deserialize_newtype_struct`, `deserialize_seq`, `deserialize_tuple`, `deserialize_tuple_struct`, `deserialize_map`, `deserialize_struct`, `deserialize_enum`, `deserialize_identifier`
   --> src/value/de.rs:665:1
    |
665 | impl<'de> Deserializer<'de> for MapDeserializer {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `deserialize_bool`, `deserialize_i8`, `deserialize_i16`, `deserialize_i32`, `deserialize_i64`, `deserialize_u8`, `deserialize_u16`, `deserialize_u32`, `deserialize_u64`, `deserialize_f32`, `deserialize_f64`, `deserialize_char`, `deserialize_str`, `deserialize_string`, `deserialize_bytes`, `deserialize_byte_buf`, `deserialize_option`, `deserialize_unit`, `deserialize_unit_struct`, `deserialize_newtype_struct`, `deserialize_seq`, `deserialize_tuple`, `deserialize_tuple_struct`, `deserialize_map`, `deserialize_struct`, `deserialize_enum`, `deserialize_identifier` in implementation
    |
    = help: implement the missing item: `fn deserialize_bool<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_i8<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_i16<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_i32<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_i64<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_u8<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_u16<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_u32<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_u64<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_f32<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_f64<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_char<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_str<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_string<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_bytes<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_byte_buf<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_option<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_unit<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_unit_struct<V>(self, _: &'static str, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_newtype_struct<V>(self, _: &'static str, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_seq<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_tuple<V>(self, _: usize, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_tuple_struct<V>(self, _: &'static str, _: usize, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_map<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_struct<V>(self, _: &'static str, _: &'static [&'static str], _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_enum<V>(self, _: &'static str, _: &'static [&'static str], _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`
    = help: implement the missing item: `fn deserialize_identifier<V>(self, _: V) -> std::result::Result<<V as serde::de::Visitor<'de>>::Value, <Self as serde::Deserializer<'de>>::Error> where V: serde::de::Visitor { todo!() }`

error[E0308]: mismatched types
   --> src/value/mod.rs:612:46
    |
612 |                 .map(|(k, v)| (yaml_to_value(k), yaml_to_value(v)))
    |                                              ^ expected enum `Yaml`, found `&Yaml`

error[E0308]: mismatched types
   --> src/value/mod.rs:612:64
    |
612 |                 .map(|(k, v)| (yaml_to_value(k), yaml_to_value(v)))
    |                                                                ^ expected enum `Yaml`, found `&Yaml`

error: aborting due to 10 previous errors

Some errors have detailed explanations: E0046, E0308.
For more information about an error, try `rustc --explain E0046`.
error: could not compile `serde_yaml`

To learn more, run the command again with --verbose.
@dtolnay
Copy link
Owner

dtolnay commented Jan 5, 2021

I published 0.8.15 with a fix and added a CI build that tests minimal-versions.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants