Improve hints for show rule recursion depth (#5856)

This commit is contained in:
Malo 2025-02-25 15:09:52 +01:00 committed by GitHub
parent d11ad80dee
commit 2eef9e84e1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 4 deletions

View File

@ -312,7 +312,8 @@ impl Route<'_> {
if !self.within(Route::MAX_SHOW_RULE_DEPTH) { if !self.within(Route::MAX_SHOW_RULE_DEPTH) {
bail!( bail!(
"maximum show rule depth exceeded"; "maximum show rule depth exceeded";
hint: "check whether the show rule matches its own output" hint: "maybe a show rule matches its own output";
hint: "maybe there are too deeply nested elements"
); );
} }
Ok(()) Ok(())

View File

@ -44,18 +44,21 @@
--- recursion-via-include-in-layout --- --- recursion-via-include-in-layout ---
// Test cyclic imports during layout. // Test cyclic imports during layout.
// Error: 2-38 maximum show rule depth exceeded // Error: 2-38 maximum show rule depth exceeded
// Hint: 2-38 check whether the show rule matches its own output // Hint: 2-38 maybe a show rule matches its own output
// Hint: 2-38 maybe there are too deeply nested elements
#layout(_ => include "recursion.typ") #layout(_ => include "recursion.typ")
--- recursion-show-math --- --- recursion-show-math ---
// Test recursive show rules. // Test recursive show rules.
// Error: 22-25 maximum show rule depth exceeded // Error: 22-25 maximum show rule depth exceeded
// Hint: 22-25 check whether the show rule matches its own output // Hint: 22-25 maybe a show rule matches its own output
// Hint: 22-25 maybe there are too deeply nested elements
#show math.equation: $x$ #show math.equation: $x$
$ x $ $ x $
--- recursion-show-math-realize --- --- recursion-show-math-realize ---
// Error: 22-33 maximum show rule depth exceeded // Error: 22-33 maximum show rule depth exceeded
// Hint: 22-33 check whether the show rule matches its own output // Hint: 22-33 maybe a show rule matches its own output
// Hint: 22-33 maybe there are too deeply nested elements
#show heading: it => heading[it] #show heading: it => heading[it]
$ #heading[hi] $ $ #heading[hi] $