M
m04-zero-cost
CRITICAL: Use for generics, traits, zero-cost abstraction. Triggers: E0277, E0308, E0599, generic, trait, impl, dyn, where, monomorphization, static dispatch, dynamic dispatch, impl Trait, trait bound not satisfied, 泛型, 特征, 零成本抽象, 单态化
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
CRITICAL: Use for generics, traits, zero-cost abstraction. Triggers: E0277, E0308, E0599, generic, trait, impl, dyn, where, monomorphization, static dispatch, dynamic dispatch, impl Trait, trait bound not satisfied, 泛型, 特征, 零成本抽象, 单态化
How to use
- Aktywuj skill m04-zero-cost w swoim środowisku Claude/Copilot, gdy napotkasz błędy kompilacji związane z genericami, trait'ami lub trait bounds — szczególnie E0277 (trait bound not satisfied), E0308 (type mismatch) lub E0599 (method not found). 2. Zamiast pytać o szybką poprawkę, zadaj sobie pytanie z sekcji "Core Question": czy typ jest znany w compile-time czy runtime? Czy potrzebujesz heterogenicznej kolekcji? Jaki jest Twój priorytet — wydajność czy czas kompilacji? 3. Skonsultuj tabelę "Error → Design Question" — każdy błąd mapuje się na głębsze pytanie projektowe, nie tylko na syntaktyczną poprawkę. 4. Przeanalizuj swoją abstrakcję za pomocą trzystopniowego frameworku: (a) jaka abstrakcja jest potrzebna (to samo zachowanie, różne typy = trait; różne zachowanie, ten sam typ = enum), (b) kiedy typ jest znany (compile-time = generics, runtime = trait objects), (c) jaki jest trade-off (wydajność vs. czas kompilacji vs. elastyczność). 5. Jeśli błąd się powtarza, użyj sekcji "Trace Up" — przejdź do powiązanych skills (m09-domain dla abstrakcji, m05-type-driven dla typestate, m10-performance dla optymalizacji) i pytaj o poziom abstrakcji, a nie o składnię.