Include/Exclude intrinsics are not aware of generics.
Original Reporter info from Mantis: avk @avk959
-
Reporter name: avk
Original Reporter info from Mantis: avk @avk959
- Reporter name: avk
Description:
This simple example does not compile:
program test;
{$mode delphi}
procedure TurnSetElem<TSet, TElem>(var aSet: TSet; aElem: TElem; aOn: Boolean);
begin
if aOn then
Include(aSet, aElem)
else
Exclude(aSet, aElem);
end;
type
TElem = (One, Two, Three, Four, Five);
TSet = set of TElem;
var
s: TSet = [];
begin
TurnSetElem<TSet, TElem>(s, Two, True);
TurnSetElem<TSet, TElem>(s, Five, True);
if not((Two in s) and (Five in s)) then
WriteLn('does not work');
end.
Mantis conversion info:
- Mantis ID: 37806
- OS: any
- OS Build: any
- Build: 46930
- Platform: any
- Version: 3.3.1
- Fixed in version: 3.3.1
- Fixed in revision: 46953 (#cce2dad1)