What
Mark every legacy forwarding header in include/container/ with [[deprecated]] and document removal in CHANGELOG.md for the next minor release.
Why
The legacy include/container/ path predates the canonical include/kcenon/container/ layout. It is currently a duplication source: the same type can be reached via two roots, and downstream code keeps depending on the legacy path because nothing has signalled that it is going away. A formal deprecation:
- gives downstream consumers a compile-time warning to migrate
- clears the path for a hard removal in the next minor release
- closes the EPIC AC item "Forwarding headers
[[deprecated]] with removal note in CHANGELOG"
Where
- Files: every header under
include/container/ (current state: at least include/container/optimizations/fast_parser.h; verify by enumerating include/container/ after the header-consolidation sub-issue merges)
CHANGELOG.md (new "Deprecations" entry)
How
Technical Approach
- Enumerate
include/container/ and identify every forwarding header.
- Add
[[deprecated("Use <kcenon/container/...> instead")]] on the forwarded type alias / function declaration. Pure forwarders that only #include the new path can use a #pragma message warning fallback because attributes do not attach to #include directives.
- Add
CHANGELOG.md entry under "Deprecations" with replacement path + planned removal version.
- Verify build still succeeds (warnings expected for any in-repo legacy use; fix those as part of this PR if they exist).
Acceptance Criteria
Estimated Size
XS (verified: only 1 forwarding header currently remains in include/container/; the heavy-lifting deprecation will be reaching all consumers, which is out of this issue's scope).
Part of #531
What
Mark every legacy forwarding header in
include/container/with[[deprecated]]and document removal inCHANGELOG.mdfor the next minor release.Why
The legacy
include/container/path predates the canonicalinclude/kcenon/container/layout. It is currently a duplication source: the same type can be reached via two roots, and downstream code keeps depending on the legacy path because nothing has signalled that it is going away. A formal deprecation:[[deprecated]]with removal note in CHANGELOG"Where
include/container/(current state: at leastinclude/container/optimizations/fast_parser.h; verify by enumeratinginclude/container/after the header-consolidation sub-issue merges)CHANGELOG.md(new "Deprecations" entry)How
Technical Approach
include/container/and identify every forwarding header.[[deprecated("Use <kcenon/container/...> instead")]]on the forwarded type alias / function declaration. Pure forwarders that only#includethe new path can use a#pragma messagewarning fallback because attributes do not attach to#includedirectives.CHANGELOG.mdentry under "Deprecations" with replacement path + planned removal version.Acceptance Criteria
include/container/carries[[deprecated]]or equivalent warningEstimated Size
XS (verified: only 1 forwarding header currently remains in
include/container/; the heavy-lifting deprecation will be reaching all consumers, which is out of this issue's scope).Part of #531