src/rules.bend fails
raw source on the hub · import 0xde9bb08f7de298b03207fb5797ede9a5/src/rules.bend as Rules
src/rules: every rule, and its group. A rule is a module under
rules/<group>/ with check(src) -> List<Finding>, run over each file read
once (src/src.bend); a project rule has check(ds) -> List<Finding> and
sees every file at once, as the digests of rules/digest.bend. The directory
names the group, and codes.bend says it again for the config.
Adding one is adding it here and a row in codes.bend. One rule is not
listed here, noqa (rules/style/noqa.bend): it reads the other rules'
graded findings, so the planner runs it after them (lint/plan.bend).
The groups are what a bolt.bend switches at once: correctness (what will
fail or blow up), suspicious (what is probably a slip), style, laws, and
pedantic (advice that is noisy on idiomatic code: off unless a project
asks for it).
35 imports
import Base import ./finding.bend as F import ./codes.bend as Codes import ./src.bend as Src import ./rules/digest.bend as Digest import ./config.bend as Config import ./rules/style/doc.bend as Doc import ./rules/suspicious/unused.bend as Unused import ./rules/correctness/hole.bend as Hole import ./rules/style/space.bend as Space import ./rules/style/wrap.bend as Wrap import ./rules/style/param.bend as Param import ./rules/correctness/pick.bend as Pick import ./rules/laws/law.bend as Law import ./rules/suspicious/strict.bend as Strict import ./rules/suspicious/eager.bend as Eager import ./rules/pedantic/tail.bend as Tail import ./rules/suspicious/concat.bend as Concat import ./rules/suspicious/index.bend as Index import ./rules/suspicious/table.bend as Table import ./rules/suspicious/hoist.bend as Hoist import ./rules/suspicious/ring.bend as Ring import ./rules/suspicious/rewalk.bend as Rewalk import ./rules/suspicious/unit.bend as Unit import ./rules/correctness/put.bend as Put import ./rules/correctness/escape.bend as Escape import ./rules/correctness/strings.bend as Strings import ./rules/correctness/chars.bend as Chars import ./rules/correctness/twice.bend as Twice import ./rules/correctness/arms.bend as Arms import ./rules/correctness/foreign.bend as Foreign import ./rules/suspicious/fuel.bend as Fuel import ./rules/laws/closed.bend as Closed import ./rules/laws/trace.bend as Trace import ./rules/laws/unsafe.bend as Unsafe
The reader could not load this file (at 0xde9bb08f7de298b03207fb5797ede9a5/src/config.bend:32). What bend.ts says:
Error:
- expected : a fresh name (duplicate declaration: Set)
- observed : 'Set'
Location:
31 | # a name (a group's or a rule's) at a level
32>| type Set is Data:
| ^^^
33 | Set{name: String, level: Level}