using System; using Unity.Burst; using UnityBenchShared; namespace Burst.Compiler.IL.Tests { /// /// Tests types /// [BurstCompile] internal class SystemGuid { public struct SystemGuidProvider : IArgumentProvider { public object Value => new Guid(0x26b6afc2, 0xf1b2, 0x479d, 0xb2, 0xad, 0x13, 0x2f, 0x17, 0x8d, 0x3a, 0xe0); } // TODO: Gold disabled because System.Guid has very different code on Mono/macOS vs .NET/Windows. Should re-check // once we use .NET everywhere. // Disabled on .Net 7 - Needs Unsafe::Add / Unsafe::AsRef / Unsafe::As handling [TestCompiler(typeof(SystemGuidProvider), DisableGold = true, IgnoreOnNetCore = true)] public static int GuidArg(ref Guid guid) { return guid == new Guid(0x26b6afc2, 0xf1b2, 0x479d, 0xb2, 0xad, 0x13, 0x2f, 0x17, 0x8d, 0x3a, 0xe0) ? 1 : 0; } public static readonly Guid StaticReadonlyGuid = new Guid(0x26b6afc2, 0xf1b2, 0x479d, 0xb2, 0xad, 0x13, 0x2f, 0x17, 0x8d, 0x3a, 0xe0); // Disabled on .Net 7 - Needs Unsafe::Add / Unsafe::AsRef / Unsafe::As handling [TestCompiler(IgnoreOnNetCore = true)] public static int GuidStaticReadonly() { return StaticReadonlyGuid == new Guid(0x26b6afc2, 0xf1b2, 0x479d, 0xb2, 0xad, 0x13, 0x2f, 0x17, 0x8d, 0x3a, 0xe0) ? 1 : 0; } } }