<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 25/11/2025 16:14, Hairy Pixels via
      fpc-devel wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAGsUGtnyPkGyakrsd6ToerYgUsSfXSwHVsqndRS=w+OwrqqYHQ@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Nov 25, 2025 at 9:55:46 PM,
          Martin Frb via fpc-devel <<a
            href="mailto:fpc-devel@lists.freepascal.org"
            moz-do-not-send="true" class="moz-txt-link-freetext">fpc-devel@lists.freepascal.org</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"
          type="cite">
          <div>Thanks, which just for confirmation brings up a follow up
            question. (I haven't used generic function much yet, so
            maybe I miss something)<br>
            <br>
            <font face="monospace">          function  Foo   (aParam:
              Integer): integer;<br>
                generic function  Foo<T>(aParam: t)      :
              integer;</font><br>
            <br>
            <br>
          </div>
        </blockquote>
      </div>
      <br>
      <div dir="ltr"> <br>
      </div>
      <div dir="ltr">yes those are two different functions. The generic
        function is just a template which includes the parsed tokens and
        is named with $X where X is the number of generic parameters.
        Only at the time of specialization is the code generated, until
        the it's just an array of tokens.</div>
      <div dir="ltr"><br>
      </div>
      <div dir="ltr">there is a {$modeswitch
        implicitfunctionspecialization} mode switch ( my work so I
        apologize for the bugs 😂) which infers the parameter type so
        that foo('abc') becomes foo<String>('String').</div>
      <br>
    </blockquote>
    <br>
    So then with that switch, what will <br>
      foo(1)<br>
    <br>
    resolve to?<br>
    <br>
    - Always the non generic<br>
    - Always the generic<br>
    - Which every is first in scope<br>
    ?
  </body>
</html>