Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrong reference to ::classname (Origin: bugzilla #365053) #2285

Closed
doxygen opened this issue Jul 1, 2018 · 7 comments
Closed

Wrong reference to ::classname (Origin: bugzilla #365053) #2285

doxygen opened this issue Jul 1, 2018 · 7 comments

Comments

@doxygen
Copy link
Owner

doxygen commented Jul 1, 2018

status NEW severity normal in component general for ---
Reported in version 1.5.0 on platform Other
Assigned to: Dimitri van Heesch

On 2006-10-25 17:27:42 +0000, Wolfgang Bangerth wrote:

Please describe the problem:
I thought this may have been fixed by PR 355922, but it wasn't. In any
case, here's an input file:
-------------------
/** Text 1 */
class A
{};

namespace N
{
  /** Text 2 */
  class A
  {
      A (::A &);
  };
}
----------------
Note how N::A::A takes a reference to ::A as argument. However, in the
generated documentation, doxygen ignores the global scope :: operator
and looks up A in the present scope, leading to a link to N::A when one
clicks on the argument's type.

Steps to reproduce:
Run above sample code through doxygen. Observe the output. 


Actual results:
We get a reference to N::A

Expected results:
I want a reference to ::A

Does this happen every time?
Yup

Other information:
No, but great program. Generates many 1000 pages of documentation for us
every night :-)

On 2007-08-29 07:57:18 +0000, Marcus Lindblom wrote:

I have an issue related to this, I think:

class Foo
{
   typedef ::Bar MyBar;
}

This shows up in doxygen as a public attribute:

typedef::Bar MyBar;

where the entire 'typedef::Bar' is a href-link to Bar. We don't have any
clashes, but the output is a bit odd.
@bangerth
Copy link

I thought I'd give this another try, a few years later: This is not yet fixed.

@albert-github
Copy link
Collaborator

I can reproduce both problems with the current 1.9.2 version and the master version (1.9.3 (644607d)) of doxygen.

@bangerth it would, normally, be nice when you mention the doxygen version you used to test it and which of the 2 problems you still see (from the user name it is clear to me that you refer to the first problem).

Unfortunately it looks like the problems are not related, for the second problem I've just pushed a proposed patch, pull request #8968

@albert-github
Copy link
Collaborator

For the global prefix problem I've just pushed a proposed patch, pull request #8969

Note: there might be other places as well where there are problems, please supply us with examples for those cases.

@bangerth
Copy link

@albert-github Ah yes, I should have been clearer. I tried with this code:

/** Text 1 */
class A
{};

namespace N
{
  /** Text 2 */
  class A
  {
      A (::A &);
  };
}

The link in the documentation of N::A::A links to N::A, not ::A.

@albert-github
Copy link
Collaborator

Code regarding the typedef pull request, #8968, has been integrated in master on GitHub.

@albert-github albert-github added the fixed but not released Bug is fixed in github, but still needs to make its way to an official release label Dec 18, 2021
@albert-github
Copy link
Collaborator

Code, of #8969 including change for :?:? to (::)?m has been integrated in master on GitHub (please don't close the issue as this will be done at the moment of an official release).

@doxygen
Copy link
Owner Author

doxygen commented Dec 31, 2021

This issue was previously marked 'fixed but not released',
which means it should be fixed in doxygen version 1.9.3.
Please verify if this is indeed the case. Reopen the
issue if you think it is not fixed and please include any additional information
that you think can be relevant (preferably in the form of a self-contained example).

@doxygen doxygen removed the fixed but not released Bug is fixed in github, but still needs to make its way to an official release label Dec 31, 2021
@doxygen doxygen closed this as completed Dec 31, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants