[issue41889] enum: Mixin and int base class regression in 3.8.6

2020-12-07 Thread Ethan Furman


Change by Ethan Furman :


--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41889] enum: Mixin and int base class regression in 3.8.6

2020-12-07 Thread Ethan Furman


Ethan Furman  added the comment:


New changeset be52ca45d9eb9c3e8941e46ddc67a210f0f4c6fa by Miss Islington (bot) 
in branch '3.9':
bpo-41889: [Enum] fix multiple-inheritance regression (GH-22487) (GH-23673)
https://github.com/python/cpython/commit/be52ca45d9eb9c3e8941e46ddc67a210f0f4c6fa


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41889] enum: Mixin and int base class regression in 3.8.6

2020-12-07 Thread Ethan Furman


Ethan Furman  added the comment:


New changeset 699e5e448919283578afe445069ab93b34bf8eae by Miss Islington (bot) 
in branch '3.8':
bpo-41889: [Enum] fix multiple-inheritance regression (GH-22487) (GH-23672)
https://github.com/python/cpython/commit/699e5e448919283578afe445069ab93b34bf8eae


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41889] enum: Mixin and int base class regression in 3.8.6

2020-12-07 Thread miss-islington


Change by miss-islington :


--
pull_requests: +22539
pull_request: https://github.com/python/cpython/pull/23673

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41889] enum: Mixin and int base class regression in 3.8.6

2020-12-07 Thread miss-islington


Change by miss-islington :


--
nosy: +miss-islington
nosy_count: 5.0 -> 6.0
pull_requests: +22538
pull_request: https://github.com/python/cpython/pull/23672

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41889] enum: Mixin and int base class regression in 3.8.6

2020-12-07 Thread Ethan Furman


Ethan Furman  added the comment:


New changeset c266736ec1f9ebef38b134ceb4832df015711b38 by Ethan Furman in 
branch 'master':
bpo-41889: [Enum] fix multiple-inheritance regression (GH-22487)
https://github.com/python/cpython/commit/c266736ec1f9ebef38b134ceb4832df015711b38


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41889] enum: Mixin and int base class regression in 3.8.6

2020-10-01 Thread Ethan Furman


Change by Ethan Furman :


--
assignee:  -> ethan.furman

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41889] enum: Mixin and int base class regression in 3.8.6

2020-10-01 Thread Ethan Furman


Change by Ethan Furman :


--
keywords: +patch
pull_requests: +21505
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/22487

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41889] enum: Mixin and int base class regression in 3.8.6

2020-09-30 Thread William Pickard


William Pickard  added the comment:

Actually, this is an issue with native types in general that define a 'tp_new' 
slot value ('!= NULL').

--
nosy: +WildCard65

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41889] enum: Mixin and int base class regression in 3.8.6

2020-09-29 Thread puddly


New submission from puddly :

The following code worked in 3.8.5 but does not in 3.8.6 due to the fix for 
#39587:

```
import enum


class MyInt(int):
def __new__(cls, value):
return super().__new__(cls, value)

class HexMixin:
def __repr__(self):
return hex(self)

class MyIntEnum(HexMixin, MyInt, enum.Enum):
pass


class Foo(MyIntEnum):
TEST = 1

assert isinstance(Foo.TEST, MyInt)
assert repr(Foo.TEST) == "0x1"
```


In 3.8.6, the `Foo` enum itself fails to be created because `HexMixin` is now 
considered the member type instead of `MyInt`:

```
Traceback (most recent call last):
  File "enum_test.py", line 18, in 
class Foo(MyIntEnum):
  File 
"/usr/local/Cellar/python@3.8/3.8.6/Frameworks/Python.framework/Versions/3.8/lib/python3.8/enum.py",
 line 215, in __new__
enum_member = __new__(enum_class)
TypeError: object.__new__(Foo) is not safe, use int.__new__()
```

--
components: Library (Lib)
messages: 377692
nosy: barry, eli.bendersky, ethan.furman, puddly
priority: normal
severity: normal
status: open
title: enum: Mixin and int base class regression in 3.8.6
type: behavior
versions: Python 3.10, Python 3.8, Python 3.9

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com