csharplang icon indicating copy to clipboard operation
csharplang copied to clipboard

Champion: relax ordering constraints around `ref` and `partial` modifiers on type declarations

Open agocke opened this issue 8 years ago • 3 comments

Currently, partial must appear directly before struct, class, or another type declaration keyword. If the type is a ref struct, ref must appear immediately before partial or struct. It seems likely that various other keywords could be used to disambiguate these contextual modifiers and allow us to relax the constraints on where partial and ref can appear in the modifier list.

  • [ ] Proposal added
  • [x] Discussed in LDM
  • [ ] Decision in LDM
  • [ ] Finalized (done, rejected, inactive)
  • [ ] Spec'ed

See https://github.com/dotnet/csharplang/blob/master/meetings/2017/LDM-2017-12-04.md

agocke avatar Sep 28 '17 22:09 agocke

Note: i've looked at https://github.com/dotnet/csharplang/blob/master/meetings/2017/LDM-2017-12-04.md, but i can't find where in it it refers to this issue. Can you link/copy the appropriate section?

Thanks!

CyrusNajmabadi avatar Apr 03 '18 18:04 CyrusNajmabadi

Can restrictions around partial just be relaxed entirely? I'd like it if partial abstract class worked just the same as abstract partial class.

Joe4evr avatar Apr 06 '18 08:04 Joe4evr

See https://github.com/dotnet/csharplang/blob/master/meetings/2017/LDM-2017-12-04.md

So that link does not talk about partial anywhere (as @CyrusNajmabadi noted), so I did a quick search for the paper trail myself:

  • https://github.com/dotnet/csharplang/blob/main/meetings/2017/LDM-2017-09-27.md (which was before this issue)
  • https://github.com/dotnet/csharplang/blob/main/meetings/2018/LDM-2018-04-04.md (where it was approved)
  • https://github.com/dotnet/csharplang/blob/main/meetings/2019/LDM-2019-09-16.md (where it was initially slated for 9.0)
  • https://github.com/dotnet/csharplang/blob/main/meetings/2020/LDM-2020-09-09.md (where it was punted to later)

Joe4evr avatar Apr 29 '22 11:04 Joe4evr