Skip to content

Commit

Permalink
Move unreachable! to speaker notes (#2628)
Browse files Browse the repository at this point in the history
  • Loading branch information
randomPoison authored Feb 26, 2025
1 parent d7a8821 commit 241c28e
Showing 1 changed file with 15 additions and 2 deletions.
17 changes: 15 additions & 2 deletions src/control-flow-basics/macros.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ standard library includes an assortment of useful macros.
- `dbg!(expression)` logs the value of the expression and returns it.
- `todo!()` marks a bit of code as not-yet-implemented. If executed, it will
panic.
- `unreachable!()` marks a bit of code as unreachable. If executed, it will
panic.

```rust,editable
fn factorial(n: u32) -> u32 {
Expand Down Expand Up @@ -46,4 +44,19 @@ especially critical.
The course does not cover defining macros, but a later section will describe use
of derive macros.

## More To Explore

There are a number of other useful macros provided by the standard library. Some
other examples you can share with students if they want to know more:

- [`assert!`] and related macros can be used to add assertions to your code.
These are used heavily in writing tests.
- [`unreachable!`] is used to mark a branch of control flow that should never be
hit.
- [`eprintln!`] allows you to print to stderr.

</details>

[`assert!`]: https://doc.rust-lang.org/stable/std/macro.assert.html
[`unreachable!`]: https://doc.rust-lang.org/stable/std/macro.unreachable.html
[`eprintln!`]: https://doc.rust-lang.org/stable/std/macro.eprintln.html

0 comments on commit 241c28e

Please sign in to comment.