From c1ffb3b678473cebcb10cb2213c40f17e2762804 Mon Sep 17 00:00:00 2001 From: Geoff Hill Date: Fri, 17 Jan 2014 22:01:05 +0000 Subject: [PATCH] Fix error output for module operations on types. Replace the error messages (shown when a non-module type is used as a module) with internal debug messages. This is in line with the nearby error behavior. --- src/librustc/middle/resolve.rs | 9 ++++----- .../call-method-using-module-syntax.rs | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 src/test/compile-fail/call-method-using-module-syntax.rs diff --git a/src/librustc/middle/resolve.rs b/src/librustc/middle/resolve.rs index e42f4433653d3..f5b3f46d66924 100644 --- a/src/librustc/middle/resolve.rs +++ b/src/librustc/middle/resolve.rs @@ -3035,9 +3035,8 @@ impl Resolver { Some(type_def) => { match type_def.module_def { None => { - error!("!!! (resolving module in lexical \ - scope) module wasn't actually a \ - module!"); + debug!("(resolving module in lexical scope) \ + module definition not found"); return Failed; } Some(module_def) => { @@ -3046,8 +3045,8 @@ impl Resolver { } } None => { - error!("!!! (resolving module in lexical scope) module - wasn't actually a module!"); + debug!("(resolving module in lexical scope) \ + type defintion not found"); return Failed; } } diff --git a/src/test/compile-fail/call-method-using-module-syntax.rs b/src/test/compile-fail/call-method-using-module-syntax.rs new file mode 100644 index 0000000000000..3a32da23599b1 --- /dev/null +++ b/src/test/compile-fail/call-method-using-module-syntax.rs @@ -0,0 +1,16 @@ +struct T; + +trait Test { + fn hello() -> uint; +} + +impl Test for T { + fn hello() { 5 } +} + +fn main() { + T::hello(); + //~^ ERROR unresolved name + //~^^ ERROR use of undeclared module `T` + //~^^^ ERROR unresolved name `T::hello` +}