On Wed, Aug 17, 2016 at 3:04 AM, Maciej Izak <hnb.c...@gmail.com> wrote:
> > 2016-08-17 7:05 GMT+02:00 silvioprog <silviop...@gmail.com>: > >> Just try it: >> > > related to > > http://bugs.freepascal.org/view.php?id=28911 > > Sven comment: "I won't change the current implementation for now, because > once I'm going to fix this I'm going to fix this correctly for all cases, > including packages, everything else is merely a workaround. But for that I > first need to finish my work on packages." > > btw, already reported: http://bugs.freepascal.org/view.php?id=30433 > Indeed. After some debug I found where the exception is raised: ... function TOpenAddressingLP<OPEN_ADDRESSING_CONSTRAINTS>.FindBucketIndex(constref AItems: TArray<TItem>; constref AKey: TKey; out AHash: UInt32): SizeInt; var LItem: {TOpenAddressing<OPEN_ADDRESSING_CONSTRAINTS>.}_TItem; // for workaround Lazarus bug #25613 LLengthMask: SizeInt; i, m: SizeInt; LHash: UInt32; begin m := Length(AItems); LLengthMask := m - 1; LHash := FEqualityComparer.GetHashCode(AKey); // << here ... but I can't step into FEqualityComparer.GetHashCode to check why it happens, so I'll wait for Sven too. ^^ I need to find the values using case-insensitive keys (I'm using it in a class registry of my app), so unfortunately this bug doesn't let me to use TDictionary on FPC yet. :-( -- Silvio Clécio
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal