M
m03-mutability
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
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ć
- Uruchom skill, gdy napotkasz błąd mutability (E0596, E0499, E0502) lub komunikat o niemożności pożyczenia jako zmiennego. 2. Zamiast mechanicznie dodawać
mutlub&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.