Currently in //cc/ipc we group all of the struct traits into a single target called "struct_traits" and every mojo interface depends on the whole "struct_traits" target in its typemap. This is wrong because it prevents the struct traits of one interface to depend on another interface. For example, Foo struct might need to have a BarPtr but because of the way dependencies are set up this is impossible to do at the moment since a dependency cycle will be created (interfaces -> struct traits -> interfaces). The correct way of handling this can be found here: https://cs.chromium.org/chromium/src/mojo/common/values.typemap Every typemap needs to include a list of its struct traits and depend on them only.
Comment 1 by samans@chromium.org
, Feb 14 2017Owner: samans@chromium.org
Status: Started (was: Untriaged)