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
# The ONE workspace crate that does not opt into `[lints] workspace = true`:
# it exists to hold a single audited `unsafe` FFI call into mimalloc that has
# no safe wrapper anywhere on crates.io (see src/lib.rs for the full audit
# note). Everything else in the workspace stays under `unsafe_code = "forbid"`.
#
# `unsafe_code` is `forbid` at the workspace root, and `forbid` cannot be lifted
# by an attribute at the call site - that is the whole point of it - so this
# crate cannot inherit the table and must restate it. Cargo rejects inheriting
# and overriding at once ("cannot override `workspace.lints` in `lints`"), which
# is why the lint tables below are a copy rather than a delta. Keep them in step
# with `[workspace.lints]` in the root manifest, minus `unsafe_code`; `cargo
# xtask structure` fails if they drift.
[]
= "leviath-alloc"
= "Allocator tuning for the leviath binary: one audited mimalloc option call"
= true
= true
= true
= true
= true
[]
# Off by default so builds without the mimalloc global allocator (the
# `--no-default-features` A/B benchmarking configuration of leviath-cli)
# compile no FFI at all and the entry point is a no-op.
= ["dep:libmimalloc-sys"]
[]
= { = "0.1", = ["extended"], = true }
[]
= { = true }
# A copy of `[workspace.lints]` minus `unsafe_code`, for the reason in the
# header note. Without this the crate inherited *nothing*, so `missing_docs` and
# `clippy::string_slice` did not apply to it either - a wider hole than the one
# opt-out it was documented as.
[]
= "warn"
[]
= "deny"
= "deny"
= "deny"