diff --git a/src/UniTaskPlus.Unity/Packages/jp.andantetribe.unitaskplus/Runtime/Internal/StateTuple.cs b/src/UniTaskPlus.Unity/Packages/jp.andantetribe.unitaskplus/Runtime/Internal/StateTuple.cs
deleted file mode 100644
index 5e46bd1..0000000
--- a/src/UniTaskPlus.Unity/Packages/jp.andantetribe.unitaskplus/Runtime/Internal/StateTuple.cs
+++ /dev/null
@@ -1,121 +0,0 @@
-#nullable enable
-
-using System.Collections.Concurrent;
-using System.Runtime.CompilerServices;
-
-namespace UniTaskPlus.Internal
-{
- ///
- /// A reference tuple with a thread-safe pool. Intended for use in situations where boxing would occur with .
- ///
- internal static class StateTuple
- {
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static StateTuple Create(T1 item1) => StateTuple.Create(item1);
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static StateTuple Create(T1 item1, T2 item2) => StateTuple.Create(item1, item2);
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static StateTuple Create(T1 item1, T2 item2, T3 item3) => StateTuple.Create(item1, item2, item3);
- }
-
- internal sealed class StateTuple
- {
- private static readonly ConcurrentQueue> s_pool = new();
-
- private T1 _item1 = default!;
-
- private StateTuple()
- {
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- internal static StateTuple Create(T1 item1)
- {
- if (s_pool.TryDequeue(out var result))
- {
- result._item1 = item1;
- return result;
- }
- return new StateTuple { _item1 = item1 };
- }
-
- public void Deconstruct(out T1 item1)
- {
- item1 = _item1;
- _item1 = default!;
- s_pool.Enqueue(this);
- }
- }
-
- internal sealed class StateTuple
- {
- private static readonly ConcurrentQueue> s_pool = new();
-
- private T1 _item1 = default!;
- private T2 _item2 = default!;
-
- private StateTuple()
- {
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- internal static StateTuple Create(T1 item1, T2 item2)
- {
- if (s_pool.TryDequeue(out var result))
- {
- result._item1 = item1;
- result._item2 = item2;
- return result;
- }
- return new StateTuple { _item1 = item1, _item2 = item2 };
- }
-
- public void Deconstruct(out T1 item1, out T2 item2)
- {
- item1 = _item1;
- item2 = _item2;
- _item1 = default!;
- _item2 = default!;
- s_pool.Enqueue(this);
- }
- }
-
- internal sealed class StateTuple
- {
- private static readonly ConcurrentQueue> s_pool = new();
-
- private T1 _item1 = default!;
- private T2 _item2 = default!;
- private T3 _item3 = default!;
-
- private StateTuple()
- {
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- internal static StateTuple Create(T1 item1, T2 item2, T3 item3)
- {
- if (s_pool.TryDequeue(out var result))
- {
- result._item1 = item1;
- result._item2 = item2;
- result._item3 = item3;
- return result;
- }
- return new StateTuple { _item1 = item1, _item2 = item2, _item3 = item3 };
- }
-
- public void Deconstruct(out T1 item1, out T2 item2, out T3 item3)
- {
- item1 = _item1;
- item2 = _item2;
- item3 = _item3;
- _item1 = default!;
- _item2 = default!;
- _item3 = default!;
- s_pool.Enqueue(this);
- }
- }
-}
\ No newline at end of file
diff --git a/src/UniTaskPlus.Unity/Packages/jp.andantetribe.unitaskplus/Runtime/Internal/StateTuple.cs.meta b/src/UniTaskPlus.Unity/Packages/jp.andantetribe.unitaskplus/Runtime/Internal/StateTuple.cs.meta
deleted file mode 100644
index 07b2bb5..0000000
--- a/src/UniTaskPlus.Unity/Packages/jp.andantetribe.unitaskplus/Runtime/Internal/StateTuple.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 8680a30b2d794366aba6b36c95067d6b
-timeCreated: 1771836385
\ No newline at end of file
diff --git a/src/UniTaskPlus.Unity/Packages/jp.andantetribe.unitaskplus/Tests/Runtime/UniTaskPlusTests.cs b/src/UniTaskPlus.Unity/Packages/jp.andantetribe.unitaskplus/Tests/Runtime/UniTaskPlusTests.cs
index f761dac..dcab604 100644
--- a/src/UniTaskPlus.Unity/Packages/jp.andantetribe.unitaskplus/Tests/Runtime/UniTaskPlusTests.cs
+++ b/src/UniTaskPlus.Unity/Packages/jp.andantetribe.unitaskplus/Tests/Runtime/UniTaskPlusTests.cs
@@ -7,7 +7,6 @@
using System.Threading;
using Cysharp.Threading.Tasks;
using NUnit.Framework;
-using UniTaskPlus;
using UniTaskPlus.Internal;
using UnityEngine.TestTools;
@@ -47,51 +46,6 @@ public void GrowWhenArrayHasContentCopiesAndClears()
}
}
- public class StateTupleTests
- {
- [Test]
- public void StateTuple1CreateAndDeconstructUsesPool()
- {
- var tuple = StateTuple.Create(1);
- tuple.Deconstruct(out var item1);
- Assert.That(item1, Is.EqualTo(1));
-
- var tuple2 = StateTuple.Create(2);
- tuple2.Deconstruct(out var item2);
- Assert.That(item2, Is.EqualTo(2));
- }
-
- [Test]
- public void StateTuple2CreateAndDeconstructUsesPool()
- {
- var tuple = StateTuple.Create(1, "A");
- tuple.Deconstruct(out var i1, out var s1);
- Assert.That(i1, Is.EqualTo(1));
- Assert.That(s1, Is.EqualTo("A"));
-
- var tuple2 = StateTuple.Create(2, "B");
- tuple2.Deconstruct(out var i2, out var s2);
- Assert.That(i2, Is.EqualTo(2));
- Assert.That(s2, Is.EqualTo("B"));
- }
-
- [Test]
- public void StateTuple3CreateAndDeconstructUsesPool()
- {
- var tuple = StateTuple.Create(1, "A", 0.5f);
- tuple.Deconstruct(out var i1, out var s1, out var f1);
- Assert.That(i1, Is.EqualTo(1));
- Assert.That(s1, Is.EqualTo("A"));
- Assert.That(f1, Is.EqualTo(0.5f));
-
- var tuple2 = StateTuple.Create(2, "B", 1.5f);
- tuple2.Deconstruct(out var i2, out var s2, out var f2);
- Assert.That(i2, Is.EqualTo(2));
- Assert.That(s2, Is.EqualTo("B"));
- Assert.That(f2, Is.EqualTo(1.5f));
- }
- }
-
public class UniTaskNodeTests
{
[UnityTest]