Názor k článku Reakce na chyby v programovacím jazyku Rust od klokan - Jistě, v tom příkladu jsem předpokládal, že error...

  • Článek je starý, nové názory již nelze přidávat.
  • 2. 3. 2017 6:33

    klokan

    Jistě, v tom příkladu jsem předpokládal, že error == NULL znamená není chyba. Je to v podstatě přesný ekvivalent autorova příkladu v Rustu s Result<i32, &'static str>. Obecná definice to samozřejmě není, jenomže C bohužel nemá generické typy, takže pro skutečně správnou obecnou definici by bylo třeba nasadit makra a už by to začalo být veselé. Překladač samozřejmě nic nehlídá, ale jsme v C, kde se všechno dělá ručně, takže v zásadě by to zůstalo idiomatické. Respektive to není o nic horší, než skutečnost, že nám překladač taky negarantuje, že pointer není NULL nebo že se při strcpy řetězec opravdu vejde do destinace.