-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Problem Description
Current allocation strategies (static, bounded, managed, std) share capability features, preventing true mutual exclusivity and causing compilation conflicts.
Current Architecture Issues
- Shared capability features between strategies cause circular dependencies
- Type selection conflicts due to overlapping feature conditions
- Mutual exclusivity not properly enforced
Proposed Solution
Implement strategy-specific capability features:
# Strategy Level (mutually exclusive)
static-allocation-core = ["static-memory-layout", "static-capacity-limits"]
bounded-allocation-core = ["bounded-runtime-checks", "bounded-capacity-limits"]
managed-allocation-core = ["managed-monitoring"]
std-allocation-core = ["std-collections", "std-dynamic-alloc"]
Implementation Plan
- Create strategy-specific capability features
- Remove cross-strategy dependencies
- Implement clear capability inheritance
- Update prelude system for clean type selection
Acceptance Criteria
- Each allocation strategy has independent capability features
- No shared features between strategies
- Clean type selection based on strategy precedence
- All safety levels work correctly with new architecture
Dependencies
Blocked by Issue #106 (critical fix must be completed first)
Priority
P1 - High priority architecture improvement
Metadata
Metadata
Assignees
Labels
No labels