Upto 90% for hellworld

  • OmnipotentEntity@beehaw.org
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    10 months ago

    As mentioned in the article, this concerns release mode, which already does not have symbols by default for user code. It does have symbols for the standard library code, however, due to how the binaries for the standard library are shipped (i.e. with symbols only). This change simply also removes standard library symbols.

    If you need symbols, you can use default debugging build, or if you need both compiler optimizations and debugging symbols you can create a custom profile that inherets from release with debug = true. The second you already need to do to get full debugging symbols right now, so this isn’t really much of a change from a workflow standpoint.

    • Lmaydev@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      10 months ago

      In fact, this new default will be used for any profile which does not enable debuginfo anywhere in its dependency chain, not just for the release profile.

      This is the sentence that tripped me up. But on rereading I’m assuming the debug profile does enable this.

      • OmnipotentEntity@beehaw.org
        link
        fedilink
        arrow-up
        3
        ·
        10 months ago

        Yeah, definitely :)

        The default dev profile is defined as:

        [profile.dev]
        opt-level = 0
        debug = true
        split-debuginfo = '...'  # Platform-specific.
        strip = "none"
        debug-assertions = true
        overflow-checks = true
        lto = false
        panic = 'unwind'
        incremental = true
        codegen-units = 256
        rpath = false
        

        You can find more information in the cargo book page on profiles