about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWill Crichton <wcrichto@cs.stanford.edu>2022-12-06 10:11:55 -0800
committerWill Crichton <wcrichto@cs.stanford.edu>2022-12-07 09:08:43 -0800
commitae270f1b991ced071d93eab76219a0e3788b89ad (patch)
treed689a93026df9080014925682e33f735d8789dd9
parent212d03dadca627e55273294404bcc6312aa65969 (diff)
downloadrust-ae270f1b991ced071d93eab76219a0e3788b89ad.tar.gz
rust-ae270f1b991ced071d93eab76219a0e3788b89ad.zip
Update scrape-examples help, fix documentation typos
-rw-r--r--src/librustdoc/html/render/mod.rs15
-rw-r--r--src/librustdoc/html/static/scrape-examples-help.md5
2 files changed, 11 insertions, 9 deletions
diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs
index ea466c639c3..36d15ec3b86 100644
--- a/src/librustdoc/html/render/mod.rs
+++ b/src/librustdoc/html/render/mod.rs
@@ -2957,14 +2957,15 @@ fn render_call_locations(w: &mut Buffer, cx: &mut Context<'_>, item: &clean::Ite
 
     // The call locations are output in sequence, so that sequence needs to be determined.
     // Ideally the most "relevant" examples would be shown first, but there's no general algorithm
-    // for determining relevance. We instead make a proxy for relevance with the following heuristics:
+    // for determining relevance. We instead proxy relevance with the following heuristics:
     //   1. Code written to be an example is better than code not written to be an example, e.g.
-    //      a snippet from examples/foo.rs is better than src/lib.rs. We don't know the Cargo directory
-    //      structure in Rustdoc, so we proxy this by prioriting code that comes from a --crate-type bin.
-    //   2. Smaller examples are better than large examples. So we prioritize snippets that have the
-    //      smallest line span for their enclosing item.
-    //   3. Finally we sort by the displayed file name, which is arbitrary but prevents the ordering
-    //      of examples from randomly changing between Rustdoc invocations.
+    //      a snippet from examples/foo.rs is better than src/lib.rs. We don't know the Cargo
+    //      directory structure in Rustdoc, so we proxy this by prioritizing code that comes from
+    //      a --crate-type bin.
+    //   2. Smaller examples are better than large examples. So we prioritize snippets that have
+    //      the smallest number of lines in their enclosing item.
+    //   3. Finally we sort by the displayed file name, which is arbitrary but prevents the
+    //      ordering of examples from randomly changing between Rustdoc invocations.
     let ordered_locations = {
         fn sort_criterion<'a>(
             (_, call_data): &(&PathBuf, &'a CallData),
diff --git a/src/librustdoc/html/static/scrape-examples-help.md b/src/librustdoc/html/static/scrape-examples-help.md
index 035b2e18b00..002d19ec9b6 100644
--- a/src/librustdoc/html/static/scrape-examples-help.md
+++ b/src/librustdoc/html/static/scrape-examples-help.md
@@ -1,4 +1,4 @@
-Rustdoc will automatically scrape examples of documented items from the `examples/` directory of a project. These examples will be included within the generated documentation for that item. For example, if your library contains a public function:
+Rustdoc will automatically scrape examples of documented items from a project's source code. These examples will be included within the generated documentation for that item. For example, if your library contains a public function:
 
 ```rust
 // src/lib.rs
@@ -16,6 +16,7 @@ fn main() {
 
 Then this code snippet will be included in the documentation for `a_func`.
 
+
 ## How to read scraped examples
 
 Scraped examples are shown as blocks of code from a given file. The relevant item will be highlighted. If the file is larger than a couple lines, only a small window will be shown which you can expand by clicking &varr; in the top-right. If a file contains multiple instances of an item, you can use the &pr; and &sc; buttons to toggle through each instance.
@@ -25,7 +26,7 @@ If there is more than one file that contains examples, then you should click "Mo
 
 ## How Rustdoc scrapes examples
 
-When you run `cargo doc`, Rustdoc will analyze all the crates that match Cargo's `--examples` filter for instances of items that occur in the crates being documented. Then Rustdoc will include the source code of these instances in the generated documentation.
+When you run `cargo doc -Zunstable-options -Zrustdoc-scrape-examples`, Rustdoc will analyze all the documented crates for uses of documented items. Then Rustdoc will include the source code of these instances in the generated documentation.
 
 Rustdoc has a few techniques to ensure this doesn't overwhelm documentation readers, and that it doesn't blow up the page size: