MODULE TOpen2D; (* M3: fixed 2-D actual passed to an open 2-D VAR formal. *) TYPE Mat = ARRAY [0..1], [0..2] OF INTEGER; VAR ExitCode : INTEGER; m : Mat; PROCEDURE Fill (VAR a : ARRAY OF ARRAY OF INTEGER); BEGIN IF (HIGH(a) # 1) OR (HIGH(a[0]) # 2) THEN ExitCode := 1 ELSE a[1, 2] := 42 END END Fill; BEGIN Fill(m); IF m[1, 2] = 42 THEN ExitCode := 42 ELSE ExitCode := 2 END END TOpen2D.