Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Record C# 8.0 into language history #2666

Merged
merged 5 commits into from
Jul 19, 2019
Merged

Record C# 8.0 into language history #2666

merged 5 commits into from
Jul 19, 2019

Conversation

jcouv
Copy link
Member

@jcouv jcouv commented Jul 17, 2019

No description provided.

@jcouv jcouv self-assigned this Jul 17, 2019
Copy link
Contributor

@YairHalberstadt YairHalberstadt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also:
Switch expressions
Obsolete on property accessors

@ufcpp
Copy link

ufcpp commented Jul 18, 2019

Also #1284 #Resolved

@jcouv
Copy link
Member Author

jcouv commented Jul 18, 2019

FYI @agocke @MadsTorgersen @gafter @cston
I'll merge tomorrow if no feedback #Resolved

@@ -104,3 +104,19 @@ Features Added in C# Language Versions
- [Expression variables in initializers and queries](https://github.com/dotnet/csharplang/blob/master/proposals/csharp-7.3/expression-variables-in-initializers.md): Expression variables like `out var` and pattern variables are allowed in field initializers, constructor initializers and LINQ queries.
- [Tuple comparison](https://github.com/dotnet/csharplang/blob/master/proposals/csharp-7.3/tuple-equality.md): Tuples can now be compared with `==` and `!=`.
- [Attributes on backing fields](https://github.com/dotnet/csharplang/blob/master/proposals/csharp-7.3/auto-prop-field-attrs.md): Allows `[field: …]` attributes on an auto-implemented property to target its backing field.

# C# 8.0 (Visual Studio 2019 version 16.3, .NET Core 3.0)
- [Nullable reference types](https://github.com/dotnet/csharplang/blob/master/proposals/csharp-8.0/nullable-reference-types-specification.md): express nullability intent on reference types with `?`, `notnull` constraint and annotations attributes in APIs, the compiler will use those to try and detect possibly dangerous `null` values being dereferenced or passed to unsuitable APIs.
Copy link
Member

@cston cston Jul 18, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

possibly dangerous [](start = 302, length = 18)

Consider removing. #Pending

@@ -104,3 +104,19 @@ Features Added in C# Language Versions
- [Expression variables in initializers and queries](https://github.com/dotnet/csharplang/blob/master/proposals/csharp-7.3/expression-variables-in-initializers.md): Expression variables like `out var` and pattern variables are allowed in field initializers, constructor initializers and LINQ queries.
- [Tuple comparison](https://github.com/dotnet/csharplang/blob/master/proposals/csharp-7.3/tuple-equality.md): Tuples can now be compared with `==` and `!=`.
- [Attributes on backing fields](https://github.com/dotnet/csharplang/blob/master/proposals/csharp-7.3/auto-prop-field-attrs.md): Allows `[field: …]` attributes on an auto-implemented property to target its backing field.

# C# 8.0 (Visual Studio 2019 version 16.3, .NET Core 3.0)
- [Nullable reference types](https://github.com/dotnet/csharplang/blob/master/proposals/csharp-8.0/nullable-reference-types-specification.md): express nullability intent on reference types with `?`, `notnull` constraint and annotations attributes in APIs, the compiler will use those to try and detect possibly dangerous `null` values being dereferenced or passed to unsuitable APIs.
Copy link
Member

@cston cston Jul 18, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • [](start = 0, length = 1)

Consider adding line breaks within list items. #WontFix

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding line breaks messes up the final rendering


In reply to: 305054988 [](ancestors = 305054988)


# C# 8.0 (Visual Studio 2019 version 16.3, .NET Core 3.0)
- [Nullable reference types](https://github.com/dotnet/csharplang/blob/master/proposals/csharp-8.0/nullable-reference-types-specification.md): express nullability intent on reference types with `?`, `notnull` constraint and annotations attributes in APIs, the compiler will use those to try and detect possibly dangerous `null` values being dereferenced or passed to unsuitable APIs.
- [Default interface members](https://github.com/dotnet/csharplang/blob/master/proposals/csharp-8.0/default-interface-methods.md): interfaces can now have members can with default implementations, as well as static/private/protected/internal members except for state (ie. no fields).
Copy link
Member

@cston cston Jul 18, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can [](start = 163, length = 3)

Typo? #Pending

- [Enhanced using](https://github.com/dotnet/csharplang/blob/master/proposals/csharp-8.0/using.md): a `using` declaration is added with an implicit scope and `using` statements and declarations allow disposal of `ref` structs using a pattern.
- [Ranges and indexes](https://github.com/dotnet/csharplang/blob/master/proposals/csharp-8.0/ranges.md): the `i..j` syntax allows constructing `System.Range` instances, the `^k` syntax allows constructing `System.Index` instances, and those can be used to index/slice collections.
- [Null-coalescing assignment](https://github.com/dotnet/csharplang/issues/34): `??=` allows conditionally assigning when the value is null.
- [Static local function](https://github.com/dotnet/csharplang/issues/1565): local functions modified with `static` cannot capture `this` or local variables, and local function parameters now shadow locals in parent scopes.
Copy link
Member

@cston cston Jul 18, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

function [](start = 16, length = 8)

"functions" (plural) to match the other entries. #Pending

@jcouv jcouv marked this pull request as ready for review July 18, 2019 19:32
@jcouv jcouv merged commit e329800 into master Jul 19, 2019
@jcouv jcouv deleted the dev/jcouv/csharp8 branch July 19, 2019 06:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

5 participants