-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
110 lines (103 loc) · 4.43 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
[package]
name = "sem_safe"
version = "0.2.0"
authors = ["Derick Eddington"]
edition = "2021"
rust-version = "1.75"
description = "Safe usage of POSIX Semaphores (`sem_post`, `sem_wait`, etc)."
keywords = ["semaphore", "synchronization", "signals", "unix", "no_std"]
categories = ["api-bindings", "concurrency", "os::unix-apis", "no-std::no-alloc"]
license = "Unlicense"
repository = "https://app.radicle.xyz/nodes/ash.radicle.garden/rad:zUAeNZN24JCzNQ9YVkoxNbw8c8TU"
readme = "README.md"
[features]
default = ["unnamed", "named", "anonymous", "plaster"]
unnamed = [] # On MacOS, ignored, because not available.
named = ["errno"]
anonymous = ["named", "getrandom", "base64"]
plaster = [] # Provides a uniform "non-named" semaphore abstraction across Mac and all other OSs.
[dependencies]
# These crates are only internal implementation details that could be replaced with others that
# provide equivalent capabilities as needed.
base64 = { version = "0.22.1", default-features = false, optional = true }
errno = { version = "0.3.9", default-features = false, optional = true }
getrandom = { version = "0.2.15", default-features = false, features = ["rdrand"], optional = true }
libc = { version = "0.2.155", default-features = false }
[dev-dependencies]
cfg-if = "1.0.0"
errno = { version = "0.3.9", default-features = false }
[lints.rust]
unstable_features = "forbid"
# Warn about desired lints that would otherwise be allowed by default.
# Groups
future_incompatible = { level = "warn", priority = -1 }
nonstandard_style = { level = "warn", priority = -1 }
rust_2018_compatibility = { level = "warn", priority = -1 }
rust_2018_idioms = { level = "warn", priority = -1 }
rust_2021_compatibility = { level = "warn", priority = -1 }
unused = { level = "warn", priority = -1 }
# Individual lints not included in above groups and desired.
let_underscore_drop = "warn"
macro_use_extern_crate = "warn"
meta_variable_misuse = "warn"
missing_copy_implementations = "warn"
missing_debug_implementations = "warn"
missing_docs = "warn"
#missing_doc_code_examples = "warn" # maybe someday
redundant_lifetimes = "warn"
single_use_lifetimes = "warn"
trivial_casts = "warn"
trivial_numeric_casts = "warn"
unit_bindings = "warn"
unnameable_types = "warn"
unreachable_pub = "warn"
unused_crate_dependencies = "warn"
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]
# Groups
pedantic = { level = "warn", priority = -1 }
restriction = { level = "warn", priority = -1 }
cargo = { level = "warn", priority = -1 }
# Exclude (re-allow) undesired lints included in above groups.
absolute_paths = "allow"
blanket_clippy_restriction_lints = "allow"
default_numeric_fallback = "allow"
deref_by_slicing = "allow"
disallowed_script_idents = "allow"
impl_trait_in_params = "allow"
implicit_return = "allow"
min_ident_chars = "allow"
missing_docs_in_private_items = "allow"
missing_trait_methods = "allow"
module_name_repetitions = "allow"
non_ascii_literal = "allow"
pattern_type_mismatch = "allow"
pub_use = "allow"
pub_with_shorthand = "allow"
question_mark_used = "allow"
self_named_module_files = "allow"
semicolon_outside_block = "allow"
separated_literal_suffix = "allow"
single_call_fn = "allow"
single_char_lifetime_names = "allow"
shadow_reuse = "allow"
[lints.rustdoc]
private_doc_tests = "warn"
[package.metadata.docs.rs]
all-features = true
default-target = "x86_64-unknown-linux-gnu"
# Must exclude Windows and any other non-POSIX OSs. Might as well include those I've tested on.
targets = [
"x86_64-apple-darwin",
"x86_64-unknown-freebsd",
"x86_64-unknown-illumos",
"x86_64-unknown-linux-musl",
"x86_64-unknown-netbsd",
"x86_64-unknown-openbsd",
]