about summary refs log tree commit diff
path: root/src/doc
diff options
context:
space:
mode:
authorSteve Klabnik <steve@steveklabnik.com>2015-06-15 16:06:01 -0400
committerSteve Klabnik <steve@steveklabnik.com>2015-06-15 16:38:05 -0400
commit22b6a5dc2acb4fd83fa3d90d1a04128c252aedd2 (patch)
tree0348165611ce8168cbd274cd03031e18007b5fb9 /src/doc
parent0d82fb55dbb9b28798ea7c2004fa91fe3ae23b86 (diff)
downloadrust-22b6a5dc2acb4fd83fa3d90d1a04128c252aedd2.tar.gz
rust-22b6a5dc2acb4fd83fa3d90d1a04128c252aedd2.zip
Significantly simplify generic example
Fixes #26320
Diffstat (limited to 'src/doc')
-rw-r--r--src/doc/reference.md19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/doc/reference.md b/src/doc/reference.md
index c19aec78de2..02226353585 100644
--- a/src/doc/reference.md
+++ b/src/doc/reference.md
@@ -928,21 +928,20 @@ A _generic function_ allows one or more _parameterized types_ to appear in its
 signature. Each type parameter must be explicitly declared, in an
 angle-bracket-enclosed, comma-separated list following the function name.
 
-```{.ignore}
-fn iter<T, F>(seq: &[T], f: F) where T: Copy, F: Fn(T) {
-    for elt in seq { f(*elt); }
-}
-fn map<T, U, F>(seq: &[T], f: F) -> Vec<U> where T: Copy, U: Copy, F: Fn(T) -> U {
-    let mut acc = vec![];
-    for elt in seq { acc.push(f(*elt)); }
-    acc
-}
+```rust,ignore
+// foo is generic over A and B
+
+fn foo<A, B>(x: A, y: B) {
 ```
 
 Inside the function signature and body, the name of the type parameter can be
 used as a type name. [Trait](#traits) bounds can be specified for type parameters
 to allow methods with that trait to be called on values of that type. This is
-specified using the `where` syntax, as in the above example.
+specified using the `where` syntax:
+
+```rust,ignore
+fn foo<T>(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