1use quick_error::*;
7
8quick_error! {
9 #[derive(Debug)]
10 pub enum YangError {
11 IoError(s: String) {
12 display("io::Error: {}", s)
13 }
14 InvalidComment {
15 display("Invalid comment")
16 }
17 InvalidString(s: String) {
18 display("Invalid string '{}'", s)
19 }
20UnexpectedEof {
24 display("Unexpected end of file")
25 }
26 UnexpectedToken(s: String) {
27 display("Unexpected token {}", s)
28 }
29 UnexpectedStatement(s: String) {
30 display("Unexpected statement: {}", s)
31 }
32 MissingStatement(s: &'static str) {
33 display("Missing statement {}", s)
34 }
35 TooFewStatement(s: String) {
36 display("Too few statement {}", s)
37 }
38 TooManyStatements(s: String) {
39 display("Too many statements {}", s)
40 }
41 ArgumentParseError(s: &'static str) {
42 display("Argument parse error {}", s)
43 }
44 PlaceHolder {
45 display("placeholder")
46 }
47 }
48}
49
50use std::fmt;
51
52#[derive(Debug)]
53pub struct ArgError {
54 pub str: &'static str,
55}
56
57impl fmt::Display for ArgError {
58 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
59 write!(f, "Arg error: {}", self.str)
60 }
61}
62
63impl ArgError {
64 pub fn new(str: &'static str) -> ArgError {
65 ArgError { str }
66 }
67}