summaryrefslogtreecommitdiff
path: root/src/model/eval.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-01-28 23:36:27 +0100
committerLaurenz <laurmaedje@gmail.com>2023-01-28 23:38:03 +0100
commit1e97d5c8cbeb96d35e5a34a8340c4ec1860fa1b6 (patch)
treeaa4a341af10dc0729132a42cdb1cacb1e1d21518 /src/model/eval.rs
parent76048a8ef45ac5892235f2e69cb7cb6c35a037e4 (diff)
Better analysis for literals
Diffstat (limited to 'src/model/eval.rs')
-rw-r--r--src/model/eval.rs10
1 files changed, 1 insertions, 9 deletions
diff --git a/src/model/eval.rs b/src/model/eval.rs
index d0751a1f..96e7317d 100644
--- a/src/model/eval.rs
+++ b/src/model/eval.rs
@@ -15,7 +15,6 @@ use super::{
use crate::diag::{
bail, error, At, SourceError, SourceResult, StrResult, Trace, Tracepoint,
};
-use crate::geom::{Abs, Angle, Em, Fr, Ratio};
use crate::syntax::ast::AstNode;
use crate::syntax::{ast, Source, SourceId, Span, Spanned, SyntaxKind, SyntaxNode};
use crate::util::PathExt;
@@ -660,14 +659,7 @@ impl Eval for ast::Numeric {
type Output = Value;
fn eval(&self, _: &mut Vm) -> SourceResult<Self::Output> {
- let (v, unit) = self.get();
- Ok(match unit {
- ast::Unit::Length(unit) => Abs::with_unit(v, unit).into(),
- ast::Unit::Angle(unit) => Angle::with_unit(v, unit).into(),
- ast::Unit::Em => Em::new(v).into(),
- ast::Unit::Fr => Fr::new(v).into(),
- ast::Unit::Percent => Ratio::new(v / 100.0).into(),
- })
+ Ok(Value::numeric(self.get()))
}
}