{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/38670","repository_url":"https://api.github.com/repos/rust-lang/rust","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/38670/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/38670/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/38670/events","html_url":"https://github.com/rust-lang/rust/pull/38670","id":197941438,"number":38670,"title":"Fix transmute::<T, U> where T requires a bigger alignment than U","user":{"login":"dotdash","id":230962,"avatar_url":"https://avatars.githubusercontent.com/u/230962?v=3","gravatar_id":"","url":"https://api.github.com/users/dotdash","html_url":"https://github.com/dotdash","followers_url":"https://api.github.com/users/dotdash/followers","following_url":"https://api.github.com/users/dotdash/following{/other_user}","gists_url":"https://api.github.com/users/dotdash/gists{/gist_id}","starred_url":"https://api.github.com/users/dotdash/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotdash/subscriptions","organizations_url":"https://api.github.com/users/dotdash/orgs","repos_url":"https://api.github.com/users/dotdash/repos","events_url":"https://api.github.com/users/dotdash/events{/privacy}","received_events_url":"https://api.github.com/users/dotdash/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"pnkfelix","id":173127,"avatar_url":"https://avatars.githubusercontent.com/u/173127?v=3","gravatar_id":"","url":"https://api.github.com/users/pnkfelix","html_url":"https://github.com/pnkfelix","followers_url":"https://api.github.com/users/pnkfelix/followers","following_url":"https://api.github.com/users/pnkfelix/following{/other_user}","gists_url":"https://api.github.com/users/pnkfelix/gists{/gist_id}","starred_url":"https://api.github.com/users/pnkfelix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pnkfelix/subscriptions","organizations_url":"https://api.github.com/users/pnkfelix/orgs","repos_url":"https://api.github.com/users/pnkfelix/repos","events_url":"https://api.github.com/users/pnkfelix/events{/privacy}","received_events_url":"https://api.github.com/users/pnkfelix/received_events","type":"User","site_admin":false},"assignees":[{"login":"pnkfelix","id":173127,"avatar_url":"https://avatars.githubusercontent.com/u/173127?v=3","gravatar_id":"","url":"https://api.github.com/users/pnkfelix","html_url":"https://github.com/pnkfelix","followers_url":"https://api.github.com/users/pnkfelix/followers","following_url":"https://api.github.com/users/pnkfelix/following{/other_user}","gists_url":"https://api.github.com/users/pnkfelix/gists{/gist_id}","starred_url":"https://api.github.com/users/pnkfelix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pnkfelix/subscriptions","organizations_url":"https://api.github.com/users/pnkfelix/orgs","repos_url":"https://api.github.com/users/pnkfelix/repos","events_url":"https://api.github.com/users/pnkfelix/events{/privacy}","received_events_url":"https://api.github.com/users/pnkfelix/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2016-12-29T01:49:52Z","updated_at":"2016-12-31T16:02:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/38670","html_url":"https://github.com/rust-lang/rust/pull/38670","diff_url":"https://github.com/rust-lang/rust/pull/38670.diff","patch_url":"https://github.com/rust-lang/rust/pull/38670.patch"},"body":"For transmute::<T, U> we simply pointercast the destination from a U\r\npointer to a T pointer, without providing any alignment information,\r\nthus LLVM assumes that the destination is aligned to hold a value of\r\ntype T, which is not necessarily true. This can lead to LLVM emitting\r\nmachine instructions that assume said alignment, and thus cause aborts.\r\n\r\nTo fix this, we need to provide the actual alignment to store_operand()\r\nand in turn to store() so they can set the proper alignment information\r\non the stores and LLVM can emit the proper machine instructions.\r\n\r\nFixes #32947"},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/269871089","html_url":"https://github.com/rust-lang/rust/pull/38670#issuecomment-269871089","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/38670","id":269871089,"user":{"login":"eddyb","id":77424,"avatar_url":"https://avatars.githubusercontent.com/u/77424?v=3","gravatar_id":"","url":"https://api.github.com/users/eddyb","html_url":"https://github.com/eddyb","followers_url":"https://api.github.com/users/eddyb/followers","following_url":"https://api.github.com/users/eddyb/following{/other_user}","gists_url":"https://api.github.com/users/eddyb/gists{/gist_id}","starred_url":"https://api.github.com/users/eddyb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eddyb/subscriptions","organizations_url":"https://api.github.com/users/eddyb/orgs","repos_url":"https://api.github.com/users/eddyb/repos","events_url":"https://api.github.com/users/eddyb/events{/privacy}","received_events_url":"https://api.github.com/users/eddyb/received_events","type":"User","site_admin":false},"created_at":"2016-12-31T16:02:07Z","updated_at":"2016-12-31T16:02:07Z","body":"r=me with an explanation on the simplification of `memcpy_ty`."}}
{"actor":{"display_login":"eddyb"}}