Bring back extend T::Generic for add-on API classes
#3482
Merged
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.

Motivation
We can't remove the
extend T::Genericstatements from classes that are involved in the public add-on API without marking it as a breaking change. If the add-on is using Sorbet and puts an inline signature in the code referencing a generic class, it will crash because theself.[]method no longer exists.This is unfortunately happening in v0.23.18 for the Rails (for users who haven't upgraded) and RSpec add-ons. I think we should bring back the
extend T::Genericand ship a new version to avoid the crashes.Then we mark the removal of these as a breaking changes, so that upgrades happen smoothly.