Crate dangerous

Source
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

FeatureDefaultDescription
stdEnabledEnables std::error::Error support and alloc
allocEnabledEnables allocations.
simdEnabledEnables all supported SIMD optimisations.
unicodeEnabledEnables improved unicode printing support.
full-backtraceEnabledEnables collection of all contexts for Expected.
zcDisabledEnables zc crate support.
nomDisabledEnables nom crate error support.
regexDisabledEnables regex pattern support.

Re-exports§

Modules§

Structs§

Enums§

Traits§

  • Implemented for immutable wrappers around bytes to be processed (Bytes/String).
  • Implemented for structures that can be found within an Input.

Functions§

  • Creates a new Input from a byte or string slice.

Type Aliases§