Two apps down at once.
Full postmortem on how a copied config file broke OpenCode's CLI and Desktop together: istiquritconsultant.com/workflow-opt...
#OpenCode #AIcoding #DevTools #YAML #ConfigError #DebuggingTips #WorkflowOptimization #AIWorkflow #TechDiary
Two apps down at once.
Full postmortem on how a copied config file broke OpenCode's CLI and Desktop together: istiquritconsultant.com/workflow-opt...
#OpenCode #AIcoding #DevTools #YAML #ConfigError #DebuggingTips #WorkflowOptimization #AIWorkflow #TechDiary
E: From<TokenizerError> + From<std::io::Error>
the top-level error can unify all IO errors under one category instead of having a bucket in each error type
ConfigError {
TokenizerError(...)
ParserError(...)
IOError(...)
}
E: From<TokenizerError> + From<std::io::Error>
the top-level error can unify all IO errors under one category instead of having a bucket in each error type
ConfigError {
TokenizerError(...)
ParserError(...)
IOError(...)
}
you might have
ConfigError {
TokenError(#[from]TokenError),
ParserError(#[from]ParserError),
SemanticError(#[from]SemanticError),
ValidationError(#[from]ValidationError),
}
the ? syntax will automatically convert where needed
you might have
ConfigError {
TokenError(#[from]TokenError),
ParserError(#[from]ParserError),
SemanticError(#[from]SemanticError),
ValidationError(#[from]ValidationError),
}
the ? syntax will automatically convert where needed