Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
id_effect_lints
Dylint lints for idiomatic id_effect code: Effect<A, E, R> signatures, effect!, services,
from_async, fibers, time, and raw SQL (raw_sql_non_literal, ADR 0013 R5). cargo dylint runs
them the way cargo clippy runs Clippy's.
Install and run
# Your workspace's Cargo.toml
[]
= [
{ = "https://github.com/Industrial/id_effect", = "v0.11.0", = "lints/id_effect_lints" },
]
Dylint builds this library with the nightly pinned in rust-toolchain.toml (it links against
rustc's own crates); your project keeps its toolchain. Every lint warns by default
(tests_must_use_run_test is opt-in). Raise one with DYLINT_RUSTFLAGS="-D <lint>" or
#![cfg_attr(dylint_lib = "id_effect_lints", deny(<lint>))].
Lints
Declared in src/lib.rs, categories A–M: function signatures, effect! discipline,
async/from_async, the block_on edge and TestExecutor tests, services (typed R, caps!,
Layer), errors, concurrency, time, tests, logging, schema boundaries, Effect combinators
(effect_map_identity, effect_flat_map_succeed, effect_flat_map_then: auto-fixed) and raw
SQL (raw_sql_non_literal: the &str methods of SqlClient / SqlTransaction / SqlExecutor
get a literal, a const, or Sql::as_str()).
The ast-grep rules in rules/ (sgconfig.yml) cover the same ground without nightly:
ast-grep scan --config lints/id_effect_lints/sgconfig.yml.
examples/demo is a small crate that trips both: cd examples/demo && cargo dylint --all, or
ast-grep scan -c ../../sgconfig.yml . from the same directory. CI checks each finding.
Developing
The library is not a member of the main workspace (its own [workspace], toolchain and
dylint-link linker in .cargo/config.toml). When the expected output changes, compiletest
prints where it saved the actual .stderr; review it and copy it over. Bump the nightly together
with dylint_linting.
License
MIT, see the workspace root in id_effect.