{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/standard/issues/1012","repository_url":"https://api.github.com/repos/dotnet/standard","labels_url":"https://api.github.com/repos/dotnet/standard/issues/1012/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/standard/issues/1012/comments","events_url":"https://api.github.com/repos/dotnet/standard/issues/1012/events","html_url":"https://github.com/dotnet/standard/pull/1012","id":390354570,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM4MTM5MjQx","number":1012,"title":"Add private fields for structs","user":{"login":"terrajobst","id":5169960,"node_id":"MDQ6VXNlcjUxNjk5NjA=","avatar_url":"https://avatars0.githubusercontent.com/u/5169960?v=4","gravatar_id":"","url":"https://api.github.com/users/terrajobst","html_url":"https://github.com/terrajobst","followers_url":"https://api.github.com/users/terrajobst/followers","following_url":"https://api.github.com/users/terrajobst/following{/other_user}","gists_url":"https://api.github.com/users/terrajobst/gists{/gist_id}","starred_url":"https://api.github.com/users/terrajobst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/terrajobst/subscriptions","organizations_url":"https://api.github.com/users/terrajobst/orgs","repos_url":"https://api.github.com/users/terrajobst/repos","events_url":"https://api.github.com/users/terrajobst/events{/privacy}","received_events_url":"https://api.github.com/users/terrajobst/received_events","type":"User","site_admin":false},"labels":[{"id":593725002,"node_id":"MDU6TGFiZWw1OTM3MjUwMDI=","url":"https://api.github.com/repos/dotnet/standard/labels/*%20NO%20MERGE%20*","name":"* NO MERGE *","color":"d93f0b","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/dotnet/standard/milestones/3","html_url":"https://github.com/dotnet/standard/milestone/3","labels_url":"https://api.github.com/repos/dotnet/standard/milestones/3/labels","id":3400718,"node_id":"MDk6TWlsZXN0b25lMzQwMDcxOA==","number":3,"title":".NET Standard 2.1","description":"This captures the [.NET Standard 2.1](https://github.com/dotnet/standard/blob/master/docs/planning/netstandard-2.1/README.md).","creator":{"login":"terrajobst","id":5169960,"node_id":"MDQ6VXNlcjUxNjk5NjA=","avatar_url":"https://avatars0.githubusercontent.com/u/5169960?v=4","gravatar_id":"","url":"https://api.github.com/users/terrajobst","html_url":"https://github.com/terrajobst","followers_url":"https://api.github.com/users/terrajobst/followers","following_url":"https://api.github.com/users/terrajobst/following{/other_user}","gists_url":"https://api.github.com/users/terrajobst/gists{/gist_id}","starred_url":"https://api.github.com/users/terrajobst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/terrajobst/subscriptions","organizations_url":"https://api.github.com/users/terrajobst/orgs","repos_url":"https://api.github.com/users/terrajobst/repos","events_url":"https://api.github.com/users/terrajobst/events{/privacy}","received_events_url":"https://api.github.com/users/terrajobst/received_events","type":"User","site_admin":false},"open_issues":17,"closed_issues":80,"state":"open","created_at":"2018-06-05T02:12:04Z","updated_at":"2018-12-12T18:36:18Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2018-12-12T18:33:46Z","updated_at":"2018-12-12T18:48:05Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/dotnet/standard/pulls/1012","html_url":"https://github.com/dotnet/standard/pull/1012","diff_url":"https://github.com/dotnet/standard/pull/1012.diff","patch_url":"https://github.com/dotnet/standard/pull/1012.patch"},"body":"No public API changes, but this fixes #678. \r\n\r\nIn a nutshell, the compiler needs to know whether a struct has any fields in order to apply definitive assignment rules. While stripping all private fields from types is generally OK, we can't do this for structs. Fortunately, for private fields the compiler doesn't really care what they are, but that their characteristics are. For example:\r\n\r\n1. Does the struct have any fields?\r\n\r\n2. Does the struct contain any reference types (to validate generic instantiations that have the unmanaged constraint)?\r\n\r\n3. Does the struct use the generic parameter in a field declaration (to validate cyclic layout problems)?\r\n\r\nThis adds dummy fields to structs to conform to these rules. These aren't computed separately but are instead taken from .NET Core.\r\n\r\nFor more details, see this issue in CoreFX:\r\n\r\nhttps://github.com/dotnet/corefx/issues/6185\r\n\r\n***Change base branch to master before merging.** To aid review, I assume #999 to be merged.*"},"comment":{"url":"https://api.github.com/repos/dotnet/standard/issues/comments/446699173","html_url":"https://github.com/dotnet/standard/pull/1012#issuecomment-446699173","issue_url":"https://api.github.com/repos/dotnet/standard/issues/1012","id":446699173,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0NjY5OTE3Mw==","user":{"login":"ericstj","id":8918108,"node_id":"MDQ6VXNlcjg5MTgxMDg=","avatar_url":"https://avatars3.githubusercontent.com/u/8918108?v=4","gravatar_id":"","url":"https://api.github.com/users/ericstj","html_url":"https://github.com/ericstj","followers_url":"https://api.github.com/users/ericstj/followers","following_url":"https://api.github.com/users/ericstj/following{/other_user}","gists_url":"https://api.github.com/users/ericstj/gists{/gist_id}","starred_url":"https://api.github.com/users/ericstj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericstj/subscriptions","organizations_url":"https://api.github.com/users/ericstj/orgs","repos_url":"https://api.github.com/users/ericstj/repos","events_url":"https://api.github.com/users/ericstj/events{/privacy}","received_events_url":"https://api.github.com/users/ericstj/received_events","type":"User","site_admin":false},"created_at":"2018-12-12T18:48:05Z","updated_at":"2018-12-12T18:48:05Z","author_association":"MEMBER","body":"Do you have tooling to generate these files?  GenAPI should do the right thing now and I trust that more than my eyes to review the sources (though I do trust @jkotas's 😄 )"}}
{"actor":{"display_login":"ericstj"}}