https://bugs.kde.org/show_bug.cgi?id=359067

            Bug ID: 359067
           Summary: Auto-completion of method definitions does not follow
                    declaration format or symbols, and breaks convention,
                    and may also break compilation on some systems.
           Product: kdevelop
           Version: 4.7.1
          Platform: Ubuntu Packages
                OS: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: NOR
         Component: Language Support: CPP
          Assignee: kdevelop-bugs-n...@kde.org
          Reporter: fredrik.haikarai...@gmail.com

When you auto-complete method definitions in a source-file, the resulting code
does not follow the format or symbol-naming of the declaration.

Example:

    class someClass
    {
        std::string const & getFoo();
    }

using GCC 5.2.1 with -std=c++11 auto-completes to

    const std::__cxx11::string& someClass::getFoo()
    {

    }

Problem 1: Different format. The const keyword is now leftsided, and  the &
operator is "merged" to the return-type instead of being separated by a space.
This breaks convention of the existing codebase.

Problem 2: Different symbols. std::string auto-completes to
std::__cxx11::string, which I believe is compiler/libc++-specific (someone
please confirm), and will not compile on all systems supporting the C++11
standard.

Reproducible: Always

Steps to Reproduce:
1. Declare a function/method in a headerfile
2. Include said headerfile in a sourcefile and press ctrl+space to autocomplete
the declaration to a definition

Actual Results:  
The autocompleted definition is different that the declaration

Expected Results:  
The autocompleted definition follows the exact signature of the declaration,
both in terms of conventions/formatting as well as which symbols are used.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to