Rqt-close — Odin

Or for a cross-platform abstraction:

Odin’s lack of automatic cleanup is a feature, not a bug. It forces you to think about resource lifetimes at every step, leading to more predictable and often more efficient software. The rqt-close pattern—whether you name it that or simply call CloseHandle directly—is the cornerstone of robust system programming in Odin. odin rqt-close

Example:

In Odin, every open deserves a close, every create a destroy. Your future self (and your operating system) will thank you. Or for a cross-platform abstraction: Odin’s lack of

import "core:runtime" cleanup_my_resource :: proc(data: rawptr) handle := cast(^windows.HANDLE)data CloseHandle(handle^) every open deserves a close