From 6647d8306e01713d2da1de4c20946773f6289b57 Mon Sep 17 00:00:00 2001 From: Steve Klabnik Date: Fri, 13 Feb 2015 14:36:16 -0500 Subject: [PATCH] Mention type placeholders in the book. Fixes #12891. --- src/doc/trpl/iterators.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/doc/trpl/iterators.md b/src/doc/trpl/iterators.md index 75b3f8b06fc3b..738a28b428adf 100644 --- a/src/doc/trpl/iterators.md +++ b/src/doc/trpl/iterators.md @@ -132,7 +132,16 @@ let one_to_one_hundred = range(1, 101).collect::>(); ``` If you remember, the `::<>` syntax allows us to give a type hint, -and so we tell it that we want a vector of integers. +and so we tell it that we want a vector of integers. You don't always +need to use the whole type, though. Using a `_` will let you provide +a partial hint: + +```rust +let one_to_one_hundred = range(1, 101).collect::>(); +``` + +This says "Collect into a `Vec`, please, but infer what the `T` is for me." +`_` is sometimes called a "type placeholder" for this reason. `collect()` is the most common consumer, but there are others too. `find()` is one: