diff --git a/src/Microsoft.VisualStudio.Threading/AsyncQueue`1.cs b/src/Microsoft.VisualStudio.Threading/AsyncQueue`1.cs
index fea615b3f..53dd5914b 100644
--- a/src/Microsoft.VisualStudio.Threading/AsyncQueue`1.cs
+++ b/src/Microsoft.VisualStudio.Threading/AsyncQueue`1.cs
@@ -324,7 +324,7 @@ public bool TryDequeue([MaybeNullWhen(false)] out T value)
///
/// Returns a copy of this queue as an array.
///
- internal T[] ToArray()
+ public T[] ToArray()
{
lock (this.SyncRoot)
{
diff --git a/src/Microsoft.VisualStudio.Threading/net472/PublicAPI.Unshipped.txt b/src/Microsoft.VisualStudio.Threading/net472/PublicAPI.Unshipped.txt
index e85d3c718..ffcf5d4cb 100644
--- a/src/Microsoft.VisualStudio.Threading/net472/PublicAPI.Unshipped.txt
+++ b/src/Microsoft.VisualStudio.Threading/net472/PublicAPI.Unshipped.txt
@@ -1,3 +1,4 @@
+Microsoft.VisualStudio.Threading.AsyncQueue.ToArray() -> T[]!
Microsoft.VisualStudio.Threading.AsyncReaderWriterLock.AsyncReaderWriterLock(Microsoft.VisualStudio.Threading.JoinableTaskContext? joinableTaskContext, bool captureDiagnostics = false) -> void
Microsoft.VisualStudio.Threading.AsyncReaderWriterResourceLock.AsyncReaderWriterResourceLock(Microsoft.VisualStudio.Threading.JoinableTaskContext? joinableTaskContext, bool captureDiagnostics) -> void
Microsoft.VisualStudio.Threading.JoinableTaskContext.IsMainThreadMaybeBlocked() -> bool
diff --git a/src/Microsoft.VisualStudio.Threading/netcoreapp3.1/PublicAPI.Unshipped.txt b/src/Microsoft.VisualStudio.Threading/netcoreapp3.1/PublicAPI.Unshipped.txt
index e85d3c718..ffcf5d4cb 100644
--- a/src/Microsoft.VisualStudio.Threading/netcoreapp3.1/PublicAPI.Unshipped.txt
+++ b/src/Microsoft.VisualStudio.Threading/netcoreapp3.1/PublicAPI.Unshipped.txt
@@ -1,3 +1,4 @@
+Microsoft.VisualStudio.Threading.AsyncQueue.ToArray() -> T[]!
Microsoft.VisualStudio.Threading.AsyncReaderWriterLock.AsyncReaderWriterLock(Microsoft.VisualStudio.Threading.JoinableTaskContext? joinableTaskContext, bool captureDiagnostics = false) -> void
Microsoft.VisualStudio.Threading.AsyncReaderWriterResourceLock.AsyncReaderWriterResourceLock(Microsoft.VisualStudio.Threading.JoinableTaskContext? joinableTaskContext, bool captureDiagnostics) -> void
Microsoft.VisualStudio.Threading.JoinableTaskContext.IsMainThreadMaybeBlocked() -> bool
diff --git a/src/Microsoft.VisualStudio.Threading/netstandard2.0/PublicAPI.Unshipped.txt b/src/Microsoft.VisualStudio.Threading/netstandard2.0/PublicAPI.Unshipped.txt
index e85d3c718..ffcf5d4cb 100644
--- a/src/Microsoft.VisualStudio.Threading/netstandard2.0/PublicAPI.Unshipped.txt
+++ b/src/Microsoft.VisualStudio.Threading/netstandard2.0/PublicAPI.Unshipped.txt
@@ -1,3 +1,4 @@
+Microsoft.VisualStudio.Threading.AsyncQueue.ToArray() -> T[]!
Microsoft.VisualStudio.Threading.AsyncReaderWriterLock.AsyncReaderWriterLock(Microsoft.VisualStudio.Threading.JoinableTaskContext? joinableTaskContext, bool captureDiagnostics = false) -> void
Microsoft.VisualStudio.Threading.AsyncReaderWriterResourceLock.AsyncReaderWriterResourceLock(Microsoft.VisualStudio.Threading.JoinableTaskContext? joinableTaskContext, bool captureDiagnostics) -> void
Microsoft.VisualStudio.Threading.JoinableTaskContext.IsMainThreadMaybeBlocked() -> bool
diff --git a/test/Microsoft.VisualStudio.Threading.Tests/AsyncQueueTests.cs b/test/Microsoft.VisualStudio.Threading.Tests/AsyncQueueTests.cs
index a039a09eb..f4a61f9a2 100644
--- a/test/Microsoft.VisualStudio.Threading.Tests/AsyncQueueTests.cs
+++ b/test/Microsoft.VisualStudio.Threading.Tests/AsyncQueueTests.cs
@@ -25,6 +25,7 @@ public void JustInitialized()
Assert.Equal(0, this.queue.Count);
Assert.True(this.queue.IsEmpty);
Assert.False(this.queue.Completion.IsCompleted);
+ Assert.Empty(this.queue.ToArray());
}
[Fact]
@@ -34,6 +35,7 @@ public void Enqueue()
this.queue.Enqueue(value);
Assert.Equal(1, this.queue.Count);
Assert.False(this.queue.IsEmpty);
+ Assert.Single(this.queue.ToArray());
}
[Fact]
@@ -43,6 +45,7 @@ public void TryEnqueue()
Assert.True(this.queue.TryEnqueue(value));
Assert.Equal(1, this.queue.Count);
Assert.False(this.queue.IsEmpty);
+ Assert.Single(this.queue.ToArray());
}
[Fact]