David Tolnay
05a5b7e3c6
Release 1.0.183
2023-08-06 21:00:14 -07:00
David Tolnay
3bff326fb3
Merge pull request #2555 from Mingun/field
...
Refactor code that generates `__Field` enums
2023-08-06 18:23:52 -07:00
David Tolnay
aaadd93878
Merge pull request #2556 from DBLouis/master
...
Add forward impl for OsStr
2023-08-06 18:02:21 -07:00
Louis Dupré Bertoni
9c864f0b02
Add forward impl for OsStr
2023-08-06 19:41:19 +03:00
Mingun
070cce0d9c
Get rid of temporary variable
2023-08-06 19:55:48 +05:00
Mingun
b58e8bac12
Replace if let Some(...) = ...
to Option::map
2023-08-06 19:53:39 +05:00
Mingun
ada50b077e
ignore_variant variable is always None, let's take this into account
2023-08-06 19:36:48 +05:00
Mingun
5e313a7330
Move generiс code out-of-function, create more specialized and simple code
2023-08-06 19:35:27 +05:00
Mingun
2a36d11238
Introduce a dedicated function for generating Field enum
...
(the enum that represents all fields of a struct)
2023-08-06 19:32:53 +05:00
David Tolnay
b6685cf9dd
Release 1.0.182
2023-08-05 22:16:46 -07:00
David Tolnay
fc273c6763
Resolve needless_return clippy lint in PR 2553
...
warning: unneeded `return` statement
--> serde_derive/src/de.rs:2986:13
|
2986 | return quote!(#assign_to __default.#member);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
= note: `-W clippy::needless-return` implied by `-W clippy::all`
help: remove `return`
|
2986 - return quote!(#assign_to __default.#member);
2986 + quote!(#assign_to __default.#member)
|
2023-08-05 22:16:19 -07:00
David Tolnay
bd7b0e257e
Touch up PR 2553
2023-08-05 22:13:09 -07:00
David Tolnay
73931692b2
Merge pull request #2553 from Mingun/default-on-tuples
...
Allow `#[serde(default)]` on tuple structs
2023-08-05 22:12:10 -07:00
David Tolnay
4d93e9f44c
Keep deserialize aliases as a sorted set
2023-08-05 17:06:11 -07:00
David Tolnay
da55ed7e8d
Remove some clones of names of things
2023-08-05 17:01:34 -07:00
David Tolnay
e3617e1f28
Update explanation of correct_aliases
2023-08-05 16:39:38 -07:00
David Tolnay
431636af0d
Merge pull request #2458 from Mingun/identifier
...
Keep aliases always sorted and include aliases in expecting message for field/variant_identifier
2023-08-05 16:39:14 -07:00
David Tolnay
891ced598a
Update test suite to nightly-2023-08-05
...
error: the feature `lang_items` is internal to the compiler or standard library
--> src/main.rs:1:12
|
1 | #![feature(lang_items, start)]
| ^^^^^^^^^^
|
= note: using it is strongly discouraged
= note: `#[deny(internal_features)]` on by default
2023-08-04 19:09:00 -07:00
David Tolnay
57dc0ee769
Release 1.0.181
2023-08-03 16:58:45 -07:00
David Tolnay
5e102c4da1
Relocate private size_hint module
...
Let's keep crate::__private for only things that *need* to be accessible
to the macro-generated code. Size_hint can be pub(crate).
2023-08-03 16:53:44 -07:00
Mingun
5c33931422
Allow #[serde(default)] on tuple structs
2023-08-03 22:32:34 +05:00
David Tolnay
4aa54222f4
Delete double reference when setting up adjacently tagged variant seed
2023-08-01 22:54:47 -07:00
David Tolnay
ef4f860384
Improve "expecting" message of adjacently tagged enum variant
2023-08-01 22:49:44 -07:00
David Tolnay
9bd52ec5c1
Inline AdjacentlyTaggedEnumVariant::new
2023-08-01 22:38:47 -07:00
David Tolnay
5cdd82d41e
Remove Serializer from name of private type that is not a Serializer
2023-08-01 22:26:04 -07:00
David Tolnay
110bf10481
Condense AdjacentlyTaggedEnummVariantVisitor implementation
2023-08-01 22:26:03 -07:00
David Tolnay
43035f6f37
Merge pull request #2505 from Baptistemontan/rework_adjacently_tagged_enum
...
Revisit of the representation of adjacently tagged enums tag
2023-08-01 22:25:31 -07:00
David Tolnay
83b1a3d5dc
Merge pull request #2443 from Mingun/deserialize-in-place
...
Simplify code in deserialize_in_place_struct and implement #2387 for in-place case
2023-08-01 21:51:22 -07:00
Mingun
878110a4bc
Simplify code after dead code elimination
2023-08-01 19:03:21 +05:00
Mingun
59ec8b7db2
Remove dead code - variant_ident and deserializer are always None
2023-08-01 19:03:20 +05:00
Mingun
cae1b43829
Inline deserialize_newtype_struct_in_place
2023-08-01 19:03:19 +05:00
Mingun
99fde4ee3e
Implement #2387 also for deserialize_in_place method
2023-08-01 19:03:19 +05:00
Mingun
afe3872810
Simplify check for missing fields
2023-08-01 19:03:18 +05:00
Mingun
3a3e6bf103
Reorder variables to match order in final quote!
2023-08-01 19:03:18 +05:00
Mingun
935f0bd70f
Merge some quote! blocks
2023-08-01 19:03:17 +05:00
Mingun
5c18bfeda6
Inline deserialize_struct_as_struct_in_place_visitor
2023-08-01 19:03:17 +05:00
Baptiste de Montangon
957ef206d1
Revisit of the representation of adjacently tagged enums tag
2023-07-31 20:53:02 +02:00
David Tolnay
0c367838cc
Merge pull request #2548 from dtolnay/toolattr
...
Adopt tool attrs for clippy lint level attributes
2023-07-31 11:48:33 -07:00
David Tolnay
2023cf345f
Adopt tool attrs for clippy lint level attributes
...
Requires rustc 1.31+.
2023-07-31 11:39:31 -07:00
David Tolnay
033d05f70b
Release 1.0.180
2023-07-31 11:16:12 -07:00
David Tolnay
fe4e3fd3b0
Merge pull request #2547 from dtolnay/tombstone
...
Delete tombstones of the `__private` module
2023-07-30 22:48:34 -07:00
David Tolnay
8a8a8a70ee
Delete tombstones of the __private module
...
These are previous names of the `__private` module -- first
`serde::export` then `serde::private` then `serde::__private` -- in all
cases marked `doc(hidden)` and documented as not public API. Leaving a
tombstone made rustc give a better diagnostic "module is private" rather
than "unresolved import". But the rename to `__private` was 2.5 years
ago in dd1f4b483e
so it's unlikely anyone
is still benefiting from the tombstone at this point.
2023-07-30 22:44:59 -07:00
David Tolnay
339dca828d
Merge pull request #2546 from dtolnay/edition
...
Update to 2018 edition
2023-07-30 22:11:44 -07:00
David Tolnay
0d7349fa4e
Resolve ambiguous core import on rustc 1.64 through 1.71
...
In 1.72+, this is fixed by https://github.com/rust-lang/rust/pull/112086 .
error[E0659]: `core` is ambiguous
--> serde/src/lib.rs:227:13
|
227 | pub use core::ffi::CStr;
| ^^^^ ambiguous name
|
= note: ambiguous because of multiple potential import sources
= note: `core` could refer to a built-in crate
= help: use `::core` to refer to this crate unambiguously
note: `core` could also refer to the module defined here
--> serde/src/lib.rs:166:5
|
166 | / mod core {
167 | | #[cfg(not(feature = "std"))]
168 | | pub use core::*;
169 | | #[cfg(feature = "std")]
170 | | pub use std::*;
171 | | }
| |_____^
= help: use `self::core` to refer to this module unambiguously
2023-07-30 22:06:18 -07:00
David Tolnay
830528d5b1
Update to 2018 edition
2023-07-30 21:45:35 -07:00
David Tolnay
ab90fbc7c9
Apply 'cargo fix --edition'
2023-07-30 21:42:57 -07:00
David Tolnay
3eec111e8f
Delete support for compilers without crate::-based module system
2023-07-30 21:42:57 -07:00
David Tolnay
9388433642
Rename 'try!' macro to 'tri!' in preparation for 2018 edition
...
Because 'try' is a keyword in 2018+.
2023-07-30 21:29:53 -07:00
David Tolnay
ba12070665
Merge pull request #2545 from dtolnay/up
...
Delete support for rustc versions 1.19 through 1.27
2023-07-30 21:25:58 -07:00
David Tolnay
a57a324d72
Delete support for compilers without NonZero integer types
2023-07-30 21:14:32 -07:00