Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking Issue for ForwardingChannelBuilder2 being Experimental #10585

Closed
sergiitk opened this issue Oct 2, 2023 · 1 comment · Fixed by #10586
Closed

Tracking Issue for ForwardingChannelBuilder2 being Experimental #10585

sergiitk opened this issue Oct 2, 2023 · 1 comment · Fixed by #10586
Assignees
Labels
experimental API Issue tracks stabilizing an experimental API
Milestone

Comments

@sergiitk
Copy link
Member

sergiitk commented Oct 2, 2023

Introduced in #10406.

ForwardingChannelBuilder2 is a ManagedChannelBuilder that delegates all its builder methods to another builder by default.

It replaces ForwardingChannelBuilder, which isn't ABI-safe. ForwardingChannelBuilder class was mistakenly declared as ForwardingChannelBuilder<T extends ForwardingChannelBuilder<T>>. It causes return types of inherited methods in its child classes to be ForwardingChannelBuilder instead of ManagedChannelBuilder. This pollutes the ABI with undesired method signatures, and introduces hard dependency on ForwardingChannelBuilder

ForwardingChannelBuilder2 generates correct return types. It should always be chosen over ForwardingChannelBuilder

We plan to stabilize ForwardingChannelBuilder2 in one of the following releases, and deprecate ForwardingChannelBuilder.

@sergiitk sergiitk added the experimental API Issue tracks stabilizing an experimental API label Oct 2, 2023
@sergiitk sergiitk self-assigned this Oct 2, 2023
@sergiitk
Copy link
Member Author

sergiitk commented Oct 2, 2023

cc @larry-safran @ejona86

@larry-safran larry-safran added this to the Next milestone Oct 3, 2023
@ejona86 ejona86 modified the milestones: Next, 1.60 Nov 13, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 12, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
experimental API Issue tracks stabilizing an experimental API
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants