Pytania otagowane jako rust

Rust to język programowania systemów bez garbage collectora, który koncentruje się na trzech celach: bezpieczeństwie, szybkości i współbieżności. Użyj tego tagu w przypadku pytań dotyczących kodu napisanego w Rust. W przypadku pytań odnoszących się do kodu wymagającego określonej edycji, np. [Rust-2018], użyj tagu specyficznego dla wydania. Użyj bardziej szczegółowych tagów dla tematów podrzędnych, takich jak [ładunek rdzy] i [makra rdzy].


1
Dlaczego kompilator Rust nie optymalizuje kodu, zakładając, że dwa zmienne odwołania nie mogą aliasu?
O ile mi wiadomo, aliasing odniesień / wskaźników może utrudniać kompilatorowi generowanie zoptymalizowanego kodu, ponieważ muszą one zapewnić, że wygenerowany plik binarny zachowuje się poprawnie w przypadku, gdy dwa odniesienia / wskaźniki faktycznie są aliasami. Na przykład w poniższym kodzie C void adds(int *a, int *b) { *a += *b; …

4
Dlaczego nie drukuje! pracować w testach jednostkowych Rust?
Wdrożyłem następującą metodę i test jednostkowy: use std::fs::File; use std::path::Path; use std::io::prelude::*; fn read_file(path: &Path) { let mut file = File::open(path).unwrap(); let mut contents = String::new(); file.read_to_string(&mut contents).unwrap(); println!("{}", contents); } #[test] fn test_read_file() { let path = &Path::new("/etc/hosts"); println!("{:?}", path); read_file(path); } Test jednostkowy uruchamiam w ten sposób: rustc …
285 rust  println 

10
Jak wydrukować typ zmiennej w Rust?
Mam następujące: let mut my_number = 32.90; Jak wydrukować typ my_number ? Używanie typei type_ofnie działało. Czy istnieje inny sposób wydrukowania typu numeru?
238 types  rust 

2
Dlaczego występuje duży wpływ na wydajność przy zapętlaniu tablicy z 240 lub więcej elementami?
Podczas uruchamiania pętli sumy nad tablicą w Rust zauważyłem ogromny spadek wydajności, gdy CAPACITY> = 240. CAPACITY= 239 jest około 80 razy szybszy. Czy istnieje specjalna optymalizacja kompilacji, którą Rust robi dla „krótkich” tablic? Kompilowany z rustc -C opt-level=3. use std::time::Instant; const CAPACITY: usize = 240; const IN_LOOPS: usize = …

4
Jak wyłączyć nieużywane ostrzeżenia o kodzie w Rust?
struct SemanticDirection; fn main() {} warning: struct is never used: `SemanticDirection` --> src/main.rs:1:1 | 1 | struct SemanticDirection; | ^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: #[warn(dead_code)] on by default Ponownie włączę te ostrzeżenia dla czegoś poważnego, ale po prostu majstruję przy języku, a to doprowadza mnie do szału. Próbowałem dodać #[allow(dead_code)]do mojego …

2
Dlaczego nie mogę przechowywać wartości i odwołania do tej wartości w tej samej strukturze?
Mam wartość i chcę przechowywać tę wartość i odwołanie do czegoś wewnątrz tej wartości we własnym typie: struct Thing { count: u32, } struct Combined<'a>(Thing, &'a u32); fn make_combined<'a>() -> Combined<'a> { let thing = Thing { count: 42 }; Combined(thing, &thing.count) } Czasami mam wartość i chcę przechowywać tę …


5
Jak dopasować ciąg znaków do literałów ciągu w Rust?
Próbuję wymyślić, jak dopasować a Stringw Rust. Początkowo próbowałem dopasować w ten sposób, ale doszedłem do wniosku, że Rust nie może pośrednio rzucać od std::string::Stringdo &str. fn main() { let stringthing = String::from("c"); match stringthing { "a" => println!("0"), "b" => println!("1"), "c" => println!("2"), } } Ma to błąd: …
199 string  match  rust 


4
Pakiet Rust zawierający zarówno bibliotekę, jak i plik binarny?
Chciałbym stworzyć pakiet Rusta zawierający zarówno bibliotekę wielokrotnego użytku (w której zaimplementowana jest większość programu), jak i plik wykonywalny, który z niej korzysta. Zakładając, że nie pomyliłem żadnej semantyki w systemie modułów Rusta, jak powinien Cargo.tomlwyglądać mój plik?
190 rust  rust-cargo 

7
Konwertować String na int w Rust?
Uwaga: to pytanie zawiera przestarzały kod sprzed wersji 1.0! Jednak odpowiedź jest prawidłowa. Aby przekonwertować a strna an intw Rust, mogę to zrobić: let my_int = from_str::<int>(my_str); Jedyny sposób, w jaki wiem, jak przekonwertować a Stringna an, intto uzyskać jego kawałek, a następnie użyć from_strna nim w następujący sposób: let …
187 rust 

2
Jakie są dokładne zasady autodereferencji Rust?
Uczę się / eksperymentuję z Rustem i pomimo całej elegancji, jaką znajduję w tym języku, jest jedna osobliwość, która mnie zaskakuje i wydaje się zupełnie nie na miejscu. Rdza automatycznie odrzuca wskaźniki podczas wykonywania wywołań metod. Zrobiłem kilka testów, aby ustalić dokładne zachowanie: struct X { val: i32 } impl …

4
Jaka jest różnica między iter i into_iter?
Robię samouczek dotyczący Rust by Example, który zawiera ten fragment kodu: // Vec example let vec1 = vec![1, 2, 3]; let vec2 = vec![4, 5, 6]; // `iter()` for vecs yields `&i32`. Destructure to `i32`. println!("2 in vec1: {}", vec1.iter() .any(|&x| x == 2)); // `into_iter()` for vecs yields `i32`. …
175 rust 


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.