Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2018-11

Type range in generic

7 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Simon Jackson
 GENERIC GHandle<T, R> = CLASS
PROTECTED
it: Array [R] of T;
FUNCTION readIt(p: R): T; VIRTUAL;
PROCEDURE WriteIt(p: R; what: T); VIRTUAL;
PUBLIC
PROPERTY gimmeIt[p: R] READ ReadIt WRITE Writeit; DEFAULT; (* does this
work? x.y -> x.it.y *)
END;

Error: Error in type definition just after R on line 3.

Reply by email

Sven Barth
to Simon Jackson

Am Sa., 1. Dez. 2018, 08:44 hat Simon Jackson
geschrieben:

Show quoted text 12 lines
GENERIC GHandle<T, R> = CLASS PROTECTED it: Array [R] of T; FUNCTION readIt(p: R): T; VIRTUAL; PROCEDURE WriteIt(p: R; what: T); VIRTUAL; PUBLIC PROPERTY gimmeIt[p: R] READ ReadIt WRITE Writeit; DEFAULT; (* does this work? x.y -> x.it.y *) END; Error: Error in type definition just after R on line 3.

Please report as a bug.

Regards,
Sven

Reply by email

Sven Barth
to Ryan Joseph

Am So., 2. Dez. 2018, 10:50 hat Ryan Joseph
geschrieben:

Show quoted text 10 lines
> On Dec 2, 2018, at 4:00 PM, Sven Barth via fpc-devel < > wrote: > > Please report as a bug. I don’t get a bug on this in the trunk version I’m using. Maybe it was fixed?

Could be, I didn't test yet. But even then it can be resolved with "no change required". ;) (and be added as a test case)

Regards,
Sven

Reply by email

Simon Jackson
to Sven Barth

Just an idea.

Class variables. If generics are used, then the same code can be used for differing pointer types. (Classes) as long as a specifier on the "generic class variable" and no generic specialize or is in the

class generic x: TObject;

Can it be shared across all generics of a kind?

The code density in the cache would be good for all common generics.

https://kring.co.uk

________________________________

Earlier message 19 lines
From: fpc-devel on behalf of Sven Barth via fpc-devel Sent: Sunday, December 2, 2018 4:01:44 PM To: FPC developers' list Cc: Sven Barth Subject: Re: [fpc-devel] Type range in generic Am So., 2. Dez. 2018, 10:50 hat Ryan Joseph geschrieben: > On Dec 2, 2018, at 4:00 PM, Sven Barth via fpc-devel wrote: > > Please report as a bug. I don’t get a bug on this in the trunk version I’m using. Maybe it was fixed? Could be, I didn't test yet. But even then it can be resolved with "no change required". ;) (and be added as a test case) Regards, Sven

Reply by email

Ryan Joseph
to Simon Jackson
Show quoted text 11 lines
On Dec 3, 2018, at 6:33 AM, Simon Jackson wrote: Just an idea. Class variables. If generics are used, then the same code can be used for differing pointer types. (Classes) as long as a specifier on the "generic class variable" and no generic specialize or is in the class generic x: TObject; Can it be shared across all generics of a kind? The code density in the cache would be good for all common generics.

I don’t get what this is trying to accomplish or how it’s used. Example?

Regards,
Ryan Joseph

Reply by email

Sven Barth
to Simon Jackson: Just an idea. Class variables. If generics are used, then the same code can be used for…

Am Mo., 3. Dez. 2018, 00:33 hat Simon Jackson
geschrieben:

Show quoted text 12 lines
Just an idea. Class variables. If generics are used, then the same code can be used for differing pointer types. (Classes) as long as a specifier on the "generic class variable" and no generic specialize or is in the class generic x: TObject; Can it be shared across all generics of a kind? The code density in the cache would be good for all common generics.

I don't see a use for such a feature.
What if one sets it as a descendant of one class, but another retrieves it as a descendent of a completely different class? You'd have to use separate storage locations then anyway and then you can simply use ordinary class variables.

Regards,
Sven

Reply by email