[12.x] incorrect use of generics in Schema\Builder#55687
Merged
taylorotwell merged 2 commits intolaravel:12.xfrom May 9, 2025
Merged
[12.x] incorrect use of generics in Schema\Builder#55687taylorotwell merged 2 commits intolaravel:12.xfrom
taylorotwell merged 2 commits intolaravel:12.xfrom
Conversation
Contributor
|
Ahem, what made you think that? |
LukeTowers
added a commit
to LukeTowers/framework
that referenced
this pull request
Jul 23, 2025
Fixes laravel#56152 which was caused by the incorrect parameters being used for a more specific type hint docblock merged in laravel#55687. This currently causes issues with projects that use static analysis and make use of the $builder->blueprintResolver() method to resolve custom blueprints. Example below: ------ ---------------------------------------------------------------------------------------------------------- Line Database/DatabaseServiceProvider.php ------ ---------------------------------------------------------------------------------------------------------- :109 Parameter laravel#1 $connection of class Winter\Storm\Database\Schema\Blueprint constructor expects Illuminate\Database\Connection, string given. 🪪 argument.type :109 Parameter laravel#2 $table of class Winter\Storm\Database\Schema\Blueprint constructor expects string, Closure given. 🪪 argument.type :109 Parameter laravel#3 $callback of class Winter\Storm\Database\Schema\Blueprint constructor expects Closure|null, string given. 🪪 argument.type ------ ----------------------------------------------------------------------------------------------------------
taylorotwell
pushed a commit
that referenced
this pull request
Jul 23, 2025
* Fix incorrect docblock for custom builder resolvers Fixes #56152 which was caused by the incorrect parameters being used for a more specific type hint docblock merged in #55687. This currently causes issues with projects that use static analysis and make use of the $builder->blueprintResolver() method to resolve custom blueprints. Example below: ------ ---------------------------------------------------------------------------------------------------------- Line Database/DatabaseServiceProvider.php ------ ---------------------------------------------------------------------------------------------------------- :109 Parameter #1 $connection of class Winter\Storm\Database\Schema\Blueprint constructor expects Illuminate\Database\Connection, string given. 🪪 argument.type :109 Parameter #2 $table of class Winter\Storm\Database\Schema\Blueprint constructor expects string, Closure given. 🪪 argument.type :109 Parameter #3 $callback of class Winter\Storm\Database\Schema\Blueprint constructor expects Closure|null, string given. 🪪 argument.type ------ ---------------------------------------------------------------------------------------------------------- * Update src/Illuminate/Database/Schema/Builder.php * Apply suggestions from code review
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
#55607 added generics to Schema\Builder class, but it's used incorrectly.
If you define a template for a class, the type should appear in the constructor which doesn't happen in this case.
The author probably thought
@templatewas a type alias (like@phpstan-typeor@psalm-type).This PR removes the
@templateand just embeds type in the docs.