Rust-2021

És megérkezett a 3. fő kiadás (2015, 2018, 2021).

$ rustup update
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: latest update on 2021-10-21, rust version 1.56.0 (09c42c458 2021-10-18)

https://blog.rust-lang.org/2021/10/21/Rust-1.56.0.html
https://doc.rust-lang.org/edition-guide/rust-2021/

Hozzászólások

Tudja már a Rust a Tail call elimination valamilyen formáját?

Máshogy fogalmazva: lehet tetszőleges mélységű rekurzív függvényt írni, hogy ne szálljon el?

Jó kérdést feszegetsz. Még nincs ez kezelve. Vajon miért?

Tapasztalat:
   - egyszerűbb rekurziót kiteker a Rust optimalizálója valami ciklusra.
   - amit nem tud kigubancolni, ott PC-s környezetben esetemben u64 és &mut u128 argumentumok átadása estén 262_000 rekurzió után jön egy

thread 'main' has overflowed its stack
fatal runtime error: stack overflow
Félbeszakítva (core készült)

Update: itt egy másik példa. Ez 104_600 felett száll el rustc -O teszt.rs módon fordítva.

Az alap nyelv úgy néz ki, nem tudja, viszont van rá zero-cost megoldás crate formájában: https://docs.rs/tailcall/0.1.6/tailcall/
Köszi a felvetést, ismét tanultam.

Egyébként csomó dolgot nem az alapnyelvbe tettek Rust esetén. Például a komplex szám is ilyen. Complex crate és teljes operator overloading meg minden benne. Végeredményként szépen tudja a komplex számokkal való műveleteket a nyelv.

Szerkesztve: 2021. 10. 22., p – 16:37

[off]

A woman has died and a man has been injured after actor Alec Baldwin fired a prop gun on a New Mexico film set for the 19th Century western Rust.

a projekt vagy valami híroldal lesz elöl a keresési rangsorokban a film címe kapcsán?

[/off]