Remove the binder.disableCircularProxies() and
binder.requireExplicitBindings() calls from ThriftCodecModule. They're not
required by ThriftCodecModule, but due to the way Guice works they are
propagated to sibling modules. This forces applications which want to use
ThriftCodecModule to either forego implicit bindings or embed their
ThriftCodecModule instance inside a child injector or private module, which
somewhat defeats the point of having a shared ThriftCodecModule.
Summary:
Remove the
binder.disableCircularProxies()
andbinder.requireExplicitBindings()
calls from ThriftCodecModule. They're not required by ThriftCodecModule, but due to the way Guice works they are propagated to sibling modules. This forces applications which want to use ThriftCodecModule to either forego implicit bindings or embed their ThriftCodecModule instance inside a child injector or private module, which somewhat defeats the point of having a shared ThriftCodecModule.Test plan: code review
Reviewers: @martint, @dain, @andrewcox
Cc: @cairnsjr