Skip to content

Commit 28a0922

Browse files
committed
Work around test suite dead code warnings in nightly-2024-07-07
warning: struct `Cows` is never constructed --> test_suite/tests/test_borrow.rs:165:12 | 165 | struct Cows<'a, 'b> { | ^^^^ warning: struct `Wrap` is never constructed --> test_suite/tests/test_borrow.rs:181:12 | 181 | struct Wrap<'a, 'b> { | ^^^^ warning: struct `StructSkipDefaultGeneric` is never constructed --> test_suite/tests/test_de.rs:96:8 | 96 | struct StructSkipDefaultGeneric<T> { | ^^^^^^^^^^^^^^^^^^^^^^^^ warning: struct `NonAsciiIdents` is never constructed --> test_suite/tests/test_gen.rs:290:12 | 290 | struct NonAsciiIdents { | ^^^^^^^^^^^^^^ | note: the lint level is defined here --> test_suite/tests/test_gen.rs:5:9 | 5 | #![deny(warnings)] | ^^^^^^^^ = note: `#[warn(dead_code)]` implied by `#[warn(warnings)]` warning: struct `EmptyBraced` is never constructed --> test_suite/tests/test_gen.rs:295:12 | 295 | struct EmptyBraced {} | ^^^^^^^^^^^ warning: struct `EmptyBracedDenyUnknown` is never constructed --> test_suite/tests/test_gen.rs:299:12 | 299 | struct EmptyBracedDenyUnknown {} | ^^^^^^^^^^^^^^^^^^^^^^ warning: struct `BracedSkipAll` is never constructed --> test_suite/tests/test_gen.rs:302:12 | 302 | struct BracedSkipAll { | ^^^^^^^^^^^^^ warning: struct `BracedSkipAllDenyUnknown` is never constructed --> test_suite/tests/test_gen.rs:309:12 | 309 | struct BracedSkipAllDenyUnknown { | ^^^^^^^^^^^^^^^^^^^^^^^^ warning: struct `EmptyTuple` is never constructed --> test_suite/tests/test_gen.rs:315:12 | 315 | struct EmptyTuple(); | ^^^^^^^^^^ warning: struct `EmptyTupleDenyUnknown` is never constructed --> test_suite/tests/test_gen.rs:319:12 | 319 | struct EmptyTupleDenyUnknown(); | ^^^^^^^^^^^^^^^^^^^^^ warning: struct `TupleSkipAll` is never constructed --> test_suite/tests/test_gen.rs:322:12 | 322 | struct TupleSkipAll(#[serde(skip_deserializing)] u8); | ^^^^^^^^^^^^ warning: struct `TupleSkipAllDenyUnknown` is never constructed --> test_suite/tests/test_gen.rs:326:12 | 326 | struct TupleSkipAllDenyUnknown(#[serde(skip_deserializing)] u8); | ^^^^^^^^^^^^^^^^^^^^^^^ warning: enum `EmptyEnum` is never used --> test_suite/tests/test_gen.rs:329:10 | 329 | enum EmptyEnum {} | ^^^^^^^^^ warning: enum `EmptyEnumDenyUnknown` is never used --> test_suite/tests/test_gen.rs:333:10 | 333 | enum EmptyEnumDenyUnknown {} | ^^^^^^^^^^^^^^^^^^^^ warning: enum `EnumSkipAll` is never used --> test_suite/tests/test_gen.rs:336:10 | 336 | enum EnumSkipAll { | ^^^^^^^^^^^ warning: enum `EmptyVariants` is never used --> test_suite/tests/test_gen.rs:343:10 | 343 | enum EmptyVariants { | ^^^^^^^^^^^^^ warning: enum `EmptyVariantsDenyUnknown` is never used --> test_suite/tests/test_gen.rs:355:10 | 355 | enum EmptyVariantsDenyUnknown { | ^^^^^^^^^^^^^^^^^^^^^^^^ warning: struct `UnitDenyUnknown` is never constructed --> test_suite/tests/test_gen.rs:367:12 | 367 | struct UnitDenyUnknown; | ^^^^^^^^^^^^^^^ warning: struct `EmptyArray` is never constructed --> test_suite/tests/test_gen.rs:370:12 | 370 | struct EmptyArray { | ^^^^^^^^^^ warning: enum `Or` is never used --> test_suite/tests/test_gen.rs:374:10 | 374 | enum Or<A, B> { | ^^ warning: enum `OrDef` is never used --> test_suite/tests/test_gen.rs:381:10 | 381 | enum OrDef<A, B> { | ^^^^^ warning: struct `Str` is never constructed --> test_suite/tests/test_gen.rs:386:12 | 386 | struct Str<'a>(&'a str); | ^^^ warning: struct `StrDef` is never constructed --> test_suite/tests/test_gen.rs:390:12 | 390 | struct StrDef<'a>(&'a str); | ^^^^^^ warning: struct `Remote` is never constructed --> test_suite/tests/test_gen.rs:393:12 | 393 | struct Remote<'a> { | ^^^^^^ warning: enum `BorrowVariant` is never used --> test_suite/tests/test_gen.rs:401:10 | 401 | enum BorrowVariant<'a> { | ^^^^^^^^^^^^^ warning: struct `RemoteVisibility` is never constructed --> test_suite/tests/test_gen.rs:418:12 | 418 | struct RemoteVisibility { | ^^^^^^^^^^^^^^^^ warning: struct `FlattenDenyUnknown` is never constructed --> test_suite/tests/test_gen.rs:551:12 | 551 | struct FlattenDenyUnknown<T> { | ^^^^^^^^^^^^^^^^^^ warning: struct `StaticStrStruct` is never constructed --> test_suite/tests/test_gen.rs:557:12 | 557 | struct StaticStrStruct<'a> { | ^^^^^^^^^^^^^^^ warning: struct `StaticStrTupleStruct` is never constructed --> test_suite/tests/test_gen.rs:563:12 | 563 | struct StaticStrTupleStruct<'a>(&'a str, &'static str); | ^^^^^^^^^^^^^^^^^^^^ warning: struct `StaticStrNewtypeStruct` is never constructed --> test_suite/tests/test_gen.rs:566:12 | 566 | struct StaticStrNewtypeStruct(&'static str); | ^^^^^^^^^^^^^^^^^^^^^^ warning: enum `StaticStrEnum` is never used --> test_suite/tests/test_gen.rs:569:10 | 569 | enum StaticStrEnum<'a> { | ^^^^^^^^^^^^^ warning: enum `AdjacentlyTaggedVoid` is never used --> test_suite/tests/test_gen.rs:652:10 | 652 | enum AdjacentlyTaggedVoid {} | ^^^^^^^^^^^^^^^^^^^^ warning: struct `ImplicitlyBorrowedOption` is never constructed --> test_suite/tests/test_gen.rs:665:12 | 665 | struct ImplicitlyBorrowedOption<'a> { | ^^^^^^^^^^^^^^^^^^^^^^^^ warning: enum `UntaggedNewtypeVariantWith` is never used --> test_suite/tests/test_gen.rs:672:10 | 672 | enum UntaggedNewtypeVariantWith { | ^^^^^^^^^^^^^^^^^^^^^^^^^^ warning: struct `TransparentWith` is never constructed --> test_suite/tests/test_gen.rs:682:12 | 682 | struct TransparentWith { | ^^^^^^^^^^^^^^^ warning: struct `FlattenSkipSerializing` is never constructed --> test_suite/tests/test_gen.rs:712:12 | 712 | struct FlattenSkipSerializing<T> { | ^^^^^^^^^^^^^^^^^^^^^^ warning: struct `FlattenSkipSerializingIf` is never constructed --> test_suite/tests/test_gen.rs:719:12 | 719 | struct FlattenSkipSerializingIf<T> { | ^^^^^^^^^^^^^^^^^^^^^^^^ warning: struct `FlattenSkipDeserializing` is never constructed --> test_suite/tests/test_gen.rs:725:12 | 725 | struct FlattenSkipDeserializing<T> { | ^^^^^^^^^^^^^^^^^^^^^^^^ warning: enum `Message` is never used --> test_suite/tests/test_gen.rs:732:10 | 732 | enum Message { | ^^^^^^^ warning: struct `MacroRules` is never constructed --> test_suite/tests/test_gen.rs:751:20 | 751 | struct MacroRules<'a> { | ^^^^^^^^^^ ... 758 | deriving!(&'a str); | ------------------ in this macro invocation | = note: this warning originates in the macro `deriving` (in Nightly builds, run with -Z macro-backtrace for more info) warning: struct `BorrowLifetimeInsideMacro` is never constructed --> test_suite/tests/test_gen.rs:767:12 | 767 | struct BorrowLifetimeInsideMacro<'a> { | ^^^^^^^^^^^^^^^^^^^^^^^^^ warning: struct `GenericUnitStruct` is never constructed --> test_suite/tests/test_gen.rs:782:12 | 782 | struct GenericUnitStruct<const N: usize>; | ^^^^^^^^^^^^^^^^^ warning: enum `InternallyTagged` is never used --> test_suite/tests/test_gen.rs:869:6 | 869 | enum InternallyTagged { | ^^^^^^^^^^^^^^^^ warning: function `deserialize_generic` is never used --> test_suite/tests/test_gen.rs:880:4 | 880 | fn deserialize_generic<'de, T, D>(deserializer: D) -> StdResult<T, D::Error> | ^^^^^^^^^^^^^^^^^^^ warning: struct `Restricted` is never constructed --> test_suite/tests/test_gen.rs:643:20 | 643 | struct Restricted { | ^^^^^^^^^^ warning: struct `Test` is never constructed --> test_suite/tests/test_remote.rs:95:8 | 95 | struct Test { | ^^^^ warning: struct `UnitDef` is never constructed --> test_suite/tests/test_remote.rs:135:8 | 135 | struct UnitDef; | ^^^^^^^ warning: struct `PrimitivePubDef` is never constructed --> test_suite/tests/test_remote.rs:143:8 | 143 | struct PrimitivePubDef(u8); | ^^^^^^^^^^^^^^^ warning: struct `NewtypePubDef` is never constructed --> test_suite/tests/test_remote.rs:151:8 | 151 | struct NewtypePubDef(#[serde(with = "UnitDef")] remote::Unit); | ^^^^^^^^^^^^^ warning: struct `TuplePubDef` is never constructed --> test_suite/tests/test_remote.rs:162:8 | 162 | struct TuplePubDef(u8, #[serde(with = "UnitDef")] remote::Unit); | ^^^^^^^^^^^ warning: struct `StructPubDef` is never constructed --> test_suite/tests/test_remote.rs:177:8 | 177 | struct StructPubDef { | ^^^^^^^^^^^^ warning: struct `StructConcrete` is never constructed --> test_suite/tests/test_remote.rs:193:8 | 193 | struct StructConcrete { | ^^^^^^^^^^^^^^ warning: enum `EnumConcrete` is never used --> test_suite/tests/test_remote.rs:199:6 | 199 | enum EnumConcrete { | ^^^^^^^^^^^^ warning: enum `ErrorKind` is never used --> test_suite/tests/test_remote.rs:204:6 | 204 | enum ErrorKind { | ^^^^^^^^^ warning: enum `ErrorKindDef` is never used --> test_suite/tests/test_remote.rs:214:6 | 214 | enum ErrorKindDef { | ^^^^^^^^^^^^ warning: struct `PrimitivePub` is never constructed --> test_suite/tests/test_remote.rs:10:16 | 10 | pub struct PrimitivePub(pub u8); | ^^^^^^^^^^^^ warning: struct `NewtypePub` is never constructed --> test_suite/tests/test_remote.rs:14:16 | 14 | pub struct NewtypePub(pub Unit); | ^^^^^^^^^^ warning: struct `TuplePub` is never constructed --> test_suite/tests/test_remote.rs:18:16 | 18 | pub struct TuplePub(pub u8, pub Unit); | ^^^^^^^^ warning: struct `StructPub` is never constructed --> test_suite/tests/test_remote.rs:25:16 | 25 | pub struct StructPub { | ^^^^^^^^^ warning: enum `EnumGeneric` is never used --> test_suite/tests/test_remote.rs:89:14 | 89 | pub enum EnumGeneric<T> { | ^^^^^^^^^^^ warning: struct `Tuple` is never constructed --> test_suite/tests/test_self.rs:44:12 | 44 | struct Tuple( | ^^^^^ warning: associated items `ASSOC` and `assoc` are never used --> test_suite/tests/test_self.rs:52:15 | 51 | impl Tuple { | ---------- associated items in this implementation 52 | const ASSOC: usize = 1; | ^^^^^ 53 | const fn assoc() -> usize { | ^^^^^ warning: enum `Enum` is never used --> test_suite/tests/test_self.rs:63:10 | 63 | enum Enum { | ^^^^ warning: associated items `ASSOC` and `assoc` are never used --> test_suite/tests/test_self.rs:79:15 | 78 | impl Enum { | --------- associated items in this implementation 79 | const ASSOC: usize = 1; | ^^^^^ 80 | const fn assoc() -> usize { | ^^^^^ warning: struct `Unit` is never constructed --> test_suite/no_std/src/main.rs:26:8 | 26 | struct Unit; | ^^^^ warning: struct `Newtype` is never constructed --> test_suite/no_std/src/main.rs:29:8 | 29 | struct Newtype(u8); | ^^^^^^^ warning: struct `Tuple` is never constructed --> test_suite/no_std/src/main.rs:32:8 | 32 | struct Tuple(u8, u8); | ^^^^^ warning: struct `Struct` is never constructed --> test_suite/no_std/src/main.rs:35:8 | 35 | struct Struct { | ^^^^^^ warning: enum `Enum` is never used --> test_suite/no_std/src/main.rs:40:6 | 40 | enum Enum { | ^^^^
1 parent 18dcae0 commit 28a0922

File tree

6 files changed

+69
-60
lines changed

6 files changed

+69
-60
lines changed

test_suite/no_std/src/main.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,21 @@ fn panic(_info: &core::panic::PanicInfo) -> ! {
2323
use serde_derive::{Deserialize, Serialize};
2424

2525
#[derive(Serialize, Deserialize)]
26-
struct Unit;
26+
pub struct Unit;
2727

2828
#[derive(Serialize, Deserialize)]
29-
struct Newtype(u8);
29+
pub struct Newtype(u8);
3030

3131
#[derive(Serialize, Deserialize)]
32-
struct Tuple(u8, u8);
32+
pub struct Tuple(u8, u8);
3333

3434
#[derive(Serialize, Deserialize)]
35-
struct Struct {
35+
pub struct Struct {
3636
f: u8,
3737
}
3838

3939
#[derive(Serialize, Deserialize)]
40-
enum Enum {
40+
pub enum Enum {
4141
Unit,
4242
Newtype(u8),
4343
Tuple(u8, u8),

test_suite/tests/test_borrow.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ fn test_cow() {
162162
#[test]
163163
fn test_lifetimes() {
164164
#[derive(Deserialize)]
165-
struct Cows<'a, 'b> {
165+
pub struct Cows<'a, 'b> {
166166
_copied: Cow<'a, str>,
167167

168168
#[serde(borrow)]
@@ -178,7 +178,7 @@ fn test_lifetimes() {
178178
}
179179

180180
#[derive(Deserialize)]
181-
struct Wrap<'a, 'b> {
181+
pub struct Wrap<'a, 'b> {
182182
#[serde(borrow = "'b")]
183183
_cows: Cows<'a, 'b>,
184184
}

test_suite/tests/test_de.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ struct StructSkipDefault {
9393

9494
#[derive(PartialEq, Debug, Deserialize)]
9595
#[serde(default)]
96-
struct StructSkipDefaultGeneric<T> {
96+
pub struct StructSkipDefaultGeneric<T> {
9797
#[serde(skip_deserializing)]
9898
t: T,
9999
}

test_suite/tests/test_gen.rs

Lines changed: 44 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -287,60 +287,60 @@ fn test_gen() {
287287
assert::<EmptyEnumVariant>();
288288

289289
#[derive(Serialize, Deserialize)]
290-
struct NonAsciiIdents {
290+
pub struct NonAsciiIdents {
291291
σ: f64,
292292
}
293293

294294
#[derive(Serialize, Deserialize)]
295-
struct EmptyBraced {}
295+
pub struct EmptyBraced {}
296296

297297
#[derive(Serialize, Deserialize)]
298298
#[serde(deny_unknown_fields)]
299-
struct EmptyBracedDenyUnknown {}
299+
pub struct EmptyBracedDenyUnknown {}
300300

301301
#[derive(Serialize, Deserialize)]
302-
struct BracedSkipAll {
302+
pub struct BracedSkipAll {
303303
#[serde(skip_deserializing)]
304304
f: u8,
305305
}
306306

307307
#[derive(Serialize, Deserialize)]
308308
#[serde(deny_unknown_fields)]
309-
struct BracedSkipAllDenyUnknown {
309+
pub struct BracedSkipAllDenyUnknown {
310310
#[serde(skip_deserializing)]
311311
f: u8,
312312
}
313313

314314
#[derive(Serialize, Deserialize)]
315-
struct EmptyTuple();
315+
pub struct EmptyTuple();
316316

317317
#[derive(Serialize, Deserialize)]
318318
#[serde(deny_unknown_fields)]
319-
struct EmptyTupleDenyUnknown();
319+
pub struct EmptyTupleDenyUnknown();
320320

321321
#[derive(Serialize, Deserialize)]
322-
struct TupleSkipAll(#[serde(skip_deserializing)] u8);
322+
pub struct TupleSkipAll(#[serde(skip_deserializing)] u8);
323323

324324
#[derive(Serialize, Deserialize)]
325325
#[serde(deny_unknown_fields)]
326-
struct TupleSkipAllDenyUnknown(#[serde(skip_deserializing)] u8);
326+
pub struct TupleSkipAllDenyUnknown(#[serde(skip_deserializing)] u8);
327327

328328
#[derive(Serialize, Deserialize)]
329-
enum EmptyEnum {}
329+
pub enum EmptyEnum {}
330330

331331
#[derive(Serialize, Deserialize)]
332332
#[serde(deny_unknown_fields)]
333-
enum EmptyEnumDenyUnknown {}
333+
pub enum EmptyEnumDenyUnknown {}
334334

335335
#[derive(Serialize, Deserialize)]
336-
enum EnumSkipAll {
336+
pub enum EnumSkipAll {
337337
#[serde(skip_deserializing)]
338338
#[allow(dead_code)]
339339
Variant,
340340
}
341341

342342
#[derive(Serialize, Deserialize)]
343-
enum EmptyVariants {
343+
pub enum EmptyVariants {
344344
Braced {},
345345
Tuple(),
346346
BracedSkip {
@@ -352,7 +352,7 @@ fn test_gen() {
352352

353353
#[derive(Serialize, Deserialize)]
354354
#[serde(deny_unknown_fields)]
355-
enum EmptyVariantsDenyUnknown {
355+
pub enum EmptyVariantsDenyUnknown {
356356
Braced {},
357357
Tuple(),
358358
BracedSkip {
@@ -364,21 +364,21 @@ fn test_gen() {
364364

365365
#[derive(Serialize, Deserialize)]
366366
#[serde(deny_unknown_fields)]
367-
struct UnitDenyUnknown;
367+
pub struct UnitDenyUnknown;
368368

369369
#[derive(Serialize, Deserialize)]
370-
struct EmptyArray {
370+
pub struct EmptyArray {
371371
empty: [X; 0],
372372
}
373373

374-
enum Or<A, B> {
374+
pub enum Or<A, B> {
375375
A(A),
376376
B(B),
377377
}
378378

379379
#[derive(Serialize, Deserialize)]
380380
#[serde(untagged, remote = "Or")]
381-
enum OrDef<A, B> {
381+
pub enum OrDef<A, B> {
382382
A(A),
383383
B(B),
384384
}
@@ -390,15 +390,15 @@ fn test_gen() {
390390
struct StrDef<'a>(&'a str);
391391

392392
#[derive(Serialize, Deserialize)]
393-
struct Remote<'a> {
393+
pub struct Remote<'a> {
394394
#[serde(with = "OrDef")]
395395
or: Or<u8, bool>,
396396
#[serde(borrow, with = "StrDef")]
397397
s: Str<'a>,
398398
}
399399

400400
#[derive(Serialize, Deserialize)]
401-
enum BorrowVariant<'a> {
401+
pub enum BorrowVariant<'a> {
402402
#[serde(borrow, with = "StrDef")]
403403
S(Str<'a>),
404404
}
@@ -415,15 +415,14 @@ fn test_gen() {
415415

416416
// This would not work if SDef::serialize / deserialize are private.
417417
#[derive(Serialize, Deserialize)]
418-
struct RemoteVisibility {
418+
pub struct RemoteVisibility {
419419
#[serde(with = "vis::SDef")]
420420
s: vis::S,
421421
}
422422

423423
#[derive(Serialize, Deserialize)]
424424
#[serde(remote = "Self")]
425-
#[allow(dead_code)]
426-
struct RemoteSelf;
425+
pub struct RemoteSelf;
427426

428427
#[derive(Serialize, Deserialize)]
429428
enum ExternallyTaggedVariantWith {
@@ -548,25 +547,25 @@ fn test_gen() {
548547

549548
#[derive(Serialize, Deserialize)]
550549
#[serde(deny_unknown_fields)]
551-
struct FlattenDenyUnknown<T> {
550+
pub struct FlattenDenyUnknown<T> {
552551
#[serde(flatten)]
553552
t: T,
554553
}
555554

556555
#[derive(Serialize, Deserialize)]
557-
struct StaticStrStruct<'a> {
556+
pub struct StaticStrStruct<'a> {
558557
a: &'a str,
559558
b: &'static str,
560559
}
561560

562561
#[derive(Serialize, Deserialize)]
563-
struct StaticStrTupleStruct<'a>(&'a str, &'static str);
562+
pub struct StaticStrTupleStruct<'a>(&'a str, &'static str);
564563

565564
#[derive(Serialize, Deserialize)]
566-
struct StaticStrNewtypeStruct(&'static str);
565+
pub struct StaticStrNewtypeStruct(&'static str);
567566

568567
#[derive(Serialize, Deserialize)]
569-
enum StaticStrEnum<'a> {
568+
pub enum StaticStrEnum<'a> {
570569
Struct { a: &'a str, b: &'static str },
571570
Tuple(&'a str, &'static str),
572571
Newtype(&'static str),
@@ -640,6 +639,7 @@ fn test_gen() {
640639
use serde_derive::{Deserialize, Serialize};
641640

642641
#[derive(Serialize, Deserialize)]
642+
#[allow(dead_code)]
643643
struct Restricted {
644644
pub(super) a: usize,
645645
pub(in super::inner) b: usize,
@@ -649,7 +649,7 @@ fn test_gen() {
649649

650650
#[derive(Deserialize)]
651651
#[serde(tag = "t", content = "c")]
652-
enum AdjacentlyTaggedVoid {}
652+
pub enum AdjacentlyTaggedVoid {}
653653

654654
#[derive(Serialize, Deserialize)]
655655
enum SkippedVariant<T> {
@@ -662,14 +662,13 @@ fn test_gen() {
662662
assert::<SkippedVariant<X>>();
663663

664664
#[derive(Deserialize)]
665-
struct ImplicitlyBorrowedOption<'a> {
666-
#[allow(dead_code)]
665+
pub struct ImplicitlyBorrowedOption<'a> {
667666
option: std::option::Option<&'a str>,
668667
}
669668

670669
#[derive(Serialize, Deserialize)]
671670
#[serde(untagged)]
672-
enum UntaggedNewtypeVariantWith {
671+
pub enum UntaggedNewtypeVariantWith {
673672
Newtype(
674673
#[serde(serialize_with = "ser_x")]
675674
#[serde(deserialize_with = "de_x")]
@@ -679,7 +678,7 @@ fn test_gen() {
679678

680679
#[derive(Serialize, Deserialize)]
681680
#[serde(transparent)]
682-
struct TransparentWith {
681+
pub struct TransparentWith {
683682
#[serde(serialize_with = "ser_x")]
684683
#[serde(deserialize_with = "de_x")]
685684
x: X,
@@ -701,35 +700,33 @@ fn test_gen() {
701700
}
702701

703702
#[derive(Deserialize)]
704-
struct RelObject<'a> {
705-
#[allow(dead_code)]
703+
pub struct RelObject<'a> {
706704
ty: &'a str,
707-
#[allow(dead_code)]
708705
id: String,
709706
}
710707

711708
#[derive(Serialize, Deserialize)]
712-
struct FlattenSkipSerializing<T> {
709+
pub struct FlattenSkipSerializing<T> {
713710
#[serde(flatten, skip_serializing)]
714711
#[allow(dead_code)]
715712
flat: T,
716713
}
717714

718715
#[derive(Serialize, Deserialize)]
719-
struct FlattenSkipSerializingIf<T> {
716+
pub struct FlattenSkipSerializingIf<T> {
720717
#[serde(flatten, skip_serializing_if = "StdOption::is_none")]
721718
flat: StdOption<T>,
722719
}
723720

724721
#[derive(Serialize, Deserialize)]
725-
struct FlattenSkipDeserializing<T> {
722+
pub struct FlattenSkipDeserializing<T> {
726723
#[serde(flatten, skip_deserializing)]
727724
flat: T,
728725
}
729726

730727
// https://github.com/serde-rs/serde/issues/1804
731728
#[derive(Serialize, Deserialize)]
732-
enum Message {
729+
pub enum Message {
733730
#[serde(skip)]
734731
#[allow(dead_code)]
735732
String(String),
@@ -748,8 +745,7 @@ fn test_gen() {
748745
macro_rules! deriving {
749746
($field:ty) => {
750747
#[derive(Deserialize)]
751-
struct MacroRules<'a> {
752-
#[allow(dead_code)]
748+
pub struct MacroRules<'a> {
753749
field: $field,
754750
}
755751
};
@@ -764,22 +760,20 @@ fn test_gen() {
764760
}
765761

766762
#[derive(Deserialize)]
767-
struct BorrowLifetimeInsideMacro<'a> {
763+
pub struct BorrowLifetimeInsideMacro<'a> {
768764
#[serde(borrow = "'a")]
769-
#[allow(dead_code)]
770-
f: mac!(Cow<'a, str>),
765+
pub f: mac!(Cow<'a, str>),
771766
}
772767

773768
#[derive(Serialize)]
774-
#[allow(dead_code)]
775-
struct Struct {
769+
pub struct Struct {
776770
#[serde(serialize_with = "vec_first_element")]
777-
vec: Vec<Self>,
771+
pub vec: Vec<Self>,
778772
}
779773

780774
#[derive(Deserialize)]
781775
#[serde(bound(deserialize = "[&'de str; N]: Copy"))]
782-
struct GenericUnitStruct<const N: usize>;
776+
pub struct GenericUnitStruct<const N: usize>;
783777
}
784778

785779
//////////////////////////////////////////////////////////////////////////
@@ -866,7 +860,7 @@ where
866860

867861
#[derive(Debug, PartialEq, Deserialize)]
868862
#[serde(tag = "tag")]
869-
enum InternallyTagged {
863+
pub enum InternallyTagged {
870864
#[serde(deserialize_with = "deserialize_generic")]
871865
Unit,
872866

0 commit comments

Comments
 (0)