36 Commits

Author SHA1 Message Date
David Tolnay
1799547846
Release 1.0.226 2025-09-20 16:34:44 -07:00
David Tolnay
ee3c2372fb
Opt in to generate-macro-expansion when building on docs.rs 2025-09-16 16:29:21 -07:00
David Tolnay
1d7899d671
Release 1.0.225 2025-09-15 20:43:08 -07:00
David Tolnay
cbe98a9888
Use differently named __private module per patch release 2025-09-15 09:53:14 -07:00
David Tolnay
169988206a
Release 1.0.224 2025-09-15 08:46:21 -07:00
David Tolnay
bf9ebea392
Mark every trait impl for a private type with do_not_recommend 2025-09-14 19:47:36 -07:00
David Tolnay
6c316d7cb5
Release 1.0.223 2025-09-14 13:20:31 -07:00
David Tolnay
ed76364f87
Change serde_core's html_root_url to docs.rs/serde_core 2025-09-14 12:54:38 -07:00
David Tolnay
57e21a1afa
Release 1.0.222 2025-09-14 11:09:08 -07:00
David Tolnay
00b1b6b2b5
Move Content's Deserialize impl from serde_core to serde 2025-09-14 08:35:53 -07:00
David Tolnay
cf141aa8c7
Move Content's Clone impl from serde_core to serde 2025-09-14 08:35:32 -07:00
David Tolnay
ff3aee490a
Release 1.0.221 2025-09-13 17:25:20 -07:00
David Tolnay
3bea3b6989
Move serde_if_integer128 macro to serde 2025-09-13 17:12:58 -07:00
David Tolnay
900c922f41
Illustrate build timings in serde_core readme 2025-09-13 17:09:47 -07:00
David Tolnay
be255d62c8
Release 1.0.220 2025-09-13 14:45:43 -07:00
David Tolnay
6bea2e04e4
Move doc helper macros to serde_core 2025-09-13 14:32:21 -07:00
David Tolnay
7987ad700e
Fix serde_core doc tests 2025-09-13 14:32:21 -07:00
David Tolnay
a9150aad74
Make serde_core::Result private 2025-09-13 14:29:23 -07:00
David Tolnay
5ac3d84d99
Make InPlaceSeed private 2025-09-13 14:29:23 -07:00
David Tolnay
f916ec6baa
Make size_hint private 2025-09-13 14:29:22 -07:00
David Tolnay
7f831225a9
Make from_utf8_lossy private 2025-09-13 14:29:01 -07:00
David Tolnay
a16893429b
Make module for Content-related private code 2025-09-13 14:26:58 -07:00
David Tolnay
f669f16127
Restore __deserialize_content optimization 2025-09-13 14:22:33 -07:00
David Tolnay
8909fc0c60
Enforce derive cannot be used against serde_core
Even for a simple data structure that would ordinarily expand to an impl
that only refers to the public Serde traits without serde::__private, we
still disallow a (renamed) serde_core dependency. This leaves the
liberty to new usage of private helpers in such impls over time. For
example, similar to the optimization of the standard library's
derive(Debug) that introduced debug_struct_field1_finish to improve
compile time of derived impls.
2025-09-13 14:15:44 -07:00
David Tolnay
3c747e4585
Relocate serde_derive version constraint from serde to serde_core
This disallows using an old version of serde_derive against a new
version of serde_core (with a rename to serde in Cargo.toml).
2025-09-13 14:15:44 -07:00
David Tolnay
ac8b7ea052
Update serde_core package.description in Cargo.toml 2025-09-13 14:07:54 -07:00
David Tolnay
c1b2f43917
Tweak explanation of "result" feature 2025-09-13 14:07:54 -07:00
David Tolnay
51f8b0c52d
Rewrite serde_core readme 2025-09-13 14:07:53 -07:00
David Tolnay
6c4cae6b09
Point API documentation to docs.rs/serde 2025-09-13 14:07:53 -07:00
David Tolnay
4da055a286
Fix broken link in serde_core crates.io readme 2025-09-13 14:07:53 -07:00
David Tolnay
4bddf1b953
Override diagnostic::on_unimplemented message of all serde_core traits
This prevents diagnostics being rendered like `serde_core::ser::Serialize`
and `serde_core:🇩🇪:Deserialize` in projects that have no direct
dependency on serde_core.

The attributes make error messages arguably sometimes worse than
pre-serde_core by always rendering `serde::Serialize` and never
`Serialize` when `use serde::Serialize` is in scope, which rustc's
default message construction knows to recognize. But this is probably
negligible.

I explored the alternative of setting `[lib] name = "serde"` in
serde_core/Cargo.toml which also prevents `serde_core::ser::Serialize`
in messages, but has the unwanted effect of also inserting the following
noise into every such error:

    note: there are multiple different versions of crate `serde` in the dependency graph
        --> $WORKSPACE/serde_core/src/ser/mod.rs:225:1
         |
     225 | pub trait Serialize {
         | ^^^^^^^^^^^^^^^^^^^ this is the required trait
         |
        ::: src/main.rs:1:1
         |
       1 | struct MyStruct;
         | --------------- this type doesn't implement the required trait
    ...
       4 |     let _ = serde_json::to_string(&MyStruct);
         |             ----------
         |             |
         |             one version of crate `serde` used here, as a dependency of crate `serde`
         |             one version of crate `serde` used here, as a dependency of crate `serde_json`
         |
        ::: $WORKSPACE/serde/src/private/de.rs:2347:1
         |
    2347 | pub trait IdentifierDeserializer<'de, E: Error> {
         | ----------------------------------------------- this is the found trait
         = help: you can use `cargo tree` to explore your dependency tree

The "this is the found trait" pointing to `IdentifierDeserializer` seems
like a compiler bug...
2025-09-13 13:59:52 -07:00
Piotr Osiewicz
f9baf39dc3 review: Update crates-io.md 2025-06-06 12:15:59 +02:00
Piotr Osiewicz
3deb08946e review: Gate Result impls behind a feature gate 2025-06-06 11:57:32 +02:00
Piotr Osiewicz
43f5eb5c69 review: Bring back old doc comment for serde_core 2025-06-06 11:57:32 +02:00
Piotr Osiewicz
5fcfbed3ea review: Update license symlinks 2025-06-06 11:57:32 +02:00
Piotr Osiewicz
f3869307cc feat: extract serde_core out of serde 2025-06-06 11:57:32 +02:00