Toolverse
Wszystkie skille

m03-mutability

autor: actionbook

Rozwiąż problemy mutability w Ruście — od błędów pożyczania do interior mutability

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend
Wyświetlenia
1

O skillu

Skill do debugowania konfliktów mutability w kodzie Rust. Pomaga zdiagnozować błędy E0596, E0499, E0502 i decydować, czy dane rzeczywiście muszą być zmienne. Zamiast dodawać mut na ślepo, prowadzi Cię przez pytania projektowe: czy mutacja jest konieczna, kto ją kontroluje, i jaki kontekst (single-thread czy multi-thread). Wskazuje też, kiedy problem leży głębiej — w strukturze danych lub współbieżności — i odsyła do powiązanych skills.

Jak używać

  1. Uruchom skill, gdy napotkasz błąd mutability (E0596, E0499, E0502) lub komunikat o niemożności pożyczenia jako zmiennego. 2. Zamiast mechanicznie dodawać mut lub &mut, odpowiedz na pytanie kluczowe: czy ta zmiana danych jest rzeczywiście potrzebna, czy to przypadkowa złożoność? 3. Określ, kto powinien kontrolować mutację — zewnętrzny kod (wtedy &mut T), logika wewnętrzna (interior mutability), czy dostęp współbieżny (Mutex, RwLock). 4. Sprawdź kontekst wątku: w single-threaded używaj Cell/RefCell, w multi-threaded — Mutex, RwLock lub Atomic. 5. Jeśli konflikty pożyczania się powtarzają, przejdź do m09-domain — być może struktura danych powinna być inaczej podzielona. 6. Jeśli RefCell pojawia się w kodzie asynchronicznym, sprawdź m07-concurrency — możliwe, że brakuje Send/Sync lub design locków jest błędny.

Podobne skille