lexical-core 0.6.8

Lexical, to- and from-string conversion routines.
Documentation
[package]
authors = ["Alex Huszagh <ahuszagh@gmail.com>"]
autobenches = false
categories = ["parsing", "encoding", "no-std", "value-formatting"]
description = "Lexical, to- and from-string conversion routines."
documentation = "https://docs.rs/lexical-core"
keywords = ["parsing", "lexical", "encoding", "no_std"]
license = "MIT/Apache-2.0"
name = "lexical-core"
readme = "README.md"
repository = "https://github.com/Alexhuszagh/rust-lexical/tree/master/lexical-core"
version = "0.6.8"
build = "build.rs"
exclude = [
    "fuzz/*",
    "scripts/*",
    "ffi/*",
]

# TODO(ahuszagh) Dependency Versioning and Rustc Roadmap:
#   - Update cfg-if to "0.1.10" when we support only Rustc >= 1.32.0.
#   - Update arrayvec to "0.5" when we support Rustc >= 1.36.0.
#   - Update static_assertions to "1.0.0" when we support Rustc >= 1.37.0.
#   - Remove support for Rustc <= 1.27.0 with next minor release.
#       - Remove allowed lints for bare_trait_objects, const_err.
#       - Remove PointerMethods trait.

[badges]
travis-ci = { repository = "Alexhuszagh/rust-lexical" }

[dependencies]
bitflags = "1.2"
cfg-if = "0.1"
# Use static_assertions for correct or format features.
static_assertions = { version = "0.3.3", optional = true }
# Use arrayvec for the correct parser.
arrayvec = { version = "0.4", optional = true, features = ["array-sizes-33-128"] }
# Optimized Grisu3 implementation, a well-tested, correct algorithm.
dtoa = { version = "0.4", optional = true }
# Optimized Ryu implementation, the fastest correct algorithm.
ryu = { version = "1.0", optional = true }
# Enable quickcheck for newer Rustc versions.
quickcheck = { version = "0.9.0", optional = true }
# Enable proptest for newer Rustc versions.
proptest = { version = "0.9.4", optional = true }

[dev-dependencies]
approx = "0.3.0"

[build-dependencies]
rustc_version = "0.2"

[features]
default = ["correct", "ryu", "std"]
# Use the correct atof parser.
correct = ["arrayvec", "static_assertions", "table"]
# Add support for different float string formats.
format = ["static_assertions"]
# Use the optimized Grisu3 implementation from dtoa (not recommended).
grisu3 = ["dtoa"]
# Add support for parsing non-decimal float and integer strings.
radix = []
# Allow custom rounding schemes, at the cost of slower performance.
rounding = []
# Use the `std` library.
std = []
# Use precompiled tables for faster performance and accuracy, at the cost of larger binaries.
table = []
# Trim a trailing ".0" from an exported float string, and represent -0.0 as "0".
trim_floats = []
# Don't force bounds checking with indexing not-known to be valid at compile time.
# This may lead to memory safety issues.
unchecked_index = []
# Undocumented. Disable quickcheck for older Rustc versions.
property_tests = ["quickcheck", "proptest"]
# Don't inline when using perftools
# Testing only.
noinline = []

# Use heavy optimizations for release builds, and make our panics to detect
# internal logic errors safe for FFI, via abort.
[profile.dev]
opt-level = 0
debug = true
lto = false

[profile.release]
opt-level = 3
debug = false
debug-assertions = false
lto = true