Built-in Traits Like Copyable
Reuse standard trait contracts.
Built-in Traits Like Copyable is a free Mojo Academy lesson on CoddyKit — lesson 3 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Mojo Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
Traits You Get for Free
Mojo ships built-in traits for common behaviors, so you reuse standard contracts instead of inventing your own. 🎁
Meet Copyable
The Copyable trait marks a type that can be duplicated. Conform to it and your type gains copy behavior.
Movable for Relocation
The Movable trait says a value can be moved to a new location, handing over its contents efficiently.
Stringable for Text
Implement Stringable and your type can convert to a String, making it easy to print and display.
struct Point(Stringable):
fn __str__(self) -> String:
return "Point"Standard Method Names
Built-in traits expect special methods like __copyinit__ or __str__. Implement those and conformance follows.
Conform Like Any Trait
You opt into a built-in trait the same way: list it in parentheses and provide the required methods.
struct Box(Copyable):
var value: IntOften Auto-Derivable
For simple structs, Mojo can often derive copy and move behavior for you, saving boilerplate code.
Why Reuse Them
Standard traits mean libraries and your code speak the same language. A Copyable type fits anywhere copies are needed.
Composability
Built-in traits combine well. A type can be both Copyable and Stringable, stacking capabilities as needed.
struct Tag(Copyable, Stringable):
var name: StringUnlocking Generic Code
Many generic functions require a built-in trait, like Copyable. Conforming lets your type participate in that code.
Lean on the Standard Set
Before writing a custom trait, check the standard ones. Reusing them keeps your code idiomatic and interoperable. 🧩
Quick Check
What does conforming to Copyable give your type?
Recap
Built-in traits like Copyable, Movable, and Stringable provide ready-made contracts you reuse for standard behavior. 🎯
Frequently asked questions
Is the “Built-in Traits Like Copyable” lesson free?
Yes — the full text of “Built-in Traits Like Copyable” is free to read here on the web, and the Mojo Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Mojo Academy course, upgrade to CoddyKit PRO.
What will I learn in “Built-in Traits Like Copyable”?
Reuse standard trait contracts. You practise Mojo Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Mojo Academy?
No prior experience is required. Mojo Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 3 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Built-in Traits Like Copyable” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Mojo Academy lesson?
Yes. Every Mojo Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- What Is a Trait?
- Conforming a Struct to a Trait
- Built-in Traits Like Copyable
- Generic Functions over Traits