]> git.lizzy.rs Git - rust.git/commitdiff
Update `std::error` example
authorAndrew Hobden <andrew@hoverbear.org>
Sun, 29 Mar 2015 17:03:49 +0000 (10:03 -0700)
committerAndrew Hobden <andrew@hoverbear.org>
Sun, 29 Mar 2015 17:03:49 +0000 (10:03 -0700)
To not use `old_io` and `os`, which are deprecated. Since there is no more `MemoryMap` used byte parsing instead to generate the second potential error.

src/libcore/error.rs

index 51f3369a75bd3c0cd1cec4b9cae32f82bbbb19f6..5e6acb2142c78411d26c09dd35f540daa1714679 100644 (file)
 //! For example,
 //!
 //! ```
-//! # #![feature(os, old_io, old_path)]
+//! #![feature(core)]
 //! use std::error::FromError;
-//! use std::old_io::{File, IoError};
-//! use std::os::{MemoryMap, MapError};
-//! use std::old_path::Path;
-//!
-//! enum MyError {
-//!     Io(IoError),
-//!     Map(MapError)
+//! use std::{io, str};
+//! use std::fs::File;
+//! 
+//! enum MyError { Io(io::Error), Utf8(str::Utf8Error), }
+//! 
+//! impl FromError<io::Error> for MyError {
+//!     fn from_error(err: io::Error) -> MyError { MyError::Io(err) }
 //! }
-//!
-//! impl FromError<IoError> for MyError {
-//!     fn from_error(err: IoError) -> MyError {
-//!         MyError::Io(err)
-//!     }
+//! 
+//! impl FromError<str::Utf8Error> for MyError {
+//!     fn from_error(err: str::Utf8Error) -> MyError { MyError::Utf8(err) }
 //! }
-//!
-//! impl FromError<MapError> for MyError {
-//!     fn from_error(err: MapError) -> MyError {
-//!         MyError::Map(err)
-//!     }
-//! }
-//!
+//! 
 //! #[allow(unused_variables)]
 //! fn open_and_map() -> Result<(), MyError> {
-//!     let f = try!(File::open(&Path::new("foo.txt")));
-//!     let m = try!(MemoryMap::new(0, &[]));
+//!     let b = b"foo.txt";
+//!     let s = try!(str::from_utf8(b));
+//!     let f = try!(File::open(s));
+//! 
 //!     // do something interesting here...
 //!     Ok(())
 //! }