about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2015-01-06 15:29:15 -0800
committerAlex Crichton <alex@alexcrichton.com>2015-01-06 15:29:15 -0800
commitacc5d7914a5e287d0783f63dd316c3a25b976544 (patch)
tree9207001353bc62094671298029bf9cac4e574365
parent0b3b95755436da9f0fc78bd00f780c32bab92f7d (diff)
parent7de9a73ab5891b190b3f49004fa75599a94c70ad (diff)
downloadrust-acc5d7914a5e287d0783f63dd316c3a25b976544.tar.gz
rust-acc5d7914a5e287d0783f63dd316c3a25b976544.zip
rollup merge of #20647: aturon/stab-2-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" }
 }