Commit 5cc2a93
committed
refactor: type-erase InputIngredient persistence methods
Apply the same type-erasure pattern used for DerivedIngredient to
InputIngredient, reducing code bloat from persistence-related code.
Changes:
- Add InputCore with type-erased storage (DynKey -> ErasedInputEntry)
- Add function pointer types for persistence callbacks
- Add type-erased persistence methods to InputCore
- Create helper functions that return function pointers for each K,V
- Update InputIngredient to use InputCore for storage
- Update PersistableIngredient impl to delegate to erased methods
This ensures persistence iteration logic is compiled once in InputCore
instead of being duplicated for each (K, V) combination.1 parent 1883f5d commit 5cc2a93
1 file changed
+446
-162
lines changed
0 commit comments