Upto 90% for hellworld

  • @robinm
    link
    94 months ago

    It’s also what I understood from what I read but I assume it was just a poor choice of word. Debug symbols are way too important for debugging to be stripped by default.

    • @Lmaydev
      link
      54 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.

      On reflection I imagine the debug profile does enable this

      • @robinm
        link
        44 months ago

        Yeah, this make sence

    • @[email protected]
      link
      fedilink
      4
      edit-2
      4 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
        link
        2
        edit-2
        4 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.

        • @[email protected]
          link
          fedilink
          34 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

          • @Lmaydev
            link
            14 months ago

            I knew I had to be missing something. Thanks for the insight mate.

    • @Lmaydev
      link
      24 months ago

      I guess it may use external debug symbols and strip them from the binary by default.

      Otherwise seems like a massive change haha