9

Type Equivalence

The Pascal compiler produces several diagnostics that generate the following message:

non-equivalent types

In general, Pascal considers types to be the same only if they derive from the same type identifier. Therefore, the following two variables have different types, even though the types look the same and have the same characteristics.

x : record

a:integer;

b:char;

end;

y : record

a:integer;

b:char;

end;

The assignment:

x := y

produces the following diagnostic messages:

Mon Feb 13 14:22:46 1995 inchar.p:

E 25170 line 12 - Type clash: non-identical record types

... 25560: Type of expression clashed with type of variable in assignment

214

Pascal 4.0 User’s Guide