pub fn origin(func: &Func, value: Value) -> (Origin, Option<i64>)Expand description
Where a pointer came from, and how many bytes past the start of it the pointer is.
The offset is None when the walk passed arithmetic whose amount is not a constant, which
costs the offset layer and nothing else: the origin is still the origin, because adding an
unknown number of bytes to a pointer does not move it to a different object.