From 459b0ec8339da2b7ba2f76c3fd110f5b3e971a73 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sun, 24 Apr 2011 19:40:01 -0400 Subject: Implement simple module export --- src/test/compile-fail/export-boot.rs | 19 +++++++++++++++++++ src/test/compile-fail/export.rs | 4 ++-- src/test/compile-fail/export2.rs | 25 +++++++++++++++++++++++++ src/test/run-pass/export-non-interference2.rs | 18 ++++++++++++++++++ src/test/run-pass/export-non-interference3.rs | 19 +++++++++++++++++++ 5 files changed, 83 insertions(+), 2 deletions(-) create mode 100644 src/test/compile-fail/export-boot.rs create mode 100644 src/test/compile-fail/export2.rs create mode 100644 src/test/run-pass/export-non-interference2.rs create mode 100644 src/test/run-pass/export-non-interference3.rs (limited to 'src/test') diff --git a/src/test/compile-fail/export-boot.rs b/src/test/compile-fail/export-boot.rs new file mode 100644 index 00000000..7a9fc776 --- /dev/null +++ b/src/test/compile-fail/export-boot.rs @@ -0,0 +1,19 @@ +// xfail-stage0 +// error-pattern: unknown module item + +// rustboot has a different error message than rustc +// this test can die with rustboot, or rustc's error can change + +mod foo { + export x; + fn x(int y) { + log y; + } + fn z(int y) { + log y; + } +} + +fn main() { + foo.z(10); +} diff --git a/src/test/compile-fail/export.rs b/src/test/compile-fail/export.rs index 84e87c2e..d54e515c 100644 --- a/src/test/compile-fail/export.rs +++ b/src/test/compile-fail/export.rs @@ -1,5 +1,5 @@ -// xfail-stage0 -// error-pattern: unknown module item +// xfail-boot +// error-pattern: unresolved name mod foo { export x; fn x(int y) { diff --git a/src/test/compile-fail/export2.rs b/src/test/compile-fail/export2.rs new file mode 100644 index 00000000..18e84ddc --- /dev/null +++ b/src/test/compile-fail/export2.rs @@ -0,0 +1,25 @@ +// xfail-boot +// error-pattern: unresolved name + +mod foo { + export x; + + fn x() { + bar.x(); + } +} + +mod bar { + export y; + + fn x() { + log "x"; + } + + fn y() { + } +} + +fn main() { + foo.x(); +} diff --git a/src/test/run-pass/export-non-interference2.rs b/src/test/run-pass/export-non-interference2.rs new file mode 100644 index 00000000..e5b324e4 --- /dev/null +++ b/src/test/run-pass/export-non-interference2.rs @@ -0,0 +1,18 @@ +mod foo { + + export bar; + + mod bar { + fn y() { + x(); + } + } + + fn x() { + log "x"; + } +} + +fn main() { + foo.bar.y(); +} diff --git a/src/test/run-pass/export-non-interference3.rs b/src/test/run-pass/export-non-interference3.rs new file mode 100644 index 00000000..c52b13f7 --- /dev/null +++ b/src/test/run-pass/export-non-interference3.rs @@ -0,0 +1,19 @@ +mod foo { + export x; + + fn x() { + bar.x(); + } +} + +mod bar { + export x; + + fn x() { + log "x"; + } +} + +fn main() { + foo.x(); +} -- cgit v1.2.3