• jeffhykin@lemm.ee
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    8 months ago

    If you think that’s good, then you’re gonna love this “simplified” real code posted as a real issue on one of my Github repos.

    Edit: updated link to address the stack-trace comment

    • parlaptie@feddit.de
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      edit-2
      8 months ago

      That’s not actual code though, it looks like some kind of trace. Notice the filenames at the end of each line.

      The actual solution the issue opener there might be looking for is to disable C++ parsing, since it’s not actually C++ code, it’s just some text they pasted into VSCode and they’re wondering why their editor can’t handle it.

  • GissaMittJobb@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    8 months ago

    Since all of the expressions just wrap a None, I wouldn’t be surprised if the transmutes basically get compiled to 0, making the assertion at the end assert_eq!(0 * 0, 0).

    • tatterdemalion@programming.devOP
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      8 months ago

      Nah these are the actual integer representations. Otherwise you would have Some(None) == Some(Some(None)) which is way too Javascripty for Rust folks.

    • Knusper@feddit.de
      link
      fedilink
      arrow-up
      1
      ·
      8 months ago

      No, not at all. It’s a joke post, abusing the in-memory representation of the Option type to construct numbers. When nesting the Option type, it turns into a densely packed bit vector…

      And if I understand the purpose of Fin correctly, you’re picking on the one ‘peasant language’ that actually has something like that built-in.
      In Rust, you can specify the type of an array as e.g [u8; 3]. Which is an array containing values of type u8 (unsigned 8-bit integer) with a fixed, compile-time-guaranteed length of 3. So, [u8; 3] could be used to represent an RGB color, for example.
      It is an array, not a set, but well, close enough.