Toolverse
All skills

m01-ownership

by actionbook

CRITICAL: Use for ownership/borrow/lifetime issues. Triggers: E0382, E0597, E0506, E0507, E0515, E0716, E0106, value moved, borrowed value does not live long enough, cannot move out of, use of moved value, ownership, borrow, lifetime, 'a, 'static, move, clone, Copy, 所有权, 借用, 生命周期

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Category
Backend
Views
1

About this skill

CRITICAL: Use for ownership/borrow/lifetime issues. Triggers: E0382, E0597, E0506, E0507, E0515, E0716, E0106, value moved, borrowed value does not live long enough, cannot move out of, use of moved value, ownership, borrow, lifetime, 'a, 'static, move, clone, Copy, 所有权, 借用, 生命周期

How to use

  1. Zainstaluj skill m01-ownership z repozytorium actionbook/rust-skills w katalogu skills/m01-ownership.

  2. Gdy napotkasz błąd kompilacji Rusta dotyczący własności (E0382, E0597, E0506, E0507, E0515, E0716, E0106) lub komunikat taki jak "value moved", "borrowed value does not live long enough", "cannot move out of", uruchom skill.

  3. Zamiast od razu szukać szybkiej poprawki (np. dodania clone()), odpowiedz na trzy kluczowe pytania: Jaka jest rola tych danych w domenie (czy to encja z unikalną tożsamością, czy obiekt wartości, czy wynik tymczasowy)? Czy ten wzorzec własności jest zamierzony, czy przypadkowy? Czy to trzecia próba naprawy tego samego błędu.

  4. Jeśli odpowiedzi wskazują na błąd projektowy, a nie na błąd składni, skill kieruje Cię do powiązanych warstw: sprawdź m09-domain (czy dane to rzeczywiście Entity czy Value Object) i dokumentację constraints domeny.

  5. Jeśli błąd dotyczy konkretnego kodu (np. E0382 z "use of moved value"), przeanalizuj tabelę błędów w README: zamiast "sklonuj to" pytaj "kto powinien posiadać te dane", zamiast "przedłuż lifetime" pytaj "czy granica zakresu jest poprawna".

  6. Skill nie jest wywoływany automatycznie — używaj go jako asystenta podczas debugowania, aby przejść od symptomów do zrozumienia projektu struktury danych w Ruście.

Related skills