-
Notifications
You must be signed in to change notification settings - Fork 134
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
rebis-dev: Strings starting with a null byte aren't stored on the heap #2757
Comments
I'm currently working on fixing the odd logic in |
The string should be written directly into the heap in its UTF-8 representation (with the exception of The key challenge here is to structure the Rust code in such a way so that as few parts as possible need to be aware of this representation. We have seen many issues so far, mostly because currently (in |
In particular, in your example, the term stored on the heap should be for example:
Is it the case? Who knows: The mistake could be in writing the term, which is currently also written in Rust but should be written in Prolog to minimize the Rust parts that need to be aware of this representation. |
The mistake is in the current Rust implementation of |
Prolog predicates will never "see" this representation, they will only "see" that a list must be printed and print it accordingly. Only the underlying Rust-based primitives (notably unification) must be aware of this representation, and ideally as localized as possible. |
Oop, I got a funnier one:
This one straight up triggers UB :) |
The following query behaves incorrectly on the current head of
rebis-dev
:The text was updated successfully, but these errors were encountered: