You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[GR-57802] Prioritize Python methods over foreign members
* So for example `foreign_list.remove(1)` calls list.remove and not e.g.
ArrayList#remove which has different semantics.
* Given the semantics of object.tp_getattro (ObjectBuiltins.GetAttributeNode#fullLookup),
there seems to be no way to make this work except by having ReadAttributeFromObjectNode
to return NO_VALUE for foreign objects.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,7 @@ language runtime. The main focus is on user-observable behavior of the engine.
6
6
## Version 24.2.0
7
7
* Updated developer metadata of Maven artifacts.
8
8
* Added gradle plugin for polyglot embedding of Python packages into Java.
9
+
* When calling a method on a foreign object in Python code, Python methods are now prioritized over foreign members.
9
10
10
11
## Version 24.1.0
11
12
* GraalPy is now considered stable for pure Python workloads. While many workloads involving native extension modules work, we continue to consider them experimental. You can use the command-line option `--python.WarnExperimentalFeatures` to enable warnings for such modules at runtime. In Java embeddings the warnings are enabled by default and you can suppress them by setting the context option 'python.WarnExperimentalFeatures' to 'false'.
Copy file name to clipboardExpand all lines: graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/foreign/ForeignObjectBuiltins.java
Copy file name to clipboardExpand all lines: graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/attributes/ReadAttributeFromObjectNode.java
0 commit comments