about summary refs log tree commit diff
path: root/src/test/rustdoc
AgeCommit message (Collapse)AuthorLines
2020-08-01Rollup merge of #74992 - lcnr:fix-generic-param-order, r=GuillaumeGomezManish Goregaokar-2/+2
fix rustdoc generic param order fixes #61292 r? @varkor cc @GuillaumeGomez
2020-07-31fix rustdoc generic param orderBastian Kauschke-2/+2
2020-07-30intra_doc_resolution_failures -> broken_intra_doc_linksManish Goregaokar-27/+27
2020-07-30Rename to intra_doc_resolution_failuresManish Goregaokar-27/+27
2020-07-29Rename usage of intra_doc_link_resolution_failureManish Goregaokar-27/+27
2020-07-29handle ConstEquate in rustdocBastian Kauschke-0/+18
2020-07-19Only skip impls of foreign unstable traitsMark Rousskov-0/+37
Previously unstable impls were skipped, which meant that any impl with an unstable method would get skipped.
2020-07-17Add test for module ambiguityManish Goregaokar-0/+18
2020-07-16Update src/test/rustdoc/intra-doc-crate/auxiliary/hidden.rsManish Goregaokar-2/+2
Co-authored-by: Joshua Nelson <joshua@yottadb.com>
2020-07-16Add test for doc(hidden) intra-doc cross-crate reexportsManish Goregaokar-0/+29
2020-07-16Rollup merge of #74351 - lzutao:remove-rustc-internal-compiler-warns, ↵Manish Goregaokar-4/+6
r=Mark-Simulacrum Do not render unstable items for rustc doc See the zulip conversion: https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/rustc.20doc.3A.20.22internal.20compiler.20API.22.20warns.20are.20everywhere!/near/203850782 Before: ![image](https://user-images.githubusercontent.com/15225902/87501971-9cff8780-c68a-11ea-93b4-ea53ce18a77b.png) After: ![image](https://user-images.githubusercontent.com/15225902/87501985-a7218600-c68a-11ea-81c0-a6b5b120832c.png) Nothing changes in unstable items of std: Before: ![image](https://user-images.githubusercontent.com/15225902/87502004-b7d1fc00-c68a-11ea-9224-a27a1d2a81d6.png) After: ![image](https://user-images.githubusercontent.com/15225902/87502018-c0c2cd80-c68a-11ea-9773-4c63158025cb.png) Closes #54682
2020-07-16Fix invalid lintJoshua Nelson-11/+11
intra_doc_resolution_failure is not a lint.
2020-07-16Add (broken and ignored) test for #73829Joshua Nelson-2/+4
2020-07-16Support intra-doc links on trait and module re-exportsJoshua Nelson-0/+46
Trait implementations are treated the same as modules for the purposes of intra-doc links.
2020-07-16Support intra-doc links on macro re-exportsJoshua Nelson-0/+42
This includes both `macro_rules!` and proc-macros.
2020-07-16rand -> my_randJoshua Nelson-4/+4
This fixes a failure in stage2 rustdoc tests.
2020-07-16 #![deny(intra_doc_resolution_failure)]Joshua Nelson-0/+12
2020-07-16Add test for submodules in inner crateJoshua Nelson-3/+20
2020-07-16Add test for documenting the re-exportJoshua Nelson-0/+13
2020-07-16Add test for re-exportsJoshua Nelson-0/+28
I had a hard time getting this to work without the `extern crate`, suggestions are welcome.
2020-07-16Add tests for basic intra-doc linksJoshua Nelson-0/+11
2020-07-16Rollup merge of #74370 - Manishearth:re-spotlight, r=GuillaumeGomezManish Goregaokar-0/+36
Reintroduce spotlight / "important traits" feature (Reopened version of https://github.com/rust-lang/rust/pull/74111 because Github is broken, see discussion there) Fixes https://github.com/rust-lang/rust/issues/73785 This PR reintroduces the "spotlight" ("important traits") feature. A couple changes have been made: As there were concerns about its visibility, it has been moved to be next to the return type, as opposed to being on the side. It also no longer produces a modal, it shows the traits on hover, and it can be clicked on to pin the hover bubble. ![image](https://user-images.githubusercontent.com/1617736/86674555-a82d2600-bfad-11ea-9a4a-a1a9ffd66ae5.png) ![image](https://user-images.githubusercontent.com/1617736/86674533-a1061800-bfad-11ea-9e8a-c62ad86ed0d7.png) It also works fine on mobile: ![image](https://user-images.githubusercontent.com/1617736/86674638-bda25000-bfad-11ea-8d8d-1798b608923e.png)
2020-07-16Revert "Remove "important traits" feature"Manish Goregaokar-0/+36
This reverts commit 1244ced9580b942926afc06815e0691cf3f4a846.
2020-07-15Add test case for #65863Joshua Nelson-0/+15
2020-07-15Don't ICE on errors in function returning impl traitJoshua Nelson-0/+14
Instead, report the error. This emits the errors on-demand, without special-casing `impl Trait`, so it should catch all ICEs of this kind, including ones that haven't been found yet. Since the error is emitted during type-checking there is less info about the error; see comments in the code for details. - Add test case for -> impl Trait - Add test for impl trait with alias - Move EmitIgnoredResolutionErrors to rustdoc This makes `fn typeck_item_bodies` public, which is not desired behavior. That change should be removed once https://github.com/rust-lang/rust/pull/74070 is merged. - Don't visit nested closures twice
2020-07-15Add `rustdoc` tests from #72088Dylan MacKenzie-0/+16
2020-07-15Add an option not to report resolution errors for rustdocJoshua Nelson-3/+1
- Remove unnecessary `should_loop` variable - Report errors for trait implementations These should give resolution errors because they are visible outside the current scope. Without these errors, rustdoc will give ICEs: ``` thread 'rustc' panicked at 'attempted .def_id() on invalid res: Err', /home/joshua/src/rust/src/libstd/macros.rs:16:9 15: rustc_hir::def::Res<Id>::def_id at /home/joshua/src/rust/src/librustc_hir/def.rs:382 16: rustdoc::clean::utils::register_res at src/librustdoc/clean/utils.rs:627 17: rustdoc::clean::utils::resolve_type at src/librustdoc/clean/utils.rs:587 ``` - Add much more extensive tests + fn -> impl -> fn + fn -> impl -> fn -> macro + errors in function parameters + errors in trait bounds + errors in the type implementing the trait + unknown bounds for the type + unknown types in function bodies + errors generated by macros - Use explicit state instead of trying to reconstruct it from random info - Use an enum instead of a boolean - Add example of ignored error
2020-07-15Don't run everybody_loops for rustdocJoshua Nelson-1/+3
Instead, ignore resolution errors that occur in item bodies. The reason this can't ignore item bodies altogether is because `const fn` could be used in generic types, for example `[T; f()]`
2020-07-15Don't render unstable for rustc docsLzu Tao-4/+6
As rustc is permanently unstable. So marking every items with unstable is essential useless.
2020-07-11rustdoc: insert newlines between attributesAndy Russell-2/+2
2020-07-09Rollup merge of #74107 - nbdd0121:rustdoc, r=GuillaumeGomezManish Goregaokar-0/+21
Hide `&mut self` methods from Deref in sidebar if there are no `DerefMut` impl for the type. This partially addresses #74083.
2020-07-09Rollup merge of #74077 - sethp:docs/fix-intra-doc-primitive-link, r=jyn514Manish Goregaokar-0/+71
Use relative path for local links to primitives Else, links to `char::foo` would point into `/path/to/src/libcore/std/primitive.char.html#method.foo`. Split out from #73804.
2020-07-09Add testManish Goregaokar-1/+3
2020-07-08Avoid running test on Windows platformsSeth Pellegrino-0/+1
There don't seem to be any other compiletests that are 1) building a standalone "no_core" create and then 2) trying to link against it. There seems to be a platform-specific limitation in doing so: ``` 2020-07-08T16:07:42.9419409Z = note: Creating library D:\a\rust\rust\build\i686-pc-windows-msvc\test\rustdoc\intra-link-prim-methods-external-core\auxiliary\my_core.dll.lib and object D:\a\rust\rust\build\i686-pc-windows-msvc\test\rustdoc\intra-link-prim-methods-external-core\auxiliary\my_core.dll.exp 2020-07-08T16:07:42.9419810Z LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@12 2020-07-08T16:07:42.9420032Z D:\a\rust\rust\build\i686-pc-windows-msvc\test\rustdoc\intra-link-prim-methods-external-core\auxiliary\my_core.dll : fatal error LNK1120: 1 unresolved externals ``` Possibly this could be resolved by adding a `__DllMainCRTStartup` or `__DllMainCRTStartup@12` symbol in an architecture- and platform-specific way.
2020-07-08Apply #![crate_type = "rlib"] directly to the linkerSeth Pellegrino-0/+3
2020-07-07ignore-tidy-linelength for @has assertionsSeth Pellegrino-0/+5
2020-07-07Assert current behavior for linksSeth Pellegrino-0/+12
For the two of these tests that have a local `char` to link to, this behavior isn't what's expected, but is what's happening presently.
2020-07-06build extern docs as wellSeth Pellegrino-0/+1
2020-07-06Two new rustdoc tests for intra linksSeth Pellegrino-0/+49
They both produce less-than-desirable output (links going to docs.rust-lang.org), but I haven't figured out yet how to assert about them properly.
2020-07-06Rollup merge of #74078 - jyn514:lut, r=ManishearthManish Goregaokar-0/+12
Always resolve type@primitive as a primitive, not a module Previously, if there were a module in scope with the same name as the primitive, that would take precedence. Coupled with https://github.com/rust-lang/rust/issues/58699, this made it impossible to link to the primitive when that module was in scope. This approach could be extended so that `struct@foo` would no longer resolve to any type, etc. However, it could not be used for glob imports: ```rust pub mod foo { pub struct Bar; } pub enum Bar {} use foo::*; // This is expected to link to `inner::Bar`, but instead it will link to the enum. /// Link to [struct@Bar] pub struct MyDocs; ``` The reason for this is that this change does not affect the resolution algorithm of rustc_resolve at all. The only reason we could special-case primitives is because we have a list of all possible primitives ahead of time. Closes https://github.com/rust-lang/rust/issues/74063 r? @Manishearth
2020-07-06Add test for issue 74083Gary Guo-0/+21
2020-07-05Always resolve type@primitive as a primitive, not a moduleJoshua Nelson-0/+12
Previously, if there were a module in scope with the same name as the primitive, that would take precedence. Coupled with https://github.com/rust-lang/rust/issues/58699, this made it impossible to link to the primitive when that module was in scope. This approach could be extended so that `struct@foo` would no longer resolve to any type, etc. However, it could not be used for glob imports: ```rust pub mod foo { pub struct Bar; } pub enum Bar {} use foo::*; // This is expected to link to `inner::Bar`, but instead it will link to the enum. /// Link to [struct@Bar] pub struct MyDocs; ``` The reason for this is that this change does not affect the resolution algorithm of rustc_resolve at all. The only reason we could special-case primitives is because we have a list of all possible primitives ahead of time.
2020-07-02Remove render-redirect-pages option in rustdocGuillaume Gomez-11/+0
2020-07-02Update rustdoc testsGuillaume Gomez-28/+23
2020-06-26Show the values and computation that would overflow a const evaluation or ↵Oliver Scherer-2/+1
propagation
2020-06-19Rollup merge of #73452 - matthewjasper:auto-rec, r=nikomatsakisManish Goregaokar-0/+35
Unify region variables when projecting associated types This is required to avoid cycles when evaluating auto trait predicates. Notably, this is required to be able add Chalk types to `CtxtInterners` for `cfg(parallel_compiler)`. r? @nikomatsakis
2020-06-19Rollup merge of #73044 - tmiasko:compiletest-san, r=nikomatsakisRalf Jung-0/+1
compiletest: Add directives to detect sanitizer support Add needs-sanitizer-{address,leak,memory,thread} directive indicating that test requires target with support for specific sanitizer. This is an addition to the existing needs-sanitizer-support directive indicating that test requires a sanitizer runtime library. The existing needs-sanitizer-support directive could be incorporated into the new ones, but I decided to retain it, since it enables running sanitizer codegen tests even when building of sanitizer runtime libraries is disabled.
2020-06-18Add test for overflow when finding auto-trait impls in RustdocAaron Hill-0/+35
2020-06-18Removed trailing whitespaceJake Degen-1/+1
2020-06-18Added tooltip for should_panic code examples.Jake Degen-0/+5
Previously, compile_fail and ignore code examples displayed a tooltip indicating this in the documentation. This tooltip has now also been added to should_panic examples.