From 085282c138899dd5aaa06bc6ae7bd2f79d75d7e1 Mon Sep 17 00:00:00 2001 From: astrale-sharp Date: Wed, 5 Apr 2023 16:47:12 +0200 Subject: Appends a hint if length is expected but hint provided. (#580) --- src/eval/cast.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/eval/cast.rs b/src/eval/cast.rs index 92e4212f..7b306633 100644 --- a/src/eval/cast.rs +++ b/src/eval/cast.rs @@ -7,6 +7,8 @@ use ecow::EcoString; use super::{Array, Str, Value}; use crate::diag::StrResult; +use crate::eval::Type; +use crate::geom::Length; use crate::syntax::Spanned; use crate::util::separated_list; @@ -291,6 +293,14 @@ impl CastInfo { msg.push_str(", found "); msg.push_str(found.type_name()); } + if_chain::if_chain! { + if let Value::Int(i) = found; + if parts.iter().any(|p| p == Length::TYPE_NAME); + if !matching_type; + then { + msg.push_str(&format!(": a length needs a unit – did you mean {i}pt?")); + } + }; msg.into() } -- cgit v1.2.3