{"action":"created","issue":{"url":"https://api.github.com/repos/golang/go/issues/15292","repository_url":"https://api.github.com/repos/golang/go","labels_url":"https://api.github.com/repos/golang/go/issues/15292/labels{/name}","comments_url":"https://api.github.com/repos/golang/go/issues/15292/comments","events_url":"https://api.github.com/repos/golang/go/issues/15292/events","html_url":"https://github.com/golang/go/issues/15292","id":148234131,"node_id":"MDU6SXNzdWUxNDgyMzQxMzE=","number":15292,"title":"proposal: spec: generic programming facilities","user":{"login":"adg","id":8446613,"node_id":"MDQ6VXNlcjg0NDY2MTM=","avatar_url":"https://avatars0.githubusercontent.com/u/8446613?v=4","gravatar_id":"","url":"https://api.github.com/users/adg","html_url":"https://github.com/adg","followers_url":"https://api.github.com/users/adg/followers","following_url":"https://api.github.com/users/adg/following{/other_user}","gists_url":"https://api.github.com/users/adg/gists{/gist_id}","starred_url":"https://api.github.com/users/adg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adg/subscriptions","organizations_url":"https://api.github.com/users/adg/orgs","repos_url":"https://api.github.com/users/adg/repos","events_url":"https://api.github.com/users/adg/events{/privacy}","received_events_url":"https://api.github.com/users/adg/received_events","type":"User","site_admin":false},"labels":[{"id":150880249,"node_id":"MDU6TGFiZWwxNTA4ODAyNDk=","url":"https://api.github.com/repos/golang/go/labels/Go2","name":"Go2","color":"ffaaaa","default":false},{"id":150880200,"node_id":"MDU6TGFiZWwxNTA4ODAyMDA=","url":"https://api.github.com/repos/golang/go/labels/LanguageChange","name":"LanguageChange","color":"ffaaaa","default":false},{"id":373402289,"node_id":"MDU6TGFiZWwzNzM0MDIyODk=","url":"https://api.github.com/repos/golang/go/labels/NeedsInvestigation","name":"NeedsInvestigation","color":"ededed","default":false},{"id":236419512,"node_id":"MDU6TGFiZWwyMzY0MTk1MTI=","url":"https://api.github.com/repos/golang/go/labels/Proposal","name":"Proposal","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/golang/go/milestones/30","html_url":"https://github.com/golang/go/milestone/30","labels_url":"https://api.github.com/repos/golang/go/milestones/30/labels","id":1373555,"node_id":"MDk6TWlsZXN0b25lMTM3MzU1NQ==","number":30,"title":"Proposal","description":"Proposals that are pending (not yet accepted/rejected).\r\n","creator":{"login":"rsc","id":104030,"node_id":"MDQ6VXNlcjEwNDAzMA==","avatar_url":"https://avatars1.githubusercontent.com/u/104030?v=4","gravatar_id":"","url":"https://api.github.com/users/rsc","html_url":"https://github.com/rsc","followers_url":"https://api.github.com/users/rsc/followers","following_url":"https://api.github.com/users/rsc/following{/other_user}","gists_url":"https://api.github.com/users/rsc/gists{/gist_id}","starred_url":"https://api.github.com/users/rsc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rsc/subscriptions","organizations_url":"https://api.github.com/users/rsc/orgs","repos_url":"https://api.github.com/users/rsc/repos","events_url":"https://api.github.com/users/rsc/events{/privacy}","received_events_url":"https://api.github.com/users/rsc/received_events","type":"User","site_admin":false},"open_issues":236,"closed_issues":573,"state":"open","created_at":"2015-10-24T01:40:49Z","updated_at":"2018-09-04T02:15:05Z","due_on":null,"closed_at":null},"comments":363,"created_at":"2016-04-14T02:33:22Z","updated_at":"2018-09-04T17:29:06Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"This issue proposes that Go should support some form of generic programming.\nIt has the Go2 label, since for Go1.x the language is more or less done. \n\nAccompanying this issue is [a general generics proposal](https://github.com/golang/proposal/blob/master/design/15292-generics.md) by @ianlancetaylor that includes four specific flawed proposals of generic programming mechanisms for Go.\n\nThe intent is not to add generics to Go at this time, but rather to show people what a complete proposal would look like. We hope this will be of help to anyone proposing similar language changes in the future.\n"},"comment":{"url":"https://api.github.com/repos/golang/go/issues/comments/418452404","html_url":"https://github.com/golang/go/issues/15292#issuecomment-418452404","issue_url":"https://api.github.com/repos/golang/go/issues/15292","id":418452404,"node_id":"MDEyOklzc3VlQ29tbWVudDQxODQ1MjQwNA==","user":{"login":"bcmills","id":5200974,"node_id":"MDQ6VXNlcjUyMDA5NzQ=","avatar_url":"https://avatars3.githubusercontent.com/u/5200974?v=4","gravatar_id":"","url":"https://api.github.com/users/bcmills","html_url":"https://github.com/bcmills","followers_url":"https://api.github.com/users/bcmills/followers","following_url":"https://api.github.com/users/bcmills/following{/other_user}","gists_url":"https://api.github.com/users/bcmills/gists{/gist_id}","starred_url":"https://api.github.com/users/bcmills/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bcmills/subscriptions","organizations_url":"https://api.github.com/users/bcmills/orgs","repos_url":"https://api.github.com/users/bcmills/repos","events_url":"https://api.github.com/users/bcmills/events{/privacy}","received_events_url":"https://api.github.com/users/bcmills/received_events","type":"User","site_admin":false},"created_at":"2018-09-04T17:29:06Z","updated_at":"2018-09-04T17:29:06Z","author_association":"MEMBER","body":"Re embedding, I think “can embed in a struct” is another restriction that the contracts would have to capture if allowed.\r\n\r\nConsider:\r\n```\r\ncontract Embeddable(type X, Y) {\r\n\ttype S struct {\r\n\t\tX\r\n\t\tY\r\n\t}\r\n}\r\n\r\ntype Embedded(type First, Second Embeddable) struct {\r\n\t\tFirst\r\n\t\tSecond\r\n}\r\n\r\n// Error: First and Second both provide method Read.\r\n// That must be diagnosed to the Embeddable contract, not the definition of Embedded itself.\r\ntype Boom = Embedded(*bytes.Buffer, *strings.Reader)\r\n```"}}
{"actor":{"display_login":"bcmills"}}