diff options
| author | binarycat <binarycat@envs.net> | 2025-01-09 14:16:05 -0600 |
|---|---|---|
| committer | binarycat <binarycat@envs.net> | 2025-01-13 12:22:34 -0600 |
| commit | ebd5ce1828dd2dfdef35786e1374c7ca30f1b0c9 (patch) | |
| tree | 6c39517426a4d97ffc236a28a2400d7226016596 /tests/rustdoc-js-std | |
| parent | 251206c27b619ccf3a08e2ac4c525dc343f08492 (diff) | |
| download | rust-ebd5ce1828dd2dfdef35786e1374c7ca30f1b0c9.tar.gz rust-ebd5ce1828dd2dfdef35786e1374c7ca30f1b0c9.zip | |
for purely return-type based searches, deprioritize clone-like functions
A clone-like function in a function that takes as an argument the type that it returns. However, functions that return a type variable are not counted as clone-line. Because we're not unifying the whole function at once, a function like `U -> T` would otherwise be counted as "clone-like" because the generics will just unify with anything when done seperatly. Co-authored-by: Michael Howell <michael@notriddle.com>
Diffstat (limited to 'tests/rustdoc-js-std')
| -rw-r--r-- | tests/rustdoc-js-std/return-based-sort.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/rustdoc-js-std/return-based-sort.js b/tests/rustdoc-js-std/return-based-sort.js new file mode 100644 index 00000000000..30baf1cd36e --- /dev/null +++ b/tests/rustdoc-js-std/return-based-sort.js @@ -0,0 +1,30 @@ +// test that `clone`-like functions are sorted lower when +// a search is based soley on return type + +const FILTER_CRATE = "core"; + +const EXPECTED = [ + { + 'query': '-> AllocError', + 'others': [ + { 'path': 'core::alloc::Allocator', 'name': 'allocate' }, + { 'path': 'core::alloc::AllocError', 'name': 'clone' }, + ], + }, + { + 'query': 'AllocError', + 'returned': [ + { 'path': 'core::alloc::Allocator', 'name': 'allocate' }, + { 'path': 'core::alloc::AllocError', 'name': 'clone' }, + ], + }, + { + 'query': '-> &str', + 'others': [ + // type_name_of_val should not be consider clone-like + { 'path': 'core::any', 'name': 'type_name_of_val' }, + // this returns `Option<&str>`, and thus should be sorted lower + { 'path': 'core::str::Split', 'name': 'next' }, + ], + }, +] |
