لزوم استفاده از فانکشن‌های divergent در Rust


#21

:point_up::point_up::point_up::point_up::point_up::point_up:


#22

پاسختون در این لینک داده شده


#23

در مورد divergent همونی رو گفته که سام و من اشاره کردیم, البته بیش از اشاره مستقیم چندتا سناریو مثال زده شده, اگر حسش اومد اون stackoverflow رو کامل می کنم.


#24

سوال!
وقتی قرار نیست چیزی برگردونه، چرا باید تایپ تعیین کنیم؟
اینم همون کارو میکنه:

fn main() {
    foo();
}

fn foo() {
    panic!("This call never returns.");
}

و این:

fn main() {
    diverges();
}

fn diverges() {
    panic!("This function never returns");
}

ارور هم نمیده!

سوال من اینه که وقتی قرار نیست چیزی برگردونه، اصلا چرا جلوش -> نوشته میشه؟
هم منطقی نیست، هم نیازی بهش نیست.


ویرایش:

اینو ندیده بودم :sweat_smile: