rustdoc: also index raw pointers
Co-authored-by: Noah Lev <camelidcamel@gmail.com>
This commit is contained in:
parent
59d35d6e90
commit
14d8baf365
@ -228,12 +228,13 @@ fn get_index_type_name(clean_type: &clean::Type) -> Option<Symbol> {
|
||||
// We return an empty name because we don't care about the generic name itself.
|
||||
clean::Generic(_) | clean::ImplTrait(_) => Some(kw::Empty),
|
||||
clean::Primitive(ref p) => Some(p.as_sym()),
|
||||
clean::BorrowedRef { ref type_, .. } => get_index_type_name(type_),
|
||||
clean::BorrowedRef { ref type_, .. } | clean::RawPointer(_, ref type_) => {
|
||||
get_index_type_name(type_)
|
||||
}
|
||||
clean::BareFunction(_)
|
||||
| clean::Tuple(_)
|
||||
| clean::Slice(_)
|
||||
| clean::Array(_, _)
|
||||
| clean::RawPointer(_, _)
|
||||
| clean::QPath { .. }
|
||||
| clean::Infer => None,
|
||||
}
|
||||
|
55
src/test/rustdoc-js/raw-pointer.js
Normal file
55
src/test/rustdoc-js/raw-pointer.js
Normal file
@ -0,0 +1,55 @@
|
||||
// ignore-order
|
||||
|
||||
const QUERY = [
|
||||
'Aaaaaaa -> i32',
|
||||
'Aaaaaaa -> Aaaaaaa',
|
||||
'Aaaaaaa -> usize',
|
||||
'-> Aaaaaaa',
|
||||
'Aaaaaaa',
|
||||
];
|
||||
|
||||
const EXPECTED = [
|
||||
{
|
||||
// Aaaaaaa -> i32
|
||||
'others': [
|
||||
{ 'path': 'raw_pointer::Ccccccc', 'name': 'eeeeeee' },
|
||||
],
|
||||
},
|
||||
{
|
||||
// Aaaaaaa -> Aaaaaaa
|
||||
'others': [
|
||||
{ 'path': 'raw_pointer::Ccccccc', 'name': 'fffffff' },
|
||||
{ 'path': 'raw_pointer::Ccccccc', 'name': 'ggggggg' },
|
||||
],
|
||||
},
|
||||
{
|
||||
// Aaaaaaa -> usize
|
||||
'others': [],
|
||||
},
|
||||
{
|
||||
// -> Aaaaaaa
|
||||
'others': [
|
||||
{ 'path': 'raw_pointer::Ccccccc', 'name': 'fffffff' },
|
||||
{ 'path': 'raw_pointer::Ccccccc', 'name': 'ggggggg' },
|
||||
{ 'path': 'raw_pointer::Ccccccc', 'name': 'ddddddd' },
|
||||
{ 'path': 'raw_pointer', 'name': 'bbbbbbb' },
|
||||
],
|
||||
},
|
||||
{
|
||||
// Aaaaaaa
|
||||
'others': [
|
||||
{ 'path': 'raw_pointer', 'name': 'Aaaaaaa' },
|
||||
],
|
||||
'in_args': [
|
||||
{ 'path': 'raw_pointer::Ccccccc', 'name': 'fffffff' },
|
||||
{ 'path': 'raw_pointer::Ccccccc', 'name': 'ggggggg' },
|
||||
{ 'path': 'raw_pointer::Ccccccc', 'name': 'eeeeeee' },
|
||||
],
|
||||
'returned': [
|
||||
{ 'path': 'raw_pointer::Ccccccc', 'name': 'fffffff' },
|
||||
{ 'path': 'raw_pointer::Ccccccc', 'name': 'ggggggg' },
|
||||
{ 'path': 'raw_pointer::Ccccccc', 'name': 'ddddddd' },
|
||||
{ 'path': 'raw_pointer', 'name': 'bbbbbbb' },
|
||||
],
|
||||
},
|
||||
];
|
24
src/test/rustdoc-js/raw-pointer.rs
Normal file
24
src/test/rustdoc-js/raw-pointer.rs
Normal file
@ -0,0 +1,24 @@
|
||||
use std::ptr;
|
||||
|
||||
pub struct Aaaaaaa {}
|
||||
|
||||
pub fn bbbbbbb() -> *const Aaaaaaa {
|
||||
ptr::null()
|
||||
}
|
||||
|
||||
pub struct Ccccccc {}
|
||||
|
||||
impl Ccccccc {
|
||||
pub fn ddddddd(&self) -> *const Aaaaaaa {
|
||||
ptr::null()
|
||||
}
|
||||
pub fn eeeeeee(&self, _x: *const Aaaaaaa) -> i32 {
|
||||
0
|
||||
}
|
||||
pub fn fffffff(&self, x: *const Aaaaaaa) -> *const Aaaaaaa {
|
||||
x
|
||||
}
|
||||
pub fn ggggggg(&self, x: *mut Aaaaaaa) -> *mut Aaaaaaa {
|
||||
x
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user