rust-in-action / code

Source code for the book Rust in Action
https://www.manning.com/books/rust-in-action?a_aid=rust&a_bid=0367c58f&chan=github
1.89k stars 443 forks source link

Ch5/ch5-impossible-add.rs can not compile #64

Open ghost opened 2 years ago

ghost commented 2 years ago
#[allow(arithmetic_overflow)]    <1>

fn main() {
  let (a, b) = (200, 200);
  let c: u8 = a + b;             <2>
  println!("200 + 200 = {}", c);
}

In this source code, there are two marks <1>/<2> the author might forget to comment, making the rustc reject to compile it

ewenmcneill commented 1 year ago

FTR, there's also an additional problem in the book text (or the naming of the file in the repo). The book says:

Look in ch5/ ch5-impossible-addition.rs for the source code for this listing

but the actual file is called:

ewen@basadi:~/misc/src/rust/rust-in-action/code/ch5$ ls ch5*impossible*rs
ch5-impossible-add.rs
ewen@basadi:~/misc/src/rust/rust-in-action/code/ch5$ 

Ie, one has the suffix "-addition", and one has the suffix "-add"; the meaning is similar, but anyone cut'n'pasting filenames to look for will be confused. (It's probably easier to rename the file in the repo to match the book text. ETA: The second half of page 141, of the PDF version, uses the name matching the repo; so maybe it's just the "look in" reference that introduces it which has the wrong name.)

Anyway I can confirm properly commenting out the book reference markers does allow the example to compile.

Ewen

CC: @timClicks

timClicks commented 1 year ago

Oh good catch! I will get that fixed.