On Tuesday, 28 June 2022 at 21:58:48 UTC, Ola Fosheim Grøstad wrote:

not-scoped variable (`a.next` is not `scope` since this attribute is not transitive)

Well, that is a flaw, if the object is stack allocated then the fields are too.


Not necessarily, especially if the fields aren't value types. You can have stack allocated "objects" with pointers to heap allocated memory (heap allocated "objects".)

You can't, or rather you shouldn't have stack allocated fields within heap allocated "objects" however; as that will almost be guaranteed to lead to problems. I believe it's possible, but one should always refrain from it, but the same isn't true the for stack allocated "objects" with heap allocated fields.

Ex. from your example then even if the "node struct" you pass was allocated on the stack, then the memory the "next" pointer points to might not be allocated same place.

Unless I'm misunderstanding what you're trying to say.
        • Re: DIP1000 Ola Fosheim Grøstad via Digitalmars-d-learn
        • Re: DIP1000 Ola Fosheim Grøstad via Digitalmars-d-learn
          • Re: DIP1000 Paul Backus via Digitalmars-d-learn
            • Re: DIP... Ola Fosheim Grøstad via Digitalmars-d-learn
              • Re:... Dukc via Digitalmars-d-learn
              • Re:... Ola Fosheim Grøstad via Digitalmars-d-learn
  • Re: DIP1000 Loara via Digitalmars-d-learn
    • Re: DIP1000 Ola Fosheim Grøstad via Digitalmars-d-learn
      • Re: DIP1000 Loara via Digitalmars-d-learn
        • Re: DIP1000 Ola Fosheim Grøstad via Digitalmars-d-learn
          • Re: DIP1000 bauss via Digitalmars-d-learn
            • Re: DIP... Ola Fosheim Grøstad via Digitalmars-d-learn
          • Re: DIP1000 Loara via Digitalmars-d-learn
            • Re: DIP... Ola Fosheim Grøstad via Digitalmars-d-learn
              • Re:... Loara via Digitalmars-d-learn
              • Re:... Ola Fosheim Grøstad via Digitalmars-d-learn

Reply via email to