[M1] add manifest::parse

This commit is contained in:
2026-05-08 00:23:46 +00:00
parent fba725e192
commit 95a8890623
7 changed files with 18463 additions and 0 deletions

View File

@@ -19,3 +19,9 @@ All notable changes to cargoxx will be documented in this file.
- `Catch2 v3` wired through `flake.nix` (libc++-built override) and registered
in CMake; `tests/util_error.cpp` covers six format cases via
`catch_discover_tests`.
- `cargoxx.manifest` public types (`Package`, `Dependency`, `BuildSettings`,
`Edition`, `Manifest`) and `parse(path)` returning `Result<Manifest>`,
backed by toml++ vendored as `third_party/toml.hpp`. Unknown keys in
`[package]` / `[build]` and unknown top-level keys are rejected; reserved
fields (`description`, `repository`, `[dev-dependencies]`, `[features]`,
`[workspace]`) are accepted. `tests/manifest_parse.cpp` covers 17 cases.