Commit e7b74ed
fix(proofs/idris2): RMO.idr hardwareEraseIrreversible single-line signature (parse fix)
The pre-existing multi-line signature
hardwareEraseIrreversible :
(proof : HardwareEraseProof) ->
-- No recovery function exists
(recovery : () -> Filesystem) ->
Void
failed to parse under Idris2 0.8.0 with "Expected a type declaration"
at the trailing colon of `hardwareEraseIrreversible :`. Sanity check
(replacing the body with `hardwareEraseIrreversible : Bool`) confirmed
the parser proceeded past the declaration, isolating the failure to
this specific multi-line shape.
Suspected trigger: the combination of a `--` line comment inside the
type signature plus a `() -> ...` parameter, which the 0.8.0 parser
mis-recovers from. The single-line signature avoids both potential
triggers and parses cleanly. Same semantics:
hardwareEraseIrreversible :
HardwareEraseProof -> (Unit -> Filesystem) -> Void
Switched `()` to `Unit` to be explicit (both denote the same type;
`Unit` is the more conventional form for a parameter type). The body
is unchanged (still `?hardwareEraseIrreversibleProof` — separate proof
debt tracked under #89's parked sub-markers).
Verified locally: `idris2 --build` now proceeds past
`hardwareEraseIrreversible`. The next pre-existing parse error is at
the `AuditEntry` record's dependent `proof : ObliterationProof path`
field (separate sub-issue, addressed in parallel).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 9895bb4 commit e7b74ed
1 file changed
Lines changed: 5 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
203 | 203 | | |
204 | 204 | | |
205 | 205 | | |
206 | | - | |
207 | | - | |
| 206 | + | |
208 | 207 | | |
| 208 | + | |
| 209 | + | |
209 | 210 | | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
| 211 | + | |
| 212 | + | |
219 | 213 | | |
220 | 214 | | |
221 | 215 | | |
| |||
0 commit comments