Robert Bradshaw wrote:
> On Oct 11, 2008, at 7:17 AM, Dag Sverre Seljebotn wrote:
> 
>> Dag Sverre Seljebotn wrote:
>>> Dag Sverre Seljebotn wrote:
>>>
>>>> What do I propose instead?
>>>>   a) That the reference-counted heap-allocated array stuff in the  
>>>> wiki
>>>> is implemented first (with a list constructor). So the thing gets  
>>>> the
>>>> semantics of a reference counted array, constructed again each  
>>>> time it
>>>> is assigned (very similar to a Python list).
>>>>
>>>>   b) That simple cases (where the pointer is never reassigned or  
>>>> copied,
>>>> only written/read to/from by indexing) are then optimized to use  
>>>> stack
>>>> allocation instead.
>>>>
>>> First and foremost the point now is to .
>> Sorry! I meant: The point now was to argue for postponing the decision
>> for later and disable it in the upcoming release.
>>
>> I'd settle for disabling any "literal assignment" to the pointer  
>> outside
>> of the declaration though, then I'd be back to "not worrying". (One
>> could also disable it only inside loops, but that is too ugly and
>> inconsistent.)
> 
> I'm OK with only allowing it outside of declarations (and even  
> better, only to an array type), but don't know if I'll have time to  
> do that anytime soon.

I don't understand? Do you mean the opposite, i.e only allowing it 
inside of declarations?

Anyway, the (final and realistic) proposal was:

cdef int* a = [1, 2, 3] # ok!

while

cdef int* a
a = [1, 2, 3] # not ok!

At least for this release (adding features is easier than removing).

This absolutely shouldn't be more than half an hour, it is just about 
throwing up a compiler error in the right transform. If you're +1 to 
this but don't have the time I could have a look during next week. Have 
you decided on a timeframe for the release?

-- 
Dag Sverre
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to