pub enum Error {
Show 18 variants
Bad2ExpNumber(u32),
BadWordLength {
bit_length: usize,
},
EntropyInsufficient {
bit_length: usize,
},
EntropyTooMuch {
bit_length: usize,
},
HoleAtCommitTime {
name: Arc<str>,
arrow: Arrow,
},
HoleFilledAtCommitTime,
NameIllegal(Arc<str>),
NameIncomplete(Arc<str>),
NameMissing(Arc<str>),
NameRepeated(Arc<str>),
NoMain,
ParseFailed(Option<Lexeme>),
LexFailed(String),
NumberOutOfRange(String),
TypeCheck(Error),
Undefined(String),
UnknownJet(String),
WitnessDisconnectRepeated {
name: Arc<str>,
count: usize,
},
}
Expand description
An individual error.
Generally this structure should not be used on its own, but only wrapped in an
ErrorSet
. This is because in the human-readable encoding errors it is usually
possible to continue past individual errors, and the user would prefer to see as
many as possible at once.
Variants§
Bad2ExpNumber(u32)
A number of the form 2^y was used as a type but y was not an allowed value
BadWordLength
A constant word had a length which was not an allowable power of 2
EntropyInsufficient
A “fail” node was provided with less than 128 bits of entropy
EntropyTooMuch
A “fail” node was provided with more than 512 bits of entropy
HoleAtCommitTime
When converting to a CommitNode
, there were unfilled holes which prevent
us from knowing the whole program.
HoleFilledAtCommitTime
When converting to a CommitNode
, a disconnect node had an actual node rather
than a hole.
NameIllegal(Arc<str>)
An expression name was not allowed to be used as a name.
NameIncomplete(Arc<str>)
An expression was given a type, but no actual expression was provided.
NameMissing(Arc<str>)
An expression was referenced but did not refer to anything.
NameRepeated(Arc<str>)
An expression name was used for multiple expressions.
NoMain
Program did not have a main
expression
ParseFailed(Option<Lexeme>)
Parsing failed (the parser provides us some extra information, but beyond the line and column, it does not seem very useful to a user, so we drop it).
LexFailed(String)
Lexing failed; here santiago provides us an error message which is useful
NumberOutOfRange(String)
A number was parsed in some context but was out of range.
TypeCheck(Error)
Simplicity type-checking error
Undefined(String)
Expression referred to an undefined symbol
UnknownJet(String)
A given jet is not a known jet
WitnessDisconnectRepeated
A witness or disconnect node was accessible from multiple paths.