Skip to content

Commit 5d1b5c2

Browse files
committed
---
yaml --- r: 273265 b: refs/heads/beta c: ccc5e07 h: refs/heads/master i: 273263: 19135c0
1 parent db80f2a commit 5d1b5c2

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ refs/tags/0.9: 36870b185fc5f5486636d4515f0e22677493f225
2323
refs/tags/0.10: ac33f2b15782272ae348dbd7b14b8257b2148b5a
2424
refs/tags/0.11.0: e1247cb1d0d681be034adb4b558b5a0c0d5720f9
2525
refs/tags/0.12.0: f0c419429ef30723ceaf6b42f9b5a2aeb5d2e2d1
26-
refs/heads/beta: 1de6a9682f16a893cd5651db28e26a1cd92fd459
26+
refs/heads/beta: ccc5e0732a95861de755cf14bec05d873bfa7481
2727
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
2828
refs/heads/tmp: e06d2ad9fcd5027bcaac5b08fc9aa39a49d0ecd3
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f

branches/beta/src/librustc_mir/build/expr/as_rvalue.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,13 @@ impl<'a,'tcx> Builder<'a,'tcx> {
7373
})
7474
}
7575
ExprKind::Cast { source } => {
76-
let source = unpack!(block = this.as_operand(block, source));
77-
block.and(Rvalue::Cast(CastKind::Misc, source, expr.ty))
76+
let source = this.hir.mirror(source);
77+
if source.ty == expr.ty {
78+
this.expr_as_rvalue(block, source)
79+
} else {
80+
let source = unpack!(block = this.as_operand(block, source));
81+
block.and(Rvalue::Cast(CastKind::Misc, source, expr.ty))
82+
}
7883
}
7984
ExprKind::ReifyFnPointer { source } => {
8085
let source = unpack!(block = this.as_operand(block, source));

0 commit comments

Comments
 (0)