laminas-diagnostics icon indicating copy to clipboard operation
laminas-diagnostics copied to clipboard

Update dependency vimeo/psalm to v5 - abandoned

Open renovate[bot] opened this issue 2 years ago • 10 comments

Mend Renovate

This PR contains the following updates:

Package Type Update Change
vimeo/psalm require-dev major ^4.29.0 -> ^5.0.0

Release Notes

vimeo/psalm

v5.2.0

Compare Source

What's Changed

Features
Fixes
Internal changes
Typos

New Contributors

Full Changelog: https://github.com/vimeo/psalm/compare/5.1.0...5.2.0

v5.1.0

Compare Source

What's Changed

Deprecations
Features
Fixes
Docs

New Contributors

Full Changelog: https://github.com/vimeo/psalm/compare/5.0.0...5.1.0

v5.0.0: Psalm 5

Compare Source

Welcome to Psalm 5!

There's an accompanying post on psalm.dev, written by @​muglug & the current maintainers of Psalm.

What's Changed

Removed
Features
Fixes
Docs
Internal changes
Typos
Other changes

New Contributors

Full Changelog: https://github.com/vimeo/psalm/compare/4.30.0...5.0.0


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • [ ] If you want to rebase/retry this PR, check this box

Read more information about the use of Renovate Bot within Laminas.

renovate[bot] avatar Nov 30 '22 16:11 renovate[bot]

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

renovate[bot] avatar Dec 13 '22 18:12 renovate[bot]

If existing subclasses extend the ctor, won't they also need to make this change?

__construct is special: it's not considered by LSP rules :)

https://3v4l.org/hGPu0

<?php

interface A {}
interface B {}


class NeedsA {
    function __construct(A $a) {}
}

class NeedsB extends NeedsA {
    function __construct(B $b) {}
}

var_dump(new NeedsB(new class implements B {}));

Ocramius avatar Dec 13 '22 18:12 Ocramius

__construct is special: it's not considered by LSP rules :)

🤯

internalsystemerror avatar Dec 13 '22 18:12 internalsystemerror

PHP 8.2 failing puzzles me :thinking:

Ocramius avatar Dec 13 '22 19:12 Ocramius

Seems like PHP 8.2 considers a chmod($dir, 0) to still be an is_readable($dir) and is_writable($dir) :thinking:

Ocramius avatar Dec 13 '22 19:12 Ocramius

Thought some more about this: needs to revert the Traversable support removal.

That's because ArrayObject is in use most of the time, so the use-case is probably array|(Traversable&Countable), which I hadn't thought about before.

Don't have the energy for it though :D

Ocramius avatar Dec 19 '22 20:12 Ocramius

How about skipping that Countable part completely and simply using [...$path] to cast whatever iterable is inside into an array so we can count it? Anyway we are going to exhaust the iterator at some point:

public function __construct(string|iterable $path)
{
    $this->path = is_string($path) ? [$path] : [...$path];
}

If [...$path] is considered too heavy to be in constructor, you can do that in check() instead.

IonBazan avatar Dec 23 '22 03:12 IonBazan

I don't think it's a heavy cast: we expect this to be configuration, not large data.

If that works for iterable types, I'll just have to add tests for it.

Ocramius avatar Dec 23 '22 12:12 Ocramius

Autoclosing Skipped

This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.

renovate[bot] avatar Jan 13 '23 10:01 renovate[bot]

Is anybody still working on this?

gjuric avatar Mar 26 '24 13:03 gjuric