#include "cparse/Parser.hh"   // pulled in transitively by "fson/Fson.hh"

The diagnostic type used throughout fson. It comes from the cparse library, not fson — which is why a program using fson links both libfson and libcparse (see Install).

FieldTypeMeaning
kindenum class Kind { Syntax, Type, Faulty, Internal, Warning }severity / class
messagestd::stringhuman-readable description
filenamestd::stringthe file the error is in (an %include target, when relevant)
lineint1-based
colint1-based

fson-check prints them as:

config.fson:7:3: syntax error: expected ':' after key

mapping Kindsyntax error / type error / error / internal error / warning.

Where they surface

APIAccess
Fson::loadLoadResult::errors (a std::vector<ParseError>)
FsonParserparser.errors() / parser.hasErrors()

A Warning never blocks a write-back — the lexeme is preserved, so the output stays faithful. LoadResult::ok() is false only for something worse than a warning.