Cairo Closures

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.

teddyjfpender cb6c84e 2 files · 2.3 KB Updated

File contents

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

teddyjfpender/skill-issues/tree/main/skills/cairo-closures commit cb6c84e21c

Frequently asked questions

npx skillmds@latest add teddyjfpender/cairo-closures