Skip to content
Snippets Groups Projects
Commit ead6a2ba authored by Stefan Bürk's avatar Stefan Bürk Committed by Christian Kuhn
Browse files

[BUGFIX] Ensure type inheritance compatibility for RouteResultInterface

PageArguments and SiteRouteResult implementing the
\ArrayAccess interface indirectly through implementing
RouteResultInterface, but do not have set parameter
and return type for some methods. This could not be done
as mixed is only availabe since PHP 8.0.

PHP 8.1 implemented concrete return types for internal
classes, interfaces and methods which triggers deprecation
messages, unless they are part on an inheritance.

This patch adds the #[\ReturnTypeWillChange] attribute
to suppress the message for PHP 8.1, but ensure the
compatibility for PHP 7.4.

Further @todo's are added to remove #[\ReturnTypeWillChange]
and add concrete return types and parameter types as
breaking change in v12.

Resolves: #95746
Releases: master
Change-Id: I584e56295d43d063b9cce05377f5ab3c1641b00a
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/71949


Tested-by: default avatarcore-ci <typo3@b13.com>
Tested-by: default avatarSimon Gilli <typo3@gilbertsoft.org>
Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: default avatarSimon Gilli <typo3@gilbertsoft.org>
Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
parent 2d60bff0
Branches
Tags
No related merge requests found
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment