From 249fa95eab6c80267bb753a52481bc0315cb8737 Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Sat, 29 Jun 2019 11:41:17 +0200 Subject: [PATCH] Revert 'compiler: allow mut passed as argument to be modified'. This broke --- compiler/parser.v | 3 +-- compiler/scanner.v | 21 --------------------- 2 files changed, 1 insertion(+), 23 deletions(-) diff --git a/compiler/parser.v b/compiler/parser.v index 64db40583f..daf864a23c 100644 --- a/compiler/parser.v +++ b/compiler/parser.v @@ -1197,7 +1197,7 @@ fn (p mut Parser) name_expr() string { hack_lit := p.lit // amp ptr := p.tok == AMP - mut deref := p.tok == MUL + deref := p.tok == MUL if ptr || deref { p.next() } @@ -1241,7 +1241,6 @@ fn (p mut Parser) name_expr() string { // Variable v := p.cur_fn.find_var(name) if v.name.len != 0 { - deref = deref || (v.is_arg && v.is_mut && is_mutable_type(v.typ)) if ptr { p.gen('& /*vvar*/ ') } diff --git a/compiler/scanner.v b/compiler/scanner.v index 2391ee551d..eb4ba104a1 100644 --- a/compiler/scanner.v +++ b/compiler/scanner.v @@ -713,24 +713,3 @@ fn (s mut Scanner) create_type_string(T Type, name string) { fn (p mut Parser) create_type_string(T Type, name string) { p.scanner.create_type_string(T, name) } - -//Checks if mut type can be dereferenced to be modified -fn is_mutable_type(typ string) bool { - if typ == 'bool*' { - return true - } - if typ == 'int*' || typ == 'rune*' || typ == 'i8*' || - typ == 'i16*' || typ == 'i32*' || typ == 'i64*' { - return true - } - if typ == 'byte*' || typ == 'u8*' || typ == 'u16*' || - typ == 'u32*' || typ == 'u64*' { - return true - } - if typ == 'f32*' || typ == 'f64*' { - return true - } - if typ == 'string*' { - return true - } -}