I posted it suddenly. I don't know why.

I'll give short illustration.

struct PropType
{
   void append(int value)
   {
      //implementation
   }

}

class Test
{
   PropType myProp() @property
   {
      return _propValue;
   }

   private PropType _propValue;

}

void main()
{
   Test test = new Test;

   //This line looks like I want to append value
   //to field of *test* object. But it cant't modify
   //it and just doing useless job.
   test.myProp.append(10);

}


I don't know intentions of language designers in part of properties. But in this code I see some logical contradiction. What I see and thinking of this line of code it is not what it really does.

I don't know much about properties behaviour in different languages but there is something that confuses me. I believe that this problem deserves more attention. There are 5 DIP's in dlang wiki. So I think it's important

Reply via email to