Watch, Follow, &
Connect with Us
Public Report
Report From:    [ Add a report in this area ]  
Report #:  8007   Status: Closed
Forward record declarations cannot be made
Project:   Build #:  7.1.1503.28295
Version:    8.0 Submitted By:   Chee Wee Chua
Report Type:  Suggestion / Enhancement Request Date Reported:  4/28/2004 6:17:52 PM
Severity:    Infrequently encountered problem Last Updated: 3/20/2012 2:24:39 AM
Platform:    All platforms Internal Tracking #:   199403
Resolution: Inactive (Resolution Comments) Resolved in Build: : 7.0.95.395
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description
See example in Steps.

In the example given in Steps, I wanted to declare a Degree and Fahrenheit **record**, which can convert from one into the other.

Unfortunately, there seems to be no way to declare forward records, just as I can do with forward class declarations

Kindly implement forward record declarations in the language.
Steps to Reproduce:
I cannot declare forward class records like so,

Degree = packed record;

Fahrenheit  = packed record(IConvertible)
    class operator  Implicit(AValue: Degree): Fahrenheit;
end;

Degree  = packed record(IConvertible)
    class operator  Implicit(AValue: Fahrenheit): Degree;
end;

But I can declare forward classes like so,

type
Degree = class;

Fahrenheit  = class
    class operator  Implicit(AValue: Degree): Fahrenheit;
end;

Degree  = class
    class operator  Implicit(AValue: Fahrenheit): Degree;
end;

class operator  Fahrenheit.Implicit(AValue: Degree): Fahrenheit;
begin
end;

class operator  Degree.Implicit(AValue: Fahrenheit): Degree;
begin
end;
Workarounds
None
Attachment
None
Comments

None

Server Response from: ETNACODE01