[
https://issues.apache.org/jira/browse/THRIFT-6303?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Geyer resolved THRIFT-6303.
--------------------------------
Assignee: Jens Geyer
Resolution: Fixed
> Thrift.Collections: Delphi 2010 code path of TThriftDictionaryImpl.ToArray
> references the renamed field FDictionaly
> -------------------------------------------------------------------------------------------------------------------
>
> Key: THRIFT-6303
> URL: https://issues.apache.org/jira/browse/THRIFT-6303
> Project: Thrift
> Issue Type: Bug
> Components: Delphi - Library
> Affects Versions: 0.19.0, 0.20.0, 0.21.0, 0.22.0, 0.23.0, 0.24.0
> Reporter: Jens Geyer
> Assignee: Jens Geyer
> Priority: Minor
> Fix For: 0.26.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> {{TThriftDictionaryImpl<TKey,TValue>.ToArray}} in
> {{lib/delphi/src/Thrift.Collections.pas}} has a separate code path for Delphi
> 2010 ({{CompilerVersion < 22.0}}):
> {noformat}
> function TThriftDictionaryImpl<TKey, TValue>.ToArray: TArray<TPair<TKey,
> TValue>>;
> {$IF CompilerVersion < 22.0}
> var
> x : TPair<TKey, TValue>;
> i : Integer;
> {$IFEND}
> begin
> {$IF CompilerVersion < 22.0}
> SetLength(Result, Count);
> i := 0;
> for x in FDictionaly do // <-- line 415
> begin
> Result[i] := x;
> Inc( i );
> end;
> {$ELSE}
> Result := FDictionary.ToArray;
> {$IFEND}
> end;
> {noformat}
> THRIFT-5686 (commit f5627536b, first released in 0.19.0) renamed the field
> {{FDictionaly}} to {{FDictionary}} but did not update this branch.
> {{FDictionaly}} is no longer declared anywhere, so with Delphi 2010, the
> minimum version documented in {{lib/delphi/README.md}},
> {{Thrift.Collections}} cannot compile. All later Delphi versions take the
> other branch and are not affected.
> Fix: use {{FDictionary}} in the Delphi 2010 branch as well.
> Found while compiling the library with Free Pascal and the Delphi 2010
> branches enabled. Not verified with an actual Delphi 2010 installation.
> _Drafted with AI assistance (Claude Opus 5); posted on behalf of Jens Geyer._
--
This message was sent by Atlassian Jira
(v8.20.10#820010)