diff --git a/src/Snap.Hutao/Snap.Hutao.Test/RuntimeBehavior/UnsafeRuntimeBehaviorTest.cs b/src/Snap.Hutao/Snap.Hutao.Test/RuntimeBehavior/UnsafeRuntimeBehaviorTest.cs index 86de485c..4050b530 100644 --- a/src/Snap.Hutao/Snap.Hutao.Test/RuntimeBehavior/UnsafeRuntimeBehaviorTest.cs +++ b/src/Snap.Hutao/Snap.Hutao.Test/RuntimeBehavior/UnsafeRuntimeBehaviorTest.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; @@ -46,7 +47,14 @@ public sealed class UnsafeRuntimeBehaviorTest Assert.AreEqual(1212, testStruct.Value4); } - + [TestMethod] + public unsafe void UnsafeUtf8StringReference() + { + void* ptr = Unsafe.AsPointer(ref MemoryMarshal.GetReference("test"u8)); + GC.Collect(GC.MaxGeneration); + ReadOnlySpan bytes = MemoryMarshal.CreateReadOnlySpanFromNullTerminated((byte*)ptr); + Console.WriteLine(System.Text.Encoding.UTF8.GetString(bytes)); + } private readonly struct TestStruct { diff --git a/src/Snap.Hutao/Snap.Hutao/Package.appxmanifest b/src/Snap.Hutao/Snap.Hutao/Package.appxmanifest index 0ee8932b..0d25e486 100644 --- a/src/Snap.Hutao/Snap.Hutao/Package.appxmanifest +++ b/src/Snap.Hutao/Snap.Hutao/Package.appxmanifest @@ -13,7 +13,7 @@ + Version="1.10.2.0" /> Snap Hutao diff --git a/src/Snap.Hutao/Snap.Hutao/Package.development.appxmanifest b/src/Snap.Hutao/Snap.Hutao/Package.development.appxmanifest index 619aed55..af410fe2 100644 --- a/src/Snap.Hutao/Snap.Hutao/Package.development.appxmanifest +++ b/src/Snap.Hutao/Snap.Hutao/Package.development.appxmanifest @@ -13,7 +13,7 @@ + Version="1.10.2.0" /> Snap Hutao Dev