Programming-Idioms

History of Idiom 209 > diff from v7 to v8

Edit summary for version 8 :
New Rust implementation by user [CeaselessBanana]

Version 7

2019-11-25, 23:46:28

Version 8

2020-03-17, 13:37:17

Idiom #209 Type with automatic deep deallocation

Declare a type t which contains a string s and an integer array n with variable size, and allocate a variable a of type t. Allocate v.s and v.n and set them to the values "Hello, world!" for s and [1,4,9,16,25], respectively. Deallocate v, automatically deallocating v.s and v.n (no memory leaks).

Idiom #209 Type with automatic deep deallocation

Declare a type t which contains a string s and an integer array n with variable size, and allocate a variable a of type t. Allocate v.s and v.n and set them to the values "Hello, world!" for s and [1,4,9,16,25], respectively. Deallocate v, automatically deallocating v.s and v.n (no memory leaks).

Code
struct T {
	s: String,
	n: Vec<usize>,
}

fn main() {
	let a = T {
		s: "Hello, world!".into(),
		n: vec![1,4,9,16,25]
	};
}
Comments bubble
When a variable goes out of scope, all member variables are deallocated recursively.