From 4a7f7f244a628f4d46074bbe7aa696912dd58e19 Mon Sep 17 00:00:00 2001 From: florian Date: Sun, 21 Feb 2021 21:29:40 +0000 Subject: * allow in-operator to be used on type parameters, resolves #38497 git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@48763 3ad0048d-3df7-0310-abae-a5850022a9f2 --- compiler/nset.pas | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'compiler/nset.pas') diff --git a/compiler/nset.pas b/compiler/nset.pas index bb56fadd55..3ac18aecf3 100644 --- a/compiler/nset.pas +++ b/compiler/nset.pas @@ -247,6 +247,7 @@ implementation begin result:=nil; + resultdef:=pasbool1type; typecheckpass(right); set_varstate(right,vs_read,[vsf_must_be_valid]); @@ -269,6 +270,13 @@ implementation if not assigned(left.resultdef) then internalerror(20021126); + { avoid any problems with type parameters later on } + if is_typeparam(left.resultdef) or is_typeparam(right.resultdef) then + begin + resultdef:=cundefinedtype; + exit; + end; + t:=self; if isbinaryoverloaded(t,[]) then begin -- cgit v1.2.1