Commit Graph

107 Commits

Author SHA1 Message Date
Yuri Astrakhan 2c5ecf22a2 Fix windows test output. 2023-08-01 14:24:11 +02:00
Mara Bos 893bb8e1ce Fix test output. 2023-07-29 11:42:53 +02:00
Mara Bos 0e729404da Change default panic handler message format. 2023-07-29 11:42:50 +02:00
Lukas Markeffsky 637ea3f746 validate doc(masked) 2023-07-24 18:04:35 +02:00
Lukas Markeffsky 237ed1630f add tests for broken links in unused doc strings 2023-07-22 13:02:49 +02:00
bors 0646a5d1aa Auto merge of #113622 - RickleAndMortimer:issue-113184-fix, r=oli-obk
add links to query documentation for E0391

This PR adds links to https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for the rustc --explain E0391 and within the compiler error itself.

Fixes: #113184
2023-07-20 03:18:41 +00:00
Esteban Küber 8eb5843a59 On nightly, dump ICE backtraces to disk
Implement rust-lang/compiler-team#578.

When an ICE is encountered on nightly releases, the new rustc panic
handler will also write the contents of the backtrace to disk. If any
`delay_span_bug`s are encountered, their backtrace is also added to the
file. The platform and rustc version will also be collected.
2023-07-19 14:10:07 +00:00
nxya a903ac5124 fix issue-110629-private-type-cycle-dyn test 2023-07-19 10:02:15 -04:00
nxya e6e8892051 added links as a note 2023-07-18 09:27:35 -04:00
nxya f92a9f6808 add links to query documentation for E0391 2023-07-18 09:27:26 -04:00
nxya bef91ee687 added links as a note 2023-07-18 09:20:25 -04:00
nxya c429a72db9 add links to query documentation for E0391 2023-07-18 09:20:25 -04:00
Michael Howell 1a77d9a54d rustdoc: get unnormalized link destination for suggestions
Fixes #110111

