diff options
| author | Ivan Tham <pickfire@riseup.net> | 2020-09-13 20:48:15 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-13 20:48:15 +0800 |
| commit | 5dc9790e10b6f57a9f92a2210bb2375cb735c228 (patch) | |
| tree | 2d6b1ea94365eb10f03552590f8dc7bd5077d0b8 | |
| parent | b6c84553c4fa47174d2510541a90243000fb44d8 (diff) | |
| download | rust-5dc9790e10b6f57a9f92a2210bb2375cb735c228.tar.gz rust-5dc9790e10b6f57a9f92a2210bb2375cb735c228.zip | |
Add visualization of rustc span in doc
It took me quite some time to figure out what Span::to means. A picture is worth a thousand words.
| -rw-r--r-- | compiler/rustc_span/src/lib.rs | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/compiler/rustc_span/src/lib.rs b/compiler/rustc_span/src/lib.rs index b478a1d15c5..e38cd516b91 100644 --- a/compiler/rustc_span/src/lib.rs +++ b/compiler/rustc_span/src/lib.rs @@ -544,6 +544,12 @@ impl Span { } /// Returns a `Span` that would enclose both `self` and `end`. + /// + /// ```text + /// ____ ___ + /// self lorem ipsum end + /// ^^^^^^^^^^^^^^^^^^^^ + /// ``` pub fn to(self, end: Span) -> Span { let span_data = self.data(); let end_data = end.data(); @@ -567,6 +573,12 @@ impl Span { } /// Returns a `Span` between the end of `self` to the beginning of `end`. + /// + /// ```text + /// ____ ___ + /// self lorem ipsum end + /// ^^^^^^^^^^^^^ + /// ``` pub fn between(self, end: Span) -> Span { let span = self.data(); let end = end.data(); @@ -577,7 +589,13 @@ impl Span { ) } - /// Returns a `Span` between the beginning of `self` to the beginning of `end`. + /// Returns a `Span` from the beginning of `self` until the beginning of `end`. + /// + /// ```text + /// ____ ___ + /// self lorem ipsum end + /// ^^^^^^^^^^^^^^^^^ + /// ``` pub fn until(self, end: Span) -> Span { let span = self.data(); let end = end.data(); |
