All language items in Rust can be documented using special /// syntax.

/// Determine whether the first argument is divisible by the second argument.
/// If the second argument is zero, the result is false.
fn is_divisible_by(lhs: u32, rhs: u32) -> bool {
    if rhs == 0 {
        return false;  // Corner case, early return
    lhs % rhs == 0     // The last expression in a block is the return value

The contents are treated as Markdown. All published Rust library crates are automatically documented at using the rustdoc tool. It is idiomatic to document all public items in an API using this pattern.

  • Show students the generated docs for the rand crate at

  • This course does not include rustdoc on slides, just to save space, but in real code they should be present.

  • Inner doc comments are discussed later (in the page on modules) and need not be addressed here.