aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/boot/me/semant.ml6
-rw-r--r--src/test/compile-fail/no-self-dispatch.rs11
2 files changed, 12 insertions, 5 deletions
diff --git a/src/boot/me/semant.ml b/src/boot/me/semant.ml
index 789a2360..1992bf93 100644
--- a/src/boot/me/semant.ml
+++ b/src/boot/me/semant.ml
@@ -1758,11 +1758,7 @@ and lookup_by_ident
check_slots scopes f.Ast.fn_input_slots
| Ast.MOD_ITEM_obj obj ->
- begin
- match htab_search obj.Ast.obj_fns ident with
- Some fn -> found cx scopes fn.id
- | None -> check_slots scopes obj.Ast.obj_state
- end
+ check_slots scopes obj.Ast.obj_state
| Ast.MOD_ITEM_mod md ->
project_ident_from_items cx lchk
diff --git a/src/test/compile-fail/no-self-dispatch.rs b/src/test/compile-fail/no-self-dispatch.rs
new file mode 100644
index 00000000..be90c12f
--- /dev/null
+++ b/src/test/compile-fail/no-self-dispatch.rs
@@ -0,0 +1,11 @@
+// error-pattern: unresolved identifier
+obj oT() {
+ fn get() -> int {
+ ret 3;
+ }
+ fn foo() {
+ auto c = get();
+ }
+}
+fn main() {
+}