From 81a3f81c046697ff011c93929c75c29f4cd39f2f Mon Sep 17 00:00:00 2001 From: Gaƫtan Gilbert Date: Sun, 15 Nov 2020 21:08:11 +0100 Subject: Intern application arguments in left-to-right order This makes it so that we have an application `h a b` with both `a` and `b` unbound, `a` is the one that is reported (parent commit with my current compiler setup reports `b` first, and the code does not define which it should be). Ideally we would report both but that requires more code. --- interp/constrintern.ml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'interp') diff --git a/interp/constrintern.ml b/interp/constrintern.ml index 378617af04..9f10991510 100644 --- a/interp/constrintern.ml +++ b/interp/constrintern.ml @@ -2405,8 +2405,9 @@ let internalize globalenv env pattern_mode (_, ntnvars as lvar) c = and intern_args env subscopes = function | [] -> [] | a::args -> - let (enva,subscopes) = apply_scope_env env subscopes in - (intern_no_implicit enva a) :: (intern_args env subscopes args) + let (enva,subscopes) = apply_scope_env env subscopes in + let a = intern_no_implicit enva a in + a :: (intern_args env subscopes args) in intern env c -- cgit v1.2.3