[package] name = "ion-rs" authors = ["Amazon Ion Team "] description = "Implementation of Amazon Ion" homepage = "https://github.com/amazon-ion/ion-rust" repository = "https://github.com/amazon-ion/ion-rust" license = "Apache-2.0" readme = "README.md" keywords = ["ion", "parser", "json", "format", "serde"] categories = ["encoding", "parser-implementations"] exclude = [ "**/.git/**", "**/.github/**", "**/.travis.yml", "**/.appveyor.yml", "**/ion-tests/iontestdata/**", "*.pdf" ] version = "1.0.0-rc.9" edition = "2021" rust-version = "1.80" [features] default = [] experimental-ion-hash = ["digest", "experimental-reader-writer"] # Feature for indicating particularly bleeding edge APIs or functionality in the library. # These are not guaranteed any sort of API stability and may also have non-standard # Ion behavior (e.g., draft Ion 1.1 capabilities). experimental = [ "experimental-reader-writer", "experimental-tooling-apis", "experimental-serde", "experimental-ion-1-1", ] # Feature for indicating explicit opt-in to Ion 1.1 experimental-ion-1-1 = ["experimental-reader-writer"] # Access to the streaming Reader and Writer types. # These APIs are functional and well-tested, but are not yet stable. experimental-reader-writer = [] # Access to low-level encoding information. These APIs are not near stabilization. experimental-tooling-apis = [] # Experimental serde API to serialize and deserialize Ion data into Rust objects using serde crate experimental-serde = ["experimental-reader-writer", "dep:serde_with", "dep:serde"] [dependencies] base64 = "0.12" # chrono < 0.5 brings in a deprecated version of the `time` crate via `oldtime` feature by default # this makes it explicitly not do this as there is an advisory warning against this: # See: https://github.com/chronotope/chrono/issues/602 chrono = { version = "0.4", default-features = false, features = ["clock", "std", "wasmbind"] } delegate = "0.12.0" thiserror = "1.0" nom = "7.1.1" num-integer = "0.1.44" num-traits = "0.2" arrayvec = "0.7" smallvec = { version = "1.9.0", features = ["const_generics"] } bumpalo = { version = "3.15.3", features = ["collections", "std"] } digest = { version = "0.9", optional = true } ice_code = "0.1.4" rustc-hash = "2.0.0" phf = { version = "0.11.2", features = ["macros"] } sha2 = { version = "0.9", optional = true } serde = { version = "1.0", features = ["derive"], optional = true } serde_with = { version = "3.7.0", optional = true } [dev-dependencies] rstest = "0.19.0" rstest_reuse = "0.6.0" # Used by ion-tests integration walkdir = "2.5.0" test-generator = "0.3" criterion = "0.5.1" rand = "0.8.5" tempfile = "3.10.0" [[bench]] name = "read_many_structs" harness = false [[bench]] name = "write_many_structs" harness = false [[bench]] name = "encoding_primitives" harness = false [profile.release] lto = true codegen-units = 1 [profile.profiling] inherits = "release" debug = true [[test]] name = "conformance" harness = false test = false