sess: stabilize -Zterminal-width as --diagnostic-width by davidtwco · Pull Request #95635 · rust-lang/rust (original) (raw)

thread 'main' panicked at 'No option 'terminal-width' defined', /cargo/registry/src/github.com-1ecc6299db9ec823/getopts-0.2.21/src/lib.rs:799:21

Looks like you need to add this option for rustdoc too - see

fn opts() -> Vec<RustcOptGroup> {
let stable: fn(_, fn(&mut getopts::Options) -> &mut _) -> _ = RustcOptGroup::stable;
let unstable: fn(_, fn(&mut getopts::Options) -> &mut _) -> _ = RustcOptGroup::unstable;
vec![
stable("h", |o
stable("V", |o
stable("v", |o
stable("w", |o
stable("output", |o
o.optopt(
"",
"output",
"Which directory to place the output. \
This option is deprecated, use --out-dir instead.",
"PATH",
)
}),
stable("o", |o
stable("crate-name", |o
o.optopt("", "crate-name", "specify the name of this crate", "NAME")
}),
make_crate_type_option(),
stable("L", |o
o.optmulti("L", "library-path", "directory to add to crate search path", "DIR")
}),
stable("cfg", |o
unstable("check-cfg", |o
stable("extern", |o
unstable("extern-html-root-url", |o
o.optmulti(
"",
"extern-html-root-url",
"base URL to use for dependencies; for example, \
\"std=/doc\" links std::vec::Vec to /doc/std/vec/struct.Vec.html",
"NAME=URL",
)
}),
unstable("extern-html-root-takes-precedence", |o
o.optflagmulti(
"",
"extern-html-root-takes-precedence",
"give precedence to `--extern-html-root-url`, not `html_root_url`",
)
}),
stable("C", |o
o.optmulti("C", "codegen", "pass a codegen option to rustc", "OPT[=VALUE]")
}),
stable("document-private-items", |o
o.optflagmulti("", "document-private-items", "document private items")
}),
unstable("document-hidden-items", |o
o.optflagmulti("", "document-hidden-items", "document items that have doc(hidden)")
}),
stable("test", |o
stable("test-args", |o
o.optmulti("", "test-args", "arguments to pass to the test runner", "ARGS")
}),
unstable("test-run-directory", |o
o.optopt(
"",
"test-run-directory",
"The working directory in which to run tests",
"PATH",
)
}),
stable("target", |o
stable("markdown-css", |o
o.optmulti(
"",
"markdown-css",
"CSS files to include via in a rendered Markdown file",
"FILES",
)
}),
stable("html-in-header", |o
o.optmulti(
"",
"html-in-header",
"files to include inline in the section of a rendered Markdown file \
or generated documentation",
"FILES",
)
}),
stable("html-before-content", |o
o.optmulti(
"",
"html-before-content",
"files to include inline between and the content of a rendered \
Markdown file or generated documentation",
"FILES",
)
}),
stable("html-after-content", |o
o.optmulti(
"",
"html-after-content",
"files to include inline between the content and of a rendered \
Markdown file or generated documentation",
"FILES",
)
}),
unstable("markdown-before-content", |o
o.optmulti(
"",
"markdown-before-content",
"files to include inline between and the content of a rendered \
Markdown file or generated documentation",
"FILES",
)
}),
unstable("markdown-after-content", |o
o.optmulti(
"",
"markdown-after-content",
"files to include inline between the content and of a rendered \
Markdown file or generated documentation",
"FILES",
)
}),
stable("markdown-playground-url", |o
o.optopt("", "markdown-playground-url", "URL to send code snippets to", "URL")
}),
stable("markdown-no-toc", |o
o.optflagmulti("", "markdown-no-toc", "don't include table of contents")
}),
stable("e", |o
o.optopt(
"e",
"extend-css",
"To add some CSS rules with a given file to generate doc with your \
own theme. However, your theme might break if the rustdoc's generated HTML \
changes, so be careful!",
"PATH",
)
}),
unstable("Z", |o
o.optmulti("Z", "", "internal and debugging options (only on nightly build)", "FLAG")
}),
stable("sysroot", |o
unstable("playground-url", |o
o.optopt(
"",
"playground-url",
"URL to send code snippets to, may be reset by --markdown-playground-url \
or `#![doc(html_playground_url=...)]`",
"URL",
)
}),
unstable("display-doctest-warnings", |o
o.optflagmulti(
"",
"display-doctest-warnings",
"show warnings that originate in doctests",
)
}),
stable("crate-version", |o
o.optopt("", "crate-version", "crate version to print into documentation", "VERSION")
}),
unstable("sort-modules-by-appearance", |o
o.optflagmulti(
"",
"sort-modules-by-appearance",
"sort modules by where they appear in the program, rather than alphabetically",
)
}),
stable("default-theme", |o
o.optopt(
"",
"default-theme",
"Set the default theme. THEME should be the theme name, generally lowercase. \
If an unknown default theme is specified, the builtin default is used. \
The set of themes, and the rustdoc built-in default, are not stable.",
"THEME",
)
}),
unstable("default-setting", |o
o.optmulti(
"",
"default-setting",
"Default value for a rustdoc setting (used when \"rustdoc-SETTING\" is absent \
from web browser Local Storage). If VALUE is not supplied, \"true\" is used. \
Supported SETTINGs and VALUEs are not documented and not stable.",
"SETTING[=VALUE]",
)
}),
stable("theme", |o
o.optmulti(
"",
"theme",
"additional themes which will be added to the generated docs",
"FILES",
)
}),
stable("check-theme", |o
o.optmulti("", "check-theme", "check if given theme is valid", "FILES")
}),
unstable("resource-suffix", |o
o.optopt(
"",
"resource-suffix",
"suffix to add to CSS and JavaScript files, e.g., \"light.css\" will become \
\"light-suffix.css\"",
"PATH",
)
}),
stable("edition", |o
o.optopt(
"",
"edition",
"edition to use when compiling rust code (default: 2015)",
"EDITION",
)
}),
stable("color", |o
o.optopt(
"",
"color",
"Configure coloring of output:
auto = colorize, if output goes to a tty (default);
always = always colorize output;
never = never colorize output",
"auto|always
)
}),
stable("error-format", |o
o.optopt(
"",
"error-format",
"How errors and other messages are produced",
"human|json
)
}),
stable("json", |o
o.optopt("", "json", "Configure the structure of JSON diagnostics", "CONFIG")
}),
unstable("disable-minification", |o
o.optflagmulti("", "disable-minification", "Disable minification applied on JS files")
}),
stable("allow", |o
stable("warn", |o
stable("force-warn", |o
stable("deny", |o
stable("forbid", |o
stable("cap-lints", |o
o.optmulti(
"",
"cap-lints",
"Set the most restrictive lint level. \
More restrictive lints are capped at this \
level. By default, it is at `forbid` level.",
"LEVEL",
)
}),
unstable("index-page", |o
o.optopt("", "index-page", "Markdown file to be used as index page", "PATH")
}),
unstable("enable-index-page", |o
o.optflagmulti("", "enable-index-page", "To enable generation of the index page")
}),
unstable("static-root-path", |o
o.optopt(
"",
"static-root-path",
"Path string to force loading static files from in output pages. \
If not set, uses combinations of '../' to reach the documentation root.",
"PATH",
)
}),
unstable("disable-per-crate-search", |o
o.optflagmulti(
"",
"disable-per-crate-search",
"disables generating the crate selector on the search box",
)
}),
unstable("persist-doctests", |o
o.optopt(
"",
"persist-doctests",
"Directory to persist doctest executables into",
"PATH",
)
}),
unstable("show-coverage", |o
o.optflagmulti(
"",
"show-coverage",
"calculate percentage of public items with documentation",
)
}),
unstable("enable-per-target-ignores", |o
o.optflagmulti(
"",
"enable-per-target-ignores",
"parse ignore-foo for ignoring doctests on a per-target basis",
)
}),
unstable("runtool", |o
o.optopt(
"",
"runtool",
"",
"The tool to run tests with when building for a different target than host",
)
}),
unstable("runtool-arg", |o
o.optmulti(
"",
"runtool-arg",
"",
"One (of possibly many) arguments to pass to the runtool",
)
}),
unstable("test-builder", |o
o.optopt("", "test-builder", "The rustc-like binary to use as the test builder", "PATH")
}),
unstable("check", |o
unstable("generate-redirect-map", |o
o.optflagmulti(
"",
"generate-redirect-map",
"Generate JSON file at the top level instead of generating HTML redirection files",
)
}),
unstable("emit", |o
o.optmulti(
"",
"emit",
"Comma separated list of types of output for rustdoc to emit",
"[unversioned-shared-resources,toolchain-shared-resources,invocation-specific]",
)
}),
unstable("no-run", |o
o.optflagmulti("", "no-run", "Compile doctests without running them")
}),
unstable("show-type-layout", |o
o.optflagmulti("", "show-type-layout", "Include the memory layout of types in the docs")
}),
unstable("nocapture", |o
o.optflag("", "nocapture", "Don't capture stdout and stderr of tests")
}),
unstable("generate-link-to-definition", |o
o.optflag(
"",
"generate-link-to-definition",
"Make the identifiers in the HTML source code pages navigable",
)
}),
unstable("scrape-examples-output-path", |o
o.optopt(
"",
"scrape-examples-output-path",
"",
"collect function call information and output at the given path",
)
}),
unstable("scrape-examples-target-crate", |o
o.optmulti(
"",
"scrape-examples-target-crate",
"",
"collect function call information for functions from the target crate",
)
}),
unstable("scrape-tests", |o
o.optflag("", "scrape-tests", "Include test code when scraping examples")
}),
unstable("with-examples", |o
o.optmulti(
"",
"with-examples",
"",
"path to function call information (for displaying examples in the documentation)",
)
}),
// deprecated / removed options
stable("plugin-path", |o
o.optmulti(
"",
"plugin-path",
"removed, see issue #44136 https://github.com/rust-lang/rust/issues/44136 \
for more information",
"DIR",
)
}),
stable("passes", |o
o.optmulti(
"",
"passes",
"removed, see issue #44136 https://github.com/rust-lang/rust/issues/44136 \
for more information",
"PASSES",
)
}),
stable("plugins", |o
o.optmulti(
"",
"plugins",
"removed, see issue #44136 https://github.com/rust-lang/rust/issues/44136 \
for more information",
"PLUGINS",
)
}),
stable("no-default", |o
o.optflagmulti(
"",
"no-defaults",
"removed, see issue #44136 https://github.com/rust-lang/rust/issues/44136 \
for more information",
)
}),
stable("r", |o
o.optopt(
"r",
"input-format",
"removed, see issue #44136 https://github.com/rust-lang/rust/issues/44136 \
for more information",
"[rust]",
)
}),
]
}

for where the existing options are defined.