csharplang/meetings/2022/LDM-2022-12-14.md

1.7 KiB

C# Language Design Meeting for December 14th, 2022

Agenda

Quote of the Day

  • "Give everyone the ability to quickly filibuster it"

Discussion

Breaking change for raw string literals

https://github.com/dotnet/roslyn/pull/65973

An email discussion approved this change. No significant concerns were raised in LDM or on email.

Program as internal by default

https://github.com/dotnet/csharplang/issues/6769

Today we revisited the defaults for top-level statements, looking at scenarios that are impacted by our original decision. Some friction has been encountered because of this, particularly in scenarios around testing, and we are generally interested in addressing the scenario in some fashion. There is, however, some debate on the best way to address these scenarios; language changes are big hammers, and we intentionally left knobs in the language (other partial declarations) to address concerns with the default accessibility of the Program type. There are visceral reactions to the statement "Make this API public for testing", as program authors generally want to be intentional with their public surface area. This is true for executables too, as executables can be referenced by other programs. Given this, we will take the proposal back for more design, and perhaps find a solution in tooling for the problem, rather than changing the language here.

Conclusion

Proposal will be revisited after more design work (which may decide on a non-language solution to the problem).