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 {