diff --git a/vlib/v/parser/fn.v b/vlib/v/parser/fn.v index e9afaca70e..93361bf79d 100644 --- a/vlib/v/parser/fn.v +++ b/vlib/v/parser/fn.v @@ -186,7 +186,7 @@ fn (p mut Parser) fn_args() ([]table.Arg,bool) { mut args := []table.Arg mut is_variadic := false // `int, int, string` (no names, just types) - types_only := p.tok.kind in [.amp] || (p.peek_tok.kind == .comma && p.table.known_type(p.tok.lit)) || p.peek_tok.kind == .rpar + types_only := p.tok.kind in [.amp, .and] || (p.peek_tok.kind == .comma && p.table.known_type(p.tok.lit)) || p.peek_tok.kind == .rpar if types_only { // p.warn('types only') mut arg_no := 1 diff --git a/vlib/v/parser/parser.v b/vlib/v/parser/parser.v index defcb4db1e..b08593f3f2 100644 --- a/vlib/v/parser/parser.v +++ b/vlib/v/parser/parser.v @@ -896,7 +896,7 @@ pub fn (p mut Parser) expr(precedence int) ast.Expr { pos: p.tok.position() } p.next() - return node + // return node // TODO bring back, only allow ++/-- in exprs in translated code } else { return node diff --git a/vlib/v/tests/cstrings_test.v b/vlib/v/tests/cstrings_test.v index e942cc41d0..bf101ac5d3 100644 --- a/vlib/v/tests/cstrings_test.v +++ b/vlib/v/tests/cstrings_test.v @@ -1,3 +1,5 @@ +fn C.strlen() int + fn test_cstring() { w := c'world' hlen := C.strlen(c'hello')