[fpc-devel] Implicit function specialization precedence

Sven Barth pascaldragon at googlemail.com
Sat Apr 10 10:38:01 CEST 2021


Am 10.04.2021 um 00:43 schrieb Ryan Joseph via fpc-devel:
>
>> On Apr 9, 2021, at 4:31 PM, Sven Barth via fpc-devel <fpc-devel at lists.freepascal.org> wrote:
>>
>> You mean what you did for is_array_literal? A pure array constructor can be found with is_array_constructor, though it might be better to use is_open_array, cause someone might pass an open array parameter to a generic function (those will be unnamed as well).
> Maybe the email didn't go through? How to identify this "array of const constructor" type. I want to reject these for implicit specialization but I can't identity them.
>
>   DoThis([
>     1,
>     'string',
>     'c',
>     TObject.Create
>   ])

You can't really differentiate these from array constructors with just 
one type, because the type is only really determined once the overload 
is chosen as that kind of array could be an array of const, an array of 
Variant or maybe even an array of LongInt if there are suitable operator 
overloads in scope. So, yeah, it's kinda hard to decide what type to use...

Regards,
Sven


More information about the fpc-devel mailing list