class val URITemplateParseError
"""
Describes why a URI template string failed to parse.
Contains a human-readable error message and the byte offset in the
template string where the error was detected.
"""
let message: String val
let offset: USize
new val create(message': String val, offset': USize) =>
"""Create a parse error with the given message and byte offset."""
message = message'
offset = offset'
fun string(): String iso^ =>
"""Format as "offset N: message"."""
let num: String val = offset.string()
let out = recover iso
String(7 + num.size() + 2 + message.size())
end
out.>append("offset ")
.>append(num)
.>append(": ")
.>append(message)
consume out