rustdoc-search: show impl Trait
inline when unhighlighted
While normal generics can be skipped in this case, no-names need something to show here. Before: `TyCtxt, , Symbol -> bool` After: `TyCtxt, Into<DefId>, Symbol -> bool`
This commit is contained in:
parent
4847d6a9d0
commit
f068d8b809
3 changed files with 42 additions and 1 deletions
|
@ -2592,7 +2592,12 @@ class DocSearch {
|
||||||
const writeFn = (fnType, result) => {
|
const writeFn = (fnType, result) => {
|
||||||
if (fnType.id < 0) {
|
if (fnType.id < 0) {
|
||||||
if (fnParamNames[-1 - fnType.id] === "") {
|
if (fnParamNames[-1 - fnType.id] === "") {
|
||||||
for (const nested of fnType.generics) {
|
// Normally, there's no need to shown an unhighlighted
|
||||||
|
// where clause, but if it's impl Trait, then we do.
|
||||||
|
const generics = fnType.generics.length > 0 ?
|
||||||
|
fnType.generics :
|
||||||
|
obj.type.where_clause[-1 - fnType.id];
|
||||||
|
for (const nested of generics) {
|
||||||
writeFn(nested, result);
|
writeFn(nested, result);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
|
25
tests/rustdoc-js/impl-trait-inlining.js
Normal file
25
tests/rustdoc-js/impl-trait-inlining.js
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
// exact-check
|
||||||
|
// ignore-order
|
||||||
|
|
||||||
|
const EXPECTED = [
|
||||||
|
{
|
||||||
|
'query': 'tyctxt, symbol -> bool',
|
||||||
|
'others': [
|
||||||
|
{
|
||||||
|
'path': 'foo::TyCtxt',
|
||||||
|
'name': 'has_attr',
|
||||||
|
'displayType': "`TyCtxt`, Into<DefId>, `Symbol` -> `bool`",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'query': 'tyctxt, into<defid>, symbol -> bool',
|
||||||
|
'others': [
|
||||||
|
{
|
||||||
|
'path': 'foo::TyCtxt',
|
||||||
|
'name': 'has_attr',
|
||||||
|
'displayType': "`TyCtxt`, `Into`<`DefId`>, `Symbol` -> `bool`",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
];
|
11
tests/rustdoc-js/impl-trait-inlining.rs
Normal file
11
tests/rustdoc-js/impl-trait-inlining.rs
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#![crate_name="foo"]
|
||||||
|
|
||||||
|
pub struct TyCtxt;
|
||||||
|
pub struct DefId;
|
||||||
|
pub struct Symbol;
|
||||||
|
|
||||||
|
impl TyCtxt {
|
||||||
|
pub fn has_attr(self, _did: impl Into<DefId>, _attr: Symbol) -> bool {
|
||||||
|
unimplemented!();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue