Problem
In `src/io/reader_io.cpp:70`, C-style cast is used to convert `const uint8_t*` to `void*`:
```cpp
void ReaderIO::ReleaseImpl(const uint8_t* data) const {
allocator_->Deallocate((void*)data); // C-style cast
}
```
The `Deallocate()` method signature requires `void*` (non-const), but `data` is `const uint8_t*`. The C-style cast silently removes const-ness without clear intent.
Solution
Use `const_cast` to explicitly express the intent:
```cpp
allocator_->Deallocate(const_cast<uint8_t*>(data));
```
This pattern is already used in the codebase at `src/io/noncontinuous_io.h:128`.
Tasks
Acceptance Criteria
- Code compiles without warnings
- All related tests pass
- No other C-style casts remain in `reader_io.cpp`
Priority
Medium
Estimated Effort
0.5-1 hour
Problem
In `src/io/reader_io.cpp:70`, C-style cast is used to convert `const uint8_t*` to `void*`:
```cpp
void ReaderIO::ReleaseImpl(const uint8_t* data) const {
allocator_->Deallocate((void*)data); // C-style cast
}
```
The `Deallocate()` method signature requires `void*` (non-const), but `data` is `const uint8_t*`. The C-style cast silently removes const-ness without clear intent.
Solution
Use `const_cast` to explicitly express the intent:
```cpp
allocator_->Deallocate(const_cast<uint8_t*>(data));
```
This pattern is already used in the codebase at `src/io/noncontinuous_io.h:128`.
Tasks
Acceptance Criteria
Priority
Medium
Estimated Effort
0.5-1 hour