Skip to content

Add a warning-code scoreboard for the M8-W gate #91

Open

Description

@biuld

Part of #74 (Phase 1). The last unmeasured gate with a straightforward harness.

Do

Add a warning scoreboard to crates/psrs-driver/tests/suite.rs, following the existing pattern but reading @shouldWarnWith instead of @shouldFailWith.

Corpus shape, measured over the 67 non-FFI files: 96 annotations across 29 distinct codes, and 12 files with no annotation at all — those are compile-only cases (2383.purs, 4268.purs, 4414.purs, CoercibleUnused*.purs, KindReExport.purs, VTAsWildcardInferred.purs, and two support modules). Score them as "must compile and produce no listed warning", not as agreement.

Then close the gap

The measurement will be near zero, because no warning is emitted with a code today. Group the work by what produces each code:

  • Name hygiene (17 files): UnusedName, UnusedExplicitImport, UnusedImport, UnusedDctorImport, UnusedTypeVar, UnusedDeclaration, ShadowedName, ShadowedTypeVar, ScopeShadowing.
  • Export/import hygiene (14): DuplicateExportRef, DuplicateImportRef, DuplicateImport, DuplicateSelectiveImport, ImplicitImport, ImplicitQualifiedImport, ImplicitQualifiedImportReExport, HidingImport, AdditionalProperty, HiddenConstructors.
  • Type/kind declarations (13): MissingTypeDeclaration, MissingKindDeclaration, WildcardInferredType, MissingNewtypeSuperclassInstance, UnverifiableSuperclassInstance.
  • Patterns (2): OverlappingPattern — overlaps the redundancy work already reported by CC coverage analysis.
  • Parse/user (4): UserDefinedWarning, WarningParsingModule.

FE-20 and the M8-W gate row stay Partial until this reaches 100%.

Acceptance

The scoreboard reports warning-code agreement for all 67 files, and the D-04 M8-W row carries the number.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestgate:M8Blocks the warning and optimization gates (D-04 M8-W, M8-O)

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions