1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
//! Marker types to express the memory management method of Godot types. use crate::object::RefKindSpec; /// Marker that indicates that a type is manually managed. pub struct ManuallyManaged; /// Marker that indicates that a type is reference-counted. pub struct RefCounted; /// Trait to parameterize over the memory management markers /// [`ManuallyManaged`](struct.ManuallyManaged.html) and [`RefCounted`](struct.RefCounted.html). /// /// This trait is sealed and has no public members. pub trait RefKind: RefKindSpec + private::Sealed {} impl RefKind for ManuallyManaged {} impl private::Sealed for ManuallyManaged {} impl RefKind for RefCounted {} impl private::Sealed for RefCounted {} mod private { pub trait Sealed {} }