dotnet/roslyn

Quite confusing error message CS0282

开放

#32,305 创建于 2019年1月9日

 (2 条评论) (0 个反应) (0 位负责人)C# (4,257 个派生)batch import
Area-CompilersBugConcept-Diagnostic Clarityhelp wanted

仓库指标

星标
 (20,414 个星标)
PR 合并指标
 (平均合并 6天 17小时) (30 天内合并 256 个 PR)

描述

Version Used: Microsoft (R) Visual C# Compiler version 2.8.2.62916 (2ad4aabc)

Steps to Reproduce:

  1. Compile following code
using System;
using System.Runtime.InteropServices;

partial class Exception2
{
	protected event Action a;
}

[StructLayout (LayoutKind.Sequential)]
partial class Exception2
{
	protected event Action b;
}

Expected Behavior:

A warning which makes sense

Actual Behavior:

warning CS0282: There is no defined ordering between fields in multiple declarations of partial struct 'Exception2'. To specify an ordering, all instance fields must be in the same declaration.

  • there is no struct 'Exception2' (it's a class)
  • referring to events underlying implementation fields is also confusing

贡献者指南