@jplatte It’s essentially the same phenomenon, but triggered in a different way.
@tczajka Your example is indeed much clearer.
Working case:
A has an unknown type → A = B → B has a known type → compiles successfully
Failing case:
A has an unknown type → access A.field → A = B → B has a known type → type inference fails
Even though the IDE (e.g. Rust…