no patched versions
Matrix::new() internally calls
Matrix::fill_with() which uses
*ptr = value pattern to initialize the buffer.
This pattern assumes that there is an initialized struct at the address and drops it, which results in dropping of uninitialized struct.