{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/visualfsharp/issues/2671","repository_url":"https://api.github.com/repos/Microsoft/visualfsharp","labels_url":"https://api.github.com/repos/Microsoft/visualfsharp/issues/2671/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/visualfsharp/issues/2671/comments","events_url":"https://api.github.com/repos/Microsoft/visualfsharp/issues/2671/events","html_url":"https://github.com/Microsoft/visualfsharp/pull/2671","id":215753792,"number":2671,"title":"[WIP] RFC FS-1030 - Anonymous records","user":{"login":"dsyme","id":7204669,"avatar_url":"https://avatars2.githubusercontent.com/u/7204669?v=3","gravatar_id":"","url":"https://api.github.com/users/dsyme","html_url":"https://github.com/dsyme","followers_url":"https://api.github.com/users/dsyme/followers","following_url":"https://api.github.com/users/dsyme/following{/other_user}","gists_url":"https://api.github.com/users/dsyme/gists{/gist_id}","starred_url":"https://api.github.com/users/dsyme/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dsyme/subscriptions","organizations_url":"https://api.github.com/users/dsyme/orgs","repos_url":"https://api.github.com/users/dsyme/repos","events_url":"https://api.github.com/users/dsyme/events{/privacy}","received_events_url":"https://api.github.com/users/dsyme/received_events","type":"User","site_admin":false},"labels":[{"id":192460618,"url":"https://api.github.com/repos/Microsoft/visualfsharp/labels/cla-not-required","name":"cla-not-required","color":"90EE90","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-03-21T14:14:54Z","updated_at":"2017-03-21T15:19:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Microsoft/visualfsharp/pulls/2671","html_url":"https://github.com/Microsoft/visualfsharp/pull/2671","diff_url":"https://github.com/Microsoft/visualfsharp/pull/2671.diff","patch_url":"https://github.com/Microsoft/visualfsharp/pull/2671.patch"},"body":"This adds anonymous records to the F# compiler per [RFC FS-1030](https://github.com/fsharp/fslang-design/blob/master/RFCs/FS-1030-anonymous-records.md).\r\n\r\nPlease discuss on [the RFC](https://github.com/fsharp/fslang-design/blob/master/RFCs/FS-1030-anonymous-records.md) or below - if the discussion gets long we will move to the RFC discussion thread.\r\n\r\nThe implementation is not yet complete but I believe it to be stable and usable - there are just some corner cases to finish off and considerably more testing to add, specifically\r\n\r\nImplementation:\r\n* [ ] Equality, hash and comparison on ``new {| X = 1; Y = 2 |}`` Kind B types \r\n* [ ] I've removed some long-deprecated syntax from the parser, cases which gave a hard error. Some test may need to be adjusted for this\r\n\r\n\r\nTesting:\r\n* [ ] The language service features are yet to be tested in any way at all, though I believe the implementation to be done\r\n* [ ] LINQ queries need to be tested\r\n* [ ] Test suitability of ``new {| X = 1; Y = 2 |}`` types for working with libraries accepting C# anonymous types\r\n* [ ] Tests for negative cases and error messages\r\n\r\nIf anyone wants to give a hand with the testing that would be great. I think it's really important that someone else besides myself do serious testing on this feature.\r\n\r\nI'd love someone to try this out and give early feedback on usability and \"fit and polish\".\r\n\r\n\r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/Microsoft/visualfsharp/issues/comments/288112667","html_url":"https://github.com/Microsoft/visualfsharp/pull/2671#issuecomment-288112667","issue_url":"https://api.github.com/repos/Microsoft/visualfsharp/issues/2671","id":288112667,"user":{"login":"et1975","id":623703,"avatar_url":"https://avatars0.githubusercontent.com/u/623703?v=3","gravatar_id":"","url":"https://api.github.com/users/et1975","html_url":"https://github.com/et1975","followers_url":"https://api.github.com/users/et1975/followers","following_url":"https://api.github.com/users/et1975/following{/other_user}","gists_url":"https://api.github.com/users/et1975/gists{/gist_id}","starred_url":"https://api.github.com/users/et1975/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/et1975/subscriptions","organizations_url":"https://api.github.com/users/et1975/orgs","repos_url":"https://api.github.com/users/et1975/repos","events_url":"https://api.github.com/users/et1975/events{/privacy}","received_events_url":"https://api.github.com/users/et1975/received_events","type":"User","site_admin":false},"created_at":"2017-03-21T15:19:50Z","updated_at":"2017-03-21T15:19:50Z","body":"I didn't see an example of decomposition, will this be possible?\r\n```fsharp\r\nlet {| x = x |} = anonymousRecord\r\n```\r\nWhat would the Kind B syntax be like for this?\r\nHow could one distinguish between Kind A and Kind B types of same shape?"}}
{"actor":{"display_login":"et1975"}}