While using KDevelop, I reached some code where the Semantic Analyser get crazy: it mostly consider the full header as semantically wrong with ugly red highlighting everywhere.
I simplified to the maximum the code and this is the result:
In case, for testing MyClass.hpp:
#pragma once
#include <memory>
#include <variant>
template <typename Real, typename Index>
using Io = std::variant<Real, Index>;
template <typename Real, typename Index>
struct MyClass
{
std::shared_ptr<Io<Real, Index>> ioPtr;
};
I can build this code (just add a main function in another file), and thus consider this as valid code.
KDevelop version is the current Debian one: 5.3.1 (not the latest version unfortunately)
Question:
Why is this happening? Is there something that I can do to avoid this? (without changing the code)