David Rowley <dgrowleyml@gmail.com>, 13 Tem 2023 Per, 08:04 tarihinde şunu yazdı:
I looked at your v2 patch. The only thing that really looked wrong were the (Size) casts in the context creation functions. These should have been casts to uint32 rather than Size. Basically, all the casts do is say to the compiler "Yes, I know this could cause truncation due to assigning to a size smaller than the source type's size". Some compilers will likely warn without that and the cast will stop them. We know there can't be any truncation due to the Asserts. There's also the fundamental limitation that MemoryChunk can't store block offsets larger than 1GBs anyway, so things will go bad if we tried to have blocks bigger than 1GB.
Right! I don't know why I cast them to Size. Thanks for the fix.