AgentSkillsCN

cairo-closures

当请求涉及在 Cairo 中定义或澄清关联类型、常量,或优化 trait 项的放置位置时,讲解 Cairo 的闭包、语法、捕获规则、类型推断以及 Fn 特性等知识。

SKILL.md
--- frontmatter
name: cairo-closures
description: Explain Cairo closures, syntax, capture rules, type inference, and Fn traits; use when a request involves anonymous functions or passing behavior as a parameter in Cairo.

Cairo Closures

Overview

Guide closure syntax and how closures capture environment values in Cairo.

Quick Use

  • Read references/closures.md before answering.
  • Use concise examples like |x| x * 2 and multi-line closures with {}.
  • Mention the current limitation on capturing mutable variables.

Response Checklist

  • Use pipe syntax for parameters and infer types when possible.
  • Explain capture of outer bindings and when that affects trait bounds.
  • Choose FnOnce, FnMut, or Fn based on how the closure uses captured values.

Example Requests

  • "How do I write a closure in Cairo?"
  • "Why is the closure type inferred as u8?"
  • "What is the difference between FnOnce, FnMut, and Fn?"

Cairo by Example