-
Notifications
You must be signed in to change notification settings - Fork 92
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
python uuid default value small bug #74
Comments
chronoxor
added a commit
that referenced
this issue
Sep 28, 2022
Thanks for reporting! Fixed in 1.13.0.0 |
Thanks for the fast reply! @chronoxor It's the fastest I've ever seen in any open-source project. However, after trying the 1.13, I think you missed one small thing: ...
class Generated(object):
...
def __init__(self, val1=None, id=None):
...
if id is None:
uuid.uuid1() # here! should be id = uuid.uuid1()? not sure about whether this fix will cause side effects: // Before
WriteLineIndent(ConvertConstant(*field->type, *field->value, field->optional));
// After
WriteLineIndent(*field->name + " = " + ConvertConstant(*field->type, *field->value, field->optional)); |
chronoxor
added a commit
that referenced
this issue
Sep 29, 2022
Fixed as well |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In latest version 1.12.0.0, when generating python files
example .fbe file
will create something like
which actually fixes the id to be the same when file is first evaluated, so the following code will print the same value
and I think this behaviour is inconsistent with its C++ counterpart.
Proposed fix:
This error may also appear for other type of default value, for example '[]'(empty list), etc. I have to say this python feature is quite counter-intuitive.
see also: https://stackoverflow.com/questions/1132941/least-astonishment-and-the-mutable-default-argument
The text was updated successfully, but these errors were encountered: