为什么以下代码编译没有错误?

Jam*_* Ko 20 c# delegates compiler-errors ref roslyn

我正在搞乱我的C#项目,我很惊讶看到这段代码编译:

var a = new Action<string>(ref b => b = "hello");
Run Code Online (Sandbox Code Playgroud)

反过来翻转,就像Action<string> a = ref b => b = "hello";在'ref'处给出语法错误一样.

果然,将片段复制粘贴到http://dotnetfiddle.net会产生编译错误:

A ref or out argument must be an assignable variable
Run Code Online (Sandbox Code Playgroud)

我在编译器中遇到过错误吗?(我正在使用VS 2015和C#6.)


编辑:刚刚切换到.NET Fiddle上的Roslyn编译器,它仍然会发出相同的错误.

Nea*_*ter 6

这听起来像VS2015中的编译器错误.这是作为https://github.com/dotnet/roslyn/issues/6646提交的