Skip to content

Commit fa44842

Browse files
committed
---
yaml --- r: 1167 b: refs/heads/master c: 1b0da12 h: refs/heads/master i: 1165: 6e6aa88 1163: 8037c03 1159: d6c3b44 1151: 1db8c6d v: v3
1 parent 2b6df0b commit fa44842

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: ad889ba3ae5e11e3119b7534200d13144d7ae381
2+
refs/heads/master: 1b0da12fe8b8c9391c73f977a075448835b647e9

trunk/src/comp/middle/fold.rs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -663,8 +663,19 @@ fn fold_obj[ENV](&ENV env, ast_fold[ENV] fld, &ast._obj ob) -> ast._obj {
663663
for (ast.obj_field f in ob.fields) {
664664
fields += fold_obj_field(env, fld, f);
665665
}
666+
let vec[ast.ty_param] tp = vec();
666667
for (@ast.method m in ob.methods) {
667-
append[@ast.method](meths, fold_method(env, fld, m));
668+
// Fake-up an ast.item for this method.
669+
// FIXME: this is kinda awful. Maybe we should reformulate
670+
// the way we store methods in the AST?
671+
let @ast.item i = @rec(node=ast.item_fn(m.node.ident,
672+
m.node.meth,
673+
tp,
674+
m.node.id,
675+
m.node.ann),
676+
span=m.span);
677+
let ENV _env = fld.update_env_for_item(env, i);
678+
append[@ast.method](meths, fold_method(_env, fld, m));
668679
}
669680
ret fld.fold_obj(env, fields, meths);
670681
}

0 commit comments

Comments
 (0)