serde-rs/test

Doctests failing with serde_test 1.0.104

kentfredric opened this issue · 1 comments

This looks like something in the ecosystem changed dependency wise, as my previous run with serde_test 1.0.102 didn't have this problem, but now, re-running it, does.

cargo +stable test
   Compiling proc-macro2 v1.0.9
   Compiling unicode-xid v0.2.0
   Compiling syn v1.0.16
   Compiling serde v1.0.104
   Compiling quote v1.0.2
   Compiling serde_derive v1.0.104
   Compiling serde_test v1.0.104 (/home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104)
    Finished test [unoptimized + debuginfo] target(s) in 38.09s
     Running target/debug/deps/serde_test-545308ffd11a1760

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

   Doc-tests serde_test

running 37 tests
test src/assert.rs - assert::assert_ser_tokens_error (line 79) ... FAILED
test src/assert.rs - assert::assert_ser_tokens (line 41) ... FAILED
test src/assert.rs - assert::assert_de_tokens_error (line 183) ... FAILED
test src/assert.rs - assert::assert_de_tokens (line 130) ... FAILED
test src/assert.rs - assert::assert_tokens (line 11) ... FAILED
test src/token.rs - token::Token::Bool (line 7) ... ok
test src/token.rs - token::Token::BorrowedStr (line 125) ... ok
test src/token.rs - token::Token::Enum (line 464) ... FAILED
test src/configure.rs - configure::Configure (line 17) ... ok
test src/token.rs - token::Token::Char (line 106) ... ok
test src/lib.rs -  (line 27) ... ok
test src/token.rs - token::Token::F32 (line 88) ... ok
test src/token.rs - token::Token::F64 (line 97) ... ok
test src/token.rs - token::Token::I16 (line 25) ... ok
test src/token.rs - token::Token::I32 (line 34) ... ok
test src/token.rs - token::Token::NewtypeStruct (line 226) ... FAILED
test src/token.rs - token::Token::NewtypeVariant (line 247) ... FAILED
test src/token.rs - token::Token::I64 (line 43) ... ok
test src/token.rs - token::Token::I8 (line 16) ... ok
test src/token.rs - token::Token::None (line 154) ... ok
test src/token.rs - token::Token::Map (line 375) ... ok
test src/token.rs - token::Token::Seq (line 274) ... ok
test src/token.rs - token::Token::Some (line 166) ... ok
test src/token.rs - token::Token::Struct (line 402) ... FAILED
test src/token.rs - token::Token::StructVariant (line 434) ... FAILED
test src/token.rs - token::Token::TupleStruct (line 316) ... FAILED
test src/token.rs - token::Token::TupleVariant (line 343) ... FAILED
test src/token.rs - token::Token::Str (line 115) ... ok
test src/token.rs - token::Token::String (line 135) ... ok
test src/token.rs - token::Token::Tuple (line 295) ... ok
test src/token.rs - token::Token::U32 (line 70) ... ok
test src/token.rs - token::Token::U16 (line 61) ... ok
test src/token.rs - token::Token::UnitStruct (line 188) ... FAILED
test src/token.rs - token::Token::U64 (line 79) ... ok
test src/token.rs - token::Token::UnitVariant (line 203) ... FAILED
test src/token.rs - token::Token::Unit (line 179) ... ok
test src/token.rs - token::Token::U8 (line 52) ... ok

failures:

---- src/assert.rs - assert::assert_ser_tokens_error (line 79) stdout ----
error: cannot find derive macro `Serialize` in this scope
 --> src/assert.rs:86:10
  |
9 | #[derive(Serialize)]
  |          ^^^^^^^^^

error[E0277]: the trait bound `Example: serde::ser::Serialize` is not satisfied
   --> src/assert.rs:110:29
    |
