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
27 changes: 27 additions & 0 deletions .spelling
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,7 @@ llvm-cov
llvm-tools
lockfile
lockfiles
lookahead
lookups
M365PT
macOS
Expand Down Expand Up @@ -736,6 +737,7 @@ unbuildable
unbuilt
uncompilable
uncompiled
uncommenting
undecisive
undelegated
unescaping
Expand Down Expand Up @@ -894,3 +896,28 @@ groupable
memoization
triaging
lexically
OpenSSH
BLAKE3
syscalls
environ
uClibc
uncensused
errno
neighbouring
mergeable
OSC
unsynchronized
hardcoding
reparse
unassociated
hardcoded
preallocation
coloured
unprovenanced
SGR
CSI
C1
resize
multibyte
dereferences
prepasses
12 changes: 11 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -205,9 +205,19 @@ clippy.should_panic_without_expect = "allow"
clippy.significant_drop_tightening = "allow"
# Blocked by Clippy bug: https://github.com/rust-lang/rust-clippy/issues/15036
clippy.wildcard_imports = "allow"

# <<< anvil-managed: anvil-workspace-lints

# --- clippy: catalog entries this project adds outside the managed region ---
# The dotted-key form above keeps `[workspace.lints]` open, so these extend the
# same scope without editing the anvil-managed block and provoking its drift
# detector. They complete the `M-STATIC-VERIFICATION` catalog, which names all
# three: https://microsoft.github.io/rust-guidelines/guidelines/universal/#M-STATIC-VERIFICATION
clippy.empty_structs_with_brackets = "warn"
clippy.too_long_first_doc_paragraph = "warn"
# The guideline's own opt-out: a structured-logging call site legitimately
# passes a literal holding `{field}` placeholders for the logger to expand.
clippy.literal_string_with_formatting_args = "allow"

# A bit of debugging support for release builds.
[profile.release]
debug = "line-tables-only"
Expand Down
2 changes: 0 additions & 2 deletions crates/cargo-anvil/tests/recipe_contracts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -837,8 +837,6 @@ fn repository_constants_match_shared_anvil_versions() {
// The legacy workflow's broad nightly follows rust-toolchain.toml,
// while Anvil's general-purpose nightly has its own compatibility cadence.
"rust_nightly",
// These bootstrap/repository-only tools are not managed by Anvil.
"cargo_workspaces_version",
"just_version",
"sccache_version",
];
Expand Down
12 changes: 12 additions & 0 deletions crates/cargo-gamma-attrs-impl/docs/DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,18 @@ attributes exported by `cargo-gamma-attrs`.
logic outside rustc makes it directly testable and mutation-testable.
- It accepts exactly one Rust expression where an attribute promises an
expression and rejects unsupported keys or malformed selectors.
- A stated value is rejected on any function the tool would never mutate: a
declaration with no body, a `const fn`, or a function whose body is empty.
Accepting one there would leave a hint that reads as working and generates
nothing.
- Argument lists are split on their top-level commas and each argument is then
classified on its own, so an attribute accepts exactly the text the equivalent
`// gamma:` comment directive accepts. A positional timeout multiplier
therefore carries no positional meaning: it may sit before, between, or after
selectors, a `reason`, a `tag`, or a trailing comma. What it may not do is
appear twice — a second multiplier, in any spelling and in either order, is
refused rather than silently overriding the first, and the tool's directive
parser refuses the same text.
- It returns the original item unchanged after validation.

## Stability
Expand Down
Loading
Loading