From c71309fcfdfd1ca77ef006482686b1bfb29f3061 Mon Sep 17 00:00:00 2001 From: Lindsey Kuper Date: Tue, 17 May 2011 16:14:39 -0700 Subject: [PATCH] Checking to make sure we know what 'self' is in nested objects. --- src/test/run-pass/nested-obj-self.rs | 45 ++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/test/run-pass/nested-obj-self.rs diff --git a/src/test/run-pass/nested-obj-self.rs b/src/test/run-pass/nested-obj-self.rs new file mode 100644 index 0000000000000..12ce796da8513 --- /dev/null +++ b/src/test/run-pass/nested-obj-self.rs @@ -0,0 +1,45 @@ +fn main() { + + obj foo() { + fn m1() -> str { + ret "foo.m1"; + } + fn m2() -> str { + ret self.m1(); + } + fn m3() -> str { + let str s1 = self.m2(); + assert s1 == "foo.m1"; + + obj bar() { + fn m1() -> str { + ret "bar.m1"; + } + + fn m2() -> str { + ret self.m1(); + } + } + + auto b = bar(); + let str s3 = b.m2(); + + let str s4 = self.m2(); + assert s4 == "foo.m1"; + + ret s3; + } + } + + auto a = foo(); + + let str s1 = a.m1(); + assert s1 == "foo.m1"; + + let str s2 = a.m2(); + assert s2 == "foo.m1"; + + let str s3 = a.m3(); + assert s3 == "bar.m1"; +} +