summaryrefslogtreecommitdiff
path: root/dhall_core/src/label.rs
diff options
context:
space:
mode:
Diffstat (limited to 'dhall_core/src/label.rs')
-rw-r--r--dhall_core/src/label.rs34
1 files changed, 0 insertions, 34 deletions
diff --git a/dhall_core/src/label.rs b/dhall_core/src/label.rs
deleted file mode 100644
index 43c3f53..0000000
--- a/dhall_core/src/label.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-use std::rc::Rc;
-
-// The type for labels throughout the AST
-// It owns the data because otherwise lifetimes would make recursive imports impossible
-#[derive(Debug, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)]
-pub struct Label(Rc<str>);
-
-impl From<String> for Label {
- fn from(s: String) -> Self {
- let s: &str = &s;
- Label(s.into())
- }
-}
-
-impl<'a> From<&'a str> for Label {
- fn from(s: &'a str) -> Self {
- Label(Rc::from(s))
- }
-}
-
-impl From<&Label> for String {
- fn from(x: &Label) -> String {
- x.0.as_ref().to_owned()
- }
-}
-
-impl Label {
- pub fn from_str(s: &str) -> Label {
- Label(s.into())
- }
- pub fn as_ref(&self) -> &str {
- self.0.as_ref()
- }
-}