Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 49 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,54 @@
[package]
name = "arcus-vector"
description = "Vector search for arcus-memcached, loaded as an ASCII protocol extension (-X)"
version = "0.1.0"
edition = "2024"
# let-chains (`if let .. && let ..`).
rust-version = "1.88"
publish = false

[dependencies]
[lib]
# memcached loads the module as `libarcusv.so` with `-X`.
name = "arcusv"
crate-type = ["cdylib"]

[lints.rust]
unsafe_op_in_unsafe_fn = "deny"
unused_qualifications = "warn"
rust_2018_idioms = { level = "warn", priority = -1 }
trivial_numeric_casts = "warn"
unused_import_braces = "warn"

[lints.clippy]
# Raw pointers change type with `.cast()`/`.cast_mut()`, not `as`.
ptr_as_ptr = "warn"
ptr_cast_constness = "warn"
borrow_as_ptr = "warn"
# Lossless conversions use `From`, so an `as` cast marks one that can lose.
cast_lossless = "warn"
manual_let_else = "warn"
semicolon_if_nothing_returned = "warn"
redundant_closure_for_method_calls = "warn"
Comment thread
ing-eoking marked this conversation as resolved.
cast_ptr_alignment = "warn"
# A daemon module must not panic on a code path a request can reach; tests may.
# `clippy.toml` lets tests unwrap.
unwrap_used = "warn"
expect_used = "warn"
# Messages go through the server's logger, which honours `-v` and logger extensions;
# printing directly bypasses both.
print_stderr = "warn"
print_stdout = "warn"
# Every `unsafe` block says why it is sound, next to it.
undocumented_unsafe_blocks = "warn"
unnecessary_safety_comment = "warn"
# A lint is silenced with `#[expect(.., reason = "..")]`: the reason stays with the code, and
# the compiler says when the exception is no longer needed.
allow_attributes = "warn"
allow_attributes_without_reason = "warn"
# Leaks are deliberate here (never free under the cache lock); each one says so.
mem_forget = "warn"
dbg_macro = "warn"
todo = "warn"
unimplemented = "warn"
use_self = "warn"
or_fun_call = "warn"
4 changes: 4 additions & 0 deletions clippy.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Lets tests unwrap and print; the module itself may not (`Cargo.toml` [lints]).
allow-unwrap-in-tests = true
allow-expect-in-tests = true
allow-print-in-tests = true
2 changes: 2 additions & 0 deletions rustfmt.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
edition = "2024"
style_edition = "2024"
Loading