Skip to content

Commit 15b5119

Browse files
committed
---
yaml --- r: 41602 b: refs/heads/master c: 16ec9aa h: refs/heads/master v: v3
1 parent a58602e commit 15b5119

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 4557f70487e10c1f4e304f4bb853dbab444359dc
2+
refs/heads/master: 16ec9aa6e7b999e235007f75af2fd631f7333a84
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 2f46b763da2c098913884f101b6d71d69af41b49
55
refs/heads/try: 3d5418789064fdb463e872a4e651af1c628a3650

trunk/src/librustc/middle/typeck/check/mod.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1679,9 +1679,11 @@ fn check_expr_with_unifier(fcx: @fn_ctxt,
16791679
let expected_field_type =
16801680
ty::lookup_field_type(
16811681
tcx, class_id, field_id, substitutions);
1682-
bot |= check_expr(fcx,
1683-
field.node.expr,
1684-
Some(expected_field_type));
1682+
bot |=
1683+
check_expr_with_assignability(
1684+
fcx,
1685+
field.node.expr,
1686+
expected_field_type);
16851687
class_field_map.insert(
16861688
field.node.ident, (field_id, true));
16871689
fields_found += 1;
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
struct Foo {
2+
x: &int
3+
}
4+
5+
fn main() {
6+
let f = Foo { x: @3 };
7+
assert *f.x == 3;
8+
}
9+

0 commit comments

Comments
 (0)