deslop 0.2.0

A static analyzer that spots low-context and AI-assisted code patterns across naming, concurrency, security, performance, and test quality.
Documentation
pub(crate) const COMMENTS: &str = crate::heuristics::comments::BINDING_LOCATION;
pub(crate) const HALLUCINATION: &str = crate::heuristics::hallucination::BINDING_LOCATION;
pub(crate) const NAMING: &str = crate::heuristics::naming::BINDING_LOCATION;
pub(crate) const SHARED_SECURITY: &str = crate::heuristics::security::BINDING_LOCATION;
pub(crate) const TEST_QUALITY: &str = crate::heuristics::test_quality::BINDING_LOCATION;

pub(crate) const GO_CONCURRENCY: &str = crate::heuristics::go::CONCURRENCY_BINDING_LOCATION;
pub(crate) const GO_CONSISTENCY: &str = crate::heuristics::go::CONSISTENCY_BINDING_LOCATION;
pub(crate) const GO_CONTEXT: &str = crate::heuristics::go::CONTEXT_BINDING_LOCATION;
pub(crate) const GO_DATA_ACCESS_CLIENTS: &str =
    crate::heuristics::go::DATA_ACCESS_CLIENTS_BINDING_LOCATION;
pub(crate) const GO_DATA_ACCESS_GORM: &str =
    crate::heuristics::go::DATA_ACCESS_GORM_BINDING_LOCATION;
pub(crate) const GO_DATA_ACCESS_SQL: &str = crate::heuristics::go::DATA_ACCESS_SQL_BINDING_LOCATION;
pub(crate) const GO_DATA_ACCESS: &str = crate::heuristics::go::DATA_ACCESS_BINDING_LOCATION;
pub(crate) const GO_ERRORS: &str = crate::heuristics::go::ERRORS_BINDING_LOCATION;
pub(crate) const GO_GIN: &str = crate::heuristics::go::GIN_BINDING_LOCATION;
pub(crate) const GO_HOT_PATH: &str = crate::heuristics::go::HOT_PATH_BINDING_LOCATION;
pub(crate) const GO_IDIOMS: &str = crate::heuristics::go::IDIOMS_BINDING_LOCATION;
pub(crate) const GO_LIBRARY: &str = crate::heuristics::go::LIBRARY_MISUSE_LIBRARY_BINDING_LOCATION;
pub(crate) const GO_LIBRARY_SECURITY: &str =
    crate::heuristics::go::LIBRARY_MISUSE_SECURITY_BINDING_LOCATION;
pub(crate) const GO_MOD: &str = crate::heuristics::go::BINDING_LOCATION;
pub(crate) const GO_PERFORMANCE: &str = crate::heuristics::go::PERFORMANCE_BINDING_LOCATION;
pub(crate) const GO_STYLE: &str = crate::heuristics::go::STYLE_BINDING_LOCATION;

pub(crate) const PYTHON_AI_SMELLS: &str = crate::heuristics::python::AI_SMELLS_BINDING_LOCATION;
pub(crate) const PYTHON_DUPLICATION: &str = crate::heuristics::python::DUPLICATION_BINDING_LOCATION;
pub(crate) const PYTHON_FRAMEWORK: &str = crate::heuristics::python::FRAMEWORK_BINDING_LOCATION;
pub(crate) const PYTHON_HOTPATH: &str = crate::heuristics::python::HOTPATH_BINDING_LOCATION;
pub(crate) const PYTHON_HOTPATH_EXT: &str = crate::heuristics::python::HOTPATH_EXT_BINDING_LOCATION;
pub(crate) const PYTHON_MAINTAINABILITY: &str =
    crate::heuristics::python::MAINTAINABILITY_BINDING_LOCATION;
pub(crate) const PYTHON_MLOPS: &str = crate::heuristics::python::MLOPS_BINDING_LOCATION;
pub(crate) const PYTHON_PACKAGING: &str = crate::heuristics::python::PACKAGING_BINDING_LOCATION;
pub(crate) const PYTHON_PERFORMANCE: &str = crate::heuristics::python::PERFORMANCE_BINDING_LOCATION;
pub(crate) const PYTHON_QUALITY: &str = crate::heuristics::python::QUALITY_BINDING_LOCATION;
pub(crate) const PYTHON_STRUCTURE: &str = crate::heuristics::python::STRUCTURE_BINDING_LOCATION;

pub(crate) const RUST_ANALYSIS_EVALUATE: &str = crate::analysis::rust::EVALUATE_BINDING_LOCATION;
pub(crate) const RUST_ANALYSIS_FINDINGS: &str = crate::analysis::rust::FINDINGS_BINDING_LOCATION;
pub(crate) const RUST_BOUNDARY: &str = crate::heuristics::rust::BOUNDARY_BINDING_LOCATION;
pub(crate) const RUST_MODULE_SURFACE: &str =
    crate::heuristics::rust::MODULE_SURFACE_BINDING_LOCATION;
pub(crate) const RUST_RUNTIME_OWNERSHIP: &str =
    crate::heuristics::rust::RUNTIME_OWNERSHIP_BINDING_LOCATION;
pub(crate) const RUST_SECURITY_FOOTGUNS: &str =
    crate::heuristics::rust::SECURITY_FOOTGUNS_BINDING_LOCATION;
pub(crate) const RUST_API_DESIGN: &str = crate::heuristics::rust::API_DESIGN_BINDING_LOCATION;
pub(crate) const RUST_ASYNC_PATTERNS: &str =
    crate::heuristics::rust::ASYNC_PATTERNS_BINDING_LOCATION;
pub(crate) const RUST_DOMAIN_MODELING: &str =
    crate::heuristics::rust::DOMAIN_MODELING_BINDING_LOCATION;
pub(crate) const RUST_PERFORMANCE: &str = crate::heuristics::rust::PERFORMANCE_BINDING_LOCATION;
pub(crate) const RUST_RUNTIME_BOUNDARY: &str =
    crate::heuristics::rust::RUNTIME_BOUNDARY_BINDING_LOCATION;
pub(crate) const RUST_UNSAFE_SOUNDNESS: &str =
    crate::heuristics::rust::UNSAFE_SOUNDNESS_BINDING_LOCATION;