Build broken with trunk FPC.
Recent FPC trunk changes related to generics and visibilities (https://gitlab.com/freepascal.org/fpc/source/-/issues/40621) broke Lazarus build: ``` (1002) Target OS: Win64 for x64 (3104) Compiling dbgintfcommonstrings.pas components\debuggerintf\dbgintfdebuggerbase.pp(592,22) Error: (5042) No matching implementation for interface method "SetMonitor(IDbgWatchesMonitorIntf);" found components\debuggerintf\dbgintfdebuggerbase.pp(614,21) Error: (5042) No matching implementation for interface method "SetMonitor(IDbgLocalsMonitorIntf);" found components\debuggerintf\dbgintfdebuggerbase.pp(1852,1) Fatal: (10026) There were 2 errors compiling module, stopping ``` But given that the non-generic equivalent of what happens in Lazarus ```pascal {$mode objfpc} type Eating = interface procedure Eat; end; CustomEater = class(TInterfacedObject, Eating) strict private // protected or better visibilities work procedure Eat; end; procedure CustomEater.Eat; begin end; type FancyEater = class(CustomEater, Eating) // Error: No matching implementation for interface method "Eat;" found end; begin end. ``` never worked in the first place, and the change made the generic counterpart not work as well which is consistent, I think that this is more likely the Lazarus issue rather than the FPC issue. (But I didn’t manage to “fix” it by guess by making `SetMonitor`s `protected` or so, so who knows...)
issue