Scala 2.8.1: Changing how a lazy val is imported affects when it is evaluated. Is this a bug?
===

This is in scala.2.8.1

I have an object Config. In it is a lazy val, `database`.

Sample A:

    import Config.database

     class foo {  
       protected val db = database  
    }

Sample B:

    import Config

    class foo {
      protected val db = Config.database
    }


The order that database is evaluated in is different in Sample A and Sample B.  
I don't think should be correct behaviour. Certainly it's not intuitive. If this isn't a bug, could someone explain why this behaviour has been chosen?