crabgrind 0.2.7

Rust bindings to "Valgrind Client Request" interface
Documentation
Notification to Valgrind of a custom allocator creating a heap block

Wraps `VALGRIND_MALLOCLIKE_BLOCK`. Valgrind tracks standard allocator calls
automatically, but this macro is required for custom memory management schemes
to ensure accurate leak detection, redzone insertion, and error reporting.

Call this immediately after the allocation logic, preferably at the outermost
level of the allocator function to ensure clean stack traces.

# Arguments

- `addr` - The starting address of the *usable* block (i.e., after any header or
  redzone padding).
- `size` - The size of the usable block in bytes.
- `redzone` - The size of the redzone (padding) in bytes. Use `0` if no redzone
  is applied. Non-zero values are recommended to enable detection of block
  overruns.
- `is_zeroed` - If `true`, the memory is marked as defined (e.g., from a
  `calloc`-like operation). If `false`, it is marked as undefined.

# Behavior

- Registers the block for leak checking.
- Marks the memory range as addressable.

## Note

Requires Valgrind **3.0** or higher.