diff --git a/src/rstd.rs b/src/rstd.rs
index 5a07f0a..c17fbf4 100644
--- a/src/rstd.rs
+++ b/src/rstd.rs
@@ -37,3 +37,13 @@ impl<S: Serializable> SerializableExt for S {
         vec
     }
 }
+
+pub trait ResolverExt<'a, Ctx: Context<'a>>: Resolver<'a, Ctx> {
+    fn into_rc(self) -> Rc<dyn Resolver<'a, Ctx>>;
+}
+
+impl<'a, Ctx: Context<'a>, R: Resolver<'a, Ctx>> ResolverExt<'a, Ctx> for R {
+    fn into_rc(self) -> Rc<dyn Resolver<'a, Ctx>> {
+        Rc::new(self)
+    }
+}