On Tue, Sep 8, 2015 at 10:26 AM, Antony Lee <
anton...@berkeley.edu> wrote:
>
> 2015-09-08 8:18 GMT-07:00 Chris Barker - NOAA Federal
> <
chris....@noaa.gov>:
>>
>> >> - if __future__ division is set: int / int => float (whether variables
>> >> are
>> >> untyped (= typed at runtime by python) or typed (including by the
>> >> inferencer))
>> >> - if __future__ division is not set: int / int => int, with
>> >> opposite-sign-case and zero-divisor-case handled depending on cdivision
>> >> - in both cases, int // int => int, with opposite-sign-case and
>> >> zero-divisor-case handled depending on cdivision (also for % and
>> >> divmod).
>> >
>> > That's what I'm leaning towards as well, but it is backwards
>> > incompatible.
>>
>> I like it, but don't think the backwards incompatibility is worth it.
>>
>> Unless Cython could emit a warning in all cases where the behavior
>> changed. But even then, it could be pretty annoying.
>>
>> -Chris
>>
>
> I would consider that language_level=3 not implying __future__ division is a
> bug. But fixing it is already backwards incompatible, so I'd just have
> everything fixed.