trait A {} trait B : A {} trait C : B, A {} trait C1 : B, A {} trait D : C, B{} trait A1 {} trait B1 : A1 {} trait B2 : A1, B1 {} trait BA1 {} trait BB1 : BA1 {} trait BB2 : BA1, BB1 {} namespace x { trait AA1 {} trait AB1 : AA1 {} trait AB3 : AA1> {} trait AB2 : AA1, AB1, AB3 {} } namespace x2 { trait AA1 {} trait AB1 : AA1 {} trait AB3 : AA1> {} trait AB2 : AA1, AB1, AB3 {} } namespace x3 { trait AA1 {} trait AB1 : AA1 {} trait AB3 : AA1> {} trait AB2 : AA1, AB1, AB3 {} } namespace sx2 { trait AA1 {} trait AB1 : AA1 {} trait AB3 : AA1> {} trait AB2 : AA1, AB1, AB3 {} }