<div dir="auto"><div class="gmail_quote" dir="auto"><div dir="ltr">Am Do., 3. Jan. 2019, 14:24 hat Alexander Shishkin via fpc-pascal <<a href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.freepascal.org</a>> geschrieben:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">03.01.2019 15:45, Mattias Gaertner via fpc-pascal пишет:<br>
> On Thu, 3 Jan 2019 14:58:00 +0300<br>
> Alexander Shishkin via fpc-pascal <<a href="mailto:fpc-pascal@lists.freepascal.org" target="_blank" rel="noreferrer">fpc-pascal@lists.freepascal.org</a>><br>
> wrote:<br>
> <br>
>> [...]<br>
>> This is OK (both T and U are integer):<br>
>> generic TMyRecord1<const T, const U: integer> = record end;<br>
> <br>
> That is inconsistent to normal Pascal arguments.<br>
> <br>
> <accessors> Name[, Name ...][:type]<br>
> <br>
> Isn't it?<br>
> <br>
<br>
I personally do not like const prefix either. More consistent with other <br>
constraints would be:<br>
<br>
T and U integer const<br>
generic TMyRecord1<T, U: integer> = record end;<br>
generic TMyRecord1<T, U: const, integer> = record end;<br>
<br>
Similar to<br>
generic TMyRecord1<T, U: IUnknown> = record end;<br>
generic TMyRecord1<T, U: class, IUnknown> = record end;<br>
<br>
T and U any const<br>
generic TMyRecord1<T, U: const> = record end;<br>
<br>
Similar to<br>
generic TMyRecord1<T, U: record> = record end;<br>
<br>
And more complex example:<br>
<br>
generic TMyRecord1<T, U: record; X, Y: const> = record end;<br></blockquote></div><div dir="auto"><br></div><div dir="auto">I'm against that. A constant parameter is a different beast from a type parameter so requiring a special prefix for them is legitimate. Also this is more like the normal routine parameter syntax, thus everyone will feel right at home. </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div>