{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/docs/pulls/comments/189420661","pull_request_review_id":121599385,"id":189420661,"diff_hunk":"@@ -0,0 +1,184 @@\n+---\n+title: What's new in C# 7.3\n+description: An overview of new features in C# 7.3\n+ms.date: 05/16/2018\n+---\n+# What's new in C# 7.3\n+\n+There are two main themes to the C# 7.3 release. One theme provides features that enable safe code to be as performant as unsafe code. The second theme provides incremental improvements to existing features. In addition, new compiler options were added in this release.\n+\n+The following new features support the theme of better performance for safe code:\n+\n+- You can access fixed fields without pinning.\n+- You can reassign `ref` local variables.\n+- You can use initializers on `stackalloc` arrays.\n+- You can use `fixed` statements with any type that supports a pattern.\n+- You can use additional generic constraints.\n+\n+The following enhancements were made to existing features:\n+\n+- You can test `==` and `!=` with tuple types.\n+- You can use expression variables in more locations.\n+- You may attach attributes to the backing field of auto-implemented properties.\n+- Method resolution when arguments differ by `in` has been improved.\n+- Overload resolution now has fewer ambiguous cases.\n+\n+The new compiler options are:\n+\n+- `-publicsign` to enable OSS signing of assemblies.\n+- `-pathmap` to provide a mapping for source directories.\n+\n+The remainder of this article provides details and links to learn more about each of the improvements.\n+\n+## Enabling more performant safe code\n+\n+You should be able to write C# code safely that performs as well as unsafe code. Safe code avoids classes of errors, such as buffer overruns, stray pointers, and other memory access errors. These new features expand the capabilities of verifiable safe code. Strive to write more of your code using safe constructs. These features make that easier.\n+\n+### Indexing `fixed` fields does not require pinning\n+\n+Consider this struct:\n+\n+```csharp\n+unsafe struct S\n+{\n+    public fixed int myFixedField[10];\n+}\n+```\n+\n+In earlier versions of C#, you needed to pin a variable to access one of the integers that are part of `myFixedField`. Now, the following code compiles:\n+\n+```csharp\n+var s = new S();\n+int p = s.myFixedField[5];\n+```\n+\n+The variable `p` doesn't need to be pinned. Note that you still need an `unsafe` context.\n+\n+You can learn more in the article on the [`fixed` statement](../language-reference/keywords/fixed-statement.md).\n+\n+### `ref` local variables may be reassigned\n+\n+Now, `ref` locals may be reassigned to refer to different storage after being initialized. The following code now compiles:","path":"docs/csharp/whats-new/csharp-7-3.md","position":61,"original_position":61,"commit_id":"d548025a10554f87f2ae81919c8d89c72690facb","original_commit_id":"d548025a10554f87f2ae81919c8d89c72690facb","user":{"login":"mairaw","id":12971179,"avatar_url":"https://avatars2.githubusercontent.com/u/12971179?v=4","gravatar_id":"","url":"https://api.github.com/users/mairaw","html_url":"https://github.com/mairaw","followers_url":"https://api.github.com/users/mairaw/followers","following_url":"https://api.github.com/users/mairaw/following{/other_user}","gists_url":"https://api.github.com/users/mairaw/gists{/gist_id}","starred_url":"https://api.github.com/users/mairaw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mairaw/subscriptions","organizations_url":"https://api.github.com/users/mairaw/orgs","repos_url":"https://api.github.com/users/mairaw/repos","events_url":"https://api.github.com/users/mairaw/events{/privacy}","received_events_url":"https://api.github.com/users/mairaw/received_events","type":"User","site_admin":false},"body":"to different storage -> to a different storage?","created_at":"2018-05-19T01:20:13Z","updated_at":"2018-05-19T01:30:04Z","html_url":"https://github.com/dotnet/docs/pull/5448#discussion_r189420661","pull_request_url":"https://api.github.com/repos/dotnet/docs/pulls/5448","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/dotnet/docs/pulls/comments/189420661"},"html":{"href":"https://github.com/dotnet/docs/pull/5448#discussion_r189420661"},"pull_request":{"href":"https://api.github.com/repos/dotnet/docs/pulls/5448"}}},"pull_request":{"url":"https://api.github.com/repos/dotnet/docs/pulls/5448","id":188827801,"html_url":"https://github.com/dotnet/docs/pull/5448","diff_url":"https://github.com/dotnet/docs/pull/5448.diff","patch_url":"https://github.com/dotnet/docs/pull/5448.patch","issue_url":"https://api.github.com/repos/dotnet/docs/issues/5448","number":5448,"state":"open","locked":false,"title":"create \"what's new in C# 7.3\"","user":{"login":"BillWagner","id":493969,"avatar_url":"https://avatars2.githubusercontent.com/u/493969?v=4","gravatar_id":"","url":"https://api.github.com/users/BillWagner","html_url":"https://github.com/BillWagner","followers_url":"https://api.github.com/users/BillWagner/followers","following_url":"https://api.github.com/users/BillWagner/following{/other_user}","gists_url":"https://api.github.com/users/BillWagner/gists{/gist_id}","starred_url":"https://api.github.com/users/BillWagner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BillWagner/subscriptions","organizations_url":"https://api.github.com/users/BillWagner/orgs","repos_url":"https://api.github.com/users/BillWagner/repos","events_url":"https://api.github.com/users/BillWagner/events{/privacy}","received_events_url":"https://api.github.com/users/BillWagner/received_events","type":"User","site_admin":false},"body":"Fixes #5289\r\n\r\nThis PR adds the overview to \"What's new in C# 7.3\". I updated the wording in the TOC to remove the repeated \"What's new\" phrasing.\r\n\r\n/cc @jcouv @madstorgersen\r\n\r\n/cc @Welchen\r\n\r\nThis PR relies on new files added in PR #5408\r\n\r\n## Summary\r\n\r\nDescribe your changes here.\r\n\r\nFixes #Issue_Number (if available)\r\n","created_at":"2018-05-17T18:46:36Z","updated_at":"2018-05-19T01:30:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":"64cdae43a5776c7b572200bf07e143bc26bf2a87","assignee":null,"assignees":[],"requested_reviewers":[{"login":"rpetrusha","id":10886961,"avatar_url":"https://avatars2.githubusercontent.com/u/10886961?v=4","gravatar_id":"","url":"https://api.github.com/users/rpetrusha","html_url":"https://github.com/rpetrusha","followers_url":"https://api.github.com/users/rpetrusha/followers","following_url":"https://api.github.com/users/rpetrusha/following{/other_user}","gists_url":"https://api.github.com/users/rpetrusha/gists{/gist_id}","starred_url":"https://api.github.com/users/rpetrusha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rpetrusha/subscriptions","organizations_url":"https://api.github.com/users/rpetrusha/orgs","repos_url":"https://api.github.com/users/rpetrusha/repos","events_url":"https://api.github.com/users/rpetrusha/events{/privacy}","received_events_url":"https://api.github.com/users/rpetrusha/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":898253681,"url":"https://api.github.com/repos/dotnet/docs/labels/:construction:%20Hold%20for%20related%20PR","name":":construction: Hold for related PR","color":"FFD700","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/docs/pulls/5448/commits","review_comments_url":"https://api.github.com/repos/dotnet/docs/pulls/5448/comments","review_comment_url":"https://api.github.com/repos/dotnet/docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/docs/issues/5448/comments","statuses_url":"https://api.github.com/repos/dotnet/docs/statuses/d548025a10554f87f2ae81919c8d89c72690facb","head":{"label":"BillWagner:whats-new-in-csharp","ref":"whats-new-in-csharp","sha":"d548025a10554f87f2ae81919c8d89c72690facb","user":{"login":"BillWagner","id":493969,"avatar_url":"https://avatars2.githubusercontent.com/u/493969?v=4","gravatar_id":"","url":"https://api.github.com/users/BillWagner","html_url":"https://github.com/BillWagner","followers_url":"https://api.github.com/users/BillWagner/followers","following_url":"https://api.github.com/users/BillWagner/following{/other_user}","gists_url":"https://api.github.com/users/BillWagner/gists{/gist_id}","starred_url":"https://api.github.com/users/BillWagner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BillWagner/subscriptions","organizations_url":"https://api.github.com/users/BillWagner/orgs","repos_url":"https://api.github.com/users/BillWagner/repos","events_url":"https://api.github.com/users/BillWagner/events{/privacy}","received_events_url":"https://api.github.com/users/BillWagner/received_events","type":"User","site_admin":false},"repo":{"id":127573416,"name":"docs","full_name":"BillWagner/docs","owner":{"login":"BillWagner","id":493969,"avatar_url":"https://avatars2.githubusercontent.com/u/493969?v=4","gravatar_id":"","url":"https://api.github.com/users/BillWagner","html_url":"https://github.com/BillWagner","followers_url":"https://api.github.com/users/BillWagner/followers","following_url":"https://api.github.com/users/BillWagner/following{/other_user}","gists_url":"https://api.github.com/users/BillWagner/gists{/gist_id}","starred_url":"https://api.github.com/users/BillWagner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BillWagner/subscriptions","organizations_url":"https://api.github.com/users/BillWagner/orgs","repos_url":"https://api.github.com/users/BillWagner/repos","events_url":"https://api.github.com/users/BillWagner/events{/privacy}","received_events_url":"https://api.github.com/users/BillWagner/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/BillWagner/docs","description":"This repository contains .NET Documentation.","fork":true,"url":"https://api.github.com/repos/BillWagner/docs","forks_url":"https://api.github.com/repos/BillWagner/docs/forks","keys_url":"https://api.github.com/repos/BillWagner/docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/BillWagner/docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/BillWagner/docs/teams","hooks_url":"https://api.github.com/repos/BillWagner/docs/hooks","issue_events_url":"https://api.github.com/repos/BillWagner/docs/issues/events{/number}","events_url":"https://api.github.com/repos/BillWagner/docs/events","assignees_url":"https://api.github.com/repos/BillWagner/docs/assignees{/user}","branches_url":"https://api.github.com/repos/BillWagner/docs/branches{/branch}","tags_url":"https://api.github.com/repos/BillWagner/docs/tags","blobs_url":"https://api.github.com/repos/BillWagner/docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/BillWagner/docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/BillWagner/docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/BillWagner/docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/BillWagner/docs/statuses/{sha}","languages_url":"https://api.github.com/repos/BillWagner/docs/languages","stargazers_url":"https://api.github.com/repos/BillWagner/docs/stargazers","contributors_url":"https://api.github.com/repos/BillWagner/docs/contributors","subscribers_url":"https://api.github.com/repos/BillWagner/docs/subscribers","subscription_url":"https://api.github.com/repos/BillWagner/docs/subscription","commits_url":"https://api.github.com/repos/BillWagner/docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/BillWagner/docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/BillWagner/docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/BillWagner/docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/BillWagner/docs/contents/{+path}","compare_url":"https://api.github.com/repos/BillWagner/docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/BillWagner/docs/merges","archive_url":"https://api.github.com/repos/BillWagner/docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/BillWagner/docs/downloads","issues_url":"https://api.github.com/repos/BillWagner/docs/issues{/number}","pulls_url":"https://api.github.com/repos/BillWagner/docs/pulls{/number}","milestones_url":"https://api.github.com/repos/BillWagner/docs/milestones{/number}","notifications_url":"https://api.github.com/repos/BillWagner/docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/BillWagner/docs/labels{/name}","releases_url":"https://api.github.com/repos/BillWagner/docs/releases{/id}","deployments_url":"https://api.github.com/repos/BillWagner/docs/deployments","created_at":"2018-03-31T21:38:54Z","updated_at":"2018-05-16T19:41:22Z","pushed_at":"2018-05-18T18:19:05Z","git_url":"git://github.com/BillWagner/docs.git","ssh_url":"git@github.com:BillWagner/docs.git","clone_url":"https://github.com/BillWagner/docs.git","svn_url":"https://github.com/BillWagner/docs","homepage":"https://docs.microsoft.com/dotnet","size":262581,"stargazers_count":0,"watchers_count":0,"language":"PowerShell","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dotnet:master","ref":"master","sha":"fa872e2d17848f5428df1498947eb3519c71fcc7","user":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":35890081,"name":"docs","full_name":"dotnet/docs","owner":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dotnet/docs","description":"This repository contains .NET Documentation.","fork":false,"url":"https://api.github.com/repos/dotnet/docs","forks_url":"https://api.github.com/repos/dotnet/docs/forks","keys_url":"https://api.github.com/repos/dotnet/docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/docs/teams","hooks_url":"https://api.github.com/repos/dotnet/docs/hooks","issue_events_url":"https://api.github.com/repos/dotnet/docs/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/docs/events","assignees_url":"https://api.github.com/repos/dotnet/docs/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/docs/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/docs/tags","blobs_url":"https://api.github.com/repos/dotnet/docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/docs/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/docs/languages","stargazers_url":"https://api.github.com/repos/dotnet/docs/stargazers","contributors_url":"https://api.github.com/repos/dotnet/docs/contributors","subscribers_url":"https://api.github.com/repos/dotnet/docs/subscribers","subscription_url":"https://api.github.com/repos/dotnet/docs/subscription","commits_url":"https://api.github.com/repos/dotnet/docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/docs/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/docs/merges","archive_url":"https://api.github.com/repos/dotnet/docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/docs/downloads","issues_url":"https://api.github.com/repos/dotnet/docs/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/docs/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/docs/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/docs/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/docs/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/docs/deployments","created_at":"2015-05-19T15:13:32Z","updated_at":"2018-05-18T23:44:38Z","pushed_at":"2018-05-19T00:58:52Z","git_url":"git://github.com/dotnet/docs.git","ssh_url":"git@github.com:dotnet/docs.git","clone_url":"https://github.com/dotnet/docs.git","svn_url":"https://github.com/dotnet/docs","homepage":"https://docs.microsoft.com/dotnet","size":529348,"stargazers_count":1058,"watchers_count":1058,"language":"PowerShell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2361,"mirror_url":null,"archived":false,"open_issues_count":540,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":2361,"open_issues":540,"watchers":1058,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/docs/pulls/5448"},"html":{"href":"https://github.com/dotnet/docs/pull/5448"},"issue":{"href":"https://api.github.com/repos/dotnet/docs/issues/5448"},"comments":{"href":"https://api.github.com/repos/dotnet/docs/issues/5448/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/docs/pulls/5448/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/docs/pulls/5448/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/docs/statuses/d548025a10554f87f2ae81919c8d89c72690facb"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"mairaw"}}