@@ -73,10 +73,7 @@ fn write_toc(book: &Book, path_to_root: &Path, out: &mut Writer) -> IoResult<()>
7373}
7474
7575fn render ( book : & Book , tgt : & Path ) -> CliResult < ( ) > {
76- let tmp = TempDir :: new ( "rust-book" )
77- . ok ( )
78- // FIXME: lift to Result instead
79- . expect ( "could not create temporary directory" ) ;
76+ let tmp = try!( TempDir :: new ( "rust-book" ) ) ;
8077
8178 for ( section, item) in book. iter ( ) {
8279 println ! ( "{} {}" , section, item. title) ;
@@ -163,30 +160,24 @@ impl Subcommand for Build {
163160 tgt = Path :: new ( os:: args ( ) [ 3 ] . clone ( ) ) ;
164161 }
165162
166- let _ = fs:: mkdir ( & tgt, io:: USER_DIR ) ; // FIXME: handle errors
163+ try! ( fs:: mkdir ( & tgt, io:: USER_DIR ) ) ;
167164
168- // FIXME: handle errors
169- let _ = File :: create ( & tgt. join ( "rust-book.css" ) ) . write_str ( css:: STYLE ) ;
165+ try!( File :: create ( & tgt. join ( "rust-book.css" ) ) . write_str ( css:: STYLE ) ) ;
170166
171- let summary = File :: open ( & src. join ( "SUMMARY.md" ) ) ;
167+ let summary = try! ( File :: open ( & src. join ( "SUMMARY.md" ) ) ) ;
172168 match book:: parse_summary ( summary, & src) {
173169 Ok ( book) => {
174170 // execute rustdoc on the whole book
175- try!( render ( & book, & tgt) . map_err ( |err| {
176- term. err ( & format ! ( "error: {}" , err. description( ) ) [ ] ) ;
177- err. detail ( ) . map ( |detail| {
178- term. err ( & format ! ( "detail: {}" , detail) [ ] ) ;
179- } ) ;
180- err
181- } ) )
171+ render ( & book, & tgt)
182172 }
183173 Err ( errors) => {
174+ let n = errors. len ( ) ;
184175 for err in errors. into_iter ( ) {
185- term. err ( & err[ ] ) ;
176+ term. err ( & format ! ( "error: {}" , err) [ ] ) ;
186177 }
178+
179+ Err ( box format ! ( "{} errors occurred" , n) as Box < Error > )
187180 }
188181 }
189-
190- Ok ( ( ) ) // lol
191182 }
192183}
0 commit comments