Mengapa item di tumpukan harus memiliki ukuran yang diketahui pada waktu kompilasi?

Dec 03 2020

Saya mengerti mengapa mereka harus memiliki ukuran konstan , tetapi saya tidak mengerti mengapa ukuran itu harus diketahui pada waktu kompilasi . Bahkan C memungkinkan array panjang variabel pada stack. Batasan apa ini membantu Rust?

Jawaban

4 SebastianRedl Dec 03 2020 at 00:26

Bahkan C memungkinkan array panjang variabel pada stack.

C relatif dapat dengan mudah mendukung ini karena semantiknya yang sepele.

Ketika Anda harus memanggil destructors / drop, ini jauh lebih sepele, jadi Rust awalnya tidak mendukungnya karena ini adalah upaya untuk menerapkan dan tidak memberikan banyak manfaat.

Akhirnya, Rust akan mendukung ini (dan sudah melakukannya setiap malam ) berkat RFC 1909 - rvalues ​​tidak berukuran .