error[E0277]: the trait bound `{integer}: Buy` is not satisfied
  --> src/main.rs:4:13
   |
2  |     buy(milk);
3  |     if they_have_eggs {
4  |         buy(6);
   |         --- ^ the trait `Buy` is not implemented for `{integer}`
   |         |
   |         required by a bound introduced by this call
   |
note: required by a bound in `buy`
  --> src/main.rs:11:22
   |
11 | fn buy(product: impl Buy) {
   |                      ^^^ required by this bound in `buy`

For more information about this error, try `rustc --explain E0277`.
error: could not compile `dad` (bin "errand") due to previous error
  • dullbananasOP
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    1 year ago
    fn main(){
        let mut input = std::io::stdin().lines();
        let num0 = input.next().unwrap().unwrap();
        let num1 = input.next().unwrap().unwrap();
        println!("{}", num0 + &num1);
    }
    
    • Noodlez@programming.dev
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      Nothing makes me cringe more than seeing 4 unwraps in a row in Rust code. Like are you sure those errors will never happen? Do you really wanna panic?

      And then I do it in my own code and I get it again. Rust error handling sucks ass. (I love Rust btw)

      • TALD@lemmy.fmhy.ml
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        I unwrap like a mad man while building a proof of concept. It’s the same as approaching say a multithreaded program. You always get the single thread to work first and then worry about adding thread handling later.

        Same as result and option handling, that’s for when I want to stabilise my code before finalising for release.