Eric V. Smith added the comment:
I think this is a duplicate of #46782.
--
nosy: +eric.smith
___
Python tracker
<https://bugs.python.org/issue47247>
___
___
Eric V. Smith added the comment:
What would dataclasses do that's different from a regular class?
--
___
Python tracker
<https://bugs.python.org/is
Change by Eric V. Smith :
--
title: Inheritance from Protocol with property in class makes them
non-instantiatable -> Inheritance from base class with property in class makes
them non-instantiatable
___
Python tracker
<https://bugs.pyth
Eric V. Smith added the comment:
Here's the error without dataclasses:
--
from typing import Protocol
class SomeProtocol(Protocol):
@property
def some_value(self) -> str: ...
class SomeClass(SomeProtocol):
def __init__(self, some_value):
self.some_value = so
Change by Eric V. Smith :
--
components: +Windows
nosy: +paul.moore, steve.dower, tim.golden, zach.ware
___
Python tracker
<https://bugs.python.org/issue47
Eric V. Smith added the comment:
As Jelle says, this can't be a runtime Exception.
At best mypy or a linter could make iterating over an known empty list (like a
literal []) a warning, not an error as suggested by the OP. I sometimes
"comment out" loops by doing something
Eric V. Smith added the comment:
I'm going to close this. If you have a more concrete proposal, either re-open
this or bring it up on python-ideas.
--
resolution: -> rejected
stage: -> resolved
status: pending -> closed
___
Eric V. Smith added the comment:
Same question as Alex: what does the TypeAlias being inside the class offer
that being at module level doesn't?
--
___
Python tracker
<https://bugs.python.org/is
Eric V. Smith added the comment:
My personal usage of a topological sort are restricted to maybe 100 entries
max, so I can't really test this in any meaningful way.
That, and the project that uses it is stuck on 3.6, so I haven't switched to
the graphlib v
Eric V. Smith added the comment:
There's also this StackOverflow question about it:
https://stackoverflow.com/questions/38344244/tuples-operator-throws-exception-but-succeeds
--
resolution: -> not a bug
stage: -> resolved
status: open -> closed
type
Eric V. Smith added the comment:
This is an FAQ:
https://docs.python.org/3/faq/programming.html#why-does-a-tuple-i-item-raise-an-exception-when-the-addition-works
--
nosy: +eric.smith
___
Python tracker
<https://bugs.python.org/issue47
Eric V. Smith added the comment:
> I blame the lack of standard POSIX functions for doing DNS lookups
> asynchronously and in a way that provides TTL information to the client.
I totally agree with that!
And I agree it would be nice to have some way of doing non-blocking lookups
wh
Eric V. Smith added the comment:
Hmm. I'm not sure we should try to work around a bad resolver issue. What's
your platform, and how did you install Python?
--
___
Python tracker
<https://bugs.python.o
Eric V. Smith added the comment:
> Do you mean expiring the IP address when the TTL is reached?
Yes, that's what I mean. Isn't the resolver library smart enough to cache
lookups and handle the TTL timeout by itself?
--
___
Python tr
Eric V. Smith added the comment:
If you don’t look it up every time, how do you deal with DNS timeouts?
--
nosy: +eric.smith
___
Python tracker
<https://bugs.python.org/issue47
Change by Eric V. Smith :
--
nosy: +rhettinger
___
Python tracker
<https://bugs.python.org/issue39971>
___
___
Python-bugs-list mailing list
Unsubscribe:
Eric V. Smith added the comment:
Yes, they should update Python. A lot of work went in to fixing these issues,
and won't be backported.
--
resolution: -> out of date
stage: needs patch -> resolved
status: open -> closed
___
Python t
Change by Eric V. Smith :
--
resolution: -> wont fix
stage: -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.org/issue47137>
___
___
Eric V. Smith added the comment:
Thanks, @macgors!
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
type: -> behavior
___
Python tracker
<https://bugs.python
Eric V. Smith added the comment:
New changeset 7b44ade018cfe6f54002a3cee43e8aa415d4d635 by Maciej Górski in
branch 'main':
bpo-47129: Add more informative messages to f-string syntax errors (32127)
https://github.com/python/cpython/commit/7b44ade018cfe6f54002a3cee43e8a
Change by Eric V. Smith :
--
nosy: +pablogsal
title: MemoryError -> MemoryError in codeop.compile_command
versions: +Python 3.8
___
Python tracker
<https://bugs.python.org/issu
Eric V. Smith added the comment:
A simpler reproducer is:
codeop.compile_command('[' * 100)
Verified I get MemoryError on cygwin PYthon 3.8.12. A length of 99 does not
show a problem.
On Windows 3.11.0a5+, I get:
>>> codeop.compile_command('[' * 201)
Tra
Eric V. Smith added the comment:
I agree with Jelle here: dataclasses shouldn't be calling get_type_hints().
--
resolution: -> wont fix
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.pyth
Change by Eric V. Smith :
--
status: open -> pending
___
Python tracker
<https://bugs.python.org/issue46992>
___
___
Python-bugs-list mailing list
Unsubscrib
Eric V. Smith added the comment:
>From a suggestion by @Jelle on the python discord server: how about just
>"f-string: expression required before '!'"?
--
___
Python tracker
<https
Eric V. Smith added the comment:
I'm not convinced this is an improvement. I don't think someone trying '!' in
an f-string expression happens often enough to worry about that specific error
message.
And a generic "optional specifier" isn't great. If
Change by Eric V. Smith :
--
assignee: -> eric.smith
___
Python tracker
<https://bugs.python.org/issue47073>
___
___
Python-bugs-list mailing list
Unsubscrib
Eric V. Smith added the comment:
Thanks for all of your work, @ariebovenberg!
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Eric V. Smith added the comment:
New changeset 82e9b0bb0ac44d4942b9e01b2cdd2ca85c17e563 by Arie Bovenberg in
branch 'main':
bpo-46382 dataclass(slots=True) now takes inherited slots into account
(GH-31980)
https://github.com/python/cpython/commit/82e9b0bb0ac44d4942b9e01b2cdd2c
Eric V. Smith added the comment:
Since those releases are no longer supported, I don't think there's any place
you could put this that would be seen. And we wouldn't want to put a note in a
current release about a bug in a non-supported version that was fixed in
anothe
Eric V. Smith added the comment:
I thought there was an existing issue that covered this, but now I can't find
it.
I'd prefer #2, create a separate issue.
--
___
Python tracker
<https://bugs.python.o
Eric V. Smith added the comment:
I agree the error message could be better. Also, "s.error('bad escape %s' %
this, len(this))" should probably be "from None", since as @mrabarnett notes
the KeyError is an implementation detail.
--
Eric V. Smith added the comment:
I don't have a problem saying that for a class to be used as a base class for a
dataclass, its __slots__ must not be an iterator that's been exhausted. That
doesn't seem like a very onerous requirement.
I'm also not concerned about peopl
Eric V. Smith added the comment:
Yes, I assume that's what the OP intended, but then stumbled across the error
with '\s'.
In any event, I don't think there's a bug here so I'm going to close this.
@siddheshsathe: if you disagree, please respond here.
--
Eric V. Smith added the comment:
Is there any reason to keep this issue open? The PR was merged.
--
___
Python tracker
<https://bugs.python.org/issue46
Change by Eric V. Smith :
--
status: open -> pending
___
Python tracker
<https://bugs.python.org/issue47023>
___
___
Python-bugs-list mailing list
Unsubscrib
Eric V. Smith added the comment:
Serhiy: Could you point to some documentation on __slotnames__? I see a few
references in the code to it, but it's not set on simple test class.
>>> class A:
... __slots__=('a',)
...
>>> A.__slotnames__
Traceback (most rec
Eric V. Smith added the comment:
You're probably doing something like:
parent.i = 3
instead of:
parent.child.field = 0.6
In the first one, you're setting an instance attribute on parent, on the
second, you're modifying an attribute of the class attribute.
In any event,
Eric V. Smith added the comment:
child is not an attribute of a Parent instance, but rather of the Parent class.
So it's not going to be saved when you dump "parent", which is an instance of
Parent.
I'm not sure what you're doing when you create a Parent.__init_
Change by Eric V. Smith :
--
resolution: -> duplicate
stage: patch review -> resolved
status: open -> closed
superseder: -> Incorrect exception highlighting for fstring format
___
Python tracker
<https://bugs.python
Eric V. Smith added the comment:
@frenzy: I'm not sure what your fix would do. You could either describe it in
rough terms (if you'd like a pre-PR opinion on the approach), or I'm happy to
wait to see your PR.
--
___
Python
Eric V. Smith added the comment:
Isn't '\s' covered by: " Unknown escapes of ASCII letters are reserved for
future use and treated as errors"
(https://docs.python.org/3/library/re.html#re.sub)?
--
nosy: +eric.smith
_
Eric V. Smith added the comment:
In case it helps anyone:
On Windows 3.11.0a5+ the full traceback is:
$ ./python.bat demo.py
Running Debug|x64 interpreter...
Traceback (most recent call last):
File "...\demo.py", line 23, in
sys.exit(main())
^^
Fil
Eric V. Smith added the comment:
Jelle gives the correct reason for what you're seeing.
Also note:
>>> math.nan == math.nan
False
>>> float('nan') == float('nan')
False
If there's some specific part of the documentation that you think is
mi
Eric V. Smith added the comment:
Here's a simplified reproducer:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-u", "--utc", choices=["-1:00"])
args = parser.parse_args()
I assume this is related to argparse guessing if an argumen
Eric V. Smith added the comment:
I’m sorry, I don’t understand your proposal. Please answer my question about
what “x” would be equal to under your proposed change.
--
___
Python tracker
<https://bugs.python.org/issue46
Eric V. Smith added the comment:
What would x be equal to here:
def get_something_string():
return textwrap.dedent("""\
test text2
test text3
test text4""")
x = f"""\
test text1
{get_something_string()
Eric V. Smith added the comment:
What would the presence of "<<" do? You haven't described your proposal.
--
___
Python tracker
<https://bu
Eric V. Smith added the comment:
What is the flag you mention? What would it do?
This sounds like a new feature, which can only go in to 3.11.
--
nosy: +eric.smith
___
Python tracker
<https://bugs.python.org/issue46
Eric V. Smith added the comment:
I agree it's not worth fixing in 3.9 and 3.10.
--
___
Python tracker
<https://bugs.python.org/issue44799>
___
___
Pytho
Eric V. Smith added the comment:
This is expected behavior. A set has no defined order. If you convert a set to
a list, and you want some specific order, you'll need to sort it yourself.
--
nosy: +eric.smith
resolution: -> not a bug
stage: -> resolved
status: ope
Eric V. Smith added the comment:
> I would argue that "The reference documentation for X states that it gets
> raised under condition Y" generally should be understood as "this is a
> guarantee that also includes the guarantee that it is not raised under other
&
Eric V. Smith added the comment:
The documentation doesn't say that assert statements are the only place
AssertionError is raised, so I don't think it's incorrect.
> From this, one can infer the guarantee "the -O flag will suppress
> AssertionError exceptions fr
Eric V. Smith added the comment:
This appears to be due to dataclasses needing to create a new class in order to
set __slots__. I'll look at it, but I doubt there's anything that can be done.
attrs has the same issue:
File "x/.local/lib/python3.8/site-packages/attr/_mak
Eric V. Smith added the comment:
In what way does it break? You haven't shown an error.
Why are you deepcopying the logger?
--
nosy: +eric.smith
___
Python tracker
<https://bugs.python.org/is
Change by Eric V. Smith :
--
components: +Regular Expressions -Library (Lib)
nosy: +ezio.melotti, mrabarnett
___
Python tracker
<https://bugs.python.org/issue46
Eric V. Smith added the comment:
If you go with the second idea, I'd say something like f"More than {2 *
tracebacklimit} additional stack frames not shown". It seems handy to know the
magnitude of the problem.
--
nosy: +eric.smith
___
Eric V. Smith added the comment:
As others have noted, the behavior is intentional, so I'm closing this.
--
nosy: +Dennis Sweeney, Jelle Zijlstra, eric.smith
resolution: -> not a bug
stage: -> resolved
status: open -> closed
___
Eric V. Smith added the comment:
Yeah, I've come to the conclusion that it's not so simple, either. I'm also
thinking that advising to call the base __init__ is a mistake.
--
___
Python tracker
<https://bugs.pyt
Eric V. Smith added the comment:
I think this is a bug in the code. I'll have a PR ready shortly.
But since it's a non-trivial change, I'm going to target it for 3.11 only.
--
assignee: docs@python -> eric.smith
versions: -Pytho
Eric V. Smith added the comment:
I don’t have Ubuntu to test on. Plus the steps to reproduce are too much for
the average volunteer to work through. I don’t think we’ll be able to help.
--
___
Python tracker
<https://bugs.python.org/issue46
Eric V. Smith added the comment:
I understand. Then I'm going to close this issue, since there's nothing we can
do.
--
resolution: -> rejected
stage: -> resolved
status: open -> closed
___
Python tracker
<https://bugs
Eric V. Smith added the comment:
> I was running one python script
Again: you need to show us the script that's causing this problem. I (and
millions of others) run scripts all the time which do not fail in the way you
describe. Unless you show us a script that causes the problem, w
Change by Eric V. Smith :
--
nosy: +mark.dickinson
___
Python tracker
<https://bugs.python.org/issue46904>
___
___
Python-bugs-list mailing list
Unsubscribe:
Change by Eric V. Smith :
--
nosy: +eric.smith
___
Python tracker
<https://bugs.python.org/issue46904>
___
___
Python-bugs-list mailing list
Unsubscribe:
Eric V. Smith added the comment:
>From https://github.com/python/cpython/blob/main/Python/marshal.c:
41 is:
#define TYPE_SMALL_TUPLE')'
The difference between 41 and 169 is 128:
#define FLAG_REF'\x80' /* with a type, add obj to index */
S
Eric V. Smith added the comment:
Probably so. You could step through the code to make sure that's what's going
on.
--
___
Python tracker
<https://bugs.python.o
Eric V. Smith added the comment:
Please show us how they fail.
--
nosy: +eric.smith
___
Python tracker
<https://bugs.python.org/issue46856>
___
___
Python-bug
Eric V. Smith added the comment:
New changeset 288af845a32fd2a92e3b49738faf8f2de6a7bf7c by Eric V. Smith in
branch 'main':
bpo-46757: Add a test to verify dataclass's __post_init__ isn't being
automatically added. (GH-31523)
https://github.com/p
Eric V. Smith added the comment:
I'm adding a test that mimic's Raymond's example of the proposed addition being
a breaking change. This way, if we ever decide to actually add this feature,
we'll break this test. If we do decide to continue and make the change anyway,
Change by Eric V. Smith :
--
pull_requests: +29650
pull_request: https://github.com/python/cpython/pull/31523
___
Python tracker
<https://bugs.python.org/issue46
Eric V. Smith added the comment:
I'm going to close this issue. As Raymond says, it's a breaking change, and the
workaround is easy enough.
--
resolution: -> rejected
stage: patch review -> resolved
status: open -> closed
___
Change by Eric V. Smith :
--
assignee: -> eric.smith
___
Python tracker
<https://bugs.python.org/issue46757>
___
___
Python-bugs-list mailing list
Unsubscrib
Eric V. Smith added the comment:
The fact that it's never been needed in the years that dataclasses and attrs
have existed tell me it's kind of a niche requirement.
This does not seem like the ugliest code I've ever seen:
if hasattr(super(), "__post_init__&
Eric V. Smith added the comment:
I'm not crazy about adding a method to every dataclass just for the 0.1% of the
times it's needed.
I think using hasattr or catching the exception is a better way to go.
--
___
Python track
Change by Eric V. Smith :
--
title: Indentation now preserved with ruamel.yaml.round_trip_dump ->
Indentation not preserved with ruamel.yaml.round_trip_dump
___
Python tracker
<https://bugs.python.org/issu
Eric V. Smith added the comment:
This looks like an issue with ruamel.yaml, which is a third party package. You
should report it to them.
Good luck!
--
nosy: +eric.smith
___
Python tracker
<https://bugs.python.org/issue46
Eric V. Smith added the comment:
Sure, have a go at it!
Any testing of pprint.pprint() would be an improvement, but ideally all options
should be tested.
It would probably be worthwhile to restructure the tests to run both pformat
and pprint tests from the same logic, so that we only need
Eric V. Smith added the comment:
New changeset ffd9f8ff84ed53c956b16d027f7d2926ea631051 by Eric V. Smith in
branch 'main':
bpo-46762: Fix an assert failure in f-strings where > or < is the last
character if the f-string is missing a trailing right brace. (#31365)
https://g
Change by Eric V. Smith :
--
keywords: +patch
pull_requests: +29515
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/31365
___
Python tracker
<https://bugs.python.org/issu
Eric V. Smith added the comment:
Good catch! I'll have a patch tonight.
--
___
Python tracker
<https://bugs.python.org/issue46762>
___
___
Python-bugs-l
Eric V. Smith added the comment:
>:) Citing myself:
>> Trying this *bash* command line:
Oops, sorry for missing that.
As for 3.9: it's not available through the 64 bit installer (at least, I don't
see it there). I'll look and see what's involved in installin
Eric V. Smith added the comment:
Are you running from bash (or another cygwin shell), or from cmd.exe, or
something else?
How did you install the version of python you're executing in the examples you
provided? To my knowledge, cygwin's installer doesn't have a 3.9 availabl
Change by Eric V. Smith :
--
components: +Library (Lib) -Parser
type: crash -> behavior
___
Python tracker
<https://bugs.python.org/issue46735>
___
___
Python-
Change by Eric V. Smith :
--
assignee: -> eric.smith
___
Python tracker
<https://bugs.python.org/issue46739>
___
___
Python-bugs-list mailing list
Unsubscrib
Eric V. Smith added the comment:
I agree with Mark. It's identical to:
>>> () == ()
True
As for the non-dataclass version, that's a normal object identity comparison if
no __eq__ is defined:
https://docs.python.org/3/reference/datamodel.html#object.__eq__
Eric V. Smith added the comment:
Please report bug tracker bugs at https://github.com/python/bugs.python.org
Although to be honest I doubt this will be fixed, since we're moving to Github
issues.
--
nosy: +eric.smith
resolution: -> third party
stage: -> resolved
s
Eric V. Smith added the comment:
I'll close it.
--
resolution: -> not a bug
stage: -> resolved
status: open -> closed
___
Python tracker
<https://bugs.pyth
Eric V. Smith added the comment:
Thanks, Henry Schreiner!
--
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.org/i
Eric V. Smith added the comment:
I believe dataclasses uses repr() of the members, not str(). Can you try using
specifying __repr__ in Teacup? Just __repr__ = __str__ should work.
--
nosy: +eric.smith
___
Python tracker
<https://bugs.python.
Change by Eric V. Smith :
--
assignee: -> eric.smith
___
Python tracker
<https://bugs.python.org/issue46693>
___
___
Python-bugs-list mailing list
Unsubscrib
Eric V. Smith added the comment:
Good catch, @xtreak. I think something like the discussed (but not implemented)
custom matching protocol would be required here. __match_args__ won't work,
because it's a special attribute only checked on classes, not instances.
Of course, I'm
Eric V. Smith added the comment:
Looking at PEP 634, the obvious way to add support for this is to have the
re.Match object specify Py_TPFLAGS_MAPPING. But I tried that, and then I get
this error when using an re.Match object in a match statement:
case {'one': x
Eric V. Smith added the comment:
Oops, slight bug in my code. Use this:
import re
def f(map):
print(f'input={map["one"]} {map["two"]}')
match map:
case {'one': x, 'two': y}:
print(f"match {x} {y}")
Change by Eric V. Smith :
--
components: +Interpreter Core
___
Python tracker
<https://bugs.python.org/issue46692>
___
___
Python-bugs-list mailing list
Unsub
New submission from Eric V. Smith :
You need to provide more information.
Is your concern that re.match objects aren't matched like dicts are, despite
looking like a mapping?
import re
def f(map):
print(f'input={m["one"]} {m["two"]}')
match ma
Change by Eric V. Smith :
--
resolution: -> not a bug
status: open -> closed
___
Python tracker
<https://bugs.python.org/issue46683>
___
___
Python-bugs-
Eric V. Smith added the comment:
Where did you get the tarball?
--
nosy: +eric.smith
___
Python tracker
<https://bugs.python.org/issue46683>
___
___
Python-bug
Eric V. Smith added the comment:
Given this current behavior:
>>> def foo(a, /, b): pass
...
>>> foo()
Traceback (most recent call last):
File "", line 1, in
TypeError: foo() missing 2 required positional arguments: 'a' and 'b'
What would y
Eric V. Smith added the comment:
I guess the technically correct term is positional-or-keyword, but that seems
like too much: https://docs.python.org/3/glossary.html
I think dropping "positional" doesn't increase the precision of the error
message, but I'll admit I can
1 - 100 of 1001 matches
Mail list logo