-
Notifications
You must be signed in to change notification settings - Fork 11
/
Cargo.toml
105 lines (95 loc) · 3 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
[workspace]
members = [
"crates/rsonpath",
"crates/rsonpath-lib",
"crates/rsonpath-syntax",
"crates/rsonpath-test",
]
exclude = ["crates/rsonpath-benchmarks", "crates/rsonpath-test-codegen"]
resolver = "2"
[workspace.package]
version = "0.9.3"
authors = ["Mateusz Gienieczko <[email protected]>"]
readme = "README.md"
license = "MIT"
repository = "https://github.com/rsonquery/rsonpath"
homepage = "https://rsonquery.github.io/rsonpath/"
edition = "2021"
[workspace.dependencies]
# Project crates
rsonpath-lib = { version = "0.9.3", path = "./crates/rsonpath-lib", package = "rsonpath-lib", default-features = false }
rsonpath-syntax = { version = "0.3.2", path = "./crates/rsonpath-syntax" }
# Main dependencies
arbitrary = { version = "1.4.1" }
cfg-if = "1.0.0"
log = "0.4.22"
thiserror = "2.0.9"
# Dev-dependencies
itertools = "0.13.0"
pretty_assertions = "1.4.1"
proptest = "1.5.0"
test-case = "3.3.1"
[workspace.lints.rust]
explicit_outlives_requirements = "warn"
semicolon_in_expressions_from_macros = "warn"
unreachable_pub = "warn"
unused_import_braces = "warn"
unused_lifetimes = "warn"
[workspace.lints.clippy]
allow_attributes_without_reason = "warn"
cargo_common_metadata = "warn"
cast_lossless = "warn"
cloned_instead_of_copied = "warn"
empty_drop = "warn"
empty_line_after_outer_attr = "warn"
equatable_if_let = "warn"
expl_impl_clone_on_copy = "warn"
explicit_deref_methods = "warn"
explicit_into_iter_loop = "warn"
explicit_iter_loop = "warn"
fallible_impl_from = "warn"
flat_map_option = "warn"
if_then_some_else_none = "warn"
inconsistent_struct_constructor = "warn"
large_digit_groups = "warn"
let_underscore_must_use = "warn"
manual_ok_or = "warn"
map_err_ignore = "warn"
map_unwrap_or = "warn"
match_same_arms = "warn"
match_wildcard_for_single_variants = "warn"
missing_inline_in_public_items = "warn"
mod_module_files = "warn"
must_use_candidate = "warn"
needless_continue = "warn"
needless_for_each = "warn"
needless_pass_by_value = "warn"
ptr_as_ptr = "warn"
redundant_closure_for_method_calls = "warn"
ref_binding_to_reference = "warn"
ref_option_ref = "warn"
rest_pat_in_fully_bound_structs = "warn"
undocumented_unsafe_blocks = "warn"
unneeded_field_pattern = "warn"
unseparated_literal_suffix = "warn"
unreadable_literal = "warn"
unused_self = "warn"
use_self = "warn"
# Panic-free lints
exit = "warn"
[profile.dev]
lto = false
# Release should be used for benching, but not actually distributed.
[profile.release]
lto = "thin"
debug = 1
# This is the profile used for final binaries distributed via package managers.
# It prioritizes performance, and then binary size. We generally don't care about
# compile times for these, as they are built once on release in the CI and then distributed.
# The time impact of build is not large (~33% time increase).
[profile.distribution]
inherits = "release"
lto = "fat" # Better codegen, much slower compile time.
codegen-units = 1 # Better codegen, much slower compile time.
debug = 0 # Smaller binary size.
strip = "debuginfo" # Smaller binary size.