Commit Graph

11 Commits

Author SHA1 Message Date
Ben Ramsey d8ade1e1d2 Merge branch '4.x' into 5.x 2025-05-25 12:49:19 -05:00
Natsuki Ikeguchi 3caf795655 feat: Support brick/math v0.12 (#526)
Signed-off-by: Natsuki Ikeguchi <me@s6n.jp>
2024-04-27 16:17:30 -05:00
Ben Ramsey 2b46cec8e5 Merge branch '4.x' into 5.x 2022-08-05 17:40:48 -05:00
Ben Ramsey 7b3eaf32c7 Deprecate Uuid::setFactory() and Uuid::getFactory() 2022-08-05 17:34:18 -05:00
Ben Ramsey 3c4b784d33 chore: upgrade Psalm and update baseline 2022-04-01 17:41:59 -05:00
Marco Pivetta 7e04dde8fd Upgraded psalm.xml to be compatible with vimeo/psalm:^4.20
This moves from `totallyTyped="true"` to `errorLevel="1"`, since `totallyTyped="true"` was deprecated, and
leads to a CI failure.
2022-03-22 12:41:43 +01:00
Ben Ramsey 852850b7da Remove mocks for ext-uuid functions 2021-09-23 18:49:10 -05:00
Ben Ramsey c005f69d6e chore: update package files 2021-08-06 14:05:57 -05:00
Ben Ramsey 5d7c0f2210 Move files to clean up project root directory 2020-01-19 23:48:55 -06:00
Barney Laurance bdc9170edc Run Psalm on src as well as Static Analysis Fixture (#282)
* Run Psalm on src as well as Static Analysis Fixture

Psalm baselining feature is used to prevent immediate build failures -
psalm will just cause failures for errors caused by future changes to
the code.

See https://psalm.dev/docs/running_psalm/dealing_with_code_issues/#using-a-baseline-file

* Fix MixedArgument issues in OrderedTimeCodec

Potentially unpack should be documented as returning string[] instead of
array to make this unecassary.

* Fix Psalm PossiblyNullPropertyAssignmentValue issues

* Add psalm-immutable annotation to Uuid class

* Fix Psalm MixedArgument issues

* Fix MissingImmutableAnnotation psalm issue

* Fix Psalm MixedAssignment issue

* Fix Psalm InvalidReturnStatement / InvalidReturnType issue

* Add ImpureMethodCall issues to baseline.

Fixing these in one place just moves them somewhere else.

* Exclude psalm-baseline.xml from exported git archives
2020-01-18 12:13:56 -06:00
Marco Pivetta c935fbb0d9 Added minimal static analysis test suite to ensure purity/immutability of UUID API
This covers most of the commonly used `Uuid` and `UuidInterface` API, and allows us
to pass around `UuidInterface` references as if they were pure.

Note that this only verifies the *contract* of a `UuidInterface`: it is still very
much possible to write mutable `UuidInterface` implementations (and `Uuid` itself
has such an edge-case, allowing for replacement of the static `UuidFactory` reference),
but if you really do mutate UUIDs at runtime, then your code is very much hurting your
project, and you should get rid of that detail.
2020-01-18 12:13:55 -06:00