summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/typst/src/foundations/ty.rs13
-rw-r--r--crates/typst/src/foundations/value.rs3
-rw-r--r--tests/suite/foundations/type.typ6
3 files changed, 20 insertions, 2 deletions
diff --git a/crates/typst/src/foundations/ty.rs b/crates/typst/src/foundations/ty.rs
index b34393b3..3bcde61f 100644
--- a/crates/typst/src/foundations/ty.rs
+++ b/crates/typst/src/foundations/ty.rs
@@ -5,7 +5,9 @@ use ecow::{eco_format, EcoString};
use once_cell::sync::Lazy;
use crate::diag::StrResult;
-use crate::foundations::{cast, func, Func, NativeFuncData, Repr, Scope, Value};
+use crate::foundations::{
+ cast, func, AutoValue, Func, NativeFuncData, NoneValue, Repr, Scope, Value,
+};
use crate::utils::Static;
#[rustfmt::skip]
@@ -148,7 +150,14 @@ impl Debug for Type {
impl Repr for Type {
fn repr(&self) -> EcoString {
- self.long_name().into()
+ if *self == Type::of::<AutoValue>() {
+ "type(auto)"
+ } else if *self == Type::of::<NoneValue>() {
+ "type(none)"
+ } else {
+ self.long_name()
+ }
+ .into()
}
}
diff --git a/crates/typst/src/foundations/value.rs b/crates/typst/src/foundations/value.rs
index 05abbfba..78769900 100644
--- a/crates/typst/src/foundations/value.rs
+++ b/crates/typst/src/foundations/value.rs
@@ -727,6 +727,9 @@ mod tests {
fn test_value_debug() {
// Primitives.
test(Value::None, "none");
+ test(Value::Auto, "auto");
+ test(Value::None.ty(), "type(none)");
+ test(Value::Auto.ty(), "type(auto)");
test(false, "false");
test(12i64, "12");
test(3.24, "3.24");
diff --git a/tests/suite/foundations/type.typ b/tests/suite/foundations/type.typ
index f2a98845..6ab4be4f 100644
--- a/tests/suite/foundations/type.typ
+++ b/tests/suite/foundations/type.typ
@@ -23,3 +23,9 @@
--- issue-3110-associated-function ---
// Error: 6-18 type string does not contain field `from-unĂ¯code`
#str.from-unĂ¯code(97)
+
+--- issue-2747-repr-auto-none ---
+#test(repr(none), "none")
+#test(repr(auto), "auto")
+#test(repr(type(none)), "type(none)")
+#test(repr(type(auto)), "type(auto)")