MODULE TBadFwd; // A forward module-level variable assigned an incompatible value: the // parser cannot check it (the type is unknown when the assignment is // parsed), so the resolve pass must. Expects "incompatible assignment". VAR ExitCode : INTEGER; PROCEDURE P; BEGIN n := "abc" END P; VAR n : INTEGER; BEGIN P; ExitCode := 0 END TBadFwd.