Skip to content

Champion: "Permit surrogate pairs and wide Unicode-escaped code points in identifiers" #1742

@gafter

Description

@gafter
  • Proposal added: (none needed; the C# language specification already supports this)
  • Discussed in LDM
  • Decision in LDM
  • Finalized (done, rejected, inactive)
  • Spec'ed

The C# language specification already requires that we accept Unicode letters (etc) in identifiers. But the Roslyn compiler doesn't support Unicode letters higher than U+10000 (dotnet/roslyn#9731), or those that are represented as a Unicode escape sequence for such a code point (dotnet/roslyn#13560). We could treat it as a bug and fix it, but that fix probably needs to be tied to a language version change to prevent a backward breaking change. This championed issue is to track the fix (as a language change) in some language version.

[jcouv update:] this restriction is documented as a known/expected/explicit decision from roslyn.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions