[fpc-devel] Feature request/discussion - SetLengthNoInit
J. Gareth Moreton
gareth at moreton-family.com
Thu Sep 17 04:59:37 CEST 2020
I hope they do allow you to fix it, because those features look useful,
especially with custom-made dynamic arrays (through a generic record).
I've got to try playing with them now to see if I can make something
that Chris Rorden would use!
Though not really related, it's not easy to specify a pointer to a type
parameter in a generic type. For example, if I try to declare:
type generic TMyArray<T> = record
Data: ^T;
Length: PtrUInt;
end;
The compiler will complain about T being an unresolved forward
declaration. Outside of specifying a second parameter for the pointer
type (which would be a little unfriendly for third-party users), there
isn't really a way around this.
Gareth aka. Kit
On 17/09/2020 03:08, Ryan Joseph via fpc-devel wrote:
>
>> On Sep 16, 2020, at 9:10 PM, J. Gareth Moreton via fpc-devel <fpc-devel at lists.freepascal.org> wrote:
>>
>> I figure I could design a dynamic array class, but it will very likely be incompatible with SetLength no matter what I try to do, and unless I'm mistaken, it won't have the benefit of automatically gaining an implicit clean-up blocl if used as a local variable unless there's an automatic reference counting feature that I'm not aware of.
> There are operators to do this now but they're only for records (https://wiki.freepascal.org/management_operators). You can easily make a reference counted type now but as I mentioned that are some drawbacks, some of which I'd like to correct if the compiler team allowed it.
>
> Regards,
> Ryan Joseph
>
> _______________________________________________
> fpc-devel maillist - fpc-devel at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
>
--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
More information about the fpc-devel
mailing list