Jakub KΔ dzioΕka ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° proof-of-concept, ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π³ΡΠ΅ΡΠΊΠ° Π² ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Rust, ΠΊΠΎΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π±Π΅Π·ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°Ρ Π΄Π° ΡΠ΅ΡΠ°Ρ Π² ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΠΈΡΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ.
ΠΡΠΈΠΌΠ΅ΡΡΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ Jakub, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈ Borrow Checker ΡΡΠ΅Π· ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡ ΡΡΠΈΠΊ:
fn main() {
let boom = fake_static::make_static(&vec![0; 1<<20]);
println!("{:?}", boom);
}
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ ΠΌΠΎΠ»ΠΈ Π΄Π° Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΎΠ²Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π² Production, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅Π»ΡΠ° ΠΌΡ Π±Π΅ΡΠ΅ ΡΠ°ΠΌΠΎ Π΄Π° ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈΠ³Π½ΠΎΡΠΈΡΠ°Π½ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Rust.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru
