-
Notifications
You must be signed in to change notification settings - Fork 36
/
Cargo.toml
112 lines (96 loc) · 3.18 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
[package]
name = "ion-rs"
authors = ["Amazon Ion Team <[email protected]>"]
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.10"
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
compact_str = "0.8.0"
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
# All dependencies (but not ion-rs itself) are optimized by default, even in debug builds.
# This makes test runs faster without affecting incremental build times.
[profile.dev.package."*"]
opt-level = 2
[[test]]
name = "conformance"
harness = false
test = false