summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/export-to-postgresql.py
diff options
context:
space:
mode:
authorGary Guo <gary@garyguo.net>2026-09-09 23:23:20 +0100
committerGary Guo <gary@garyguo.net>2026-10-11 11:06:47 +0100
commit73cf61724648ad57dd5664a0e2915e20fd304650 (patch)
tree22a04e0f5b4150e79f28c7a679b592592458d40e /tools/perf/scripts/python/export-to-postgresql.py
parente2ab80587d02ef262df78a48660eef06adeb133b (diff)
rust: pin-init: internal: pin_data: support existential lifetimes
There are many cases where structs that have interior mutability, but they do not need the invariance over captured lifetimes as the lifetime is captured upon construction, and new data of that particular lifetime does not flow back into the struct. For these use cases, the same mechanism as pin-init self-reference may be used. Add support for existential lifetimes, introduced by having where clauses such as exists<'a>: 'b The lifetime `'a` above is minted similar to field lifetimes. Because `'a` is an erased lifetime living longer than `'b`, the only variance requirement that we have is that `'b` cannot be contravariant; that defense is fulfilled by adding `PhantomData<&'b ()>` so the struct is either covariant or invariant over `'b`. Acked-by: Benno Lossin <lossin@kernel.org> Link: https://patch.msgid.link/20261008-dev-selfref-v2-20-e280b3c8fba5@garyguo.net/ Signed-off-by: Gary Guo <gary@garyguo.net>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions