From 9829bd8326fc67ebf78593bf4e860390c5ae8804 Mon Sep 17 00:00:00 2001 From: alluring-mushroom <86041465+alluring-mushroom@users.noreply.github.com> Date: Tue, 8 Apr 2025 05:56:20 +1000 Subject: [PATCH] Document exceptions and alternatives to using `type` (#6027) Co-authored-by: Zedd Serjeant Co-authored-by: Laurenz --- crates/typst-library/src/foundations/ty.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/crates/typst-library/src/foundations/ty.rs b/crates/typst-library/src/foundations/ty.rs index 40f7003c3..9d7690283 100644 --- a/crates/typst-library/src/foundations/ty.rs +++ b/crates/typst-library/src/foundations/ty.rs @@ -39,11 +39,25 @@ use crate::foundations::{ /// #type(image("glacier.jpg")). /// ``` /// -/// The type of `10` is `int`. Now, what is the type of `int` or even `type`? +/// The type of `{10}` is `int`. Now, what is the type of `int` or even `type`? /// ```example /// #type(int) \ /// #type(type) /// ``` +/// +/// Unlike other types like `int`, [none] and [auto] do not have a name +/// representing them. To test if a value is one of these, compare your value to +/// them directly, e.g: +/// ```example +/// #let val = none +/// #if val == none [ +/// Yep, it's none. +/// ] +/// ``` +/// +/// Note that `type` will return [`content`] for all document elements. To +/// programmatically determine which kind of content you are dealing with, see +/// [`content.func`]. #[ty(scope, cast)] #[derive(Copy, Clone, Eq, PartialEq, Hash)] pub struct Type(Static);