rust-lang / rust-lang/rust-analyzer

Re-exported doc(hidden) macro is not suggested by auto-complete.

Open
#20,678 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-bug
Dominant language
Rust
Stars
16.9k
Forks
2.2k
Avg merge
1d 12h
Merged PRs (30d)
72

Description

rust-analyzer version: rust-analyzer version: 0.3.2593-standalone (6b2e677795 2025-08-25)

rustc version: rustc 1.89.0 (29483883e 2025-08-04)

editor or extension: VSCode - extension version v0.3.2593

relevant settings: None?

repository link (if public, optional): https://github.com/google/googletest-rust

code snippet to reproduce:

use googletest::matchers::*;

#[googletest::test]
fn my_test() {
  expect_that!(vec![1, 2, 3], unordered_el);
}

Attempting to auto-complete unordered_el (for unordered_elements_are!) does not suggest unordered_elements_are! no matter how far along.

unordered_elements_are! is a macro defined as __unordered_elements_are! with #[macro_export] and #[doc(hidden)]. It is then re-exported from mod googletest::matchers with #[doc(inline)] where it is also renamed to unordered_elements_are!.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the completion failure in the provided googletest-rust snippet with rust-analyzer. Trace autocomplete handling for the re-exported, renamed macro unordered_elements_are!, defined as __unordered_elements_are! with #[macro_export] and #[doc(hidden)]. Done means completion suggests the public re-export when typing unordered_el.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.