As of #1416, if you are using implicit namespaces and nesting all of your source files deeply in the project, in the same nested directory, e.g. project/src/Microsoft/Quantum/Canon.qs and project/src/Microsoft/Quantum/Diagnostics.qs, you will experience non-intuitive behavior where the namespace detected will only be the final segment of the path (Canon and Diagnostics), not the full path Microsoft.Quantum.___. We should detect this and throw an error or warning.
Adding this to the linter may be difficult as the linter currently only has access to the AST, HIR, and FIR. So, this will likely have to be an error originating from the parser itself.
As of #1416, if you are using implicit namespaces and nesting all of your source files deeply in the project, in the same nested directory, e.g.
project/src/Microsoft/Quantum/Canon.qs
andproject/src/Microsoft/Quantum/Diagnostics.qs
, you will experience non-intuitive behavior where the namespace detected will only be the final segment of the path (Canon
andDiagnostics
), not the full pathMicrosoft.Quantum.___
. We should detect this and throw an error or warning.Adding this to the linter may be difficult as the linter currently only has access to the AST, HIR, and FIR. So, this will likely have to be an error originating from the parser itself.