그 타입에 대한 impl 할때나 그 타입을 이용하는 다른 타입을 만들때마다 그 한정자 계속 붙여줘야되니?


struct A<T: Trait> { t: T, } struct B<T: Trait> { a: A<T>, }


A의 제네렉 타입 파라미터 T를 Trait 트레잇으로 한정한 이상

A를 임베딩한 B 정의시에도 무조건 그 한정이 따라붙는것까지는 당연한데


struct A<T: Trait> { t: T, } struct B<T> { a: A<T>, }


아래처럼만 써도 컴파일러가 A 타입 정의에 달린 한정자를 보고 B쪽에도 자동으로 적용해준다든가는 안되는건가?


공식 레퍼런스 보고 A 타입 정의 자체에서는 한정하지 말고 A 타입을 이용하는 다른 경우(메소드 구현이나 임베딩 등)에 필요한 한정을 하는 패턴을 따르고 있는데

가끔 어쩔수 없이 타입 정의 자체에 한정해야할 때가 있는데 A 타입이 여기저기 존나 쓰이면 너무 번거로워진다ㅠ