The problem below is that during the checking of A, f is an expression that returns a B, which is not an A, but contains an A. ``` type A [unsafe.Sizeof(f())]int func f() B { return B{} } type B struct { f A } ```
The problem below is that during the checking of A, f is an expression that returns a B, which is not an A, but contains an A.