From 8a5ca4cbdcde2795a06ad7c1e3322018e59cdb23 Mon Sep 17 00:00:00 2001 From: joe-conigliaro Date: Fri, 19 Jun 2020 21:31:33 +1000 Subject: [PATCH] checker: error if variable used before decleration p1 --- vlib/v/checker/checker.v | 3 +++ 1 file changed, 3 insertions(+) diff --git a/vlib/v/checker/checker.v b/vlib/v/checker/checker.v index 7474a02049..f4118f7cbb 100644 --- a/vlib/v/checker/checker.v +++ b/vlib/v/checker/checker.v @@ -2084,6 +2084,9 @@ pub fn (mut c Checker) ident(mut ident ast.Ident) table.Type { return obj.typ } ast.Var { + if ident.pos.pos < obj.pos.pos { + c.error('variable `$ident.name` used before decleration', ident.pos) + } mut typ := obj.typ if typ == 0 { if obj.expr is ast.Ident {