est31
34ef67bee2
Decrease deserialization complexity from quadratic to linear ( #349 )
...
* Speed up array code
* Speed up map code too
Also add regression test
* Use more obvious closure notation
* Document the builder functions
2019-10-28 10:05:13 -05:00
est31
52586279ce
Support for dotted table spans ( #340 )
...
* "Support" spans for maps
In toml you can declare maps via {} and via [name].
We can't obtain spans for [] maps but at least we
can emit fake spans to make SpannedValue work.
We also add a regression test.
* Don't regress the inline table case
* Also support arrays
2019-10-28 09:01:23 -05:00
est31
12db6aa93f
Support deserializing spanned keys ( #333 )
...
* Store key spans in the deserializer
* Support deserializing spanned keys
* Store key spans of the table header as well
* Support nested table key spans as well
2019-09-16 16:32:45 -05:00
est31
55ca6c5e30
Remove redundant #[doc(hidden)] attributes ( #331 )
2019-09-09 13:04:47 -05:00
James Kay
d083e58357
Nested dotted-table enums ( #329 )
...
Add support for deserializing enums from nested dotted tables.
2019-09-05 09:18:26 -05:00
est31
5fef3914cf
Suppport deserialization of Spanned<> at the top level ( #328 )
2019-09-05 08:38:54 -05:00
Erich Gubler
57aea7dfad
Make de::Error
Eq
in addition to current PartialEq
( #330 )
...
Not sure why this wasn't implemented before, since `ser::Error` has implemented `PartialEq` and `Eq` as of PR #144 .
2019-09-04 18:44:32 -05:00
Eric Huss
f822f4661b
Allow zero-prefixed float exponents. ( #322 )
2019-08-23 09:55:15 -07:00
Nick Hackman
9f25cfa17b
Fixed Clippy warning of long return type
...
Created an alias named TablePair being a (Cow<'a, str>, Value<'a>)
2019-08-18 21:07:23 -04:00
Nick Hackman
8b88c96cfc
Removed all warnings besides two
...
Majority of warnings removed via RustFix
Two remain one being a long return type and another being a name
suggestion from Clippy `to_owned` for MaybeString
2019-08-14 23:05:30 -04:00
Eric Huss
514b8ca8f2
Fix error line/column when using CRLF line endings.
2019-08-13 13:48:54 -07:00
Nick Hackman
64e2f4742f
Simplified Logic when comparing discriminants
...
Removed matches that were used to compare Enum variants for equality in
favor of using discriminant from https://doc.rust-lang.org/std/mem/fn.discriminant.html
introduced in Rust 1.21.0
2019-08-13 14:13:01 -04:00
Alex Crichton
fd39bc7412
Run cargo fmt
2019-08-12 13:50:59 -07:00
Alex Crichton
59c0d52600
Fix a bad merge
2019-08-12 13:50:44 -07:00
Alex Crichton
7a11ed691a
Merge pull request #315 from jwdeitch/master
...
Allow conversion from de::Error to std::io::error
2019-08-12 15:35:55 -05:00
Alex Crichton
7e8b40b025
Merge pull request #314 from zertosh/add-line-and-col-to-errors
...
Add line and column to all Errors
2019-08-12 15:35:35 -05:00
Eric Huss
5cb9b37b99
Squelch explicit_outlives_requirements warning.
2019-08-12 09:12:39 -07:00
Jordan Deitch
d3eedc52ba
convert toml error to std::io error
2019-08-01 20:43:05 -04:00
Andres Suarez
b09bb78352
Add line and column to all Errors
2019-07-30 13:35:08 -04:00
Andres Suarez
8c1b49f66f
Show "column" in Error messages
2019-07-28 13:41:17 -04:00
Eric Huss
0737f0b27a
2018 edition idioms.
2019-05-08 17:37:38 -07:00
Eric Huss
68fd59c78d
Migrate to 2018 edition.
2019-05-08 12:12:14 -07:00
Eric Huss
816b457c84
Fix float with invalid suffix.
2019-04-05 13:51:28 -07:00
Erich Gubler
d34e734b39
Fix warnings for deprecated usages of trim_{left,right}_matches.
2019-04-02 09:35:28 -06:00
Abid Omar
861a7be7d4
Add PartialEq to Toml::de
...
Add PartialEq trait to Error, ErrorInner and ErrorKind.
Relevant issue: https://github.com/alexcrichton/toml-rs/issues/291
2019-03-11 18:38:50 +01:00
Eric Huss
b7493c9bef
Fix case sensitivity with T, Z, and E.
2019-02-19 10:59:42 -08:00
Alex Crichton
184d16b4a3
Fix disallowing duplicate table headers
...
This commit fixes #279 where a case of duplicate table headers slipped
through the cracks. This also adds an option to disable this new
validation to allow Cargo to preserve backwards compatibility.
2019-01-07 09:06:04 -08:00
Alex Crichton
cbfc4e18f8
Run cargo fmt
2018-12-17 17:45:35 -08:00
Alex Crichton
7845df9ff9
Merge pull request #264 from azriel91/feature/225/externally-tagged-enums
...
Issue 255: Externally tagged enum deserialization
2018-11-28 09:50:38 -06:00
Eric Huss
b21dd8cf05
Fix trailing space after date.
...
The space between date and time was being eagerly skipped when it shouldn't.
2018-11-21 09:35:50 -08:00
Azriel Hoh
cd6373a9ab
Maintain backward compatibility with Rust 1.15, take 3.
2018-11-17 14:19:14 +13:00
Azriel Hoh
752bf0d4a1
Only validate table keys against fields when deserializing enum.
...
Issue #225
2018-11-17 13:37:24 +13:00
Azriel Hoh
5bcf6f7cb6
Maintain compatibility with Rust 1.15
...
Issue #225
2018-11-17 13:36:38 +13:00
Azriel Hoh
1656e2e51d
Error when deserializing struct if encountering unknown fields.
...
Issue #225
2018-11-12 10:09:30 +13:00
Azriel Hoh
a0295b3308
Maintain compatibility with Rust 1.15
...
Issue #225
2018-11-10 11:10:34 +13:00
Azriel Hoh
a4928a47a8
Implemented deserialization for external enums.
...
Issue #225
2018-11-10 11:10:31 +13:00
Azriel Hoh
7777c1452f
Better error handling when parsing tuples.
...
Issue #225
2018-11-10 11:07:26 +13:00
Azriel Hoh
4f28c2f639
Implemented enum tuple deserialization.
...
Issue #225
2018-11-10 11:07:23 +13:00
Azriel Hoh
f5d14af5a6
Implement deserialization for unit and struct variants.
...
Issue #225
2018-11-10 11:06:34 +13:00
rhysd
935d95ce4f
Fix multi-line strings are not allowed for key
...
In spec https://github.com/toml-lang/toml#keys
Quoted keys are clarified as
> he exact same rules as either basic strings or literal strings
TOML clearly distinguishes basic string and multi-line basic string
(literal string is also).
https://github.com/toml-lang/toml#string
So table key and quoted key should not allow multi-line basic string
and multi-line literal string.
ABNF definition also describes that.
https://github.com/toml-lang/toml/blob/master/toml.abnf
```
string = ml-basic-string / basic-string / ml-literal-string / literal-string
quoted-key = basic-string / literal-string
```
`string` contains `ml-*` but `quoted-key` doesn't.
2018-09-25 16:33:52 +09:00
Eric Huss
fad5f4690e
Don't allow intermixing inline tables and dotted key tables.
2018-07-27 11:49:30 -07:00
Eric Huss
e0a820be2f
Support older rustc.
2018-07-16 09:10:38 -07:00
Eric Huss
6d76b19b58
0.5: Support dotted keys.
...
cc #224
2018-07-16 09:10:38 -07:00
Eric Huss
c8919e8ed1
0.5: Support hex/oct/bin integers.
...
cc #224
2018-07-11 09:21:29 -07:00
Alex Crichton
625d2a18bb
Merge pull request #251 from ehuss/datetime-space
...
0.5: Support space separator in datetime.
2018-07-11 09:05:26 -05:00
Eric Huss
16d8b14fcf
0.5: Support floats nan, inf, and +/-0.0.
...
cc #224
2018-07-11 00:50:04 -07:00
Eric Huss
5204d8b50a
0.5: Support space separate in datetime.
...
cc #224
2018-07-10 17:14:16 -07:00
John-John Tedro
407845d620
Fix incorrectly reported spans for Datetime
2018-05-07 05:36:41 +02:00
John-John Tedro
8a9ae07de5
Use BorrowedStrDeserializer instead of generated key deserializers
2018-05-07 04:57:16 +02:00
John-John Tedro
09c8957ae7
Adjust spans for more complex types
2018-05-07 04:28:00 +02:00