Closed
Description
The following code
auto x = @10;
x += @20;
fails with "rustc: Instructions.cpp:1567: void llvm::BinaryOperator::init(llvm::Instruction::BinaryOps): Assertion `getType()->isIntOrIntVectorTy() && "Tried to create an integer operation on a non-integer type!"' failed."
This is probably because the typechecking code for binary operations is shared with that for compound assignment statements, but binary operations autoderef while assignment doesn't.
Not sure what is supposed to happen. Maybe this just shouldn't be allowed.