Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/Compiler/Delphi/Anonymous Methods    [ Add a report in this area ]  
Report #:  85248   Status: Closed
Creating a method reference for a routine with a specific header causes Internal Error T2671
Project:  Delphi Build #:  14.0.3593.25826
Version:    14.0 Submitted By:   Blaise Thorn
Report Type:  Crash / Data loss / Total failure Date Reported:  6/8/2010 8:11:38 AM
Severity:    Serious / Highly visible problem Last Updated: 3/20/2012 2:24:39 AM
Platform:    All platforms Internal Tracking #:   277160
Resolution: Fixed (Resolution Comments) Resolved in Build: : 15.0.3811.31430
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description
An attempt to compile the sample program (in Steps) results in ICE.

Removing the formal parameter of open array type or changing the function into a procedure helps.
Steps to Reproduce:
--8<-------8<-------8<---
type T = reference to function(const s: array of char): boolean;

function foo(const s: array of char): boolean; begin end;

var z: T;
begin
     z := foo      // F2084 Internal Error: T2671
end.
--8<-------8<-------8<---
Workarounds
None
Attachment
None
Comments

None

Server Response from: ETNACODE01