mirror of
https://github.com/ArthurDanjou/rustlings.git
synced 2026-02-04 13:47:49 +01:00
- Created empty solution files for various exercises in strings, modules, hashmaps, options, error handling, generics, traits, lifetimes, tests, iterators, smart pointers, threads, macros, clippy, conversions, and quizzes. - Each solution file contains a main function with a comment indicating that it will be automatically filled after completing the exercise. - Added a README.md file to provide information about the solutions and their purpose.
737 B
737 B
Traits
A trait is a collection of methods.
Data types can implement traits. To do so, the methods making up the trait are defined for the data type. For example, the String data type implements the From<&str> trait. This allows a user to write String::from("hello").
In this way, traits are somewhat similar to Java interfaces and C++ abstract classes.
Some additional common Rust traits include:
Clone(theclonemethod)Display(which allows formatted display via{})Debug(which allows formatted display via{:?})
Because traits indicate shared behavior between data types, they are useful when writing generics.