Commit Graph

134 Commits

Author SHA1 Message Date
Wez Furlong
a1610f689f Allow direct String fields to match the empty string
Empty is not the same as missing, and the empty string
crops up a lot in upnp/dlna.
2024-06-07 14:52:42 +02:00
Dirkjan Ochtman
dfc5894edf Provide more context in DuplicateValue errors 2024-06-07 13:58:52 +02:00
Wez Furlong
775bad82a4 really fix scalar enum namespace handling
It is actually important to consider the field name when provided,
otherwise we can incorrectly match fields with different names!
2024-06-07 13:39:14 +02:00
Wez Furlong
5c0171b474 emit ::std::result::Result rather than unqualified Result
This fixes an issue where attempting to derive FromXml or ToXml
would fail if the embedding application had used something like

```
pub type Result<T> = std::result::Result<T, Error>;
```
2024-05-23 00:01:20 +02:00
Wez Furlong
3e72aa7ae3 fix erroneous debug assertion in nested namespace case
The assertion was checking to ensure that the emitted tag
had no prefix, which breaks the case where a prefix is
required, but only in debug builds!
2024-05-23 00:01:20 +02:00
Wez Furlong
05de91af02 fixup namespace handling for scalar enums
We need to match the default namespace from the type,
rather than the namespace from the associate id.
2024-05-23 00:01:20 +02:00
Dirkjan Ochtman
2b691c5131 Extend test to cover . and _, too 2024-04-02 07:19:39 +02:00
Dirkjan Ochtman
6b483b7e6d Bump instant-xml-macros version to 0.4.2 2024-04-02 07:19:39 +02:00
Dirkjan Ochtman
7e3099c915 Enable namespace prefixes containing dashes 2024-04-02 07:19:39 +02:00
Dirkjan Ochtman
a0c114ed02 macros: prepare 0.4.1 release 2024-03-18 14:37:21 +01:00
dependabot[bot]
5009655734 Update heck requirement from 0.4 to 0.5
---
updated-dependencies:
- dependency-name: heck
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 14:26:19 +01:00
Dirkjan Ochtman
8e8dc10419 Bump MSRV to 1.61 (for memchr) 2023-10-25 22:36:20 +02:00
Dirkjan Ochtman
173997f07b Bump version for semver-incompatible API changes 2023-10-25 22:36:20 +02:00
Dirkjan Ochtman
edad589294 Escape entities in context iterator 2023-10-25 22:36:20 +02:00
Dirkjan Ochtman
c89afc2553 Apply some clippy suggestions 2023-09-15 13:04:46 +02:00
Dirkjan Ochtman
6515ad2b4f Bump versions to 0.3.2 2023-09-15 13:04:46 +02:00
Dirkjan Ochtman
c73a852e07 Avoid warnings for non-snake_case variable names 2023-09-15 13:04:46 +02:00
Dirkjan Ochtman
18396f4aa5 Bump version numbers for new release 2023-03-22 13:10:20 +01:00
Dirkjan Ochtman
27b39b6125 Refer to README from Cargo metadata 2023-03-22 13:10:20 +01:00
Dirkjan Ochtman
083cd567a1 Upgrade to syn 2 2023-03-21 15:28:10 +01:00
Dirkjan Ochtman
ff00c96ac9 Bump version to 0.3 for semver-incompatible change 2023-03-03 13:17:41 +01:00
Dirkjan Ochtman
a47e90038b Bump version to 0.2 2023-02-28 17:29:59 +01:00
Dirkjan Ochtman
5058699765 Give inline accumulator type the same visibility as the target 2023-02-28 17:12:31 +01:00
Dirkjan Ochtman
f51e6ae063 Fix use of lifetimes in fields of transparent structs 2023-02-28 17:12:31 +01:00
Dirkjan Ochtman
2e7a48a212 Add basic Cargo metadata 2023-02-27 10:53:34 +01:00
Dirkjan Ochtman
8c2964b318 Improve support for raw identifier field names 2023-02-24 17:33:33 +01:00
Dirkjan Ochtman
786f035f76 Implement transparent mode for deserialization 2023-02-24 17:33:33 +01:00
Dirkjan Ochtman
c983e10a88 Provide field context to Deserializer implementations
Also reorders deserialize() arguments.
2023-02-24 17:33:33 +01:00
Dirkjan Ochtman
7a2e6ac735 Use associated accumulator type to deserialize into 2023-02-24 17:33:33 +01:00
Dirkjan Ochtman
be7902925e Implement transparent mode for serialization 2023-02-24 17:33:33 +01:00
Dirkjan Ochtman
7e05d35ba6 Fix clippy lints 2023-02-21 20:35:39 +01:00
Dirkjan Ochtman
88c52e98d2 Don't error on ignored (direct) scalar nodes 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
aa45a74bb4 Improve error for unexpected nodes 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
e186684824 Skip None attributes 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
682f42aacc Better errors for missing values 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
0bfd37a9d7 Fully qualify calls to FromXml trait methods 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
f4fb07fca6 Improve error reporting, allow 0/1 as bool values 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
4ad194fc1f Switch from wrapped enums to forward enums 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
0a323ba302 Simplify FromXml::KIND const 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
4eafa193bd Remove unused ToXml::KIND const 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
4768d092ca Apply clippy suggestions 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
6b3fa93f69 Implement matches() directly on FromXml 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
a2aadde276 Attributes don't inherit the default namespace 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
f8b4364acd Add support for direct fields 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
20f73b7e01 Add support for deserialize_with and borrow 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
5bd58698d7 Simplify logic for serializing prefixes 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
12402fb381 Serialize empty elements more efficiently 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
357fd50a9b Ignore remaining unnamed field contents 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
0dca1bbe14 Discard ignored nodes after unnamed field element 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
ff8c0c2886 Remove unnecessary workaround 2022-12-13 16:52:53 +01:00