diff --git a/cmd/tools/vbin2v.v b/cmd/tools/vbin2v.v
index 5ad0eb35e9..8e3ddf8ef8 100644
--- a/cmd/tools/vbin2v.v
+++ b/cmd/tools/vbin2v.v
@@ -50,23 +50,25 @@ fn (context Context) file2v(bname string, fbytes []byte, bn_max int) string {
mut sb := strings.new_builder(1000)
bn_diff_len := bn_max - bname.len
sb.write('\t${bname}_len' + ' '.repeat(bn_diff_len - 4) + ' = $fbytes.len\n')
- mut last_len := sb.len
fbyte := fbytes[0]
- sb.write('\t$bname' + ' '.repeat(bn_diff_len) + ' = [byte($fbyte), ')
+ bnmae_line := '\t$bname' + ' '.repeat(bn_diff_len) + ' = [byte($fbyte), '
+ sb.write(bnmae_line)
+ mut line_len := bnmae_line.len + 3
for i := 1; i < fbytes.len; i++ {
b := int(fbytes[i]).str()
- sb_diff_len := sb.len - last_len
- if i < 30 && sb_diff_len > 86 {
- sb.write('$b,\n\t\t')
- last_len = sb.len
- } else if sb_diff_len > 88 && 92 - sb_diff_len < b.len {
- sb.write('$b,\n\t\t')
- last_len = sb.len
- } else if i == fbytes.len - 1 {
+ if line_len > 94 {
+ sb.go_back(1)
+ sb.write('\n\t\t')
+ line_len = 8
+ }
+ if i == fbytes.len - 1 {
sb.write(b)
+ line_len += b.len
} else {
sb.write('$b, ')
+ line_len += b.len + 2
}
+
}
sb.write(']!\n')
return sb.str()
diff --git a/cmd/tools/vdoc/html.v b/cmd/tools/vdoc/html.v
index db12e1a07f..aa4a69649e 100644
--- a/cmd/tools/vdoc/html.v
+++ b/cmd/tools/vdoc/html.v
@@ -305,7 +305,8 @@ fn (vd VDoc) gen_html(d doc.Doc) string {
'\n${tabs[0]}'
} else {
'\n${tabs[0]}\n${tabs[0]}\n${tabs[0]}'
+ vd.assets['normalize_css'] + '" />\n${tabs[0]}'
}).replace('{{ toc_links }}', if cfg.is_multi || vd.docs.len > 1 {
modules_toc_str
} else {
diff --git a/vlib/math/bits/bits.v b/vlib/math/bits/bits.v
index b61504a64f..e53ece5ffd 100644
--- a/vlib/math/bits/bits.v
+++ b/vlib/math/bits/bits.v
@@ -10,8 +10,10 @@ const (
23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9]
de_bruijn64 = u64(0x03f79d71b4ca8b09)
de_bruijn64tab = [byte(0), 1, 56, 2, 57, 49, 28, 3, 61, 58, 42, 50, 38, 29, 17, 4, 62, 47,
- 59, 36, 45, 43, 51, 22, 53, 39, 33, 30, 24, 18, 12, 5, 63, 55, 48, 27, 60, 41, 37, 16, 46, 35,
- 44, 21, 52, 32, 23, 11, 54, 26, 40, 15, 34, 20, 31, 10, 25, 14, 19, 9, 13, 8, 7, 6]
+ 59, 36, 45, 43, 51, 22, 53, 39, 33, 30, 24, 18, 12, 5, 63, 55, 48, 27, 60, 41, 37, 16,
+ 46, 35, 44, 21, 52, 32, 23, 11, 54, 26, 40, 15, 34, 20, 31, 10, 25, 14, 19, 9, 13, 8, 7,
+ 6,
+ ]
)
const (
diff --git a/vlib/v/ast/ast.v b/vlib/v/ast/ast.v
index dce839ca2e..de28fc0b2c 100644
--- a/vlib/v/ast/ast.v
+++ b/vlib/v/ast/ast.v
@@ -10,11 +10,12 @@ import v.errors
pub type TypeDecl = AliasTypeDecl | FnTypeDecl | SumTypeDecl
pub type Expr = AnonFn | ArrayDecompose | ArrayInit | AsCast | Assoc | AtExpr | BoolLiteral |
- CTempVar | CallExpr | CastExpr | ChanInit | CharLiteral | Comment | ComptimeCall | ComptimeSelector |
- ConcatExpr | EnumVal | FloatLiteral | GoExpr | Ident | IfExpr | IfGuardExpr | IndexExpr |
- InfixExpr | IntegerLiteral | Likely | LockExpr | MapInit | MatchExpr | None | OrExpr |
- ParExpr | PostfixExpr | PrefixExpr | RangeExpr | SelectExpr | SelectorExpr | SizeOf |
- SqlExpr | StringInterLiteral | StringLiteral | StructInit | Type | TypeOf | UnsafeExpr
+ CTempVar | CallExpr | CastExpr | ChanInit | CharLiteral | Comment | ComptimeCall |
+ ComptimeSelector | ConcatExpr | EnumVal | FloatLiteral | GoExpr | Ident | IfExpr |
+ IfGuardExpr | IndexExpr | InfixExpr | IntegerLiteral | Likely | LockExpr | MapInit |
+ MatchExpr | None | OrExpr | ParExpr | PostfixExpr | PrefixExpr | RangeExpr | SelectExpr |
+ SelectorExpr | SizeOf | SqlExpr | StringInterLiteral | StringLiteral | StructInit |
+ Type | TypeOf | UnsafeExpr
pub type Stmt = AssertStmt | AssignStmt | Block | BranchStmt | CompFor | ConstDecl | DeferStmt |
EnumDecl | ExprStmt | FnDecl | ForCStmt | ForInStmt | ForStmt | GlobalDecl | GoStmt |
@@ -27,7 +28,8 @@ pub type ScopeObject = ConstField | GlobalField | Var
// TOOD: replace table.Param
pub type Node = ConstField | EnumField | Expr | Field | File | GlobalField | IfBranch |
- MatchBranch | ScopeObject | SelectBranch | Stmt | StructField | StructInitField | table.Param
+ MatchBranch | ScopeObject | SelectBranch | Stmt | StructField | StructInitField |
+ table.Param
pub struct Type {
pub:
diff --git a/vlib/v/builder/cc.v b/vlib/v/builder/cc.v
index ae512eabd3..bf1595f6e5 100644
--- a/vlib/v/builder/cc.v
+++ b/vlib/v/builder/cc.v
@@ -191,10 +191,10 @@ fn (mut v Builder) setup_ccompiler_options(ccompiler string) {
// warnings are totally fixed/removed
ccoptions.args = [v.pref.cflags, '-std=gnu99']
ccoptions.wargs = ['-Wall', '-Wextra', '-Wno-unused', '-Wno-missing-braces', '-Walloc-zero',
- '-Wcast-qual', '-Wdate-time', '-Wduplicated-branches', '-Wduplicated-cond', '-Wformat=2', '-Winit-self',
- '-Winvalid-pch', '-Wjump-misses-init', '-Wlogical-op', '-Wmultichar', '-Wnested-externs', '-Wnull-dereference',
- '-Wpacked', '-Wpointer-arith', '-Wshadow', '-Wswitch-default', '-Wswitch-enum', '-Wno-unused-parameter',
- '-Wno-unknown-warning-option', '-Wno-format-nonliteral', '-Wno-unused-command-line-argument']
+ '-Wcast-qual', '-Wdate-time', '-Wduplicated-branches', '-Wduplicated-cond', '-Wformat=2',
+ '-Winit-self', '-Winvalid-pch', '-Wjump-misses-init', '-Wlogical-op', '-Wmultichar', '-Wnested-externs',
+ '-Wnull-dereference', '-Wpacked', '-Wpointer-arith', '-Wshadow', '-Wswitch-default', '-Wswitch-enum',
+ '-Wno-unused-parameter', '-Wno-unknown-warning-option', '-Wno-format-nonliteral', '-Wno-unused-command-line-argument']
if v.pref.os == .ios {
ccoptions.args << '-framework Foundation'
ccoptions.args << '-framework UIKit'
diff --git a/vlib/v/checker/check_types.v b/vlib/v/checker/check_types.v
index c19ee470f6..408f261605 100644
--- a/vlib/v/checker/check_types.v
+++ b/vlib/v/checker/check_types.v
@@ -365,8 +365,8 @@ pub fn (c &Checker) get_default_fmt(ftyp table.Type, typ table.Type) byte {
}
if ftyp in [table.string_type, table.bool_type] ||
sym.kind in
- [.enum_, .array, .array_fixed, .struct_, .map, .multi_return, .sum_type, .none_] || ftyp.has_flag(.optional) ||
- sym.has_method('str')
+ [.enum_, .array, .array_fixed, .struct_, .map, .multi_return, .sum_type, .none_] ||
+ ftyp.has_flag(.optional) || sym.has_method('str')
{
return `s`
} else {
diff --git a/vlib/v/checker/checker.v b/vlib/v/checker/checker.v
index 449865f2cd..6d82f5a41d 100644
--- a/vlib/v/checker/checker.v
+++ b/vlib/v/checker/checker.v
@@ -22,7 +22,9 @@ const (
const (
valid_comp_if_os = ['windows', 'ios', 'macos', 'mach', 'darwin', 'hpux', 'gnu', 'qnx',
- 'linux', 'freebsd', 'openbsd', 'netbsd', 'bsd', 'dragonfly', 'android', 'solaris', 'haiku', 'linux_or_macos']
+ 'linux', 'freebsd', 'openbsd', 'netbsd', 'bsd', 'dragonfly', 'android', 'solaris', 'haiku',
+ 'linux_or_macos',
+ ]
valid_comp_if_compilers = ['gcc', 'tinyc', 'clang', 'mingw', 'msvc', 'cplusplus']
valid_comp_if_platforms = ['amd64', 'aarch64', 'x64', 'x32', 'little_endian', 'big_endian']
valid_comp_if_other = ['js', 'debug', 'test', 'glibc', 'prealloc', 'no_bounds_checking']
@@ -2551,12 +2553,14 @@ pub fn (mut c Checker) assign_stmt(mut assign_stmt ast.AssignStmt) {
}
.mult_assign, .div_assign {
if !left_sym.is_number() &&
- !c.table.get_final_type_symbol(left_type_unwrapped).is_int() && left_sym.kind !in [.struct_, .alias]
+ !c.table.get_final_type_symbol(left_type_unwrapped).is_int() && left_sym.kind !in
+ [.struct_, .alias]
{
c.error('operator $assign_stmt.op.str() not defined on left operand type `$left_sym.name`',
left.position())
} else if !right_sym.is_number() &&
- !c.table.get_final_type_symbol(left_type_unwrapped).is_int() && left_sym.kind !in [.struct_, .alias]
+ !c.table.get_final_type_symbol(left_type_unwrapped).is_int() && left_sym.kind !in
+ [.struct_, .alias]
{
c.error('operator $assign_stmt.op.str() not defined on right operand type `$right_sym.name`',
right.position())
diff --git a/vlib/v/fmt/fmt.v b/vlib/v/fmt/fmt.v
index 6a27f2007e..9ccf47e86d 100644
--- a/vlib/v/fmt/fmt.v
+++ b/vlib/v/fmt/fmt.v
@@ -95,7 +95,6 @@ pub fn (mut f Fmt) write(s string) {
if !f.buffering {
if f.indent > 0 && f.empty_line {
f.write_indent()
- f.line_len += f.indent * 4
}
f.out.write(s)
f.line_len += s.len
@@ -143,6 +142,7 @@ fn (mut f Fmt) write_indent() {
f.out.write('\t')
}
}
+ f.line_len += f.indent * 4
}
// adjustments that can only be done after full line is processed. For now
@@ -198,6 +198,7 @@ pub fn (mut f Fmt) wrap_long_line(penalty_idx int, add_indent bool) bool {
f.out.go_back(1)
}
f.write('\n')
+ f.line_len = 0
if add_indent {
f.indent++
}
@@ -205,7 +206,6 @@ pub fn (mut f Fmt) wrap_long_line(penalty_idx int, add_indent bool) bool {
if add_indent {
f.indent--
}
- f.line_len = 0
return true
}
diff --git a/vlib/v/gen/cgen.v b/vlib/v/gen/cgen.v
index d00988e089..0bff26e27b 100644
--- a/vlib/v/gen/cgen.v
+++ b/vlib/v/gen/cgen.v
@@ -15,9 +15,9 @@ import v.depgraph
// NB: keywords after 'new' are reserved in C++
const (
c_reserved = ['delete', 'exit', 'link', 'unix', 'error', 'calloc', 'malloc', 'free', 'panic',
- 'auto', 'char', 'default', 'do', 'double', 'extern', 'float', 'inline', 'int', 'long', 'register',
- 'restrict', 'short', 'signed', 'sizeof', 'static', 'switch', 'typedef', 'union', 'unsigned', 'void',
- 'volatile', 'while', 'new', 'namespace', 'class', 'typename', 'export']
+ 'auto', 'char', 'default', 'do', 'double', 'extern', 'float', 'inline', 'int', 'long',
+ 'register', 'restrict', 'short', 'signed', 'sizeof', 'static', 'switch', 'typedef', 'union',
+ 'unsigned', 'void', 'volatile', 'while', 'new', 'namespace', 'class', 'typename', 'export']
// same order as in token.Kind
cmp_str = ['eq', 'ne', 'gt', 'lt', 'ge', 'le']
// when operands are switched
@@ -1692,8 +1692,8 @@ fn (mut g Gen) gen_assign_stmt(assign_stmt ast.AssignStmt) {
// int pos = *(int*)_t190.data;
mut tmp_opt := ''
is_optional := g.is_autofree &&
- (assign_stmt.op in [.decl_assign, .assign]) && assign_stmt.left_types.len == 1 && assign_stmt.right[0] is
- ast.CallExpr
+ (assign_stmt.op in [.decl_assign, .assign]) && assign_stmt.left_types.len == 1 &&
+ assign_stmt.right[0] is ast.CallExpr
if is_optional {
// g.write('/* optional assignment */')
call_expr := assign_stmt.right[0] as ast.CallExpr
@@ -1980,7 +1980,8 @@ fn (mut g Gen) gen_assign_stmt(assign_stmt ast.AssignStmt) {
}
// Assignment Operator Overloading
if ((left_sym.kind == .struct_ &&
- right_sym.kind == .struct_) || (left_sym.kind == .alias &&
+ right_sym.kind == .struct_) ||
+ (left_sym.kind == .alias &&
right_sym.kind == .alias)) &&
assign_stmt.op in [.plus_assign, .minus_assign, .div_assign, .mult_assign, .mod_assign]
{
@@ -3569,7 +3570,8 @@ fn (mut g Gen) select_expr(node ast.SelectExpr) {
expr := branch.stmt.expr as ast.InfixExpr
channels << expr.left
if expr.right is ast.Ident ||
- expr.right is ast.IndexExpr || expr.right is ast.SelectorExpr || expr.right is ast.StructInit
+ expr.right is ast.IndexExpr || expr.right is ast.SelectorExpr || expr.right is
+ ast.StructInit
{
// addressable objects in the `C` output
objs << expr.right
@@ -3782,7 +3784,8 @@ fn (mut g Gen) if_expr(node ast.IfExpr) {
first_branch := node.branches[0]
needs_tmp_var := node.is_expr &&
(g.is_autofree || (g.pref.experimental &&
- (first_branch.stmts.len > 1 || (first_branch.stmts[0] is ast.ExprStmt &&
+ (first_branch.stmts.len > 1 ||
+ (first_branch.stmts[0] is ast.ExprStmt &&
(first_branch.stmts[0] as ast.ExprStmt).expr is ast.IfExpr))))
/*
needs_tmp_var := node.is_expr &&
diff --git a/vlib/v/parser/if_match.v b/vlib/v/parser/if_match.v
index 97f137d993..1e6b1db058 100644
--- a/vlib/v/parser/if_match.v
+++ b/vlib/v/parser/if_match.v
@@ -176,8 +176,10 @@ fn (mut p Parser) match_expr() ast.MatchExpr {
is_else = true
p.next()
} else if (p.tok.kind == .name && !(p.tok.lit == 'C' &&
- p.peek_tok.kind == .dot) && (p.tok.lit in table.builtin_type_names || p.tok.lit[0].is_capital() ||
- (p.peek_tok.kind == .dot && p.peek_tok2.lit.len > 0 && p.peek_tok2.lit[0].is_capital()))) ||
+ p.peek_tok.kind == .dot) &&
+ (p.tok.lit in table.builtin_type_names || p.tok.lit[0].is_capital() ||
+ (p.peek_tok.kind == .dot &&
+ p.peek_tok2.lit.len > 0 && p.peek_tok2.lit[0].is_capital()))) ||
p.tok.kind == .lsbr
{
mut types := []table.Type{}
diff --git a/vlib/v/parser/parser.v b/vlib/v/parser/parser.v
index 84d2ab92d1..4a6f2d5fc0 100644
--- a/vlib/v/parser/parser.v
+++ b/vlib/v/parser/parser.v
@@ -994,8 +994,9 @@ fn (mut p Parser) parse_multi_expr(is_top_level bool) ast.Stmt {
return p.partial_assign_stmt(left, left_comments)
} else if tok.kind !in [.key_if, .key_match, .key_lock, .key_rlock, .key_select] &&
left0 !is ast.CallExpr && (is_top_level || p.tok.kind != .rcbr) && left0 !is ast.PostfixExpr &&
- !(left0 is ast.InfixExpr && (left0 as ast.InfixExpr).op in [.left_shift, .arrow]) && left0 !is
- ast.ComptimeCall && left0 !is ast.SelectorExpr
+ !(left0 is ast.InfixExpr &&
+ (left0 as ast.InfixExpr).op in [.left_shift, .arrow]) && left0 !is ast.ComptimeCall &&
+ left0 !is ast.SelectorExpr
{
p.error_with_pos('expression evaluated but not used', left0.position())
return ast.Stmt{}
@@ -1287,7 +1288,8 @@ pub fn (mut p Parser) name_expr() ast.Expr {
}
} else if (p.peek_tok.kind == .lcbr ||
(p.peek_tok.kind == .lt && lit0_is_capital)) &&
- (!p.inside_match || (p.inside_select && prev_tok_kind == .arrow && lit0_is_capital)) && !p.inside_match_case &&
+ (!p.inside_match || (p.inside_select && prev_tok_kind == .arrow && lit0_is_capital)) &&
+ !p.inside_match_case &&
(!p.inside_if || p.inside_select) &&
(!p.inside_for || p.inside_select)
{ // && (p.tok.lit[0].is_capital() || p.builtin_mod) {
diff --git a/vlib/v/parser/v_parser_test.v b/vlib/v/parser/v_parser_test.v
index 96dcb69744..3e82438c79 100644
--- a/vlib/v/parser/v_parser_test.v
+++ b/vlib/v/parser/v_parser_test.v
@@ -127,13 +127,12 @@ fn test_parse_expr() {
}
input := ['1 == 1', '234234', '2 * 8 + 3', 'a := 3', 'a++', 'b := 4 + 2', 'neg := -a', 'a + a',
'bo := 2 + 3 == 5', '2 + 1', 'q := 1', 'q + 777', '2 + 3', '2+2*4', 'x := 10', 'mut aa := 12',
- 'ab := 10 + 3 * 9', 's := "hi"', 'x = 11', 'a += 10', '1.2 + 3.4', '4 + 4', '1 + 2 * 5', '-a+1',
- '2+2',
- ]
+ 'ab := 10 + 3 * 9', 's := "hi"', 'x = 11', 'a += 10', '1.2 + 3.4', '4 + 4', '1 + 2 * 5',
+ '-a+1', '2+2']
expecting := ['1 == 1;', '234234;', '2 * 8 + 3;', 'int a = 3;', 'a++;', 'int b = 4 + 2;', 'int neg = -a;',
'a + a;', 'bool bo = 2 + 3 == 5;', '2 + 1;', 'int q = 1;', 'q + 777;', '2 + 3;', '2 + 2 * 4;',
- 'int x = 10;', 'int aa = 12;', 'int ab = 10 + 3 * 9;', 'string s = tos3("hi");', 'x = 11;', 'a += 10;',
- '1.2 + 3.4;', '4 + 4;', '1 + 2 * 5;', '-a + 1;', '2 + 2;']
+ 'int x = 10;', 'int aa = 12;', 'int ab = 10 + 3 * 9;', 'string s = tos3("hi");', 'x = 11;',
+ 'a += 10;', '1.2 + 3.4;', '4 + 4;', '1 + 2 * 5;', '-a + 1;', '2 + 2;']
mut e := []ast.Stmt{}
table := table.new_table()
vpref := &pref.Preferences{}
diff --git a/vlib/v/scanner/scanner.v b/vlib/v/scanner/scanner.v
index baef1e285f..e9391ddfbf 100644
--- a/vlib/v/scanner/scanner.v
+++ b/vlib/v/scanner/scanner.v
@@ -1070,9 +1070,9 @@ fn (mut s Scanner) ident_string() string {
}
// Escape `\u`
if c == `u` && (s.text[s.pos + 1] == s.quote ||
- s.text[s.pos + 2] == s.quote || s.text[s.pos + 3] == s.quote || s.text[s.pos + 4] == s.quote ||
- !s.text[s.pos + 1].is_hex_digit() || !s.text[s.pos + 2].is_hex_digit() || !s.text[s.pos + 3].is_hex_digit() ||
- !s.text[s.pos + 4].is_hex_digit())
+ s.text[s.pos + 2] == s.quote || s.text[s.pos + 3] == s.quote || s.text[s.pos +
+ 4] == s.quote || !s.text[s.pos + 1].is_hex_digit() || !s.text[s.pos + 2].is_hex_digit() ||
+ !s.text[s.pos + 3].is_hex_digit() || !s.text[s.pos + 4].is_hex_digit())
{
s.error(r'`\u` incomplete unicode character value')
}
diff --git a/vlib/v/table/table.v b/vlib/v/table/table.v
index b0f6be3308..615ed8ae45 100644
--- a/vlib/v/table/table.v
+++ b/vlib/v/table/table.v
@@ -43,8 +43,8 @@ pub mut:
fn (f &Fn) method_equals(o &Fn) bool {
return f.params[1..].equals(o.params[1..]) && f.return_type == o.return_type && f.is_variadic ==
- o.is_variadic && f.language == o.language && f.is_generic == o.is_generic && f.is_pub == o.is_pub &&
- f.mod == o.mod && f.name == o.name
+ o.is_variadic && f.language == o.language && f.is_generic == o.is_generic && f.is_pub ==
+ o.is_pub && f.mod == o.mod && f.name == o.name
}
pub struct Param {
diff --git a/vlib/v/table/types.v b/vlib/v/table/types.v
index d413d749f3..c8fe2833b3 100644
--- a/vlib/v/table/types.v
+++ b/vlib/v/table/types.v
@@ -316,9 +316,8 @@ pub const (
unsigned_integer_type_idxs = [byte_type_idx, u16_type_idx, u32_type_idx, u64_type_idx]
float_type_idxs = [f32_type_idx, f64_type_idx, float_literal_type_idx]
number_type_idxs = [i8_type_idx, i16_type_idx, int_type_idx, i64_type_idx, byte_type_idx,
- u16_type_idx, u32_type_idx, u64_type_idx, f32_type_idx, f64_type_idx, int_literal_type_idx, float_literal_type_idx,
- rune_type_idx,
- ]
+ u16_type_idx, u32_type_idx, u64_type_idx, f32_type_idx, f64_type_idx, int_literal_type_idx,
+ float_literal_type_idx, rune_type_idx]
pointer_type_idxs = [voidptr_type_idx, byteptr_type_idx, charptr_type_idx]
string_type_idxs = [string_type_idx, ustring_type_idx]
)
@@ -356,10 +355,9 @@ pub const (
pub const (
builtin_type_names = ['void', 'voidptr', 'charptr', 'byteptr', 'i8', 'i16', 'int', 'i64', 'u16',
- 'u32', 'u64', 'int_literal', 'f32', 'f64', 'float_literal', 'string', 'ustring', 'char', 'byte',
- 'bool', 'none', 'array', 'array_fixed', 'map', 'chan', 'any', 'struct', 'mapnode', 'size_t', 'rune',
- 'gohandle',
- ]
+ 'u32', 'u64', 'int_literal', 'f32', 'f64', 'float_literal', 'string', 'ustring', 'char',
+ 'byte', 'bool', 'none', 'array', 'array_fixed', 'map', 'chan', 'any', 'struct', 'mapnode',
+ 'size_t', 'rune', 'gohandle']
)
pub struct MultiReturn {
diff --git a/vlib/vweb/vweb.v b/vlib/vweb/vweb.v
index ecc9a49f85..5d0b8cf71b 100644
--- a/vlib/vweb/vweb.v
+++ b/vlib/vweb/vweb.v
@@ -424,7 +424,8 @@ fn handle_conn(mut conn net.TcpConn, mut app T) {
// should be called first.
if (req_method_str == '' &&
url_words[0] == method.name && url_words.len == 1) ||
- (req_method_str == req.method.str() && url_words[0] == method.name && url_words.len == 1)
+ (req_method_str == req.method.str() && url_words[0] == method.name && url_words.len ==
+ 1)
{
$if debug {
println('easy match method=$method.name')