-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
125 lines (113 loc) · 3.85 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
113
114
115
116
117
118
119
120
121
122
123
124
125
[package]
name = "musik"
version = "0.1.0"
edition = "2021"
authors = ["Ivan L <tsionyx@gmail.com>"]
keywords = ["music"]
description = "Musical theory and audio signals concepts inspired by HSoM book"
readme = "README.md"
license = "MIT"
repository = "https://github.com/tsionyx/musik"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
num-rational = { version = "0.4", default-features = false, features = ["std"] }
num-integer = "0.1"
num-traits = "0.2"
enum-map = "2.6"
enum-iterator = "1.4"
ordered-float = "4.2"
itertools = { version = "0.12", default-features = false, features = ["use_std"]}
dyn-clone = "1.0"
intertrait = "0.2"
linkme = "0.2"
ux2 = { version = "0.8", default-features = false, features = ["8"] }
log = "0.4"
# MIDI stuff
midly = { version = "0.5", default-features = false, features = ["std"] }
midir = { version = "0.9", optional = true }
# graceful shutdown
ctrlc = { version = "3.4", optional = true }
once_cell = { version = "1.19", optional = true }
[features]
play-midi = ["midir", "ctrlc", "once_cell"]
default = ["play-midi"]
[dev-dependencies]
env_logger = "0.11"
clap = { version = "4.5", features = ["derive"] }
# https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-lints-section
[lints.rust]
# do not warn on older Rust versions
unknown_lints = "allow"
# The following list was generated with the command:
# $ rustc -W help | grep ' allow ' | awk '{print $1}' | tr - _ | sort | xargs -I{} echo '{} = "warn"' | xclip -sel clip
#
# It is also available for the latest version of rustc at:
# https://doc.rust-lang.org/rustc/lints/listing/allowed-by-default.html
absolute_paths_not_starting_with_crate = "warn"
# deprecated in 1.81
#box_pointers = "warn"
closure_returning_async_block = "warn"
deprecated_in_future = "warn"
deprecated_safe = { level = "warn", priority = -1 }
# using new expr is Ok
edition_2024_expr_fragment_specifier = "allow"
elided_lifetimes_in_paths = "warn"
explicit_outlives_requirements = "warn"
ffi_unwind_calls = "warn"
fuzzy_provenance_casts = "warn"
impl_trait_overcaptures = "warn"
keyword_idents_2018 = "warn"
keyword_idents_2024 = "warn"
let_underscore_drop = "warn"
lossy_provenance_casts = "warn"
macro_use_extern_crate = "warn"
meta_variable_misuse = "warn"
missing_abi = "warn"
missing_copy_implementations = "warn"
missing_debug_implementations = "warn"
missing_docs = "warn"
missing_unsafe_on_extern = "warn"
multiple_supertrait_upcastable = "warn"
must_not_suspend = "warn"
non_ascii_idents = "warn"
non_exhaustive_omitted_patterns = "warn"
non_local_definitions = "warn"
redundant_lifetimes = "warn"
rust_2021_incompatible_closure_captures = "warn"
rust_2021_incompatible_or_patterns = "warn"
rust_2021_prefixes_incompatible_syntax = "warn"
rust_2021_prelude_collisions = "warn"
rust_2024_incompatible_pat = "warn"
single_use_lifetimes = "warn"
trivial_casts = "warn"
trivial_numeric_casts = "warn"
unit_bindings = "warn"
unnameable_types = "warn"
# conflicts with the `clippy::redundant_pub_crate`
unreachable_pub = "allow"
unsafe_attr_outside_unsafe = "warn"
# NO UNSAFE
unsafe_code = "forbid"
unsafe_op_in_unsafe_fn = "warn"
unstable_features = "warn"
# TODO: "warn" after fixing false-positive detecting
# no usage of [dev-dependencies] that are used in examples
# https://github.com/rust-lang/rust/issues/95513
unused_crate_dependencies = "allow"
unused_extern_crates = "warn"
unused_import_braces = "warn"
unused_lifetimes = "warn"
unused_macro_rules = "warn"
unused_qualifications = "warn"
unused_results = "warn"
variant_size_differences = "warn"
[lints.clippy]
mem_forget = "deny"
nursery = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
# suppress some pedantic warnings
must_use_candidate = "allow"
return_self_not_must_use = "allow"
missing_panics_doc = "allow"
missing_errors_doc = "allow"
module_name_repetitions = "allow"