Expand description
Safely and explicitly parse untrusted aka dangerous data.
§Basic usage
use dangerous::{Input, Invalid};
let input = dangerous::input(b"hello");
let result: Result<_, Invalid> = input.read_partial(|r| {
r.read_u8()
});
assert_eq!(result, Ok((b'h', dangerous::input(b"ello"))));§Feature flags
| Feature | Default | Description |
|---|---|---|
std | Enabled | Enables std::error::Error support and alloc |
alloc | Enabled | Enables allocations. |
simd | Enabled | Enables all supported SIMD optimisations. |
unicode | Enabled | Enables improved unicode printing support. |
full-backtrace | Enabled | Enables collection of all contexts for Expected. |
zc | Disabled | Enables zc crate support. |
nom | Disabled | Enables nom crate error support. |
regex | Disabled | Enables regex pattern support. |
Re-exports§
pub use self::error::Error;pub use self::error::Expected;pub use self::error::Fatal;pub use self::error::Invalid;pub use self::error::ToRetryRequirement;
Modules§
- Display support.
- Error support.
Structs§
Enums§
- Indication of whether
Inputwill change in futher passes.
Traits§
- Implemented for structures that can be found within an
Input.
Functions§
- Creates a new
Inputfrom a byte or string slice.