From 799bc0a1934535bfebbb912fd3c86d88af9edc28 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Mon, 13 Aug 2012 17:55:21 -0700 Subject: [PATCH] libsyntax: Allow "use" to be used in place of "import" --- src/libsyntax/parse/parser.rs | 12 +++++++++--- src/test/run-pass/new-import-syntax.rs | 6 ++++++ 2 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 src/test/run-pass/new-import-syntax.rs diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 685a6a34405e..0dd1c70cd936 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -3132,9 +3132,15 @@ class parser { } fn parse_use() -> view_item_ { - let ident = self.parse_ident(); - let metadata = self.parse_optional_meta(); - return view_item_use(ident, metadata, self.get_id()); + if self.look_ahead(1) == token::SEMI || + self.look_ahead(1) == token::LPAREN { + // Old-style "use"; i.e. what we now call "extern mod". + let ident = self.parse_ident(); + let metadata = self.parse_optional_meta(); + return view_item_use(ident, metadata, self.get_id()); + } + + return view_item_import(self.parse_view_paths()); } fn parse_view_path() -> @view_path { diff --git a/src/test/run-pass/new-import-syntax.rs b/src/test/run-pass/new-import-syntax.rs new file mode 100644 index 000000000000..2d77d7ad5698 --- /dev/null +++ b/src/test/run-pass/new-import-syntax.rs @@ -0,0 +1,6 @@ +use io::println; + +fn main() { + println("Hello world!"); +} +