public unsafe void LookupInCache_DoesNotAlloc()
        {
            // insert into cache
            int index;

            {
                var builder       = new EntityQueryBuilder().WithAll <EcsTestTag>();
                var delegateTypes = stackalloc int[] { TypeManager.GetTypeIndex <EcsTestData>() };
                index = TestSystem.GetOrCreateEntityQueryCache().CreateCachedQuery(0, new EntityQuery(null, null, null, null), ref builder, delegateTypes, 1);

                Assert.Zero(index); // sanity
            }

            ValidateNoGCAllocs(() =>
            {
                var testBuilder       = new EntityQueryBuilder().WithAll <EcsTestTag>();
                var testDelegateTypes = stackalloc int[] { TypeManager.GetTypeIndex <EcsTestData>() };
                TestSystem.EntityQueryCache.ValidateMatchesCache(index, ref testBuilder, testDelegateTypes, 1);
            });
        }