From 3042fba44c82a42e427b9e301f3d3f3412e747dc Mon Sep 17 00:00:00 2001 From: Christophe Vu-Brugier Date: Fri, 12 Aug 2016 11:49:52 +0200 Subject: [PATCH] book: fix the hidden find() functions in error-handling.md The hidden find() functions always returns None. Consequently, one of the examples using find() prints "No file extension found" instead of "File extension: rs" which is the expected output. This patch fixes the issue by implementing find() with std::str::find(). Signed-off-by: Christophe Vu-Brugier --- src/doc/book/error-handling.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/doc/book/error-handling.md b/src/doc/book/error-handling.md index 544f837d69b26..6e13b464e4c25 100644 --- a/src/doc/book/error-handling.md +++ b/src/doc/book/error-handling.md @@ -166,7 +166,7 @@ story. The other half is *using* the `find` function we've written. Let's try to use it to find the extension in a file name. ```rust -# fn find(_: &str, _: char) -> Option { None } +# fn find(haystack: &str, needle: char) -> Option { haystack.find(needle) } fn main() { let file_name = "foobar.rs"; match find(file_name, '.') { @@ -223,7 +223,7 @@ Getting the extension of a file name is a pretty common operation, so it makes sense to put it into a function: ```rust -# fn find(_: &str, _: char) -> Option { None } +# fn find(haystack: &str, needle: char) -> Option { haystack.find(needle) } // Returns the extension of the given file name, where the extension is defined // as all characters following the first `.`. // If `file_name` has no `.`, then `None` is returned. @@ -272,7 +272,7 @@ Armed with our new combinator, we can rewrite our `extension_explicit` method to get rid of the case analysis: ```rust -# fn find(_: &str, _: char) -> Option { None } +# fn find(haystack: &str, needle: char) -> Option { haystack.find(needle) } // Returns the extension of the given file name, where the extension is defined // as all characters following the first `.`. // If `file_name` has no `.`, then `None` is returned.