33  |     assert_ser_tokens_error(&example, expected, error);
    |                             ^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Example`
    | 
   ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:115:8
    |
115 |     T: Serialize,
    |        --------- required by this bound in `serde_test::assert_ser_tokens_error`

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0277`.
Couldn't compile the test.
---- src/assert.rs - assert::assert_ser_tokens (line 41) stdout ----
error: cannot find derive macro `Serialize` in this scope
 --> src/assert.rs:45:10
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |          ^^^^^^^^^

error: cannot find derive macro `Deserialize` in this scope
 --> src/assert.rs:45:21
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |                     ^^^^^^^^^^^

error[E0277]: the trait bound `main::S: serde::ser::Serialize` is not satisfied
  --> src/assert.rs:52:1
   |
14 | assert_ser_tokens(&s, &[
   | ^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `main::S`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:63:8
   |
63 |     T: Serialize,
   |        --------- required by this bound in `serde_test::assert_ser_tokens`

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0277`.
Couldn't compile the test.
---- src/assert.rs - assert::assert_de_tokens_error (line 183) stdout ----
error: cannot find derive macro `Serialize` in this scope
 --> src/assert.rs:187:10
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |          ^^^^^^^^^

error: cannot find derive macro `Deserialize` in this scope
 --> src/assert.rs:187:21
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |                     ^^^^^^^^^^^

error: cannot find attribute `serde` in this scope
 --> src/assert.rs:188:3
  |
8 | #[serde(deny_unknown_fields)]
  |   ^^^^^

error[E0277]: the trait bound `main::S: serde::de::Deserialize<'_>` is not satisfied
   --> src/assert.rs:194:1
    |
14  | assert_de_tokens_error::<S>(
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `main::S`
    | 
   ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:204:8
    |
204 |     T: Deserialize<'de>,
    |        ---------------- required by this bound in `serde_test::assert_de_tokens_error`

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0277`.
Couldn't compile the test.
---- src/assert.rs - assert::assert_de_tokens (line 130) stdout ----
error: cannot find derive macro `Serialize` in this scope
 --> src/assert.rs:134:10
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |          ^^^^^^^^^

error: cannot find derive macro `Deserialize` in this scope
 --> src/assert.rs:134:21
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |                     ^^^^^^^^^^^

error[E0277]: the trait bound `main::S: serde::de::Deserialize<'_>` is not satisfied
   --> src/assert.rs:141:1
    |
14  | assert_de_tokens(&s, &[
    | ^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `main::S`
    | 
   ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:152:8
    |
152 |     T: Deserialize<'de> + PartialEq + Debug,
    |        ---------------- required by this bound in `serde_test::assert_de_tokens`

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0277`.
Couldn't compile the test.
---- src/assert.rs - assert::assert_tokens (line 11) stdout ----
error: cannot find derive macro `Serialize` in this scope
 --> src/assert.rs:15:10
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |          ^^^^^^^^^

error: cannot find derive macro `Deserialize` in this scope
 --> src/assert.rs:15:21
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |                     ^^^^^^^^^^^

error[E0277]: the trait bound `main::S: serde::ser::Serialize` is not satisfied
  --> src/assert.rs:22:1
   |
14 | assert_tokens(&s, &[
   | ^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `main::S`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:8
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |        --------- required by this bound in `serde_test::assert_tokens`

error[E0277]: the trait bound `main::S: serde::de::Deserialize<'_>` is not satisfied
  --> src/assert.rs:22:1
   |
14 | assert_tokens(&s, &[
   | ^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `main::S`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:20
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |                    ---------------- required by this bound in `serde_test::assert_tokens`

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0277`.
Couldn't compile the test.
---- src/token.rs - token::Token::Enum (line 464) stdout ----
error: cannot find derive macro `Serialize` in this scope
 --> src/token.rs:469:10
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |          ^^^^^^^^^

error: cannot find derive macro `Deserialize` in this scope
 --> src/token.rs:469:21
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |                     ^^^^^^^^^^^

error[E0277]: the trait bound `main::E: serde::ser::Serialize` is not satisfied
  --> src/token.rs:478:1
   |
16 | assert_tokens(&a, &[
   | ^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `main::E`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:8
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |        --------- required by this bound in `serde_test::assert_tokens`

error[E0277]: the trait bound `main::E: serde::de::Deserialize<'_>` is not satisfied
  --> src/token.rs:478:1
   |
16 | assert_tokens(&a, &[
   | ^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `main::E`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:20
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |                    ---------------- required by this bound in `serde_test::assert_tokens`

error[E0277]: the trait bound `main::E: serde::ser::Serialize` is not satisfied
  --> src/token.rs:485:1
   |
23 | assert_tokens(&b, &[
   | ^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `main::E`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:8
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |        --------- required by this bound in `serde_test::assert_tokens`

error[E0277]: the trait bound `main::E: serde::de::Deserialize<'_>` is not satisfied
  --> src/token.rs:485:1
   |
23 | assert_tokens(&b, &[
   | ^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `main::E`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:20
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |                    ---------------- required by this bound in `serde_test::assert_tokens`

error[E0277]: the trait bound `main::E: serde::ser::Serialize` is not satisfied
  --> src/token.rs:492:1
   |
30 | assert_tokens(&c, &[
   | ^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `main::E`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:8
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |        --------- required by this bound in `serde_test::assert_tokens`

error[E0277]: the trait bound `main::E: serde::de::Deserialize<'_>` is not satisfied
  --> src/token.rs:492:1
   |
30 | assert_tokens(&c, &[
   | ^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `main::E`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:20
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |                    ---------------- required by this bound in `serde_test::assert_tokens`

error[E0277]: the trait bound `main::E: serde::ser::Serialize` is not satisfied
  --> src/token.rs:502:1
   |
40 | assert_tokens(&d, &[
   | ^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `main::E`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:8
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |        --------- required by this bound in `serde_test::assert_tokens`

error[E0277]: the trait bound `main::E: serde::de::Deserialize<'_>` is not satisfied
  --> src/token.rs:502:1
   |
40 | assert_tokens(&d, &[
   | ^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `main::E`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:20
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |                    ---------------- required by this bound in `serde_test::assert_tokens`

error: aborting due to 10 previous errors

For more information about this error, try `rustc --explain E0277`.
Couldn't compile the test.
---- src/token.rs - token::Token::NewtypeStruct (line 226) stdout ----
error: cannot find derive macro `Serialize` in this scope
 --> src/token.rs:231:10
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |          ^^^^^^^^^

error: cannot find derive macro `Deserialize` in this scope
 --> src/token.rs:231:21
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |                     ^^^^^^^^^^^

error[E0277]: the trait bound `main::N: serde::ser::Serialize` is not satisfied
  --> src/token.rs:235:1
   |
11 | assert_tokens(&n, &[
   | ^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `main::N`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:8
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |        --------- required by this bound in `serde_test::assert_tokens`

error[E0277]: the trait bound `main::N: serde::de::Deserialize<'_>` is not satisfied
  --> src/token.rs:235:1
   |
11 | assert_tokens(&n, &[
   | ^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `main::N`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:20
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |                    ---------------- required by this bound in `serde_test::assert_tokens`

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0277`.
Couldn't compile the test.
---- src/token.rs - token::Token::NewtypeVariant (line 247) stdout ----
error: cannot find derive macro `Serialize` in this scope
 --> src/token.rs:252:10
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |          ^^^^^^^^^

error: cannot find derive macro `Deserialize` in this scope
 --> src/token.rs:252:21
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |                     ^^^^^^^^^^^

error[E0277]: the trait bound `main::E: serde::ser::Serialize` is not satisfied
  --> src/token.rs:258:1
   |
13 | assert_tokens(&b, &[
   | ^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `main::E`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:8
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |        --------- required by this bound in `serde_test::assert_tokens`

error[E0277]: the trait bound `main::E: serde::de::Deserialize<'_>` is not satisfied
  --> src/token.rs:258:1
   |
13 | assert_tokens(&b, &[
   | ^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `main::E`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:20
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |                    ---------------- required by this bound in `serde_test::assert_tokens`

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0277`.
Couldn't compile the test.
---- src/token.rs - token::Token::Struct (line 402) stdout ----
error: cannot find derive macro `Serialize` in this scope
 --> src/token.rs:407:10
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |          ^^^^^^^^^

error: cannot find derive macro `Deserialize` in this scope
 --> src/token.rs:407:21
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |                     ^^^^^^^^^^^

error[E0277]: the trait bound `main::S: serde::ser::Serialize` is not satisfied
  --> src/token.rs:414:1
   |
14 | assert_tokens(&s, &[
   | ^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `main::S`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:8
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |        --------- required by this bound in `serde_test::assert_tokens`

error[E0277]: the trait bound `main::S: serde::de::Deserialize<'_>` is not satisfied
  --> src/token.rs:414:1
   |
14 | assert_tokens(&s, &[
   | ^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `main::S`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:20
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |                    ---------------- required by this bound in `serde_test::assert_tokens`

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0277`.
Couldn't compile the test.
---- src/token.rs - token::Token::StructVariant (line 434) stdout ----
error: cannot find derive macro `Serialize` in this scope
 --> src/token.rs:439:10
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |          ^^^^^^^^^

error: cannot find derive macro `Deserialize` in this scope
 --> src/token.rs:439:21
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |                     ^^^^^^^^^^^

error[E0277]: the trait bound `main::E: serde::ser::Serialize` is not satisfied
  --> src/token.rs:445:1
   |
13 | assert_tokens(&d, &[
   | ^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `main::E`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:8
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |        --------- required by this bound in `serde_test::assert_tokens`

error[E0277]: the trait bound `main::E: serde::de::Deserialize<'_>` is not satisfied
  --> src/token.rs:445:1
   |
13 | assert_tokens(&d, &[
   | ^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `main::E`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:20
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |                    ---------------- required by this bound in `serde_test::assert_tokens`

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0277`.
Couldn't compile the test.
---- src/token.rs - token::Token::TupleStruct (line 316) stdout ----
error: cannot find derive macro `Serialize` in this scope
 --> src/token.rs:321:10
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |          ^^^^^^^^^

error: cannot find derive macro `Deserialize` in this scope
 --> src/token.rs:321:21
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |                     ^^^^^^^^^^^

error[E0277]: the trait bound `main::T: serde::ser::Serialize` is not satisfied
  --> src/token.rs:325:1
   |
11 | assert_tokens(&t, &[
   | ^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `main::T`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:8
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |        --------- required by this bound in `serde_test::assert_tokens`

error[E0277]: the trait bound `main::T: serde::de::Deserialize<'_>` is not satisfied
  --> src/token.rs:325:1
   |
11 | assert_tokens(&t, &[
   | ^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `main::T`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:20
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |                    ---------------- required by this bound in `serde_test::assert_tokens`

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0277`.
Couldn't compile the test.
---- src/token.rs - token::Token::TupleVariant (line 343) stdout ----
error: cannot find derive macro `Serialize` in this scope
 --> src/token.rs:348:10
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |          ^^^^^^^^^

error: cannot find derive macro `Deserialize` in this scope
 --> src/token.rs:348:21
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |                     ^^^^^^^^^^^

error[E0277]: the trait bound `main::E: serde::ser::Serialize` is not satisfied
  --> src/token.rs:354:1
   |
13 | assert_tokens(&c, &[
   | ^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `main::E`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:8
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |        --------- required by this bound in `serde_test::assert_tokens`

error[E0277]: the trait bound `main::E: serde::de::Deserialize<'_>` is not satisfied
  --> src/token.rs:354:1
   |
13 | assert_tokens(&c, &[
   | ^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `main::E`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:20
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |                    ---------------- required by this bound in `serde_test::assert_tokens`

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0277`.
Couldn't compile the test.
---- src/token.rs - token::Token::UnitStruct (line 188) stdout ----
error: cannot find derive macro `Serialize` in this scope
 --> src/token.rs:193:10
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |          ^^^^^^^^^

error: cannot find derive macro `Deserialize` in this scope
 --> src/token.rs:193:21
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |                     ^^^^^^^^^^^

error[E0277]: the trait bound `main::X: serde::ser::Serialize` is not satisfied
  --> src/token.rs:196:15
   |
10 | assert_tokens(&X, &[Token::UnitStruct { name: "X" }]);
   |               ^^ the trait `serde::ser::Serialize` is not implemented for `main::X`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:8
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |        --------- required by this bound in `serde_test::assert_tokens`

error[E0277]: the trait bound `main::X: serde::de::Deserialize<'_>` is not satisfied
  --> src/token.rs:196:15
   |
10 | assert_tokens(&X, &[Token::UnitStruct { name: "X" }]);
   |               ^^ the trait `serde::de::Deserialize<'_>` is not implemented for `main::X`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:20
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |                    ---------------- required by this bound in `serde_test::assert_tokens`

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0277`.
Couldn't compile the test.
---- src/token.rs - token::Token::UnitVariant (line 203) stdout ----
error: cannot find derive macro `Serialize` in this scope
 --> src/token.rs:208:10
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |          ^^^^^^^^^

error: cannot find derive macro `Deserialize` in this scope
 --> src/token.rs:208:21
  |
7 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
  |                     ^^^^^^^^^^^

error[E0277]: the trait bound `main::E: serde::ser::Serialize` is not satisfied
  --> src/token.rs:214:15
   |
13 | assert_tokens(&a, &[Token::UnitVariant { name: "E", variant: "A" }]);
   |               ^^ the trait `serde::ser::Serialize` is not implemented for `main::E`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:8
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |        --------- required by this bound in `serde_test::assert_tokens`

error[E0277]: the trait bound `main::E: serde::de::Deserialize<'_>` is not satisfied
  --> src/token.rs:214:15
   |
13 | assert_tokens(&a, &[Token::UnitVariant { name: "E", variant: "A" }]);
   |               ^^ the trait `serde::de::Deserialize<'_>` is not implemented for `main::E`
   | 
  ::: /home/kent/.cpanm/work/1582960914.23512/serde_test-1.0.104/src/assert.rs:33:20
   |
33 |     T: Serialize + Deserialize<'de> + PartialEq + Debug,
   |                    ---------------- required by this bound in `serde_test::assert_tokens`

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0277`.
Couldn't compile the test.

failures:
    src/assert.rs - assert::assert_de_tokens (line 130)
    src/assert.rs - assert::assert_de_tokens_error (line 183)
    src/assert.rs - assert::assert_ser_tokens (line 41)
    src/assert.rs - assert::assert_ser_tokens_error (line 79)
    src/assert.rs - assert::assert_tokens (line 11)
    src/token.rs - token::Token::Enum (line 464)
    src/token.rs - token::Token::NewtypeStruct (line 226)
    src/token.rs - token::Token::NewtypeVariant (line 247)
    src/token.rs - token::Token::Struct (line 402)
    src/token.rs - token::Token::StructVariant (line 434)
    src/token.rs - token::Token::TupleStruct (line 316)
    src/token.rs - token::Token::TupleVariant (line 343)
    src/token.rs - token::Token::UnitStruct (line 188)
    src/token.rs - token::Token::UnitVariant (line 203)

test result: FAILED. 23 passed; 14 failed; 0 ignored; 0 measured; 0 filtered out

error: test failed, to rerun pass '--doc'

Here is what we run in CI: https://github.com/serde-rs/serde/blob/v1.0.104/.travis.yml#L12. Cargo is bad at features; see serde-rs/serde@6d43a08.