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

PHP 8.3 build #751

Merged
merged 11 commits into from
Nov 25, 2023
Merged

PHP 8.3 build #751

merged 11 commits into from
Nov 25, 2023

Conversation

michael-rubel
Copy link
Contributor

@michael-rubel michael-rubel commented Nov 2, 2023

About

Updates constraints for PHP 8.3.

@michael-rubel
Copy link
Contributor Author

Ah, there are more dependencies to update. Probably worth waiting till a stable release. 🙂

@michael-rubel
Copy link
Contributor Author

Hi @Ocramius

Left the PR in better-reflection. Could you take a look?

@Ocramius
Copy link
Member

Ocramius commented Nov 24, 2023

@michael-rubel upstream is released BTW - https://github.com/Roave/BetterReflection/releases/tag/6.18.0

@Ocramius Ocramius added this to the 8.4.0 milestone Nov 24, 2023
@michael-rubel
Copy link
Contributor Author

@Ocramius the next one. 😁

Roave/Signature#64

@Ocramius
Copy link
Member

@michael-rubel also released 👍

@Ocramius
Copy link
Member

Seems like the roave/better-reflection upstream dependency bump introduced some type alignment issues:

Error: src/SourceLocator/LocatedSourceWithStrippedSourcesDirectory.php:14:63: MissingImmutableAnnotation: Roave\BetterReflection\SourceLocator\Located\LocatedSource is marked @psalm-immutable, but Roave\BackwardCompatibility\SourceLocator\LocatedSourceWithStrippedSourcesDirectory is not marked @psalm-immutable (see https://psalm.dev/213)
Error: src/SourceLocator/LocatedSourceWithStrippedSourcesDirectory.php:22:5: MissingImmutableAnnotation: Roave\BetterReflection\SourceLocator\Located\LocatedSource::getSource is marked @psalm-immutable, but Roave\BackwardCompatibility\SourceLocator\LocatedSourceWithStrippedSourcesDirectory::getSource is not marked @psalm-immutable (see https://psalm.dev/213)
Error: src/SourceLocator/LocatedSourceWithStrippedSourcesDirectory.php:27:5: MissingImmutableAnnotation: Roave\BetterReflection\SourceLocator\Located\LocatedSource::getName is marked @psalm-immutable, but Roave\BackwardCompatibility\SourceLocator\LocatedSourceWithStrippedSourcesDirectory::getName is not marked @psalm-immutable (see https://psalm.dev/213)
Error: src/SourceLocator/LocatedSourceWithStrippedSourcesDirectory.php:32:5: MissingImmutableAnnotation: Roave\BetterReflection\SourceLocator\Located\LocatedSource::getFileName is marked @psalm-immutable, but Roave\BackwardCompatibility\SourceLocator\LocatedSourceWithStrippedSourcesDirectory::getFileName is not marked @psalm-immutable (see https://psalm.dev/213)
Error: src/SourceLocator/LocatedSourceWithStrippedSourcesDirectory.php:32:36: MoreSpecificReturnType: The declared return type 'non-empty-string|null' for Roave\BackwardCompatibility\SourceLocator\LocatedSourceWithStrippedSourcesDirectory::getFileName is more specific than the inferred return type 'null|string' (see https://psalm.dev/070)
Error: src/SourceLocator/LocatedSourceWithStrippedSourcesDirectory.php:40:16: LessSpecificReturnStatement: The type 'string' is more general than the declared return type 'non-empty-string|null' for Roave\BackwardCompatibility\SourceLocator\LocatedSourceWithStrippedSourcesDirectory::getFileName (see https://psalm.dev/129)
Error: src/SourceLocator/LocatedSourceWithStrippedSourcesDirectory.php:43:5: MissingImmutableAnnotation: Roave\BetterReflection\SourceLocator\Located\LocatedSource::isInternal is marked @psalm-immutable, but Roave\BackwardCompatibility\SourceLocator\LocatedSourceWithStrippedSourcesDirectory::isInternal is not marked @psalm-immutable (see https://psalm.dev/213)
Error: src/SourceLocator/LocatedSourceWithStrippedSourcesDirectory.php:48:5: MissingImmutableAnnotation: Roave\BetterReflection\SourceLocator\Located\LocatedSource::getExtensionName is marked @psalm-immutable, but Roave\BackwardCompatibility\SourceLocator\LocatedSourceWithStrippedSourcesDirectory::getExtensionName is not marked @psalm-immutable (see https://psalm.dev/213)
Error: src/SourceLocator/LocatedSourceWithStrippedSourcesDirectory.php:53:5: MissingImmutableAnnotation: Roave\BetterReflection\SourceLocator\Located\LocatedSource::isEvaled is marked @psalm-immutable, but Roave\BackwardCompatibility\SourceLocator\LocatedSourceWithStrippedSourcesDirectory::isEvaled is not marked @psalm-immutable (see https://psalm.dev/213)
Error: src/SourceLocator/LocatedSourceWithStrippedSourcesDirectory.php:58:5: MissingImmutableAnnotation: Roave\BetterReflection\SourceLocator\Located\LocatedSource::getAliasName is marked @psalm-immutable, but Roave\BackwardCompatibility\SourceLocator\LocatedSourceWithStrippedSourcesDirectory::getAliasName is not marked @psalm-immutable (see https://psalm.dev/213)

I think we should revert the composer.lock changes, and only update the composer.lock hash (via composer update nothing).

Any issues arising from dependency upgrades would then be fixed later on, IMO, in a separate patch, unless it's work you're willing to do here.

@Ocramius
Copy link
Member

Verifying lock file contents can be installed on current platform.
- Required package "roave/better-reflection" is in the lock file as "6.5.0" but that does not satisfy your constraint "^6.18.0".

We need to revert also the dependency bumps in composer.json, for now :D

composer.json Outdated Show resolved Hide resolved
@michael-rubel
Copy link
Contributor Author

@Ocramius Yeah, seems safe now. 😁

Copy link
Member

@Ocramius Ocramius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @michael-rubel!

@Ocramius Ocramius merged commit 9b45bc3 into Roave:8.4.x Nov 25, 2023
17 checks passed
@Ocramius
Copy link
Member

And released :-)

@michael-rubel michael-rubel deleted the support/php83 branch March 12, 2024 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants