Czy nowe wersje zależności Rust zawsze psują kod?

Czy nowe wersje zależności Rust zawsze psują kod?
FO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 11
0

Mam taki program z rand w wersji

Kopiuj
[dependencies]
rand = "0.8"

Ale gdy aktualizuje do najnowszej wersji "0.10" kod już nie działa.
Próbuję go przywrócić w chatgpt, gdzie mam ponad 10 przykładów i wszystkie się nie kompilują.

Kopiuj
// generator haseł
use rand;
use rand::{Rng, thread_rng};
use std::char::from_u32;

fn main() {
    let password_length = 15;
    let mut result = String::new();

    for _ in 0..password_length {
        let number = thread_rng().gen_range(48..122);
        let ch = from_u32(number).unwrap();
        result.push(ch);
    }

    println!("{}", result);
}
Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10285
3
formatcpp napisał(a):

Ale gdy aktualizuje do najnowszej wersji "0.10" kod już nie działa.

A "nie działa" to znaczy...?

hauleth
  • Rejestracja: dni
  • Ostatnio: dni
3

@formatcpp a chociażby próbowałeś przeczytać CHANGELOG? Jak masz wersję 0.x w SemVer to cały czas mogą być wprowadzane breaking change przy zmianie wartości minor.

LukeJL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8493
1

Może się też zdarzyć tak, że nowsze wersje bibliotek będą wymagać wyższej wersji kompilatora, bo korzystają z jakichś nowych ficzerów Rusta.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.