David Tolnay
48193fbccd
Merge pull request #2435 from Mingun/hitchhiker-guide
...
Don't panic in serde_test
2023-05-04 16:27:35 -07:00
Mingun
51799dd654
Allow to flatten IgnoredAny to ignore any additional data
...
Although any additional fields in struct by default are ignored, sometimes
this can be useful, if you use generic structures, for example
2023-04-30 01:59:55 +05:00
Mingun
732ac49321
Implement PartialEq for IgnoredAny so it can be used in tests
2023-04-30 01:58:07 +05:00
Mingun
ac8ea72d88
Don't panic in serde_test
...
Panics lead to reporting errors in tests inside of serde_test internals,
returning errors moves the report location to the corresponding assert_tokens
expression
2023-04-30 00:06:51 +05:00
David Tolnay
f583401284
Merge pull request #2433 from Mingun/rm-gitattributes
...
Remove unused after .gitattributes
2023-04-26 12:04:04 -07:00
Mingun
2d88228b7d
Remove unused after a649190a4d
.gitattributes
2023-04-26 23:54:09 +05:00
David Tolnay
0c6a2bbf79
Release 1.0.160
2023-04-10 22:15:49 -07:00
David Tolnay
a80d830f27
Merge pull request #2426 from compiler-errors/dont-doc-private
...
Make derived serializer/deserializer internals `doc(hidden)`
2023-04-10 22:12:35 -07:00
Michael Goulet
5f3fd9994e
Make serializer/deserializer internals doc(hidden)
2023-04-10 21:41:50 -07:00
David Tolnay
d6de911855
Release 1.0.159
2023-03-27 22:05:58 -07:00
David Tolnay
04af32230e
Merge pull request #2422 from dtolnay/emptyattr
...
Accept empty #[serde()] attribute
2023-03-27 22:05:18 -07:00
David Tolnay
4cb8d079f8
Accept empty #[serde()] attribute
2023-03-27 22:00:46 -07:00
David Tolnay
6ab55a1e52
Add regression test for issue 2415
...
Currently fails:
error: unexpected end of input, unexpected token in nested attribute, expected ident
--> test_suite/tests/regression/issue2415.rs:4:9
|
4 | #[serde()]
| ^
2023-03-27 22:00:01 -07:00
David Tolnay
acfd19cb46
Release serde_derive_internals 0.27.0
2023-03-20 04:32:49 -07:00
David Tolnay
e3058105f0
Release 1.0.158
2023-03-20 04:24:27 -07:00
David Tolnay
dc200a6450
Reformat comments of non-public serde_derive internals
...
Fixes these being treated as "tests" by `cargo test` in serde_derive:
running 3 tests
test src/internals/check.rs - internals::check::check_remote_generic (line 23) ... FAILED
test src/internals/check.rs - internals::check::check_remote_generic (line 29) ... FAILED
test src/lib.rs - (line 3) ... ok
failures:
---- src/internals/check.rs - internals::check::check_remote_generic (line 23) stdout ----
error: unknown start of token: \u{2026}
--> src/internals/check.rs:25:20
|
4 | struct Generic<T> {…}
| ^
error: cannot find attribute `serde` in this scope
--> src/internals/check.rs:24:3
|
3 | #[serde(remote = "Generic")]
| ^^^^^
|
= note: `serde` is in scope, but it is a crate, not an attribute
error[E0392]: parameter `T` is never used
--> src/internals/check.rs:25:16
|
4 | struct Generic<T> {…}
| ^ unused parameter
|
= help: consider removing `T`, referring to it in a field, or using a marker such as `PhantomData`
= help: if you intended `T` to be a const parameter, use `const T: usize` instead
---- src/internals/check.rs - internals::check::check_remote_generic (line 29) stdout ----
error: unknown start of token: \u{2026}
--> src/internals/check.rs:31:21
|
4 | struct ConcreteDef {…}
| ^
error: cannot find attribute `serde` in this scope
--> src/internals/check.rs:30:3
|
3 | #[serde(remote = "Generic<T>")]
| ^^^^^
|
= note: `serde` is in scope, but it is a crate, not an attribute
2023-03-20 04:23:46 -07:00
David Tolnay
2c0999a0b9
Merge pull request #2410 from serde-rs/attrvalue
...
Check for None-delimited group in attribute value
2023-03-20 04:23:33 -07:00
David Tolnay
dd460f82a1
Check for None-delimited group in attribute value
2023-03-20 04:16:52 -07:00
David Tolnay
c3d637f397
Add regression test for issue 2409
2023-03-20 03:59:43 -07:00
David Tolnay
479a00a215
Release 1.0.157
2023-03-17 17:35:09 -07:00
David Tolnay
c42e7c8012
Reflect serde_derive required compiler in build script and rust-version metadata
2023-03-17 17:34:46 -07:00
David Tolnay
5b8e0657d4
Ignore single_match_else pedantic clippy lint in serde_derive_internals
...
error: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
--> serde_derive_internals/src/attr.rs:1412:8
|
1412 | Ok(match string.parse() {
| ________^
1413 | | Ok(path) => Some(path),
1414 | | Err(_) => {
1415 | | cx.error_spanned_by(
... |
1420 | | }
1421 | | })
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match_else
= note: `-D clippy::single-match-else` implied by `-D clippy::pedantic`
help: try this
|
1412 ~ Ok(if let Ok(path) = string.parse() { Some(path) } else {
1413 + cx.error_spanned_by(
1414 + &string,
1415 + format!("failed to parse path: {:?}", string.value()),
1416 + );
1417 + None
1418 ~ })
|
error: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
--> serde_derive_internals/src/attr.rs:1434:8
|
1434 | Ok(match string.parse() {
| ________^
1435 | | Ok(expr) => Some(expr),
1436 | | Err(_) => {
1437 | | cx.error_spanned_by(
... |
1442 | | }
1443 | | })
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match_else
help: try this
|
1434 ~ Ok(if let Ok(expr) = string.parse() { Some(expr) } else {
1435 + cx.error_spanned_by(
1436 + &string,
1437 + format!("failed to parse path: {:?}", string.value()),
1438 + );
1439 + None
1440 ~ })
|
error: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
--> serde_derive_internals/src/attr.rs:1478:8
|
1478 | Ok(match string.parse() {
| ________^
1479 | | Ok(ty) => Some(ty),
1480 | | Err(_) => {
1481 | | cx.error_spanned_by(
... |
1486 | | }
1487 | | })
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match_else
help: try this
|
1478 ~ Ok(if let Ok(ty) = string.parse() { Some(ty) } else {
1479 + cx.error_spanned_by(
1480 + &string,
1481 + format!("failed to parse type: {} = {:?}", attr_name, string.value()),
1482 + );
1483 + None
1484 ~ })
|
2023-03-17 17:32:50 -07:00
David Tolnay
9fc0d13e2c
Merge pull request #2406 from dtolnay/nestedmeta
...
Rewrite attribute parser using parse_nested_meta
2023-03-17 17:32:39 -07:00
David Tolnay
bc22641359
Rewrite attribute parser using parse_nested_meta
2023-03-17 17:23:56 -07:00
David Tolnay
05098105a8
Update compiler version for serde_derive in readme
2023-03-17 17:23:33 -07:00
David Tolnay
5b23634dc6
Merge pull request #2405 from dtolnay/syn
...
Update to syn 2
2023-03-17 17:23:20 -07:00
David Tolnay
32f0d00ff9
Update to syn 2
2023-03-17 17:17:40 -07:00
David Tolnay
9d87851f0c
Merge pull request #2404 from dtolnay/attributeexpr
...
Add ui test of malformed attribute containing expression
2023-03-17 17:14:54 -07:00
David Tolnay
c0296ee11b
Add ui test of malformed attribute containing expression
2023-03-16 00:15:54 -07:00
David Tolnay
54671259aa
Release 1.0.156
2023-03-14 01:02:18 -07:00
David Tolnay
994f7c7924
Format with rustfmt 1.5.2-nightly
2023-03-14 00:50:38 -07:00
David Tolnay
7a8e4977e2
Merge pull request #2401 from dtolnay/docderive
...
Show derive macros in serde's rustdoc
2023-03-14 00:37:06 -07:00
David Tolnay
fb7b6ea7ea
Enable serde derive feature when built by docs.rs
2023-03-14 00:33:41 -07:00
David Tolnay
063dd5b93f
Show derive macros in serde's rustdoc
2023-03-14 00:28:20 -07:00
David Tolnay
a38aa31ade
Merge pull request #2400 from Nilstrieb/explicit-reexport
...
Use explicit re-export of `serde_derive` to give rustc more info
2023-03-14 00:26:01 -07:00
nils
f42b2581da
Use explicit re-export of serde_derive
to give rustc more info
...
rustc will start looking behind `#[cfg(FALSE)]` items to start giving
better diagnostics. By using an explicit re-export instead of a glob
export, we tell rustc that `Deserialize` and `Serialize` exist here.
2023-03-14 08:11:38 +01:00
David Tolnay
2ba406726f
Release 1.0.155
2023-03-11 12:57:53 -08:00
David Tolnay
7e9826e17b
Add link to core CStr stabilization announcement
2023-03-11 12:57:16 -08:00
David Tolnay
f4dcc5c918
Merge pull request #2374 from safarir/master
...
Enable CStr and CString in no-std enviroment
2023-03-11 12:55:49 -08:00
David Tolnay
8b1887c440
Remove unneeded attr_name argument when parsing borrow attr
2023-03-11 11:35:03 -08:00
David Tolnay
bbfb1d3504
Merge pull request #2399 from dtolnay/borrow
...
Eagerly parse variant-level borrow attribute instead of deferring entire Meta
2023-03-11 11:29:55 -08:00
David Tolnay
e106feb5ec
Eagerly parse variant-level borrow attribute instead of deferring entire Meta
2023-03-11 11:25:00 -08:00
David Tolnay
696f6f56db
Merge pull request #2398 from dtolnay/borrow
...
Treat field-level borrow attr as duplicate of variant-level borrow attr
2023-03-11 11:24:50 -08:00
David Tolnay
b7b636a23f
Treat field-level borrow attr as duplicate of variant-level borrow attr
2023-03-11 11:17:40 -08:00
David Tolnay
183b91775e
Fix some comments in parsing of from/try_from/into attributes
2023-03-10 14:16:11 -08:00
David Tolnay
0e70f59021
Merge pull request #2396 from dtolnay/msg
...
Rearrange parts of attr.rs that rustfmt has been refusing to format
2023-03-09 20:29:50 -08:00
David Tolnay
4d9b76db73
Rearrange parts of attr.rs that rustfmt has been refusing to format
2023-03-09 20:17:43 -08:00
David Tolnay
9af132f594
Factor out duplicated error messages into reused variable
2023-03-09 20:17:20 -08:00
David Tolnay
6c063569c0
Eliminate closure from Punctuated to Vec conversion
2023-03-09 00:43:33 -08:00
David Tolnay
7e9b98401d
Merge pull request #2395 from dtolnay/parsewhere
...
Simplify parsing of where-predicates in bound attribute
2023-03-09 00:38:57 -08:00