This field causes cargo to automatically verify that a recent enough
rustc version is being used. For cargo versions before 1.56, adding this
option creates a build warning - from [0]:
> The first version of Cargo that supports this field was released with Rust
> 1.56.0. In older releases, the field will be ignored, and Cargo will display
> a warning.
[0]: https://doc.rust-lang.org/cargo/reference/manifest.html#the-rust-version-field
this moves the jemallocator and criterion dependencies to that crate,
which will prevent further issues with MSRV in dependencies, and removes
75 dependencies from test builds
minimal-lexical is a smaller library (compile faster), has no
dependencies, and is faster than lexical-core 0.7 (0.8 will have the
same algorithm).
It requires a separate tokenization phase, done manually, but this will
give more flexibility in supporting different syntaxes
This commit removes the "lexical" feature, as there is no need now
tosupport a separate version without the crate
these parsers convert directly to numbers from text decimal
representation. If the parsed number gets to large for the target type,
the parser will fail
this commit also introduces testing through proptest, to make sure that
those parsers are functionally equivalent to digit1 then calling
.parse() on it
The deleted tests/test1.rs didn't contain any additional tests and was
depending on an old `stream` feature. It should be covered by the
doctests of the used functions.
the regex crate has caused some dependencies issues, that were solved.
To avoid further issues, regular expression parsers were split in the
nom-regex crate
bitvec integration has caused some dependency issues, that were solved,
but still raises the minimum rust version significantly, which will be
problematic for some distributions like Debian.
The input traits implementations for bitvec types have been moved to the
nom-bitvec crate, so we can keep the functionality without affecting
basic nom usage