• brisk@aussie.zone
    link
    fedilink
    arrow-up
    1
    ·
    27 days ago

    I worked on software at one point that had at it’s core a number of “modes” that it switched between. It was, at the time, in the process of migrating from enums and switch/case trees to an inheritance based system.

    In practice this meant there was a single instance of “Mode” for each mode which used pointer equality to switch/case on modes like an enum.

    To add a new mode (that did nothing) I think I had to change about 6 different places.

    • Dhs92@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      27 days ago

      Not really related to the pointer thing, but Rust also has pattern matching based on Enums, as they’re actually sum-types and not just numbers