- Implement
Drop
- for types that can be discarded trivially - Implement
Destruct
- for types that need cleanup when destroyed. Typically, any type that contains aFelt252Dict
must implementDestruct
, as theFelt252Dict
needs to be “squashed” when going out of scope to ensure a program is sound.
Destruct
does not need to be implemented manually. It can be derived from the
Drop
and Destruct
implementations of the type’s fields.
Signature
Examples
Here’s a simple type that wraps aFelt252Dict
and needs to be destructed: