{"action":"closed","issue":{"url":"https://api.github.com/repos/golang/go/issues/9462","labels_url":"https://api.github.com/repos/golang/go/issues/9462/labels{/name}","comments_url":"https://api.github.com/repos/golang/go/issues/9462/comments","events_url":"https://api.github.com/repos/golang/go/issues/9462/events","html_url":"https://github.com/golang/go/issues/9462","id":52969677,"number":9462,"title":"go/ssa/interp: breaks on reflect implementation of Go tip","user":{"login":"rocky","id":8851,"avatar_url":"https://avatars.githubusercontent.com/u/8851?v=3","gravatar_id":"","url":"https://api.github.com/users/rocky","html_url":"https://github.com/rocky","followers_url":"https://api.github.com/users/rocky/followers","following_url":"https://api.github.com/users/rocky/following{/other_user}","gists_url":"https://api.github.com/users/rocky/gists{/gist_id}","starred_url":"https://api.github.com/users/rocky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rocky/subscriptions","organizations_url":"https://api.github.com/users/rocky/orgs","repos_url":"https://api.github.com/users/rocky/repos","events_url":"https://api.github.com/users/rocky/events{/privacy}","received_events_url":"https://api.github.com/users/rocky/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/golang/go/labels/repo-tools","name":"repo-tools","color":"ededed"}],"state":"closed","locked":false,"assignee":{"login":"alandonovan","id":8433140,"avatar_url":"https://avatars.githubusercontent.com/u/8433140?v=3","gravatar_id":"","url":"https://api.github.com/users/alandonovan","html_url":"https://github.com/alandonovan","followers_url":"https://api.github.com/users/alandonovan/followers","following_url":"https://api.github.com/users/alandonovan/following{/other_user}","gists_url":"https://api.github.com/users/alandonovan/gists{/gist_id}","starred_url":"https://api.github.com/users/alandonovan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alandonovan/subscriptions","organizations_url":"https://api.github.com/users/alandonovan/orgs","repos_url":"https://api.github.com/users/alandonovan/repos","events_url":"https://api.github.com/users/alandonovan/events{/privacy}","received_events_url":"https://api.github.com/users/alandonovan/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/golang/go/milestones/1","labels_url":"https://api.github.com/repos/golang/go/milestones/1/labels","id":905105,"number":1,"title":"Go1.5","description":"","creator":{"login":"bradfitz","id":2621,"avatar_url":"https://avatars.githubusercontent.com/u/2621?v=3","gravatar_id":"","url":"https://api.github.com/users/bradfitz","html_url":"https://github.com/bradfitz","followers_url":"https://api.github.com/users/bradfitz/followers","following_url":"https://api.github.com/users/bradfitz/following{/other_user}","gists_url":"https://api.github.com/users/bradfitz/gists{/gist_id}","starred_url":"https://api.github.com/users/bradfitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bradfitz/subscriptions","organizations_url":"https://api.github.com/users/bradfitz/orgs","repos_url":"https://api.github.com/users/bradfitz/repos","events_url":"https://api.github.com/users/bradfitz/events{/privacy}","received_events_url":"https://api.github.com/users/bradfitz/received_events","type":"User","site_admin":false},"open_issues":217,"closed_issues":69,"state":"open","created_at":"2014-12-16T02:26:41Z","updated_at":"2015-01-01T22:35:57Z","due_on":"2015-05-31T14:00:00Z","closed_at":null},"comments":7,"created_at":"2014-12-28T00:48:33Z","updated_at":"2015-01-01T22:35:57Z","closed_at":"2015-01-01T22:35:57Z","body":"Running ssadump on [this go program](http://play.golang.org/p/JHUgaI-2sq) produces a panic: \r\n\r\n    panic: interface conversion: interface is reflect.rtype, not *reflect.rtype\r\n\r\nWith go gc 1.4 on GNU/Linux there is none. \r\n\r\nThe full invocation, output produced, and golang version is given in [this gist](https://gist.github.com/rocky/6f4f1955cdf8addaeb92). \r\n\r\nLooking at the Go code:\r\n\r\n    u8 reflect.Type = reflect.TypeOf(uint8(0))\r\n    byteSlice reflect.Type = reflect.SliceOf(u8)\r\n\r\nI am just as confused as ssadump. Here is *reflect.SliceOf* in *reflect/type.go*:\r\n\r\n    func SliceOf(t Type) Type {\r\n    typ := t.(*rtype)\r\n    ...\r\n\r\nThe ssadump error message makes sense to me in that the passed-in type is a `reflect.rtype`, not and `*reflect.rtype` which is what  appears to be the use in *reflect.SliceOf*. \r\n\r\nSo what is it in Go that makes it okay to have these things not give a type error? \r\n\r\n\r\n\r\n"}}