• @[email protected]
    link
    fedilink
    101 year ago

    Oh please not. Spare us from the C++ type-polymorphy nightmare. Traits are so much better than inheritance.

  • Tin Švagelj
    link
    fedilink
    71 year ago

    @kixik Inheritance can always be substituted by composition which is what #Rust does pretty well. Constexpr isn’t on C++ level, but I guess you can generate code from build script so there’s ways around it.
    As for virtual functions - Traits are effectively to virtual function lookup table declarations that get used by dyn SomeTrait type. So calling a fn on Box\<dyn T\> generates VMT lookup.

    • Tin Švagelj
      link
      fedilink
      61 year ago

      @kixik Thanks to good macro system Rust can (via enum_dispatch) transform those lookups into a switch statement which is best of both worlds IMO.