Commit Graph

203 Commits

Author SHA1 Message Date
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 2156e100ee fix in "URL is not a hyperlinke" in cargo doc
```
warning: this URL is not a hyperlink
   --> /home/wez/wez-personal/instant-xml/instant-xml/src/de.rs:499:32
    |
499 | /// Valid character ranges per https://www.w3.org/TR/xml/#NT-Char
    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `<https://www.w3.org/TR/xml/#NT-Char>`
    |
    = note: bare URLs are not automatically turned into clickable links
    = note: `#[warn(rustdoc::bare_urls)]` on by default
```
2024-05-23 00:01:20 +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
Nicholas Rempel c584137ee5 Add support for comments 2024-04-06 14:26:49 -07:00
Nicholas Rempel a199cc7b5c Map default xml prefix 2024-04-04 08:57:35 +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
Nicholas Rempel 78ed6a6730 Add test for namespace containing dash 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
Beau Hartshorne 1d9b5f62ed
Add cover image (#51) 2024-02-28 11:13:54 -08: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 3372ccb981 Add basic support for CDATA 2023-10-25 22:36:20 +02:00
Dirkjan Ochtman a6774baef4 Rename entities test case to escaping 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 efdf9334c7 Move decode() into de module 2023-10-25 22:36:20 +02:00
Dirkjan Ochtman 6ea31b721f Remove impl FromXml for &str
This is a bit opinionated, but it helps avoid run-time panics from
doing the simple thing (&str) which is wrong in the face of
escaping strings. The overhead from `Cow` (both in terms of developer
experience and run-time performance) seems limited enough.

This also makes the next part a little easier.
2023-10-25 22:36:20 +02:00
Dirkjan Ochtman 4c04d71224 Add some test helpers 2023-10-25 22:36:20 +02:00
Craig Bester 2595da57ce Decode hexadecimal character references 2023-10-23 12:38:39 +02:00
Craig Bester 366cc05b08 Decode decimal character references 2023-10-23 12:38:39 +02:00
Craig Bester 86784d7794 Reject unterminated ampersand entities 2023-10-23 12:38:39 +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 cd7a863d90 Explicitly set workspace resolver 2023-09-15 13:04:46 +02:00
Dirkjan Ochtman 82ca8a224e Correctly handle multi-byte characters in string encoding 2023-09-15 13:04:46 +02:00
Dirkjan Ochtman 8be61f6017 Ignore macOS cruft 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 5f6091528f Implement ToXml for str instead of &str 2023-03-03 13:17:41 +01:00
Dirkjan Ochtman 3cfd2e4706 Initial version of README 2023-03-02 13:50:08 +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 a5795b9b2d Add support for Cow<'_, [T]> 2023-02-28 17:06:49 +01:00
Dirkjan Ochtman 2e7a48a212 Add basic Cargo metadata 2023-02-27 10:53:34 +01:00
Dirkjan Ochtman 8cbb29b388 Avoid usage of bool::then_some() 2023-02-27 10:35:06 +01:00
Dirkjan Ochtman 8a958342d6 Check MSRV in CI 2023-02-27 10:35:06 +01:00
Dirkjan Ochtman 8c618ada79 Ignore attributes when looking for scalar values 2023-02-24 17:33:33 +01:00
Dirkjan Ochtman 8c2964b318 Improve support for raw identifier field names 2023-02-24 17:33:33 +01:00
Dirkjan Ochtman 6c4cd8bd55 Add test for incorrectly nested elements with transparent 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