You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
struct Foo {
memb: i32
}
trait FooHolder {
fn foo(&self) -> Foo;
}
// ↓ The `extern` marker is necessary to trigger the assertion failure
extern fn get_foo(ptr: *const ()) -> Foo {
let wrap: Box<Box<FooHolder + Send>> = unsafe { ::std::mem::transmute(ptr) };
wrap.foo()
}
fn main() {}
This triggers the following assertion failure:
rustc: /build/rust-git/src/rust/src/llvm/lib/IR/Instructions.cpp:1086: void llvm::StoreInst::AssertOK(): Assertion `getOperand(0)->getType() == cast<PointerType>(getOperand(1)->getType())->getElementType() && "Ptr must be a pointer to Val type!"' failed.
The assertion failure does not occur with (099b411e0 2015-01-10 16:20:04 +0000)�, but it does with (e7b397b02 2015-01-11 22:15:52 +0000).