You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2. Don't look for blanket impls in intra-doc links [#79682](https://github.com/rust-lang/rust/pull/79682)
27
27
28
-
This PR was very disappointing to write. The gist is that if you had
28
+
This PR was very disappointing to write. The gist is that if you had
29
29
30
-
```rust
31
-
traitTrait {
32
-
fnf() {}
33
-
}
30
+
```rust
31
+
traitTrait {
32
+
fnf() {}
33
+
}
34
34
35
-
impl<T> TraitforT {}
36
-
```
35
+
impl<T> TraitforT {}
36
+
```
37
37
38
-
then linking to `usize::f` would not only not work, but would take longer to run than the rest of
39
-
intra-doc links to run. This temporarily disabled blanket impls until the bug is fixed and the performance can be improved, for a similar [90x] speedup on `stm32h7xx`.
38
+
then linking to `usize::f` would not only not work, but would take longer to run than the rest of
39
+
intra-doc links to run. This temporarily disabled blanket impls until the bug is fixed and the performance can be improved, for a similar [90x] speedup on `stm32h7xx`.
40
40
41
-
You may be wondering why `stm32h7xx` was so slow before; see the end of the post for details.
41
+
You may be wondering why `stm32h7xx` was so slow before; see the end of the post for details.
@@ -130,17 +130,17 @@ This is the "useful work" (as opposed to unnecessary complexity) that `doctree`
130
130
- Inlining items that are only reachable from an export. 'Inlining' is showing the full documentation for an item at a re-export (`pub use std::process::Command`) instead of just showing the `use` statement. It's used pervasively by the standard library and facade crates like `futures` to show the relevant documentation in one place, instead of spread out across many crates. **@jyn514** hopes this could be done in `clean` instead, but has no idea yet how to do it.
131
131
- Moving macros from always being at the root of the crate to the module where they're accessible. For example, this macro:
132
132
133
-
```rust
134
-
#![crate_name="my_crate"]
135
-
#![feature(decl_macro)]
136
-
modinner {
137
-
pubmacrom() {}
138
-
}
139
-
```
133
+
```rust
134
+
#![crate_name="my_crate"]
135
+
#![feature(decl_macro)]
136
+
modinner {
137
+
pubmacrom() {}
138
+
}
139
+
```
140
140
141
-
should be documented at `my_crate::inner::m`, but the compiler shows it at `my_crate::m` instead. The fix for this is an awful hack that goes through every module Rustdoc knows about to see if the name of the module matches the name of the macro's parent module. At some point in the future, it would be great to fix the compiler APIs so this is no longer necessary.
141
+
should be documented at `my_crate::inner::m`, but the compiler shows it at `my_crate::m` instead. The fix for this is an awful hack that goes through every module Rustdoc knows about to see if the name of the module matches the name of the macro's parent module. At some point in the future, it would be great to fix the compiler APIs so this is no longer necessary.
142
142
143
-
Giant thank you to [**@danielhenrymantilla**](https://github.com/danielhenrymantilla) both for writing up the fix, and discovering and fixing several other macro-related bugs along the way!
143
+
Giant thank you to [**@danielhenrymantilla**](https://github.com/danielhenrymantilla) both for writing up the fix, and discovering and fixing several other macro-related bugs along the way!
144
144
145
145
If all these issues could be fixed, that would be an even bigger speedup - there would be no need to walk the tree in the first place!
0 commit comments