Rust generics: Difference between revisions
From wikinotes
(Created page with "Generics allow you to abstract a function so that it accepts a range of types.<br> Functions, Structs etc. can all be expressed as generics = Example = <blockquote> <syntaxhighlight lang="rust"> // everywhere 'T' shows up, it represents the type. struct Coord<T> { x: T, y: T, z: T, } let c = Coord{1, 2, 3}; // valid let c = Coord{1, 2u8, 3}; // invalid! 1/3 are i32, but 2u8 is a u8. </syntaxhighlight> </blockquote><!-- Example -->") |
No edit summary |
||
Line 1: | Line 1: | ||
Generics allow you to abstract a function so that it accepts a range of types.<br> | Generics allow you to abstract a function so that it accepts a range of types.<br> | ||
Functions, Structs etc. can all be expressed as generics | Functions, Structs, Enums etc. can all be expressed as generics | ||
= Example = | = Example = |
Revision as of 19:25, 8 February 2023
Generics allow you to abstract a function so that it accepts a range of types.
Functions, Structs, Enums etc. can all be expressed as generics
Example
// everywhere 'T' shows up, it represents the type. struct Coord<T> { x: T, y: T, z: T, } let c = Coord{1, 2, 3}; // valid let c = Coord{1, 2u8, 3}; // invalid! 1/3 are i32, but 2u8 is a u8.