class B extends A { protected val x = false } trait A requires B { x }