diff --git a/vlib/builtin/array_test.v b/vlib/builtin/array_test.v index 61e21da77c..25099ef15f 100644 --- a/vlib/builtin/array_test.v +++ b/vlib/builtin/array_test.v @@ -65,12 +65,12 @@ struct K { } fn test_empty() { - mut chunks := []Chunk + mut chunks := [] a := Chunk{} assert chunks.len == 0 chunks << a assert chunks.len == 1 - chunks = []Chunk + chunks = [] assert chunks.len == 0 chunks << a assert chunks.len == 1 diff --git a/vlib/compiler/parser.v b/vlib/compiler/parser.v index 90091a715c..719a8ee94c 100644 --- a/vlib/compiler/parser.v +++ b/vlib/compiler/parser.v @@ -2428,13 +2428,14 @@ fn (p mut Parser) array_init() string { if p.tok != .name && i == 0 && !exp_array { p.error('specify array type: `[]typ` instead of `[]`') } - if p.tok == .name && i == 0 { + if p.tok == .name && i == 0 && + p.tokens[p.token_idx-2].line_nr == p.tokens[p.token_idx-1].line_nr { // TODO // vals.len == 0 { if exp_array { p.error('use `foo = []` instead of `foo = []Type`') } typ = p.get_type() - } else if exp_array { + } else if exp_array && i == 0 { // allow `known_array = []` typ = p.expected_type[6..] } diff --git a/vlib/crypto/md5/md5.v b/vlib/crypto/md5/md5.v index ce4c533e25..fcc9328b4a 100644 --- a/vlib/crypto/md5/md5.v +++ b/vlib/crypto/md5/md5.v @@ -67,7 +67,7 @@ pub fn (d mut Digest) write(p_ []byte) int { d.nx = 0 } if n >= p.len { - p = []byte + p = [] } else { p = p[n..] } @@ -76,7 +76,7 @@ pub fn (d mut Digest) write(p_ []byte) int { n := p.len &~ (block_size - 1) block(mut d, p[..n]) if n >= p.len { - p = []byte + p = [] } else { p = p[n..] } diff --git a/vlib/crypto/sha1/sha1.v b/vlib/crypto/sha1/sha1.v index ca96b4891f..fb3c94dab2 100644 --- a/vlib/crypto/sha1/sha1.v +++ b/vlib/crypto/sha1/sha1.v @@ -8,7 +8,7 @@ // applications. // Based off: https://github.com/golang/go/blob/master/src/crypto/sha1 -// Last commit: https://github.com/golang/go/commit/3ce865d7a0b88714cc433454ae2370a105210c01 +// Last commit: https://github.com/golang/go/commit/3ce865d7a0b88714cc433454ae2370a105210c01 module sha1 @@ -71,7 +71,7 @@ pub fn (d mut Digest) write(p_ []byte) int { d.nx = 0 } if n >= p.len { - p = []byte + p = [] } else { p = p[n..] } @@ -80,7 +80,7 @@ pub fn (d mut Digest) write(p_ []byte) int { n := p.len &~ (chunk - 1) block(d, p[..n]) if n >= p.len { - p = []byte + p = [] } else { p = p[n..] } diff --git a/vlib/crypto/sha512/sha512.v b/vlib/crypto/sha512/sha512.v index b804286d99..a6c4dc7b50 100644 --- a/vlib/crypto/sha512/sha512.v +++ b/vlib/crypto/sha512/sha512.v @@ -163,7 +163,7 @@ fn (d mut Digest) write(p_ []byte) int { d.nx = 0 } if n >= p.len { - p = []byte + p = [] } else { p = p[n..] } @@ -172,7 +172,7 @@ fn (d mut Digest) write(p_ []byte) int { n := p.len &~ (Chunk - 1) block(mut d, p[..n]) if n >= p.len { - p = []byte + p = [] } else { p = p[n..] } diff --git a/vlib/flag/flag_test.v b/vlib/flag/flag_test.v index 10ccbe8286..4e2bf7de0b 100644 --- a/vlib/flag/flag_test.v +++ b/vlib/flag/flag_test.v @@ -2,8 +2,8 @@ import flag fn test_if_flag_not_given_return_default_values() { - mut fp := flag.new_flag_parser([]string) - + mut fp := flag.new_flag_parser([]) + assert false == fp.bool('a_bool', false, '') && 42 == fp.int('an_int', 42, '') && 1.0 == fp.float('a_float', 1.0, '') @@ -12,7 +12,7 @@ fn test_if_flag_not_given_return_default_values() { fn test_could_define_application_name_and_version() { - mut fp := flag.new_flag_parser([]string) + mut fp := flag.new_flag_parser([]) fp.application('test app') fp.version('0.0.42') fp.description('some text') @@ -30,12 +30,12 @@ fn test_bool_flags_do_not_need_an_value() { fn test_flags_could_be_defined_with_eq() { mut fp := flag.new_flag_parser([ - '--an_int=42', + '--an_int=42', '--a_float=2.0', '--bool_without', '--a_string=stuff', '--a_bool=true']) - + assert 42 == fp.int('an_int', 666, '') && true == fp.bool('a_bool', false, '') && true == fp.bool('bool_without', false, '') @@ -45,12 +45,12 @@ fn test_flags_could_be_defined_with_eq() { fn test_values_could_be_defined_without_eq() { mut fp := flag.new_flag_parser([ - '--an_int', '42', + '--an_int', '42', '--a_float', '2.0', '--bool_without', '--a_string', 'stuff', '--a_bool', 'true']) - + assert 42 == fp.int('an_int', 666, '') && true == fp.bool('a_bool', false, '') && true == fp.bool('bool_without', false, '') @@ -60,12 +60,12 @@ fn test_values_could_be_defined_without_eq() { fn test_values_could_be_defined_mixed() { mut fp := flag.new_flag_parser([ - '--an_int', '42', + '--an_int', '42', '--a_float=2.0', '--bool_without', '--a_string', 'stuff', '--a_bool=true']) - + assert 42 == fp.int('an_int', 666, '') && true == fp.bool('a_bool', false, '') && true == fp.bool('bool_without', false, '') @@ -75,10 +75,10 @@ fn test_values_could_be_defined_mixed() { fn test_beaware_for_argument_names_with_same_prefix() { mut fp := flag.new_flag_parser([ - '--short', '5', + '--short', '5', '--shorter=7' ]) - + assert 5 == fp.int('short', 666, '') && 7 == fp.int('shorter', 666, '') } @@ -86,18 +86,18 @@ fn test_beaware_for_argument_names_with_same_prefix() { fn test_beaware_for_argument_names_with_same_prefix_inverse() { mut fp := flag.new_flag_parser([ '--shorter=7', - '--short', '5', + '--short', '5', ]) - + assert 5 == fp.int('short', 666, '') && 7 == fp.int('shorter', 666, '') } fn test_allow_to_skip_executable_path() { mut fp := flag.new_flag_parser(['./path/to/execuable']) - + fp.skip_executable() - + args := fp.finalize() or { assert false return @@ -108,7 +108,7 @@ fn test_allow_to_skip_executable_path() { fn test_none_flag_arguments_are_allowed() { mut fp := flag.new_flag_parser([ 'file1', '--an_int=2', 'file2', 'file3', '--bool_without', 'file4', '--outfile', 'outfile']) - + assert 2 == fp.int('an_int', 666, '') && 'outfile' == fp.string('outfile', 'bad', '') && true == fp.bool('bool_without', false, '') @@ -124,7 +124,7 @@ fn test_finalize_returns_none_flag_arguments_ordered() { } expected := ['d', 'b', 'x', 'a'] - mut all_as_expected := true + mut all_as_expected := true for i, v in finalized { all_as_expected = all_as_expected && v == expected[i] } @@ -133,7 +133,7 @@ fn test_finalize_returns_none_flag_arguments_ordered() { fn test_finalize_returns_error_for_unknown_flags() { mut fp := flag.new_flag_parser(['--known', '--unknown']) - + fp.bool('known', false, '') finalized := fp.finalize() or { @@ -155,10 +155,10 @@ fn test_allow_to_build_usage_message() { fp.bool('bool_without_but_really_big', false, 'this should appear on the next line') fp.float('a_float', 1.0, 'some float as well') fp.string('a_string', 'not_stuff', 'your credit card number') - + usage := fp.usage() mut all_strings_found := true - for s in ['flag_tool', 'v0.0.0', + for s in ['flag_tool', 'v0.0.0', 'an_int ', 'a_bool', 'bool_without', 'a_float ', 'a_string :not_stuff', 'some int to define', 'some bool to define', @@ -182,7 +182,7 @@ fn test_if_no_description_given_usage_message_does_not_contain_descpription() { fp.version('v0.0.0') fp.bool('a_bool', false, '') - + assert !fp.usage().contains('Description:') } @@ -190,7 +190,7 @@ fn test_if_no_options_given_usage_message_does_not_contain_options() { mut fp := flag.new_flag_parser([]string) fp.application('flag_tool') fp.version('v0.0.0') - + assert !fp.usage().contains('Options:') } @@ -211,7 +211,7 @@ fn test_error_for_to_few_free_args() { assert err.starts_with('Expected at least 5 arguments') return } - assert args.len < 0 // expect an error and need to use args + assert args.len < 0 // expect an error and need to use args } fn test_error_for_to_much_free_args() { @@ -221,7 +221,7 @@ fn test_error_for_to_much_free_args() { assert err.starts_with('Expected at most 2 arguments') return } - assert args.len < 0 // expect an error and need to use args + assert args.len < 0 // expect an error and need to use args } fn test_could_expect_no_free_args() { @@ -231,7 +231,7 @@ fn test_could_expect_no_free_args() { assert err.starts_with('Expected no arguments') return } - assert args.len < 0 // expect an error and need to use args + assert args.len < 0 // expect an error and need to use args } fn test_allow_abreviations() { diff --git a/vlib/net/urllib/values.v b/vlib/net/urllib/values.v index b475a9db4e..cf83280b64 100644 --- a/vlib/net/urllib/values.v +++ b/vlib/net/urllib/values.v @@ -18,7 +18,7 @@ mut: } // new_values returns a new Values struct for creating -// urlencoded query string parameters. it can also be to +// urlencoded query string parameters. it can also be to // post form data with application/x-www-form-urlencoded. // values.encode() will return the encoded data pub fn new_values() Values { @@ -53,11 +53,11 @@ pub fn (v &Values) get(key string) string { // a empty []string. pub fn (v &Values) get_all(key string) []string { if v.data.size == 0 { - return []string + return [] } vs := v.data[key] if vs.data.len == 0 { - return []string + return [] } return vs.data } @@ -76,7 +76,7 @@ pub fn (v mut Values) set(key, value string) { pub fn (v mut Values) add(key, value string) { mut a := v.data[key] if a.data.len == 0 { - a.data = []string + a.data = [] } a.data << value v.data[key] = a