-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
112 lines (96 loc) · 2.77 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
# https://doc.rust-lang.org/cargo/reference/workspaces.html
[workspace]
resolver = "2"
members = [".", "examples/*", "fuzz"]
[profile.dev.package]
insta.opt-level = 3
similar.opt-level = 3
[profile.release]
lto = "fat"
codegen-units = 1
# https://doc.rust-lang.org/cargo/reference/manifest.html
[package]
name = "wayfind"
description = "A speedy, flexible router."
include = [
"/benches",
"/examples",
"/fuzz",
"/src",
"/tests",
"/BENCHMARKING.md",
"/CHANGELOG.md",
"/LICENSE-APACHE",
"/LICENSE-MIT",
"/README.md",
]
version = "0.8.1"
authors = ["Cathal Mullan <[email protected]>"]
edition = "2021"
# https://packages.debian.org/stable/rust/rustc
rust-version = "1.63"
repository = "https://github.com/DuskSystems/wayfind"
license = "MIT OR Apache-2.0"
keywords = ["router"]
categories = ["network-programming", "web-programming"]
# https://doc.rust-lang.org/rustc/lints/groups.html
[lints.rust]
unsafe_code = "forbid"
unused = { level = "deny", priority = -2 }
future-incompatible = { level = "deny", priority = -1 }
keyword-idents = { level = "deny", priority = -1 }
let-underscore = { level = "deny", priority = -1 }
nonstandard-style = { level = "deny", priority = -1 }
refining-impl-trait = { level = "deny", priority = -1 }
rust-2018-compatibility = { level = "deny", priority = -1 }
rust-2018-idioms = { level = "deny", priority = -1 }
rust-2021-compatibility = { level = "deny", priority = -1 }
# https://rust-lang.github.io/rust-clippy/master/index.html
[lints.clippy]
cargo = { level = "deny", priority = -1 }
complexity = { level = "deny", priority = -1 }
correctness = { level = "deny", priority = -1 }
nursery = { level = "deny", priority = -1 }
pedantic = { level = "deny", priority = -1 }
perf = { level = "deny", priority = -1 }
style = { level = "deny", priority = -1 }
suspicious = { level = "deny", priority = -1 }
# Personal Preferences
clone_on_ref_ptr = "deny"
cognitive_complexity = "allow"
module_name_repetitions = "allow"
new_without_default = "allow"
str_to_string = "deny"
too_many_lines = "allow"
[dependencies]
# Data Structures
smallvec = { version = "1.13", features = ["const_generics", "union"] }
[dev-dependencies]
# Testing
# NOTE: Keep in sync with `cargo-insta` Nix package.
insta = "=1.42.0"
similar-asserts = "1.6"
# Benchmarking
divan = "0.1"
criterion = { version = "0.5", features = ["html_reports"] }
# NOTE: Keep in sync with `cargo-codspeed` Nix package.
codspeed-criterion-compat = "=2.7.2"
# Routers
actix-router = "=0.5.3"
matchit = "=0.8.6"
ntex-router = "=0.5.3"
path-tree = "=0.8.1"
route-recognizer = "=0.3.1"
xitca-router = "=0.3.0"
[[bench]]
name = "matchit_criterion"
harness = false
[[bench]]
name = "matchit_divan"
harness = false
[[bench]]
name = "path_tree_criterion"
harness = false
[[bench]]
name = "path_tree_divan"
harness = false