<div dir="ltr"><div class="gmail_extra">Ondrej, do you think you could look at this CodeTools issue which has been sitting around for a while? </div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="http://mantis.freepascal.org/view.php?id=27847">http://mantis.freepascal.org/view.php?id=27847</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Basically what happens is you can define a type which refers to itself "type IBitmap = interface(ICloneable<IBitmap>)". If you ever try to use code insight (Ctrl+ Space after a dot) on that type, CodeTools jumps out of whatever file you're in and takes you to the definition of what it thinks is a bad type. A red error is put into the messages window.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra">procedure TForm1.Button1Click(Sender: TObject);</div><div class="gmail_extra">begin</div><div class="gmail_extra">  FBitmap. // Press [Ctrl + Space] after the dot and CodeTools takes you out of this file</div><div class="gmail_extra">  // .. more code</div><div class="gmail_extra">end;</div><div class="gmail_extra"></div></div><div class="gmail_extra">*Red error in the message window* clonebug.pas(13,34) Error: identifier not found: IBitmap<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">And here is an example of a file which offends CodeTools:</div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra">unit CloneBug;</div><div class="gmail_extra"><br></div><div class="gmail_extra">{$mode delphi}</div><div class="gmail_extra"><br></div><div class="gmail_extra">interface</div><div class="gmail_extra"><br></div><div class="gmail_extra">type</div><div class="gmail_extra">  ICloneable<T> = interface</div><div class="gmail_extra">  ['{2C3BA33B-97E5-485C-B765-462B575A1011}']</div><div class="gmail_extra">    function Clone: T;</div><div class="gmail_extra">  end;</div><div class="gmail_extra"><br></div><div class="gmail_extra">  IBitmap = interface(ICloneable<IBitmap>) // CodeTools takes you here with an error message</div><div class="gmail_extra">    function Clone: IBitmap;</div><div class="gmail_extra">    procedure Draw;</div><div class="gmail_extra">  end;</div><div class="gmail_extra"><br></div><div class="gmail_extra">implementation</div><div class="gmail_extra"><br></div><div class="gmail_extra">end.    </div><div class="gmail_extra"><br></div><div class="gmail_extra">Thanks!</div></div></div>