sc-lint-attributes
sc-lint-attributes is the proc-macro crate that provides the
#[sc_lint(...)] attribute namespace used by analyzer-owned source
declarations.
Purpose
Use this crate when Rust source needs compile-valid sc_lint attributes for
policy declarations that analyzers later inspect, such as:
#[sc_lint(boundary.internal_only)]#[sc_lint(boundary.forbid_external_impls)]- approved
boundary.allow(...)cycle suppressors
The crate stays intentionally thin: it provides the attribute namespace and syntax acceptance while the analyzers own semantic enforcement.
Key Types
This crate is a proc-macro surface rather than a deep domain model. Its role is to:
- expose the
#[sc_lint(...)]attribute entry point - delegate syntax understanding to
sc-lint-directives - preserve stable source-level attribute usage across analyzer evolution
Usage
In a consumer crate:
= { = "0.1.0", = "../sc-lint-attributes" }
Example source:
pub ;