about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAaron Turon <aturon@mozilla.com>2015-01-06 09:20:40 -0800
committerAaron Turon <aturon@mozilla.com>2015-01-06 09:20:40 -0800
commit7de9a73ab5891b190b3f49004fa75599a94c70ad (patch)
treef632931beaa3426be440383b7b33e9df92349f5e
parent8efd9901b628d687d11a4d0ccc153553b38ada49 (diff)
downloadrust-7de9a73ab5891b190b3f49004fa75599a94c70ad.tar.gz
rust-7de9a73ab5891b190b3f49004fa75599a94c70ad.zip
Stabilize std::error
This commit is a first past stabilization of `std::error`:

* The module is stable.
* The `FromError` trait and impls are stable
* The `Error` trait itself is left unstable, pending current APIs and
  possible revisions during the alpha cycle.
-rw-r--r--src/libstd/error.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libstd/error.rs b/src/libstd/error.rs
index 32e1922ae74..9963e4861b7 100644
--- a/src/libstd/error.rs
+++ b/src/libstd/error.rs
@@ -78,12 +78,15 @@
 //! }
 //! ```
 
+#![stable]
+
 use prelude::v1::*;
 
 use str::Utf8Error;
 use string::{FromUtf8Error, FromUtf16Error};
 
 /// Base functionality for all errors in Rust.
+#[unstable = "the exact API of this trait may change"]
 pub trait Error: Send {
     /// A short description of the error; usually a static string.
     fn description(&self) -> &str;
@@ -96,18 +99,21 @@ pub trait Error: Send {
 }
 
 /// A trait for types that can be converted from a given error type `E`.
+#[stable]
 pub trait FromError<E> {
     /// Perform the conversion.
     fn from_error(err: E) -> Self;
 }
 
 // Any type is convertable from itself
+#[stable]
 impl<E> FromError<E> for E {
     fn from_error(err: E) -> E {
         err
     }
 }
 
+#[stable]
 impl Error for Utf8Error {
     fn description(&self) -> &str {
         match *self {
@@ -119,11 +125,13 @@ impl Error for Utf8Error {
     fn detail(&self) -> Option<String> { Some(self.to_string()) }
 }
 
+#[stable]
 impl Error for FromUtf8Error {
     fn description(&self) -> &str { "invalid utf-8" }
     fn detail(&self) -> Option<String> { Some(self.to_string()) }
 }
 
+#[stable]
 impl Error for FromUtf16Error {
     fn description(&self) -> &str { "invalid utf-16" }
 }