This bug, and the workaround in this commit, is closely linked to
[raphlinus/pulldown-cmark#441], getting offsets of link
components. In particular, pulldown-cmark doesn't provide the
offsets of the contents of a link.

To work around this, rustdoc parser parts of a link definition
itself.

[raphlinus/pulldown-cmark#441]: https://github.com/raphlinus/pulldown-cmark/issues/441
2023-05-26 18:38:46 -07:00
Michael Goulet bd7e8b5ef9 Rollup merge of #111152 - lukas-code:markdown-parsers-are-hard, r=GuillaumeGomez
update `pulldown-cmark` to `0.9.3`

This PR updates `pulldown-cmark` to version `0.9.3`, which does two main things:
* Pulls in https://github.com/raphlinus/pulldown-cmark/pull/643 to fix https://github.com/rust-lang/rust/issues/111117
* Allows parsing strikethrough with single tildes, e.g. `~foo~` -> ~foo~. This matches the [GFM spec](https://github.github.com/gfm/#strikethrough-extension-).

Full changelog: https://github.com/raphlinus/pulldown-cmark/pull/646
2023-05-25 13:57:59 -07:00
Guillaume Gomez bcdfda1b6b Add regression test for #111189 2023-05-23 15:33:43 +02:00
Lukas Markeffsky b63cc5c307 rustdoc: add regression test for broken link due to double backticks 2023-05-22 11:35:25 +02:00
Ulrich Weigand cac7e42b52 Fix backtrace normalization in ice-bug-report-url.rs
This test case currently fails on s390x, and probably other
platforms where the last line of a backtrace does not contain
and " at <source location>" specification.

The problem with the existing normalization lines
// normalize-stderr-test "\s*\d{1,}: .*\n" -> ""
// normalize-stderr-test "\s at .*\n" -> ""
is that \s matches all whitespace, including newlines, so the
first (but not second) of these regexes may merge multiple
lines.  Thus the output differs depending on which of these
matches on the last line of a backtrace.

As the whitespace used in backtraces is just normal space
characters, change both regexes to just match at least one
space character instead:
// normalize-stderr-test " +\d{1,}: .*\n" -> ""
// normalize-stderr-test " + at .*\n" -> ""
2023-05-11 13:59:38 +02:00
Matthias Krüger 8ec84dd523 Rollup merge of #110989 - jyn514:bug-report-url, r=WaffleLapkin
Make the BUG_REPORT_URL configurable by tools

This greatly simplifies how hard it is to set a custom bug report url; previously tools had to copy
the entire hook implementation.

I haven't changed clippy in case they want to make the change upstream instead of the subtree, but
I'm happy to do so here if the maintainers want - cc ````@rust-lang/clippy````

Fixes https://github.com/rust-lang/rust/issues/109486.
2023-05-06 13:30:04 +02:00
Urgau a5f8dba4cd Improve check-cfg diagnostics (part 1) 2023-05-05 13:06:48 +02:00
jyn 2469afef1a Make the BUG_REPORT_URL configurable by tools
This greatly simplifies how hard it is to set a custom bug report url; previously tools had to copy
the entire hook implementation.

- Switch clippy to the new hook

  This also adds a `extra_info` callback so clippy can include its own version number, which differs
  from rustc's.

- Call `install_ice_hook` in rustfmt
2023-05-01 21:44:04 -05:00
Michael Goulet bec7193072 Don't use implied trait predicates in gather_explicit_predicates_of 2023-05-01 15:45:28 +00:00
Matthias Krüger 5dec8dff7b Rollup merge of #110631 - notriddle:notriddle/impl-trait-cycle, r=GuillaumeGomez
rustdoc: catch and don't blow up on impl Trait cycles

Fixes #110629

An odd feature of Rust is that `Foo` is invalid, but `Bar` is okay:

    type Foo<'a, 'b> = Box<dyn PartialEq<Foo<'a, 'b>>>;
    type Bar<'a, 'b> = impl PartialEq<Bar<'a, 'b>>;

To get it right, track every time rustdoc descends into a type alias, so if it shows up twice, it can be write the path instead of infinitely expanding it.
2023-04-30 16:25:46 +02:00
Michael Howell b1d08275a9 rustdoc: catch and don't blow up on impl Trait cycles
An odd feature of Rust is that `Foo` is invalid, but `Bar` is okay:

    type Foo<'a, 'b> = Box<dyn PartialEq<Foo<'a, 'b>>>;
    type Bar<'a, 'b> = impl PartialEq<Bar<'a, 'b>>;

To get it right, track every time rustdoc descends into a type alias,
so if it shows up twice, it can be write the path instead of
infinitely expanding it.
2023-04-29 16:53:02 -07:00
Matthias Krüger 4b79276e60 Rollup merge of #110981 - jyn514:rustdoc-tests, r=notriddle
Move most rustdoc-ui tests into subdirectories

This makes it easier to know where to add a new test, and makes the top-level directory less overwhelming.
2023-04-30 01:14:58 +02:00
jyn 5da288f842 move lint tests into subdirectories 2023-04-29 11:36:19 -05:00
jyn 5fa975142f Move some rustdoc-ui tests to subdirectories 2023-04-29 11:36:19 -05:00
Lukas Markeffsky 4f15a772b3 Add rustdoc::unescaped_backtick lint 2023-04-29 13:13:25 +02:00
Matthias Krüger 8ce92daa85 Rollup merge of #110904 - fmease:rustdoc-fix-110900, r=compiler-errors
rustdoc: rebind bound vars to type-outlives predicates

Fixes #110900.
2023-04-28 07:34:03 +02:00
León Orell Valerian Liehr 34d96886d4 rustdoc: rebind bound vars to type-outlives predicates 2023-04-27 18:12:53 +02:00
Matthias Krüger 63fbb05839 Rollup merge of #110816 - clubby789:rustc-passes-diagnostics, r=compiler-errors
Migrate `rustc_passes` to translatable diagnostics

cc #100717
2023-04-27 15:10:54 +02:00
clubby789 6a41cfe095 Migrate rustc_passes to translatable diagnostics 2023-04-26 11:40:21 +01:00
jyn a1d47188a7 Rollup merge of #110329 - aDotInTheVoid:json-inline-again, r=jyn514
Improve tests for #110138

These should live in rustdoc-json, not rustdoc-ui, so we can run assertions, and not just check there's no ICE

CC #100515, as we never document this suite

r? rustdoc
2023-04-26 01:55:51 -05:00
Dylan DPC fbc905e16a Rollup merge of #110501 - notriddle:notriddle/ice-110495, r=petrochenkov
rustdoc: fix ICE from rustc_resolve and librustdoc parse divergence

Fixes #110495
2023-04-21 20:35:28 +05:30
Michael Howell df8a48fc8a rustdoc: fix ICE from rustc_resolve and librustdoc parse divergence 2023-04-18 12:22:13 -07:00
Guillaume Gomez ca882c015d Add a failing rustdoc-ui test for public infinite recursive type 2023-04-18 14:13:44 +02:00
Matthias Krüger d6468916c0 Rollup merge of #110450 - GuillaumeGomez:fix-nested-items-on-private-doc, r=notriddle,jyn514
rustdoc: Fix invalid handling of nested items with `--document-private-items`

Fixes #110422.

The problem is that only impl block and re-exported `macro_rules!` items are "visible" as nested items. This PR adds the missing checks to handle this correctly.

cc `@compiler-errors`
r? `@notriddle`
2023-04-18 06:44:47 +02:00
Guillaume Gomez c456e15855 Add regression tests for #110422 2023-04-17 20:27:34 +02:00
Alona Enraght-Moony e3de409aaa Move test from rustdoc-ui to rustdoc-json 2023-04-14 18:19:49 +00:00
Yuki Okushi 9aa24fd8fb Rollup merge of #103682 - Swatinem:stable-run-directory, r=GuillaumeGomez
Stabilize rustdoc `--test-run-directory`

This should resolve https://github.com/rust-lang/rust/issues/84674
2023-04-14 23:00:33 +09:00
Matthias Krüger 559b2ea531 Rollup merge of #109810 - jyn514:rustdoc-opt-tests, r=TaKO8Ki
Replace rustdoc-ui/{c,z}-help tests with a stable run-make test

This make rustdoc resilient to changes in the debugging options while still testing that it matches rustc.

Fixes https://github.com/rust-lang/rust/issues/109391.
2023-04-12 22:04:32 +02:00
Jynn Nelson 67b391968d Replace rustdoc-ui/{c,z}-help tests with a run-make test
This make rustdoc resilient to changes in the debugging options while
still testing that it matches rustc.
2023-04-12 05:34:21 -05:00
bohan c127020b0f fix(doc): do not parse inline when output is json for external crate 2023-04-10 23:02:08 +08:00
Rémy Rakic 4e235a7fa9 Bless rustdoc-ui test with new errors order
The order in which the multiple errors for the ambiguous intra doc links
are printed is different.
2023-04-05 15:59:29 +00:00
bors 700938c078 Auto merge of #109808 - jyn514:debuginfo-options, r=michaelwoerister
Extend -Cdebuginfo with new options and named aliases

This is a rebase of https://github.com/rust-lang/rust/pull/83947, along with my best guess at what the new options mean. I tried to follow the LLVM source code to get a better idea but ran into quite a lot of trouble (https://rust-lang.zulipchat.com/#narrow/stream/187780-t-compiler.2Fwg-llvm/topic/go-to-definition.20in.20src.2Fllvm-project.3F). The description for the original PR follows below.

Note that the changes in this PR have already been through FCP: https://github.com/rust-lang/rust/pull/83947#issuecomment-878384979

Closes https://github.com/rust-lang/rust/pull/109311. Helps with https://github.com/rust-lang/rust/pull/104968.
r? `@michaelwoerister` cc `@cuviper`

---

The -Cdebuginfo=1 option was never line tables only and can't be due to backwards compatibility issues. This was clarified and an option for emitting line tables only was added. Additionally an option for emitting line info directives only was added, which is needed for some targets, i.e. nvptx. The debug info options should now behave similarly to clang's debug info options.

Fix https://github.com/rust-lang/rust/issues/60020
Fix https://github.com/rust-lang/rust/issues/64405
2023-04-04 20:01:05 +00:00
Guillaume Gomez 6c93c63771 Rollup merge of #109443 - GuillaumeGomez:doc-primitive-hard-error, r=notriddle
Move `doc(primitive)` future incompat warning to `invalid_doc_attributes`

Fixes #88070.

It's been a while since this was turned into a "future incompatible lint" so I think we can now turn it into a hard error without problem.

r? `@jyn514`
2023-03-31 22:32:49 +02:00
Guillaume Gomez 8fe5b56b66 Rollup merge of #109104 - GuillaumeGomez:fix-invalid-suggestion-ambiguous-intra-doc2, r=oli-obk,notriddle
rustdoc: Fix invalid suggestions on ambiguous intra doc links v2

Fixes https://github.com/rust-lang/rust/issues/108653.

This is another approach to fixing the same issue. This time, we keep the computed information around instead of re-computing it.

Strangely enough, the order for ambiguities seem to have been changed. Not an issue but it creates a lot of diff...

So which version do you prefer?

r? `@notriddle`
2023-03-31 22:32:48 +02:00
Arpad Borsos 2e924bbef3 Stabilize rustdoc --test-run-directory 2023-03-31 14:01:53 +02:00
Julia Tatz 0504a33383 Preserve, clarify, and extend debug information
`-Cdebuginfo=1` was never line tables only and
can't be due to backwards compatibility issues.
This was clarified and an option for line tables only
was added. Additionally an option for line info
directives only was added, which is well needed for
some targets. The debug info options should now
behave the same as clang's debug info options.
2023-03-31 07:28:39 -04:00
Guillaume Gomez 3ef8d2d607 Update tests for rustc_doc_primitive 2023-03-30 22:56:52 +02:00
Patrik Kårlin 1f9e2d0538 rustdoc: tidy excess whitespace 2023-03-30 15:46:34 +02:00