summaryrefslogtreecommitdiff
path: root/src/geom
diff options
context:
space:
mode:
Diffstat (limited to 'src/geom')
-rw-r--r--src/geom/spec.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/geom/spec.rs b/src/geom/spec.rs
index 1b8e13c2..31f93a65 100644
--- a/src/geom/spec.rs
+++ b/src/geom/spec.rs
@@ -39,6 +39,14 @@ impl<T> Spec<T> {
Spec { x: &self.x, y: &self.y }
}
+ /// Convert from `&Spec<T>` to `Spec<&<T as Deref>::Target>`.
+ pub fn as_deref(&self) -> Spec<&T::Target>
+ where
+ T: Deref,
+ {
+ Spec { x: &self.x, y: &self.y }
+ }
+
/// Convert from `&mut Spec<T>` to `Spec<&mut T>`.
pub fn as_mut(&mut self) -> Spec<&mut T> {
Spec { x: &mut self.x, y: &mut self.y }