Skip to content

Bad namespace handling with 'using namespace::member' syntax #10952

@canhotuctor

Description

@canhotuctor

Describe the bug
Doxygen badly handling using namespace::member;

Screenshots
image

Related Code

Defs.h

#include "RoleList.h"

namespace utils {

using decision_making::RoleList;
// using namespace decision_making; // this one behaves correctly
// to explicit RoleList's namespace on the line of use also works

...

typedef struct {
    ...
    RoleList role;
    ...
} RobotTrack;

}

RoleList.h

namespace decision_making {

enum RoleList {
    DUMMY,
    GOALKEEPER,
    DEFENDER,
    STRIKER,
};

}

Condensed configuration files

# Doxyfile 1.11.0

PROJECT_NAME           = "Project Name"
OUTPUT_DIRECTORY       = ./documentation
INLINE_INHERITED_MEMB  = YES
TOC_INCLUDE_HEADINGS   = 5
EXTRACT_ALL            = YES
EXTRACT_PRIVATE        = YES
EXTRACT_PRIV_VIRTUAL   = YES
EXTRACT_PACKAGE        = YES
EXTRACT_STATIC         = YES
EXTRACT_ANON_NSPACES   = YES
CASE_SENSE_NAMES       = NO
SORT_MEMBERS_CTORS_1ST = YES
SORT_GROUP_NAMES       = YES
SORT_BY_SCOPE_NAME     = YES
INPUT                  = ./source/core \
                         ./README.md
FILE_PATTERNS          = *.c \
                         *.cc \
                         *.cxx \
                         *.cpp \
                         *.c++ \
                         *.java \
                         *.ii \
                         *.ixx \
                         *.ipp \
                         *.i++ \
                         *.inl \
                         *.idl \
                         *.ddl \
                         *.odl \
                         *.h \
                         *.hh \
                         *.hxx \
                         *.hpp \
                         *.h++ \
                         *.cs \
                         *.d \
                         *.php \
                         *.php4 \
                         *.php5 \
                         *.phtml \
                         *.inc \
                         *.m \
                         *.markdown \
                         *.md \
                         *.mm \
                         *.dox \
                         *.py \
                         *.pyw \
                         *.f90 \
                         *.f95 \
                         *.f03 \
                         *.f08 \
                         *.f18 \
                         *.f \
                         *.for \
                         *.vhd \
                         *.vhdl \
                         *.ucf \
                         *.qsf \
                         *.ice
RECURSIVE              = YES
USE_MDFILE_AS_MAINPAGE = ./README.md
SOURCE_BROWSER         = YES
HTML_DYNAMIC_SECTIONS  = YES
GENERATE_TREEVIEW      = YES
MATHJAX_RELPATH        = https://cdn.jsdelivr.net/npm/mathjax@2
GENERATE_LATEX         = NO
INCLUDE_PATH           = ../project-lib/source
HAVE_DOT               = YES
CALLER_GRAPH           = YES

Expected behavior
Expected doxygen to do the correct hyperlinking.

Version
Using Doxygen 1.11.0, compiled locally on Ubuntu 22.04.4 LTS

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions