Commit graph

17 commits

Author SHA1 Message Date
Jacob Pratt
6970246886
Remove crate visibility modifier in libs, tests 2022-05-21 00:32:47 -04:00
klensy
7f1174977f rustdoc: don't build rayon for non-windows targets 2022-05-06 07:56:53 +03:00
Noah Lev
581dc75888 rustdoc: Remove a single-use macro
I think the new code is simpler and easier to understand.
2021-10-28 18:39:32 -07:00
Joshua Nelson
5651192460 Remove unnecessary copies when using parallel IO
Previously, rustdoc was making lots of copies of temporary owned values.
Now, it uses the owned value wherever possible.
2021-08-26 17:06:52 +00:00
Joshua Nelson
d6c16e4253 Make all rustdoc functions and structs crate-private
This gives warnings about dead code.
2020-11-15 11:21:12 -05:00
Matthias Krüger
a1c22122da fix clippy::unit_arg: make it explicit that Ok(()) is being returned 2020-08-07 22:47:32 +02:00
Matthias Krüger
3ef8c72577 fix clippy::expect_fun_call: use unwrap_or_else to prevent panic message from always being evaluated 2020-08-07 22:47:31 +02:00
Joseph Ryan
29df0508f3
Pass by value 2020-07-29 16:48:22 -05:00
Joseph Ryan
7621a5b635
Refactor DocFS to fix error handling bugs 2020-07-29 16:15:31 -05:00
Guillaume Gomez
7e855b5915 Clean up rustdoc source code 2020-05-08 15:08:15 +02:00
Matthias Krüger
139c646251 Fix clippy warnings
clippy::{filter_next,single_char_pattern,unit_arg,identity_conversion,nonminimal_bool}
2020-04-15 23:38:48 +02:00
Matthias Krüger
a1c3eb6043 Don't always eval arguments inside .expect(), use unwrap_or_else and closure. (clippy::expect_fun_call) 2020-03-05 16:39:20 +01:00
Mazdak Farrokhzad
8bd3d240e3 nix syntax::errors & prefer rustc_errors over errors 2020-01-10 07:41:30 +01:00
Mark Rousskov
a06baa56b9 Format the world 2019-12-22 17:42:47 -05:00
Guillaume Gomez
65f12950b6 Better handling of the sender channel part in rustdoc file writing 2019-06-21 12:00:49 +02:00
Guillaume Gomez
3eeb543504 Handle fs errors through errors::Handler instead of eprintln and panic 2019-06-21 12:00:49 +02:00
Robert Collins
6392bc9fcd Add DocFS layer to rustdoc
* Move fs::create_dir_all calls into DocFS to provide a clean
  extension point if async extension there is needed.
* Convert callsites of create_dir_all to ensure_dir to reduce syscalls.
* Convert fs::write usage to DocFS.write
  (which also removes a lot of try_err! usage for easier reading)
* Convert File::create calls to use Vec buffers and then DocFS.write
  in order to consistently reduce syscalls as well, make
  deferring to threads cleaner and avoid leaving dangling content if
  writing to existing files....
* Convert OpenOptions usage similarly - I could find no discussion on
  the use of create_new for that one output file vs all the other
  files render creates, if link redirection attacks are a concern
  DocFS will provide a good central point to introduce systematic
  create_new usage. (fs::write/File::create is vulnerable to link
  redirection attacks).
* DocFS::write defers to rayon for IO on Windows producing a modest
  speedup: before this patch on my development workstation:

$ time cargo +mystg1 doc -p winapi:0.3.7
 Documenting winapi v0.3.7
    Finished dev [unoptimized + debuginfo] target(s) in 6m 11s

real    6m11.734s

Afterwards:
$ time cargo +mystg1 doc -p winapi:0.3.7
   Compiling winapi v0.3.7
 Documenting winapi v0.3.7
    Finished dev [unoptimized + debuginfo] target(s) in 49.53s

real    0m49.643s

I haven't measured how much time is in the compilation logic vs in the
IO and outputting etc, but this takes it from frustating to tolerable
for me, at least for now.
2019-06-21 12:00:49 +02:00