inner member classes in final outer class
Bruno Medeiros
brunodomedeiros+spam at com.gmail
Tue Sep 18 02:01:07 PDT 2007
Regan Heath wrote:
> Bruno Medeiros wrote:
>> Regan Heath wrote:
>>> Bruno Medeiros wrote:
>>>> Regan Heath wrote:
>>>>> Bruno Medeiros wrote:
>>>>>> Regan Heath wrote:
>>>>>>>
>>>>>>> Well, that's where you're confused (by my badly constructed post).
>>>>>>>
>>>>>>> I was describing the OP's problem case, the current D behaviour
>>>>>>> (unless I'm mistaken) which is for every instance of the inner
>>>>>>> class to have a context pointer.
>>>>>>>
>>>>>>> The example above using static was my suggested solution, of sorts.
>>>>>>>
>>>>>>> Regan
>>>>>>
>>>>>> Ok, I know you were talking first about current D behavior, but I
>>>>>> was talking about your suggested solution. You do understand why
>>>>>> that solution wouldn't work as you expected?
>>>>>
>>>>> Nope.
>>>>>
>>>>> Are you referring to your comment:
>>>>> "Removing the context pointer would imply having different,
>>>>> incompatible versions of the Inner class, and since that alters
>>>>> program semantics the compiler cannot do that"
>>>>>
>>>>> ?
>>>>>
>>>>> Regan
>>>>
>>>> No, I mean making the context pointer static.
>>>
>>> Please explain why it wont work (as I expect - assuming you're not
>>> confused about what I expect too <g>)?
>>>
>>> Regan
>>
>> Damn it, I already did! :P
>> You said you wanted to "have only X outer references, instead of X*Y
>> outer references", right? And like I said, if you (or the compiler)
>> made the context pointer static (as in 'static' storage class in a var
>> declaration), you would have only 1 outer reference (not X), since
>> static would make that "variable" unique.
>
> Doh! Somehow I totally missed that, you're quite correct. :)
>
> Regan
Finally! :)
--
Bruno Medeiros - MSc in CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
More information about the Digitalmars-d
mailing list