From cd54e7772040cd268f911e9dfd088ad5f659f552 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 16 Aug 2011 15:21:30 -0700 Subject: Allow multiple imports in a single statement Like so: import foo::{bar, baz}; Issue #817 --- src/test/compile-fail/import-from-missing.rs | 11 +++++++++++ src/test/compile-fail/import-from-none.rs | 8 ++++++++ src/test/compile-fail/import-from-path.rs | 2 ++ src/test/compile-fail/import-from-rename.rs | 10 ++++++++++ src/test/run-pass/import-from-native.rs | 15 +++++++++++++++ src/test/run-pass/import-from.rs | 11 +++++++++++ 6 files changed, 57 insertions(+) create mode 100644 src/test/compile-fail/import-from-missing.rs create mode 100644 src/test/compile-fail/import-from-none.rs create mode 100644 src/test/compile-fail/import-from-path.rs create mode 100644 src/test/compile-fail/import-from-rename.rs create mode 100644 src/test/run-pass/import-from-native.rs create mode 100644 src/test/run-pass/import-from.rs (limited to 'src/test') diff --git a/src/test/compile-fail/import-from-missing.rs b/src/test/compile-fail/import-from-missing.rs new file mode 100644 index 00000000000..1e0b3869053 --- /dev/null +++ b/src/test/compile-fail/import-from-missing.rs @@ -0,0 +1,11 @@ +// error-pattern:unresolved import: eggs +import spam::{ham, eggs}; + +mod spam { + fn ham() {} +} + +fn main() { + ham(); + eggs(); +} \ No newline at end of file diff --git a/src/test/compile-fail/import-from-none.rs b/src/test/compile-fail/import-from-none.rs new file mode 100644 index 00000000000..d80aa4f7ade --- /dev/null +++ b/src/test/compile-fail/import-from-none.rs @@ -0,0 +1,8 @@ +// error-pattern:at least one import is required +import spam::{}; + +mod spam { +} + +fn main() { +} \ No newline at end of file diff --git a/src/test/compile-fail/import-from-path.rs b/src/test/compile-fail/import-from-path.rs new file mode 100644 index 00000000000..91ea6efdf2a --- /dev/null +++ b/src/test/compile-fail/import-from-path.rs @@ -0,0 +1,2 @@ +// error-pattern:cannot path into import list +import foo::{bar}::baz \ No newline at end of file diff --git a/src/test/compile-fail/import-from-rename.rs b/src/test/compile-fail/import-from-rename.rs new file mode 100644 index 00000000000..e4aa78f6320 --- /dev/null +++ b/src/test/compile-fail/import-from-rename.rs @@ -0,0 +1,10 @@ +// error-pattern:can't rename import list + +import baz = foo::{bar}; + +mod foo { + fn bar() {} +} + +fn main() { +} \ No newline at end of file diff --git a/src/test/run-pass/import-from-native.rs b/src/test/run-pass/import-from-native.rs new file mode 100644 index 00000000000..03c49b2adfe --- /dev/null +++ b/src/test/run-pass/import-from-native.rs @@ -0,0 +1,15 @@ +mod spam { + fn ham() {} + fn eggs() {} +} + +native "rust" mod rustrt { + import spam::{ham, eggs}; + export ham; + export eggs; +} + +fn main() { + rustrt::ham(); + rustrt::eggs(); +} \ No newline at end of file diff --git a/src/test/run-pass/import-from.rs b/src/test/run-pass/import-from.rs new file mode 100644 index 00000000000..b42793d16df --- /dev/null +++ b/src/test/run-pass/import-from.rs @@ -0,0 +1,11 @@ +import spam::{ham, eggs}; + +mod spam { + fn ham() {} + fn eggs() {} +} + +fn main() { + ham(); + eggs(); +} \ No newline at end of file -- cgit 1.4.1-3-g733a5