Search for “self-referencing struct” for many prior results.
TL;DR, Rust doesn’t support this, the most convenient approach is to just avoid the desire to pack these things into a single struct, as long as that’s possible; otherwise, there are a few macro-based crates that allow you do it without needing to touch unsafe or raw pointers yourself. A simple such crate is self_cell - Rust
I’m not a user of those window-related crates, but it seems like maybe using the Window as an owned value and/or shared via Arc<Window> might work just as well?