From a5e1453be987d49389d41e48ac2ac79cc53acee9 Mon Sep 17 00:00:00 2001 From: kakiuchi-shigenao Date: Fri, 21 Nov 2025 23:25:37 +0900 Subject: [PATCH] =?UTF-8?q?PHP=208.5=20=E3=83=90=E3=83=BC=E3=82=B8?= =?UTF-8?q?=E3=83=A7=E3=83=B3=E3=82=A2=E3=83=83=E3=83=97=E5=AF=BE=E5=BF=9C?= =?UTF-8?q?=20Fixes=20#54?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mise.toml | 2 ++ src/Option/None.php | 3 +++ src/Option/Some.php | 5 +++++ src/Result/Err.php | 4 ++++ src/Result/Ok.php | 5 +++++ tests/Unit/Option/OrThrowTest.php | 2 -- tests/Unit/Result/OrThrowTest.php | 2 -- 7 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 mise.toml diff --git a/mise.toml b/mise.toml new file mode 100644 index 0000000..76f6a01 --- /dev/null +++ b/mise.toml @@ -0,0 +1,2 @@ +[tools] +php = "8.5" diff --git a/src/Option/None.php b/src/Option/None.php index 7780f5f..1d327dd 100644 --- a/src/Option/None.php +++ b/src/Option/None.php @@ -6,6 +6,7 @@ use Closure; use EmptyIterator; +use NoDiscard; use Override; use RuntimeException; use Throwable; @@ -78,12 +79,14 @@ public function unwrap(): never $this->expect('Unwrapping a `None` value'); } + #[NoDiscard] #[Override] public function unwrapOr(mixed $default): mixed { return $default; } + #[NoDiscard] #[Override] public function unwrapOrElse(Closure $default): mixed { diff --git a/src/Option/Some.php b/src/Option/Some.php index 4170dcc..a25ceca 100644 --- a/src/Option/Some.php +++ b/src/Option/Some.php @@ -5,6 +5,7 @@ namespace WizDevelop\PhpMonad\Option; use Closure; +use NoDiscard; use Override; use Throwable; use Traversable; @@ -80,6 +81,7 @@ public function expect(string $message): mixed /** * @throws void */ + #[NoDiscard] #[Override] public function unwrap(): mixed { @@ -89,6 +91,7 @@ public function unwrap(): mixed /** * @return T */ + #[NoDiscard] #[Override] public function unwrapOr(mixed $default): mixed { @@ -98,6 +101,7 @@ public function unwrapOr(mixed $default): mixed /** * @return T */ + #[NoDiscard] #[Override] public function unwrapOrElse(Closure $default): mixed { @@ -110,6 +114,7 @@ public function unwrapOrElse(Closure $default): mixed * @return T * @throws never */ + #[NoDiscard] #[Override] public function unwrapOrThrow(Throwable $exception): mixed { diff --git a/src/Result/Err.php b/src/Result/Err.php index 02fff8a..23c95b0 100644 --- a/src/Result/Err.php +++ b/src/Result/Err.php @@ -6,6 +6,7 @@ use Closure; use EmptyIterator; +use NoDiscard; use Override; use RuntimeException; use Throwable; @@ -103,6 +104,7 @@ public function unwrap(): never /** * @return E */ + #[NoDiscard] #[Override] public function unwrapErr(): mixed { @@ -114,6 +116,7 @@ public function unwrapErr(): mixed * @param U $default * @return U */ + #[NoDiscard] #[Override] public function unwrapOr(mixed $default): mixed { @@ -125,6 +128,7 @@ public function unwrapOr(mixed $default): mixed * @param Closure(E): U $default * @return U */ + #[NoDiscard] #[Override] public function unwrapOrElse(Closure $default): mixed { diff --git a/src/Result/Ok.php b/src/Result/Ok.php index 77aeb9d..d946b75 100644 --- a/src/Result/Ok.php +++ b/src/Result/Ok.php @@ -5,6 +5,7 @@ namespace WizDevelop\PhpMonad\Result; use Closure; +use NoDiscard; use Override; use RuntimeException; use Throwable; @@ -92,6 +93,7 @@ public function expect(string $message): mixed /** * @return T */ + #[NoDiscard] #[Override] public function unwrap(): mixed { @@ -107,12 +109,14 @@ public function unwrapErr(): never throw new RuntimeException(sprintf('Unwrapping err on `Ok`: %s', serialize($this->value))); } + #[NoDiscard] #[Override] public function unwrapOr(mixed $default): mixed { return $this->value; } + #[NoDiscard] #[Override] public function unwrapOrElse(Closure $default): mixed { @@ -125,6 +129,7 @@ public function unwrapOrElse(Closure $default): mixed * @return T * @throws never */ + #[NoDiscard] #[Override] public function unwrapOrThrow(Throwable $exception): mixed { diff --git a/tests/Unit/Option/OrThrowTest.php b/tests/Unit/Option/OrThrowTest.php index 96963da..639b08d 100644 --- a/tests/Unit/Option/OrThrowTest.php +++ b/tests/Unit/Option/OrThrowTest.php @@ -15,8 +15,6 @@ #[TestDox('Option - OrThrow メソッドのテスト')] #[CoversClass(Option::class)] -#[CoversClass(Option\Some::class)] -#[CoversClass(Option\None::class)] final class OrThrowTest extends TestCase { #[Test] diff --git a/tests/Unit/Result/OrThrowTest.php b/tests/Unit/Result/OrThrowTest.php index fd07e79..3350975 100644 --- a/tests/Unit/Result/OrThrowTest.php +++ b/tests/Unit/Result/OrThrowTest.php @@ -15,8 +15,6 @@ #[TestDox('Result - OrThrow メソッドのテスト')] #[CoversClass(Result::class)] -#[CoversClass(Result\Ok::class)] -#[CoversClass(Result\Err::class)] final class OrThrowTest extends TestCase { #[Test]