These are chat archives for dev-ua/rust

5th
Jan 2015
Senin Roman
@Rastopyr
Jan 05 2015 19:21
fn main() {
        let mut inc: int = 1;

        print_number(inc);
        print_sum(12, inc);

        inc_one(&mut inc);

        print_number(inc);
        print_sum(12, inc);
}

fn print_number(x: int) {
        println!("Number is: {}", x);
}

fn print_sum(x: int, y:int) {
        println!("Sum of arguments is: {}", x + y);
}

fn inc_one(x: &mut int) {
        x += 1;
}
вот этот код мне выдает ошибку при компиляции
binary assignment operation += cannot be applied to type &mut int
что я делаю не так?
Paul Colomiets
@tailhook
Jan 05 2015 19:27
*x += 1
у тебя же x это указатель
Senin Roman
@Rastopyr
Jan 05 2015 19:30
@tailhook спасибо! я только учусь.
оператор *, получается, позволяет получить занчение, на которое указывает x?
Paul Colomiets
@tailhook
Jan 05 2015 19:32
да, получить значение, или записать значение
Senin Roman
@Rastopyr
Jan 05 2015 21:00
спасибо. буду изучать дальше
Андрей Листочкин (Andrey Listochkin)
@listochkin
Jan 05 2015 22:20

https://twitter.com/steveklabnik/status/552183835623165952

в общем, вроде решают все правильно - убирают int и uint, что очень правильно. А для arbitrary precision вводят пару isize/usize, и что самое приятное - делают для них суффиксы. Можно будет писать 10is так же как сейчас 10i32