microsoft / qsharp-compiler

Q# compiler, command line tool, and Q# language server
https://docs.microsoft.com/quantum
MIT License
684 stars 170 forks source link

Support for .NET 6.0.400+ #1534

Closed swernli closed 1 year ago

swernli commented 2 years ago

When we attempted to roll forward to .NET 6.0.400, we ran into crashes in the F# compilation (see https://github.com/microsoft/qsharp-compiler/pull/1524). It appears there is something about the way the Rosyln Wrapper is using F# that causes this:

       (CoreCompile target) -> 
         D:\a\1\s\src\QsCompiler\RoslynWrapper\ExpressionStatement.fs(206,12): error FS0073: internal error: tcrefOfAppTy (Failure) [D:\a\1\s\src\QsCompiler\RoslynWrapper\RoslynWrapper.fsproj]
         D:\a\1\s\src\QsCompiler\RoslynWrapper\ExpressionStatement.fs(204,9): error FS0073: internal error: tcrefOfAppTy (Failure) [D:\a\1\s\src\QsCompiler\RoslynWrapper\RoslynWrapper.fsproj]
         D:\a\1\s\src\QsCompiler\RoslynWrapper\ExpressionStatement.fs(204,9): error FS0073: internal error: tcrefOfAppTy (Failure) [D:\a\1\s\src\QsCompiler\RoslynWrapper\RoslynWrapper.fsproj]
         D:\a\1\s\src\QsCompiler\RoslynWrapper\ExpressionStatement.fs(203,5): error FS0073: internal error: tcrefOfAppTy (Failure) [D:\a\1\s\src\QsCompiler\RoslynWrapper\RoslynWrapper.fsproj]
         D:\a\1\s\src\QsCompiler\RoslynWrapper\ExpressionStatement.fs(6,1): error FS0073: internal error: tcrefOfAppTy (Failure) [D:\a\1\s\src\QsCompiler\RoslynWrapper\RoslynWrapper.fsproj]
         D:\a\1\s\src\QsCompiler\RoslynWrapper\ExpressionStatement.fs(1,1): error FS0073: internal error: tcrefOfAppTy (Failure) [D:\a\1\s\src\QsCompiler\RoslynWrapper\RoslynWrapper.fsproj]
         error FS0192 : internal error : tcrefOfAppTy [D:\a\1\s\src\QsCompiler\RoslynWrapper\RoslynWrapper.fsproj]
         error FS0073 : internal error : tcrefOfAppTy (Failure) [D:\a\1\s\src\QsCompiler\RoslynWrapper\RoslynWrapper.fsproj]
         error FS0192 : internal error : tcrefOfAppTy [D:\a\1\s\src\QsCompiler\RoslynWrapper\RoslynWrapper.fsproj]

We have worked around this for now by fixing our build pipelines to .NET 6.0.3xx, but we need to be able to roll forward in the future and should investigate why this is failing and how to properly resolve it.

kuzminrobin commented 1 year ago

Was not reproducible during the following PRs (closing this item in favor of those):