dotnet/roslyn

Conversion of a stackalloc expression

Open

#23,995 创建于 2018年1月2日

在 GitHub 查看
 (7 评论) (1 反应) (0 负责人)C# (20,414 star) (4,257 fork)batch import
Area-CompilersBugConcept-Diagnostic ClarityFeature - Readonly Referenceshelp wanted

描述

Version Used: 2.6.0.62309 (d3f6b8e7)

Steps to Reproduce:

Compile following

using System;

unsafe class X
{
	public static void Main ()
	{
		int* stackSpan = (int*) stackalloc int[100];
	}
}

Expected Behavior:

C# 7.2 allows stackallow casts (don't really know why) but it now reports an odd error message when the casts are used with pre-7.2 only supported pointer types.

Actual Behavior:

error CS8346: Conversion of a stackalloc expression of type 'int' to type 'int*' is not possible

贡献者指南