Revert "rustdoc search: prefer stable items in search results"
This reverts commit 1140e90074.
This commit is contained in:
@@ -602,7 +602,6 @@ fn add_item_to_search_index(tcx: TyCtxt<'_>, cache: &mut Cache, item: &clean::It
|
||||
search_type,
|
||||
aliases,
|
||||
deprecation,
|
||||
stability: item.stability(tcx),
|
||||
};
|
||||
cache.search_index.push(index_item);
|
||||
}
|
||||
|
||||
@@ -139,12 +139,6 @@ pub(crate) struct IndexItem {
|
||||
pub(crate) search_type: Option<IndexItemFunctionType>,
|
||||
pub(crate) aliases: Box<[Symbol]>,
|
||||
pub(crate) deprecation: Option<Deprecation>,
|
||||
pub(crate) stability: Option<Stability>,
|
||||
}
|
||||
impl IndexItem {
|
||||
fn is_unstable(&self) -> bool {
|
||||
matches!(&self.stability, Some(Stability { level: StabilityLevel::Unstable { .. }, .. }))
|
||||
}
|
||||
}
|
||||
|
||||
/// A type used for the search index.
|
||||
|
||||
@@ -93,7 +93,6 @@ pub(crate) fn build_index(
|
||||
),
|
||||
aliases: item.attrs.get_doc_aliases(),
|
||||
deprecation: item.deprecation(tcx),
|
||||
stability: item.stability(tcx),
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -656,7 +655,6 @@ pub(crate) fn build_index(
|
||||
let mut parents_backref_queue = VecDeque::new();
|
||||
let mut functions = String::with_capacity(self.items.len());
|
||||
let mut deprecated = Vec::with_capacity(self.items.len());
|
||||
let mut unstable = Vec::with_capacity(self.items.len());
|
||||
|
||||
let mut type_backref_queue = VecDeque::new();
|
||||
|
||||
@@ -713,9 +711,6 @@ pub(crate) fn build_index(
|
||||
// bitmasks always use 1-indexing for items, with 0 as the crate itself
|
||||
deprecated.push(u32::try_from(index + 1).unwrap());
|
||||
}
|
||||
if item.is_unstable() {
|
||||
unstable.push(u32::try_from(index + 1).unwrap());
|
||||
}
|
||||
}
|
||||
|
||||
for (index, path) in &revert_extra_paths {
|
||||
@@ -754,7 +749,6 @@ pub(crate) fn build_index(
|
||||
crate_data.serialize_field("r", &re_exports)?;
|
||||
crate_data.serialize_field("b", &self.associated_item_disambiguators)?;
|
||||
crate_data.serialize_field("c", &bitmap_to_string(&deprecated))?;
|
||||
crate_data.serialize_field("u", &bitmap_to_string(&unstable))?;
|
||||
crate_data.serialize_field("e", &bitmap_to_string(&self.empty_desc))?;
|
||||
crate_data.serialize_field("P", ¶m_names)?;
|
||||
if has_aliases {
|
||||
|
||||
5
src/librustdoc/html/static/js/rustdoc.d.ts
vendored
5
src/librustdoc/html/static/js/rustdoc.d.ts
vendored
@@ -129,7 +129,7 @@ declare namespace rustdoc {
|
||||
|
||||
/**
|
||||
* A single parsed "atom" in a search query. For example,
|
||||
*
|
||||
*
|
||||
* std::fmt::Formatter, Write -> Result<()>
|
||||
* ┏━━━━━━━━━━━━━━━━━━ ┌──── ┏━━━━━┅┅┅┅┄┄┄┄┄┄┄┄┄┄┄┄┄┄┐
|
||||
* ┃ │ ┗ QueryElement { ┊
|
||||
@@ -449,8 +449,6 @@ declare namespace rustdoc {
|
||||
* of `p`) but is used for modules items like free functions.
|
||||
*
|
||||
* `c` is an array of item indices that are deprecated.
|
||||
*
|
||||
* `u` is an array of item indices that are unstable.
|
||||
*/
|
||||
type RawSearchIndexCrate = {
|
||||
doc: string,
|
||||
@@ -465,7 +463,6 @@ declare namespace rustdoc {
|
||||
p: Array<[number, string] | [number, string, number] | [number, string, number, number] | [number, string, number, number, string]>,
|
||||
b: Array<[number, String]>,
|
||||
c: string,
|
||||
u: string,
|
||||
r: Array<[number, number]>,
|
||||
P: Array<[number, string]>,
|
||||
};
|
||||
|
||||
@@ -1464,11 +1464,6 @@ class DocSearch {
|
||||
* @type {Map<String, RoaringBitmap>}
|
||||
*/
|
||||
this.searchIndexEmptyDesc = new Map();
|
||||
/**
|
||||
* @type {Map<String, RoaringBitmap>}
|
||||
*/
|
||||
this.searchIndexUnstable = new Map();
|
||||
|
||||
/**
|
||||
* @type {Uint32Array}
|
||||
*/
|
||||
@@ -2057,10 +2052,9 @@ class DocSearch {
|
||||
};
|
||||
const descShardList = [descShard];
|
||||
|
||||
// Deprecated and unstable items and items with no description
|
||||
// Deprecated items and items with no description
|
||||
this.searchIndexDeprecated.set(crate, new RoaringBitmap(crateCorpus.c));
|
||||
this.searchIndexEmptyDesc.set(crate, new RoaringBitmap(crateCorpus.e));
|
||||
this.searchIndexUnstable.set(crate, new RoaringBitmap(crateCorpus.u));
|
||||
let descIndex = 0;
|
||||
|
||||
/**
|
||||
@@ -3332,19 +3326,6 @@ class DocSearch {
|
||||
return a - b;
|
||||
}
|
||||
|
||||
// sort unstable items later
|
||||
a = Number(
|
||||
// @ts-expect-error
|
||||
this.searchIndexUnstable.get(aaa.item.crate).contains(aaa.item.bitIndex),
|
||||
);
|
||||
b = Number(
|
||||
// @ts-expect-error
|
||||
this.searchIndexUnstable.get(bbb.item.crate).contains(bbb.item.bitIndex),
|
||||
);
|
||||
if (a !== b) {
|
||||
return a - b;
|
||||
}
|
||||
|
||||
// sort by crate (current crate comes first)
|
||||
a = Number(aaa.item.crate !== preferredCrate);
|
||||
b = Number(bbb.item.crate !== preferredCrate);
|
||||
|
||||
@@ -3,9 +3,9 @@ const EXPECTED = [
|
||||
{
|
||||
'query': 'generic:T -> generic:U',
|
||||
'others': [
|
||||
{ 'path': 'core::mem', 'name': 'transmute' },
|
||||
{ 'path': 'core::intrinsics::simd', 'name': 'simd_as' },
|
||||
{ 'path': 'core::intrinsics::simd', 'name': 'simd_cast' },
|
||||
{ 'path': 'core::mem', 'name': 'transmute' },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -6,9 +6,9 @@ const EXPECTED = [
|
||||
// should-fail tag and the search query below:
|
||||
'query': 'generic:T -> generic:T',
|
||||
'others': [
|
||||
{ 'path': 'std::mem', 'name': 'transmute' },
|
||||
{ 'path': 'std::intrinsics::simd', 'name': 'simd_as' },
|
||||
{ 'path': 'std::intrinsics::simd', 'name': 'simd_cast' },
|
||||
{ 'path': 'std::mem', 'name': 'transmute' },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -5,9 +5,9 @@ const EXPECTED = [
|
||||
// should-fail tag and the search query below:
|
||||
'query': 'generic:T -> generic:U',
|
||||
'others': [
|
||||
{ 'path': 'std::mem', 'name': 'transmute' },
|
||||
{ 'path': 'std::intrinsics::simd', 'name': 'simd_as' },
|
||||
{ 'path': 'std::intrinsics::simd', 'name': 'simd_cast' },
|
||||
{ 'path': 'std::mem', 'name': 'transmute' },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
const EXPECTED = [
|
||||
{
|
||||
'query': 'foo',
|
||||
'others': [
|
||||
{"path": "sort_stability::old", "name": "foo"},
|
||||
{"path": "sort_stability::new", "name": "foo"},
|
||||
],
|
||||
},
|
||||
];
|
||||
@@ -1,16 +0,0 @@
|
||||
#![feature(staged_api)]
|
||||
#![stable(feature = "foo_lib", since = "1.0.0")]
|
||||
|
||||
#[stable(feature = "old_foo", since = "1.0.1")]
|
||||
pub mod old {
|
||||
/// Old, stable foo
|
||||
#[stable(feature = "old_foo", since = "1.0.1")]
|
||||
pub fn foo() {}
|
||||
}
|
||||
|
||||
#[unstable(feature = "new_foo", issue = "none")]
|
||||
pub mod new {
|
||||
/// New, unstable foo
|
||||
#[unstable(feature = "new_foo", issue = "none")]
|
||||
pub fn foo() {}
|
||||
}
|
||||
Reference in New Issue
Block a user