22 lines
999 B
Markdown
22 lines
999 B
Markdown
# Changelog
|
|
|
|
All notable changes to cargoxx will be documented in this file.
|
|
|
|
## [Unreleased]
|
|
|
|
### Added
|
|
- M0 repo skeleton: hand-written `CMakeLists.txt`, bootstrap `flake.nix`,
|
|
empty C++23 module units for every component listed in `TECH_SPEC.md` §1
|
|
(`util`, `exec`, `manifest`, `lockfile`, `layout`, `linkdb`, `resolver`,
|
|
`codegen`, `cli`), root module `cargoxx`, and a stub `main.cpp` that
|
|
builds an empty `cargoxx` binary.
|
|
- `.clang-format` (LLVM, 100-column) and `.gitignore`.
|
|
- `SPEC.md`, `TECH_SPEC.md`.
|
|
- M1 foundation in `cargoxx.util`: `ErrorCode` (numbers per `TECH_SPEC.md` §4),
|
|
`Error`, `Result<T> = std::expected<T, Error>`, and `format(Error)` rendering
|
|
`error[Ennnn]: ...` with optional `--> path:line:col` and `hint:` lines.
|
|
`format` lives in `src/util/error.cpp` as a module implementation unit.
|
|
- `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`.
|