zed-industries/zed · error

Default title not a string

Error message

Default title not a string

What it means

Raised in handle_postprocessing when the zed-html output's default-title value exists but is not a string (e.g. a number or table). The title must be textual to inject into HTML; a non-string value makes the preprocessor config malformed and processing panics.

Source

Thrown at crates/docs_preprocessor/src/main.rs:716

                .iter()
                .filter_map(|(source, destination)| {
                    destination
                        .as_str()
                        .map(|destination| (source.clone(), destination.to_string()))
                })
                .collect::<Vec<_>>()
        });
    let default_description = zed_html
        .get("default-description")
        .expect("Default description not found")
        .as_str()
        .expect("Default description not a string")
        .to_string();
    let default_title = zed_html
        .get("default-title")
        .expect("Default title not found")
        .as_str()
        .expect("Default title not a string")
        .to_string();
    let amplitude_key = std::env::var("DOCS_AMPLITUDE_API_KEY").unwrap_or_default();
    let consent_io_instance = std::env::var("DOCS_CONSENT_IO_INSTANCE").unwrap_or_default();
    let docs_channel = std::env::var("DOCS_CHANNEL").unwrap_or_else(|_| "stable".to_string());
    let site_url = std::env::var("MDBOOK_BOOK__SITE_URL")
        .ok()
        .filter(|site_url| !site_url.trim().is_empty())
        .unwrap_or_else(|| {
            match docs_channel.as_str() {
                "nightly" => "/docs/nightly/",
                "preview" => "/docs/preview/",
                _ => "/docs/",
            }
            .to_string()
        });
    let noindex = if docs_channel == "nightly" || docs_channel == "preview" {
        "<meta name=\"robots\" content=\"noindex, nofollow\">"
    } else {

View on GitHub (pinned to f4178619ac)

Solutions

  1. Quote the default-title value in book.toml
  2. Validate the TOML types for the zed-html output section
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/docs_preprocessor/src/main.rs:716 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of zed-industries/zed@f4178619ac (2026-08-20). Data as JSON: /api/errors/edd93e2f96bbe385. Report an issue: GitHub.