pub fn from_slice_into_borrowed<'input, 'facet>(
input: &'input [u8],
partial: Partial<'facet, true>,
) -> Result<Partial<'facet, true>, DeserializeError>where
'input: 'facet,Expand description
Deserialize JSON from bytes into an existing Partial, allowing zero-copy borrowing.
This variant requires the input to outlive the Partial’s lifetime ('input: 'facet),
enabling zero-copy deserialization of string fields as &str or Cow<str>.
This is useful for reflection-based deserialization where you don’t have
a concrete type T at compile time, only its Shape metadata.
§Example
use facet::Facet;
use facet_json::from_slice_into_borrowed;
use facet_reflect::Partial;
#[derive(Facet, Debug, PartialEq)]
struct Point<'a> {
label: &'a str,
x: i32,
y: i32,
}
let json = br#"{"label": "origin", "x": 0, "y": 0}"#;
let partial = Partial::alloc::<Point>().unwrap();
let partial = from_slice_into_borrowed(json, partial).unwrap();
let value = partial.build().unwrap();
let point: Point = value.materialize().unwrap();
assert_eq!(point.label, "origin");