diff --git a/src/doc/reference.md b/src/doc/reference.md index 0222635358523..978c9d7c114dc 100644 --- a/src/doc/reference.md +++ b/src/doc/reference.md @@ -944,9 +944,20 @@ fn foo(x: T) where T: Debug { ``` When a generic function is referenced, its type is instantiated based on the -context of the reference. For example, calling the `iter` function defined -above on `[1, 2]` will instantiate type parameter `T` with `i32`, and require -the closure parameter to have type `Fn(i32)`. +context of the reference. For example, calling the `foo` function here: + +``` +use std::fmt::Debug; + +fn foo(x: &[T]) where T: Debug { + // details elided + # () +} + +foo(&[1, 2]); +``` + +will instantiate type parameter `T` with `i32`. The type parameters can also be explicitly supplied in a trailing [path](#paths) component after the function name. This might be necessary if