placing 1.0.0

A prototype notation for referentially stable constructors
Documentation
#[placing::placing]
struct Cat {
    age: u8,
}

#[placing::placing]
impl Cat {
    #[placing]
    fn new(age: u8) -> Box<Self> {
        Box::new(Self { age })
    }

    fn age(&self) -> &u8 {
        &self.age
    }
}

fn main() {
    let mut cat = unsafe { Cat::placing_uninit_new() };
    unsafe { Cat::placing_init_new(&mut cat, 12) };
    assert_eq!(cat.age(), &12);
}