Open
Description
Currently self definition shadows member within template scope:
scala> new { foo => val foo = 2; println(foo) }
$line5.$read$$iw$$iw$$anon$1@5ef50743
res2: AnyRef{val foo: Int} = $anon$1@5ef50743
This behaviour is quite surprising. I'd expect to either see a double definition error or to have template member shadow self definition in that scope.