Aladdin - Scala Bugtracking
[#309] project: compiler priority: low category: bug
submitter assigned to status date submitted
Erik Martin fixed 2004-03-15 17:10:48.0
subject Strange scoping
code
 object Test with Application {
   object o {
     val a = 42;
   }
   Console.println(a);

   {
     import o.a;
     Console.println(a);
   }
   val a = 5;
 }


object Test2 with Application {
   object o {
     val a = 42;
   }
   Console.println(a);
   val a = 5;
   {
     import o.a;
     Console.println(a);
   }
 }
what happened
The object Test compiles fine, but Test2 gives the error:
test.scala:9: reference to a is ambiguous;
it is both defined in object class Test and imported subsequently by 
import Test.this.o.{a}
      Console.println(a);
                      ^
one error found
what expected That either both fail or none of them fail since the scope of a should contain the inner block in both cases.
[back to overview]
Changes of this bug report
Martin  edited on  2004-04-18 14:05:39.0
Now they both give errors, as they should.