-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
36 lines (30 loc) · 1.47 KB
/
Copy pathCargo.toml
File metadata and controls
36 lines (30 loc) · 1.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# SPDX-License-Identifier: AGPL-3.0-or-later
# Standalone workspace root: decouples this trusted boundary crate from
# the parent virtual workspace, whose pre-existing `src/interface`
# member has an external path-dep (`../../../echidna/...`) that does not
# resolve in a standalone checkout (CI). This crate has NO external
# path-deps and must build/gate in isolation.
[workspace]
[package]
name = "vcltotal-parse"
version = "0.1.0"
edition = "2021"
license = "PMPL-1.0-or-later"
authors = ["Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>"]
repository = "https://github.com/hyperpolymath/vcl-ut"
description = "P5a (#25): trusted, panic-free String -> Statement parser for VCL-total; faithful Rust mirror of src/core/Grammar.idr, feeding the Idris2 certifier across the C-ABI."
[lib]
name = "vcltotal_parse"
path = "src/lib.rs"
[dependencies]
[dev-dependencies]
proptest = "1"
# SPARK-grade posture is enforced STATICALLY in lib.rs:
# `#![forbid(unsafe_code)]` + `#![deny(clippy::arithmetic_side_effects,
# unwrap_used, expect_used, panic, indexing_slicing, unreachable, todo,
# unimplemented, exit)]`. `arithmetic_side_effects` rejects every
# unchecked +/-/* on integers at compile time; the only arithmetic in
# the crate is cursor `saturating_add`. The `proptest` panic-free
# invariant (tests/parse.rs, 4096 cases x 3 strategies) is the runtime
# witness. No `[profile]` here: workspace members' profiles are ignored
# by Cargo, so the guarantee is the static lint set, not a build flag.