Memory allocation: Difference between revisions

add rust solution
m (→‎{{header|Retro}}: update for retro12)
(add rust solution)
Line 1,320:
end
t = Thingamajig.allocate</lang>
 
=={{header|Rust}}==
The method shown below will be deprecated soon in favor of the `std::alloc::Alloc` trait. Follow the progress on github's issue tracker:
 
https://github.com/rust-lang/rust/issues/32838
 
<lang rust>// we have to use `unsafe` here because
// we will be dereferencing a raw pointer
unsafe {
use std::alloc::{Layout, alloc, dealloc};
// define a layout of a block of memory
let int_layout = Layout::new::<i32>();
 
// memory is allocated here
let ptr = alloc(int_layout);
 
// let us point to some data
*ptr = 123;
assert_eq!(*ptr, 123);
 
// deallocate `ptr` with associated layout `int_layout`
dealloc(ptr, int_layout);
}</lang>
 
=={{header|Scala}}==