diff --git a/vlib/toml/scanner/scanner.v b/vlib/toml/scanner/scanner.v index ad8a051e69..50b47af767 100644 --- a/vlib/toml/scanner/scanner.v +++ b/vlib/toml/scanner/scanner.v @@ -142,7 +142,7 @@ pub fn (mut s Scanner) scan() !token.Token { if util.is_key_char(byte_c) { key := s.extract_key() - if !s.is_left_of_assign && (key == 'true' || key == 'false') { + if u8(s.peek(1)) != `=` && (key == 'true' || key == 'false') { util.printdbg(@MOD + '.' + @STRUCT + '.' + @FN, 'identified a boolean "${key}" (${key.len})') return s.new_token(.boolean, key, key.len) } diff --git a/vlib/toml/tests/reflect_test.v b/vlib/toml/tests/reflect_test.v index c204f6c866..6e20a3df8e 100644 --- a/vlib/toml/tests/reflect_test.v +++ b/vlib/toml/tests/reflect_test.v @@ -16,6 +16,13 @@ strings = [ bools = [true, false, true, true] +bools_br = [ + true, + false, + true, + true +] + floats = [0.0, 1.0, 2.0, 3.0] floats_br = [ @@ -57,6 +64,7 @@ struct User { birthday toml.Date strings []string bools []bool + bools_br []bool floats []f32 floats_br []f32 int_map map[string]int @@ -80,6 +88,7 @@ fn test_reflect() { assert user.birthday.str() == '1980-04-23' assert user.strings == ['v matures', 'like rings', 'spread in the', 'water'] assert user.bools == [true, false, true, true] + assert user.bools_br == [true, false, true, true] assert user.floats == [f32(0.0), 1.0, 2.0, 3.0] assert user.floats_br == [f32(0.0), 1.05, 2.025, 3.5001] assert user.int_map == {