external_doc

The tracking issue for this feature is: #44732

The external_doc feature allows the use of the include parameter to the #[doc] attribute, to include external files in documentation. Use the attribute in place of, or in addition to, regular doc comments and #[doc] attributes, and rustdoc will load the given file when it renders documentation for your crate.

With the following files in the same directory:

external-doc.md:

# My Awesome Type

This is the documentation for this spectacular type.

lib.rs:

#![feature(external_doc)]

#[doc(include = "external-doc.md")]
pub struct MyAwesomeType;

rustdoc will load the file external-doc.md and use it as the documentation for the MyAwesomeType struct.

When locating files, rustdoc will base paths in the src/ directory, as if they were alongside the lib.rs for your crate. So if you want a docs/ folder to live alongside the src/ directory, start your paths with ../docs/ for rustdoc to properly find the file.

This feature was proposed in RFC #1990 and initially implemented in PR #44781.