Commit Graph

366 Commits (master)

Author SHA1 Message Date
Dion Dokter 0cf55f5b46 Added no_std support. 2022-08-02 12:36:48 +03:00
Kian-Meng Ang 81e7e22176 Fix typos 2022-07-30 22:11:38 +08:00
David James 83d787c60d
Make datetime.rs structs and fields public #431 (#439)
* Make datetime.rs structs and fields public #431

* Make {Date, Time, Offset} public #431 #439

* rustfmt: alphabetize pub use declaration

* Add docs for Datetime, Date, Time, Offset

* Correct doc for Offset, make others consistent

Co-authored-by: David James <davidcjames@gmail.com>
2021-08-20 09:32:50 -05:00
Squirrel d8a9a98cbb
Use entry api to remove a lookup in deserialisation loop (#438)
* Use entry api to remove a lookup in a loop

* cargo fmt
2021-08-10 11:25:38 -05:00
Eric Huss a6420b64d5
Merge pull request #373 from mgsloan/allow-empty-table-keys
Allow empty table keys
2021-04-26 13:32:09 -07:00
Eric Huss 1928707496
Fix serialization of -0.0. (#426) 2021-04-26 09:05:28 -05:00
Terence Lee a6e3d52f47
Fix comment typo 2021-02-06 11:36:07 -06:00
Stu ae19667f74
Remove `no_inline` from value re-exports 2020-11-13 20:45:29 +01:00
Stu 926c45c022
Remove `no_inline` from `Spanned` import 2020-11-13 20:42:06 +01:00
Alex Tokarev c74293f7a8
Improve error message when parsing unquoted string (#385)
* Improve error message when parsing unquoted string

* Remove conversion to lowercase in parse_keylike()

Converting keys to lowercase goes against
TOML specification for floats.

* Change error message for unquoted string
2020-10-11 12:30:55 -05:00
pyfisch 940fcf9e18
Allow delimiter quotes at the end of multiline strings (#393)
TOML allows (unlike many other formats) up to 2
additonal quotes that are part of the string:

basic = """2 extra quotes -->"""""
literal = '''here too ''''

Changed in TOML v1.0.0-rc.1

See also #392
2020-05-28 10:39:55 -05:00
Bram Geron 7a43ac9e9c
Apply some Clippy suggestions. (#378) 2020-02-25 12:08:29 -06:00
Bram Geron d99f5665b4
Rustdoc: Add links. Show all reexports as reexports. (#377)
* Rustdoc: Add links. Show all reexports as reexports.

* Reformat.
2020-02-25 12:07:55 -06:00
Michael Sloan f74715cb88 Allow empty table keys
Quoting 68076ffc6d (user-content-keys)

> A bare key must be non-empty, but an empty quoted key is allowed (though discouraged).

See also the discussion in https://github.com/toml-lang/toml/issues/432
2020-01-31 00:17:55 -07:00
Michael Sloan bb675c5f56
Fix roundtripping of \u001f and \u007f in toml string literals (#372) 2020-01-30 08:55:36 +01:00
Zeeshan Ali 87fcd656a6 Fix a small typo in docs 2020-01-19 21:01:22 +01:00
Michael Sloan f92c15f1b8 Fix a couple errors in DateStrEmitter (#368) 2020-01-15 10:58:12 -06:00
Andrii Radyk b9507d859d remove deprecated Error::description 2019-12-22 00:06:00 +01:00
daubaris 60b874308e Mixed type arrays (#358)
* Added support of mixed-type arrays

* Add tests cases

* Replaced &'static str type for type_ and created a new enum instead

* Restored ArrayMixedType
2019-11-22 10:28:29 -06:00
Maxim Vorobjov 1e6bfbca98 replace copied wit filter_map for rustc 1.35 compatibility (#354) 2019-11-01 09:58:09 -05:00
est31 c049b7aaec 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 ec21d604f8 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
Alex Crichton e9f5290926 Switch from linked-hash-map to indexmap
Follow the footsteps of serde_json!

Closes #348
2019-10-25 12:08:28 -07:00
est31 8995cef9d6 Spanned: impl PartialEq, Eq, Hash, PartialOrd, Ord in terms of the value (#344)
* Spanned: impl PartialEq, Eq, Hash, PartialOrd, Ord in terms of the value

This is because we want to be able to index into HashMap<Spanned<String>, T>
with a dummy span and get results where only the content has to match.

* Add Borrow impl

* Add tests
2019-10-25 14:05:31 -05:00
Kyle Clemens 2a6729f543 feat: support tabs in basic strings (#343)
Close #310.
2019-10-15 08:45:17 -05:00
Guillaume Fraux e457e4eb33 get_mut should return a mutable reference (#338) 2019-10-03 10:29:50 -05:00
Sergey "Shnatsel" Davidoff 41dd8e6741 Forbid unsafe code (#332)
* Forbid unsafe code

* Add badge advertising that unsafe code is forbidden

* Revert "Add badge advertising that unsafe code is forbidden"

This reverts commit e8d35d20d016a341d37969b975463588d3143528.

* Comment on #![forbid(unsafe_code)]

* Run rustfmt
2019-09-30 09:57:16 -05:00
est31 7c9b0a39db 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 029908cfa6 Remove redundant #[doc(hidden)] attributes (#331) 2019-09-09 13:04:47 -05:00
James Kay 95d419ba99 Nested dotted-table enums (#329)
Add support for deserializing enums from nested dotted tables.
2019-09-05 09:18:26 -05:00
est31 6bbafa4489 Suppport deserialization of Spanned<> at the top level (#328) 2019-09-05 08:38:54 -05:00
Erich Gubler b2a427ee7d 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 994b0e2fcb Allow zero-prefixed float exponents. (#322) 2019-08-23 09:55:15 -07:00
Nick Hackman 022e914ccf Propogate write! errors to ser::Error
std::fmt::Errors are now converted to ser::Errors via ser::Error::custom
2019-08-20 12:59:28 -04:00
Nick Hackman d55ec1b4c1 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 b7d26c8a05 Potential Solution to drop clippy errors
Calling the write!, the result that it returns doesn't matter or wasn't
deemed as important and was dropped before. This was just removed and
then the unused Result is ignored via clippy attribute. This is a
plausible solution to get past the Clippy Error, but others may be more
ideal.
2019-08-18 20:23:40 -04:00
Nick Hackman 2bf0931b84 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 f4dd4a2438 Fix error line/column when using CRLF line endings. 2019-08-13 13:48:54 -07:00
Nick Hackman f883457334 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
Jason Priest bbff1080f9
Derive Clone+PartialEq for Spanned
Should any other traits be derived?
2019-08-12 21:27:26 -05:00
Alex Crichton e0bf3a087a Run `cargo fmt` 2019-08-12 13:50:59 -07:00
Alex Crichton 81cfc602b8 Fix a bad merge 2019-08-12 13:50:44 -07:00
Alex Crichton c3a89a690a
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 72881c2a06
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 79d03bf0df Squelch explicit_outlives_requirements warning. 2019-08-12 09:12:39 -07:00
Pietro Albini b1aa4f7129
include Spanned in the docs
The `Spanned` struct was originally included in the docs as a re-export,
but rustdoc doesn't render re-exports if the module from which it's
exported isn't documented.

Since `Spanned` is the only public item inside the `spanned` module this
commit shows the struct as a normal item in the index, and moves the
example from the module docs to the struct docs.
2019-08-09 20:48:46 +02:00
Jordan Deitch 27a2f490b3
convert toml error to std::io error 2019-08-01 20:43:05 -04:00
Andres Suarez 144e1d0f90 Add line and column to all Errors 2019-07-30 13:35:08 -04:00
Andres Suarez 3d08775266 Show "column" in Error messages 2019-07-28 13:41:17 -04:00
Eric Huss 0fca4dd2d3 cargo fmt 2019-05-08 17:45:39 -07:00