RustBrock/Advanced Features.md
darkicewolf50 ff4c4fccee
All checks were successful
Test Gitea Actions / first (push) Successful in 20s
Test Gitea Actions / check-code (push) Successful in 16s
Test Gitea Actions / test (push) Successful in 16s
Test Gitea Actions / documentation-check (push) Successful in 17s
finished ch20.5 and ch20 WHOOH
2025-04-17 16:09:28 -06:00

26 lines
1.4 KiB
Markdown

# Advanced Features
So far we learned about the most commonly used parts of the Rust programming language.
Here we will look at a few aspects of the language you may run into once in a while but may not use everyday.
This is intended to be used as a reference for when you encounter any unknowns.
The features covered here are useful in very specific situations.
In this chapter we will cover
- [Unsafe Rust](./Unsafe%20Rust.md): How to opt out of some of Rust's guarantees and take responsibility for manually upholding those guarantees
- [Advanced traits](./Advanced%20Traits.md): associated types, default type parameters, fully qualified syntax, supertraits, and the new type pattern in relation to traits
- [Advanced types](./Advanced%20Types.md): more about the newtype pattern, type aliases, the never type, and dynamically sized types
- [Advanced functions and closures](./Advanced%20Functions%20and%20Closures.md): function pointers and returning closures
- [Macros](./Macros.md): ways to define code that defines more code at compile time
## Summary
These are great tools to have in your toolbox that you like likely not use often.
Knowing that they are available is very valuable.
The complex topics introduced are useful for when you encounter them in error messages in other people's code.
So you will be able to recognize the concepts and syntax.
Use this chapter as a reference to guide you solutions.