ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ Π½Π°Ρ‡ΠΈΠ½ Π·Π° заобикалянС Π½Π° borrow checker Π² Rust

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster