-
Notifications
You must be signed in to change notification settings - Fork 36
/
Copy pathCargo.toml
104 lines (91 loc) · 3.06 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
[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.3"
edition = "2021"
# We need at least 1.65 for GATs
# https://blog.rust-lang.org/2022/11/03/Rust-1.65.0.html
rust-version = "1.65"
[features]
default = []
experimental-ion-hash = ["digest"]
# 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-lazy-reader",
"experimental-reader",
"experimental-writer",
"experimental-streaming",
"experimental-serde",
]
# Experimental streaming APIs
experimental-streaming = []
# Access to the `IonReader` trait, its implementations, and the `ReaderBuilder`.
# These APIs are functional and well-tested, but are not yet stable.
experimental-reader = []
# Access to the `IonWriter` trait and its implementations.
# These APIs are functional and well-tested, but are not yet stable.
experimental-writer = []
# A reader API that parks on a top-level value and yields 'lazy' handles to the data
# contained therein. These lazy handles can be read multiple times, allowing for
# an inexpensive form of 'rewind' functionality.
experimental-lazy-reader = []
# Experimental serde API to serialize and deserialize Ion data into Rust objects using serde crate
experimental-serde = ["dep:serde_with", "dep:serde"]
[dependencies]
base64 = "0.12"
bytes = "0.4"
# 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.10.0"
thiserror = "1.0"
nom = "7.1.1"
num-bigint = "0.4.3"
num-integer = "0.1.44"
num-traits = "0.2"
arrayvec = "0.7"
smallvec = {version ="1.9.0", features = ["const_generics"]}
bumpalo = {version = "3.14.0", features = ["collections", "std"]}
digest = { version = "0.9", optional = true }
sha2 = { version = "0.9", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
serde_with = { version = "2.0", optional = true }
[dev-dependencies]
rstest = "0.17.0"
rstest_reuse = "0.5.0"
# Used by ion-tests integration
walkdir = "2.3"
test-generator = "0.3"
memmap = "0.7.0"
criterion = "0.5.1"
rand = "0.8.5"
[[bench]]
name = "read_many_structs"
harness = false
[[bench]]
name = "encoding_primitives"
harness = false
[profile.release]
lto = true
codegen-units = 1
[profile.profiling]
inherits = "release"
debug = true