AgentSkillsCN

cairo-operator-overloading

当请求涉及在 Cairo 中实现自定义数值类型时,讲解如何通过不变性约束、溢出安全机制,以及标准特质实现,打造固定点数、有符号整数或其他数值原语。

SKILL.md
--- frontmatter
name: cairo-operator-overloading
description: Explain Cairo operator overloading using core::ops traits like Add; use when a request involves redefining operators for custom types in Cairo.

Cairo Operator Overloading

Overview

Show how to overload operators by implementing the corresponding trait.

Quick Use

  • Read references/operator-overloading.md before answering.
  • Use a concise example like impl TypeAdd of Add<Type>.
  • Emphasize that operator meaning should remain intuitive.

Response Checklist

  • Choose the correct trait (e.g., Add, Sub, Mul, Div, Rem, Neg).
  • Implement the trait for the concrete RHS type (Add<Other> or Add<Self>).
  • Return a new value with the expected semantics.

Example Requests

  • "How do I implement + for a custom struct?"
  • "Can I overload operators in Cairo?"

Cairo by Example