On Wednesday, 29 June 2022 at 05:51:26 UTC, bauss wrote:
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".)

Those are not fields, those are separate objects… The compiler knows which is a field (part of the object).

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.

That is perfectly ok if you use RAII and manage life times.

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.

You did :). If you look at the post I made in general about DIP1000 and flow typing you see that I annotate scope with a number to indicate life time ordering.

If you have `connect(int* a,int* b){a.next = b}` then the compiler can deduce that the signature with formal parameters should be `connect(scope!N(int*) a, scope_or_earlier!N(int*) b)`. The compiler then checks that the actual parameters at the call site are subtypes (same type or proper subtype).







        • 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