Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-10691

[Cling] Fail to detect type as template if declared by using in a namespace

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Critical
    • None
    • None
    • Cling
    • None
    • master on commit c4e67147f9d8b4d2c0b072fd80659d0a122a0152

    Description

      The following reproducer gives true for CXX17 but false for CXX11 and CXX14. This causes follow up bugs in PyROOT so that eventually we cannot resolve ROOT::RVec, which is a using declaration pulled in from ROOT::VecOps::RVec.

      template <class T> class Foo { T x; };
      namespace Bar {
          using ::Foo;
      }
      void ns_lookup() {
          cout << gInterpreter->CheckClassTemplate("Bar::Foo") << endl;
      }
      

      The mechanic is called by experimental PyROOT/cppyy to detect a template (see Cppyy::IsTemplate). This is a blocker for 6.22.

      Attachments

        Issue Links

          Activity

            People

              axel Axel Naumann
              swunsch Stefan Wunsch (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: