File: extern-default-method.rs

package info (click to toggle)
rustc 1.85.0%2Bdfsg3-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental, sid, trixie
  • size: 893,396 kB
  • sloc: xml: 158,127; python: 35,830; javascript: 19,497; cpp: 19,002; sh: 17,245; ansic: 13,127; asm: 4,376; makefile: 1,051; perl: 29; lisp: 29; ruby: 19; sql: 11
file content (23 lines) | stat: -rw-r--r-- 1,279 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//@ aux-build:rustdoc-extern-default-method.rs
//@ ignore-cross-compile
// ignore-tidy-linelength

extern crate rustdoc_extern_default_method as ext;

// For this test, the dependency is compiled but not documented.
//
// Still, the struct from the external crate and its impl should be documented since
// the struct is re-exported from this crate.
// However, the method in the trait impl should *not* have a link (an `href` attribute) to
// its corresponding item in the trait declaration since it would otherwise be broken.
//
// In older versions of rustdoc, the impl item (`a[@class="fn"]`) used to link to
// `#method.provided` – i.e. "to itself". Put in quotes since that was actually incorrect in
// general: If the type `Struct` also had an inherent method called `provided`, the impl item
// would link to that one even though those two methods are distinct items!

//@ count extern_default_method/struct.Struct.html '//*[@id="method.provided"]' 1
//@ count extern_default_method/struct.Struct.html '//*[@id="method.provided"]//a[@class="fn"]' 1
//@ snapshot no_href_on_anchor - '//*[@id="method.provided"]//a[@class="fn"]'
//@ has extern_default_method/struct.Struct.html '//*[@id="method.provided"]//a[@class="anchor"]/@href' #method.provided
pub use ext::Struct;