Intellisense detects a false positive on an ambiguous namespace.

 
The following code doesn't cause any compilation errors, and is not detected by intellisense if Resharper is disabled but the Intellisense of Resharper detects an ambiguous symbol 'internal'.
 
SimpleLayer.hpp
```
#pragma once
namespace snn::internal
{
    template <class T>
    class SimpleLayer
    {
    public:
        SimpleLayer();
    };

    #include "SimpleLayer.tpp" // Comment this line remove the intellisense error on SimpleLayer.cpp
}

```

SimpleLayer.cpp
```
#include "SimpleLayer.hpp"
using namespace snn;
using namespace internal; // ambiguous symbol 'internal'
```

Simplelayer.tpp
```
template <class T>
SimpleLayer<T>::SimpleLayer()
{
}
```
In addition to this error, a new weird thing is that if I turn on the option to use the Intellisense of Visual Studio or the Intellisense of Resharper that doesn't change anything, the error disappears only if I turn off completely Resharper.
 
 
3 comments
Comment actions Permalink

Thanks for a short sample! This will be fixed in 2020.3 EAP 2.

0
Comment actions Permalink

Thank you very much, this bug annoys me for a long time :)

0
Comment actions Permalink

Sorry, I missed the second part of the most. The IntelliSense | General options page only controls whether to use completion and parameter info from VS or ReSharper. 

0

Please sign in to leave a comment.