Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
DataConnectOperationError
extendsDataConnectError
, both of which have tags@hideconstructor
. This means that in public builds, our output marks the constructors asprivate
. However, this causes an error to be thrown:cannot extend private constructor
, becauseDataConnectOperationError
extendsDataConnectError
, which has a private constructor. The reason why this wasn't caught during integration tests is because to integration tests, the constructors aren't private, but for public builds (that are used by external devs), the constructors are private. So the only way we could've caught this would've been to use the published version (or packaged version) of the SDK.TL;DR: Fix error where if we exported
DataConnectError
, then when using the types, the user would get acannot extend private constructor
due to the fact thatDataConnectOperationError
would extendDataConnectError
.The fix for this is to remove the
@hideconstructor
annotation. The right fix would have been to not exportDataConnectError
at all, but if we do that, it would result in a breaking change for those who useDataConnectError
. (Though, the argument can be made that no one is even able to use that type because the types are broken).