Use std::convert for AnyMap -> RawAnyMap.
authorChris Morgan <me@chrismorgan.info>
committerChris Morgan <me@chrismorgan.info>
src/lib.rs

index 80769813c38a83755283ce5f92d5b91125ce2ec4..acc0265a0936107ee6fc411549c5799e1bc44af8 100644 (file)
@@ -1,6 +1,6 @@
 //! This crate provides the `AnyMap` type, a safe and convenient store for one value of each type.
 
-#![feature(core, std_misc)]
+#![feature(core, std_misc, convert)]
 #![cfg_attr(test, feature(test))]
 #![warn(missing_docs, unused_results)]
 
@@ -172,44 +172,24 @@ impl AnyMap {
             }),
         }
     }
+}
 
-    /// Get a reference to the raw untyped map underlying the `AnyMap`.
-    ///
-    /// Normal users will not need to use this, but generic libraries working with an `AnyMap` may
-    /// just find a use for it occasionally.
-    #[inline]
-    pub fn as_raw(&self) -> &RawAnyMap {
+impl AsRef<RawAnyMap> for AnyMap {
+    fn as_ref(&self) -> &RawAnyMap {
         &self.raw
     }
+}
 
-    /// Get a mutable reference to the raw untyped map underlying the `AnyMap`.
-    ///
-    /// Normal users will not need to use this, but generic libraries working with an `AnyMap` may
-    /// just find a use for it occasionally.
-    #[inline]
-    pub fn as_raw_mut(&mut self) -> &mut RawAnyMap {
+impl AsMut<RawAnyMap> for AnyMap {
+    fn as_mut(&mut self) -> &mut RawAnyMap {
         &mut self.raw
     }
+}
 
-    /// Convert the `AnyMap` into the raw untyped map that underlyies it.
-    ///
-    /// Normal users will not need to use this, but generic libraries working with an `AnyMap` may
-    /// just find a use for it occasionally.
-    #[inline]
-    pub fn into_raw(self) -> RawAnyMap {
+impl Into<RawAnyMap> for AnyMap {
+    fn into(self) -> RawAnyMap {
         self.raw
     }
-
-    /// Convert a raw untyped map into an `AnyMap`.
-    ///
-    /// Normal users will not need to use this, but generic libraries working with an `AnyMap` may
-    /// just find a use for it occasionally.
-    #[inline]
-    pub fn from_raw(raw: RawAnyMap) -> AnyMap {
-        AnyMap {
-            raw: raw,
-        }
-    }
 }
 
 /// A view into a single occupied location in an `AnyMap`.