{"action":"closed","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/30615","repository_url":"https://api.github.com/repos/rust-lang/rust","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/30615/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/30615/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/30615/events","html_url":"https://github.com/rust-lang/rust/issues/30615","id":124253811,"number":30615,"title":"ICE: LLVM Assertion S->getType()->isPtrOrPtrVectorTy() fails with raw/fat pointer cast","user":{"login":"mbrubeck","id":5920,"avatar_url":"https://avatars.githubusercontent.com/u/5920?v=3","gravatar_id":"","url":"https://api.github.com/users/mbrubeck","html_url":"https://github.com/mbrubeck","followers_url":"https://api.github.com/users/mbrubeck/followers","following_url":"https://api.github.com/users/mbrubeck/following{/other_user}","gists_url":"https://api.github.com/users/mbrubeck/gists{/gist_id}","starred_url":"https://api.github.com/users/mbrubeck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbrubeck/subscriptions","organizations_url":"https://api.github.com/users/mbrubeck/orgs","repos_url":"https://api.github.com/users/mbrubeck/repos","events_url":"https://api.github.com/users/mbrubeck/events{/privacy}","received_events_url":"https://api.github.com/users/mbrubeck/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rust-lang/rust/labels/A-llvm","name":"A-llvm","color":"d7e102"},{"url":"https://api.github.com/repos/rust-lang/rust/labels/I-ICE","name":"I-ICE","color":"e10c02"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-12-29T19:01:12Z","updated_at":"2016-03-23T22:53:03Z","closed_at":"2016-03-23T22:53:03Z","body":"This code causes the compiler to crash:\r\n\r\n```rust\r\nfn main() { &0u8 as *const u8 as *const PartialEq<u8>; }\r\n```\r\n\r\nwith this LLVM assertion failure:\r\n\r\n```\r\nrustc: /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/llvm/lib/IR/Constants.cpp:1649: static llvm::Constant* llvm::ConstantExpr::getPointerCast(llvm::Constant*, llvm::Type*): Assertion `S->getType()->isPtrOrPtrVectorTy() && \"Invalid cast\"' failed.\r\nAborted (core dumped)\r\n```"}}