Open
Description
trait A { foo: Int }
trait B { foo: Int }
contract Test with A, B {
foo: Int = 42;
}
The snippet above compiles just fine but field sharing may result in some weird behavior if the traits A and B use the shared field in an inconsistent manner.
Since this could be fine, we should not disallow field sharing but come up with a mechanism to resolve this issue.