Hi,

I wondered why I always got the error message "Could not find suitable implementation." when invoking semantic-analyze-proto-impl-toggle on a C++ method declaration.
After searching around for a while I observered that Semantic seems not be able to apply a 'using namespace' declaration correctly on method implementations.
Instead of putting them into the namespace defined by a preceding using declaration, Semantic stores these at global scope, causing semantic-analyze-proto-impl-toggle to be unable to find the implementation for a method declaration.

The problem vanishes only if the method implementations are put explicitly into the right namespace hierarchy.

Sample Code:

+ analysertest.hpp
namespace A
{
  namespace B
  {
    class Test
    {
      void bla();
    };
  };
};

+ analyzertest.cpp
#include "analyzertest.cpp"

using namespace A::B;

/* -- with these comments Semantic is not able to find the implementation for Test::bla when invoking  semantic-analyze-proto-impl-toggle on its declaration,
 *     without the comments it does
namespace A
{
  namespace B
  {
*/

void Test::bla()
{
}

/*
  };
};
*/

Project.ede
; Object AnalyzerTest
;; EDE Project Files are auto generated: Do Not Edit
(ede-proj-project "AnalyzerTest"
  :file "Project.ede"
  :name "AnalyzerTest"
  :targets (list
   (ede-proj-target-makefile-miscelaneous "Sources"
    :name "Sources"
    :path ""
    :source '("analyzertest.cpp")
    )
   (ede-proj-target-makefile-miscelaneous "Headers"
    :name "Headers"
    :path ""
    :source '("analyzertest.hpp")
    )
   )
  )

I'm using Emacs GNU Emacs 23.3.1 (x86_64-pc-linux-gnu, GTK+ Version 2.24.8) with CEDET from bazaar (Revision 8225).

Greetings,
Hendrik