Skip to content

Bump vimeo/psalm from 3.13.1 to 3.14.1

Wesley Klop requested to merge dependabot/composer/vimeo/psalm-3.14.1 into master

Created by: dependabot[bot]

Bumps vimeo/psalm from 3.13.1 to 3.14.1.

Release notes

Sourced from vimeo/psalm's releases.

Fix regression

Fixes a crash with this code:

/**
  * @param array<int, int> $arr
 */
 function foo(array $arr) : void {
    for ($i = 20; $arr[$i] === 5 && $i > 0; $i--) {}
}

Flag named argument discrepancies

Features

Named argument checks with ParamNameMismatch

For more information, see this article.

Preventing unsafe instantiation

Psalm now warns you when calling new $foo() where $foo() is a class that can be extended and where the constructor is not declared final, or new static where the constructor is not declared final (#3934).

For more information, see the issue page

Other features

  • @mr-feek added support for supplying memory limit with a --memory-limit flag (#3947)

Bugfixes

  • fix a few false-positives around positive-int types (#3914)
  • expand scalar-class-constant types in a few more places (#3913, #3741)
  • @NicolasCARPi improved the signature for hash_file() (#3920)
  • honour arrays with class-string keys when appending literal classes (#3923)
  • @SignpostMarv marked bscale as impure (ref #3918)
  • preserve list-ness when assigning to a tuple inside a loop (#3928)
  • fix regression with array_shift (#3941)
  • @jarstelfox fixed the casing checker to ignore callStatic (#3939)
  • @xyng added support for multiple mixins (#3772)
  • improved Psalm's recovery when it encounters complex boolean logic (#3932, #3954)
  • @ygottschalk improved reset's return type
  • @sasezaki fixed the treatment of generators when an explicit send type is provided (#3966)
  • Language Server @ngyuki fixed file path handling on windows (#3984)
  • Use unused code config settings when running language server (#3987)
  • Prevent an incorrect intersection of union types with usort (#3964)
  • Prevent crash with bad imported type reference (#3927)
  • @weirdan improved handling of @psalm-import-type errors (#3997)
  • comparisons between classes and interfaces are now allowed (#3917)
Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Merge request reports