Skip to content

Commit 6a76872

Browse files
committed
Extend linkchecker with anchor checking
This adds checks to ensure that: * link anchors refer to existing id's on the target page * id's are unique within an html document * page redirects are valid
1 parent d0f74b6 commit 6a76872

File tree

7 files changed

+215
-62
lines changed

7 files changed

+215
-62
lines changed

src/doc/style/features/traits/generics.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ explicitly implement to be used by this generic function.
2727
* _Inference_. Since the type parameters to generic functions can usually be
2828
inferred, generic functions can help cut down on verbosity in code where
2929
explicit conversions or other method calls would usually be necessary. See the
30-
[overloading/implicits use case](#use-case-limited-overloading-andor-implicit-conversions)
31-
below.
30+
overloading/implicits use case below.
3231
* _Precise types_. Because generics give a _name_ to the specific type
3332
implementing a trait, it is possible to be precise about places where that
3433
exact type is required or produced. For example, a function
@@ -51,7 +50,7 @@ explicitly implement to be used by this generic function.
5150
a `Vec<T>` contains elements of a single concrete type (and, indeed, the
5251
vector representation is specialized to lay these out in line). Sometimes
5352
heterogeneous collections are useful; see
54-
[trait objects](#use-case-trait-objects) below.
53+
trait objects below.
5554
* _Signature verbosity_. Heavy use of generics can bloat function signatures.
5655
**[Ed. note]** This problem may be mitigated by some language improvements; stay tuned.
5756

src/libcore/iter.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ pub trait Iterator {
434434
/// `None`. Once `None` is encountered, `count()` returns the number of
435435
/// times it called [`next()`].
436436
///
437-
/// [`next()`]: #method.next
437+
/// [`next()`]: #tymethod.next
438438
///
439439
/// # Overflow Behavior
440440
///
@@ -497,7 +497,7 @@ pub trait Iterator {
497497
/// This method will evaluate the iterator `n` times, discarding those elements.
498498
/// After it does so, it will call [`next()`] and return its value.
499499
///
500-
/// [`next()`]: #method.next
500+
/// [`next()`]: #tymethod.next
501501
///
502502
/// Like most indexing operations, the count starts from zero, so `nth(0)`
503503
/// returns the first value, `nth(1)` the second, and so on.

src/libstd/io/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1254,7 +1254,7 @@ pub trait BufRead: Read {
12541254
/// longer be returned. As such, this function may do odd things if
12551255
/// `fill_buf` isn't called before calling it.
12561256
///
1257-
/// [fillbuf]: #tymethod.fill_buff
1257+
/// [fillbuf]: #tymethod.fill_buf
12581258
///
12591259
/// The `amt` must be `<=` the number of bytes in the buffer returned by
12601260
/// `fill_buf`.

src/libstd/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@
190190
//! [`thread`]: thread/index.html
191191
//! [`use std::env`]: env/index.html
192192
//! [`use`]: ../book/crates-and-modules.html#importing-modules-with-use
193-
//! [crate root]: ../book/crates-and-modules.html#basic-terminology:-crates-and-modules
193+
//! [crate root]: ../book/crates-and-modules.html#basic-terminology-crates-and-modules
194194
//! [crates.io]: https://crates.io
195195
//! [deref coercions]: ../book/deref-coercions.html
196196
//! [files]: fs/struct.File.html

src/libstd/net/tcp.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ impl TcpStream {
196196
///
197197
/// For more information about this option, see [`set_nodelay`][link].
198198
///
199-
/// [link]: #tymethod.set_nodelay
199+
/// [link]: #method.set_nodelay
200200
#[stable(feature = "net2_mutators", since = "1.9.0")]
201201
pub fn nodelay(&self) -> io::Result<bool> {
202202
self.0.nodelay()
@@ -215,7 +215,7 @@ impl TcpStream {
215215
///
216216
/// For more information about this option, see [`set_ttl`][link].
217217
///
218-
/// [link]: #tymethod.set_ttl
218+
/// [link]: #method.set_ttl
219219
#[stable(feature = "net2_mutators", since = "1.9.0")]
220220
pub fn ttl(&self) -> io::Result<u32> {
221221
self.0.ttl()
@@ -238,7 +238,7 @@ impl TcpStream {
238238
///
239239
/// For more information about this option, see [`set_only_v6`][link].
240240
///
241-
/// [link]: #tymethod.set_only_v6
241+
/// [link]: #method.set_only_v6
242242
#[stable(feature = "net2_mutators", since = "1.9.0")]
243243
pub fn only_v6(&self) -> io::Result<bool> {
244244
self.0.only_v6()
@@ -374,7 +374,7 @@ impl TcpListener {
374374
///
375375
/// For more information about this option, see [`set_ttl`][link].
376376
///
377-
/// [link]: #tymethod.set_ttl
377+
/// [link]: #method.set_ttl
378378
#[stable(feature = "net2_mutators", since = "1.9.0")]
379379
pub fn ttl(&self) -> io::Result<u32> {
380380
self.0.ttl()
@@ -397,7 +397,7 @@ impl TcpListener {
397397
///
398398
/// For more information about this option, see [`set_only_v6`][link].
399399
///
400-
/// [link]: #tymethod.set_only_v6
400+
/// [link]: #method.set_only_v6
401401
#[stable(feature = "net2_mutators", since = "1.9.0")]
402402
pub fn only_v6(&self) -> io::Result<bool> {
403403
self.0.only_v6()

src/libstd/net/udp.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ impl UdpSocket {
155155
/// For more information about this option, see
156156
/// [`set_broadcast`][link].
157157
///
158-
/// [link]: #tymethod.set_broadcast
158+
/// [link]: #method.set_broadcast
159159
#[stable(feature = "net2_mutators", since = "1.9.0")]
160160
pub fn broadcast(&self) -> io::Result<bool> {
161161
self.0.broadcast()
@@ -175,7 +175,7 @@ impl UdpSocket {
175175
/// For more information about this option, see
176176
/// [`set_multicast_loop_v4`][link].
177177
///
178-
/// [link]: #tymethod.set_multicast_loop_v4
178+
/// [link]: #method.set_multicast_loop_v4
179179
#[stable(feature = "net2_mutators", since = "1.9.0")]
180180
pub fn multicast_loop_v4(&self) -> io::Result<bool> {
181181
self.0.multicast_loop_v4()
@@ -198,7 +198,7 @@ impl UdpSocket {
198198
/// For more information about this option, see
199199
/// [`set_multicast_ttl_v4`][link].
200200
///
201-
/// [link]: #tymethod.set_multicast_ttl_v4
201+
/// [link]: #method.set_multicast_ttl_v4
202202
#[stable(feature = "net2_mutators", since = "1.9.0")]
203203
pub fn multicast_ttl_v4(&self) -> io::Result<u32> {
204204
self.0.multicast_ttl_v4()
@@ -218,7 +218,7 @@ impl UdpSocket {
218218
/// For more information about this option, see
219219
/// [`set_multicast_loop_v6`][link].
220220
///
221-
/// [link]: #tymethod.set_multicast_loop_v6
221+
/// [link]: #method.set_multicast_loop_v6
222222
#[stable(feature = "net2_mutators", since = "1.9.0")]
223223
pub fn multicast_loop_v6(&self) -> io::Result<bool> {
224224
self.0.multicast_loop_v6()
@@ -237,7 +237,7 @@ impl UdpSocket {
237237
///
238238
/// For more information about this option, see [`set_ttl`][link].
239239
///
240-
/// [link]: #tymethod.set_ttl
240+
/// [link]: #method.set_ttl
241241
#[stable(feature = "net2_mutators", since = "1.9.0")]
242242
pub fn ttl(&self) -> io::Result<u32> {
243243
self.0.ttl()
@@ -260,7 +260,7 @@ impl UdpSocket {
260260
///
261261
/// For more information about this option, see [`set_only_v6`][link].
262262
///
263-
/// [link]: #tymethod.set_only_v6
263+
/// [link]: #method.set_only_v6
264264
#[stable(feature = "net2_mutators", since = "1.9.0")]
265265
pub fn only_v6(&self) -> io::Result<bool> {
266266
self.0.only_v6()
@@ -293,7 +293,7 @@ impl UdpSocket {
293293
/// For more information about this option, see
294294
/// [`join_multicast_v4`][link].
295295
///
296-
/// [link]: #tymethod.join_multicast_v4
296+
/// [link]: #method.join_multicast_v4
297297
#[stable(feature = "net2_mutators", since = "1.9.0")]
298298
pub fn leave_multicast_v4(&self, multiaddr: &Ipv4Addr, interface: &Ipv4Addr) -> io::Result<()> {
299299
self.0.leave_multicast_v4(multiaddr, interface)
@@ -304,7 +304,7 @@ impl UdpSocket {
304304
/// For more information about this option, see
305305
/// [`join_multicast_v6`][link].
306306
///
307-
/// [link]: #tymethod.join_multicast_v6
307+
/// [link]: #method.join_multicast_v6
308308
#[stable(feature = "net2_mutators", since = "1.9.0")]
309309
pub fn leave_multicast_v6(&self, multiaddr: &Ipv6Addr, interface: u32) -> io::Result<()> {
310310
self.0.leave_multicast_v6(multiaddr, interface)

0 commit comments

Comments
 (0)