mirror of
https://github.com/zed-industries/zed.git
synced 2026-07-09 16:00:35 +00:00
Adds a dylint library under tooling/lints that flags Zed-specific anti-patterns: * shared_string_from_str_literal, * async_block_without_await, * entity_update_in_render, * notify_in_render, * owned_string_into_shared, * len_in_loop_condition, and * blocking_io_on_foreground. Includes UI tests, a single-lint helper, and workspace.metadata.dylint registration so cargo dylint --all discovers it. The library pins its own nightly toolchain (kept out of the main workspace) and tracks dylint 6. Release Notes: - N/A Self-Review Checklist: - [ ] I've reviewed my own diff for quality, security, and reliability - [ ] Unsafe blocks (if any) have justifying comments - [ ] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [ ] Tests cover the new/changed behavior - [ ] Performance impact has been considered and is acceptable Closes #ISSUE Release Notes: - N/A or Added/Fixed/Improved ...
29 lines
858 B
TOML
29 lines
858 B
TOML
[package]
|
|
name = "lints"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
publish = false
|
|
description = "Dylint lints for catching bad Zed specific patterns."
|
|
|
|
[lib]
|
|
crate-type = ["cdylib"]
|
|
|
|
[dependencies]
|
|
clippy_utils = { git = "https://github.com/rust-lang/rust-clippy", rev = "86390a3c03438b660c5efc64d4e18ae65982f5c0" }
|
|
dylint_linting = "6.0"
|
|
|
|
[dev-dependencies]
|
|
# `deny_warnings` restores `-D warnings` for the UI fixtures (off by default
|
|
# since dylint 3.0), so toolchain drift surfaces as a failing test.
|
|
dylint_testing = { version = "6.0", features = ["deny_warnings"] }
|
|
|
|
[package.metadata.rust-analyzer]
|
|
rustc_private = true
|
|
|
|
# Keep this crate out of the zed workspace. It pins its own nightly toolchain
|
|
# (see `rust-toolchain.toml`) to match `clippy_utils`.
|
|
[workspace]
|
|
|
|
[lints.rust.unexpected_cfgs]
|
|
level = "warn"
|
|
check-cfg = ["cfg(dylint_lib, values(any()))"]
|