bug fix #2284
This commit is contained in:
parent
9071a4786a
commit
f80eb0eddf
|
|
@ -383,7 +383,7 @@ namespace PascalABCCompiler.PCU
|
|||
if (this.base_generic_instance != null && sil != null)
|
||||
{
|
||||
var bsil = base_generic_instance.ConvertSymbolInfo(sil);
|
||||
if (orig_generic_or_null == null)
|
||||
if (orig_generic_or_null == null && name != "op_Implicit")
|
||||
return bsil;
|
||||
}
|
||||
foreach (SymbolInfo si in sil)
|
||||
|
|
|
|||
14
TestSuite/units/u_generics4.pas
Normal file
14
TestSuite/units/u_generics4.pas
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
unit u_generics4;
|
||||
|
||||
type
|
||||
|
||||
c1<T> = class
|
||||
|
||||
public static function operator implicit(o: T): c1<T> := nil;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
c2<T1, T2> = class(c1<T2>) end;
|
||||
|
||||
end.
|
||||
7
TestSuite/usesunits/use_generics4.pas
Normal file
7
TestSuite/usesunits/use_generics4.pas
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
uses u_generics4;
|
||||
function f1: c1<byte> := new c2<word, byte>;
|
||||
|
||||
begin
|
||||
var o := f1;
|
||||
assert(o <> nil);
|
||||
end.
|
||||
Loading…
Reference in a new issue