-
Notifications
You must be signed in to change notification settings - Fork 323
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
Builtins expose Enso methods #11687
base: develop
Are you sure you want to change the base?
Builtins expose Enso methods #11687
Conversation
No longer true what this test tested
@@ -543,6 +543,12 @@ boolean isObjectWithMembers(Object object, InteropLibrary interop) { | |||
if (interop.isTime(object)) { | |||
return false; | |||
} | |||
if (interop.isDuration(object)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both TimeZone and Duration now have members, so we need to add these guards here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The whole EqualsXyzNode
set of @Specialize
annotation is fragile, unreadable, not fully testable and deserves a rewrite. At least that's the feeling I get every time I am changing the code.
Such a gentle change is OK, unless total rewrite is attempted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See my answer in #11687 (comment) - yes it is a mess.
73633b3
to
e441fab
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- OK, let's integrate.
- cannot call Ref.get: https://github.com/enso-org/enso/pull/11577/files#r1848224116
- cannot call File.path on EnsoFile
- cannot call to_text on Vector - discovered while working on
Warnings displayed aftermain
exit do not use definedto_text
#11569
- the Enso builtins don't expose Enso methods #11589 issue started with three examples of missing builtin methods
- shall we not fix some of these cases in this PR?
There is a lot of
|
There is a lot of invalid sharing layer:
I'll try to reproduce the failures locally. When running
and then also the sharing layer error latter. I'd start by fixing the first error and hoping the subsequent ones will go away. |
e0cb591
to
a77691c
Compare
Text is a builtin type with Builtins module scope, which does not have `is_empty` method.
@JaroslavTulach |
|
Closes #11589
Pull Request Description
Builtin types expose methods via the interop protocol. In fact, all types expose methods via interop protocol.
Important Notes
The first attempt to implement
hasMember
andgetMembers
onBuiltinObject
abandoned - #11687 (comment)Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:
Scala,
Java,
TypeScript,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
or the Snowflake database integration, a run of the Extra Tests has been scheduled.