Currently we have an awkward mix of fallible and infallible functions:
```
new_parser_from_source_str
maybe_new_parser_from_source_str
new_parser_from_file
(maybe_new_parser_from_file) // missing
(new_parser_from_source_file) // missing
maybe_new_parser_from_source_file
source_str_to_stream
maybe_source_file_to_stream
```
We could add the two missing functions, but instead this commit removes
of all the infallible ones and renames the fallible ones leaving us with
these which are all fallible:
```
new_parser_from_source_str
new_parser_from_file
new_parser_from_source_file
source_str_to_stream
source_file_to_stream
```
This requires making `unwrap_or_emit_fatal` public so callers of
formerly infallible functions can still work.
This does make some of the call sites slightly more verbose, but I think
it's worth it for the simpler API. Also, there are two `catch_unwind`
calls and one `catch_fatal_errors` call in this diff that become
removable thanks this change. (I will do that in a follow-up PR.)
|
||
|---|---|---|
| .. | ||
| clean | ||
| doctest | ||
| formats | ||
| html | ||
| json | ||
| passes | ||
| theme | ||
| askama.toml | ||
| Cargo.toml | ||
| config.rs | ||
| core.rs | ||
| docfs.rs | ||
| doctest.rs | ||
| error.rs | ||
| externalfiles.rs | ||
| fold.rs | ||
| lib.rs | ||
| lint.rs | ||
| markdown.rs | ||
| README.md | ||
| scrape_examples.rs | ||
| theme.rs | ||
| visit.rs | ||
| visit_ast.rs | ||
| visit_lib.rs | ||
For more information about how librustdoc works, see the rustc dev guide.