Skip to content

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

Open

Description

#[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

Activity

  1. added a commit that references this issue on Dec 20, 2021
    1f51062
  2. ewenmcneill commented on Jan 6, 2023

    @ewenmcneill

    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

  3. timClicks commented on Jan 6, 2023

    @timClicks
    Contributor

    Oh good catch! I will get that fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions