Derive a local's name without the keyword escape - #33
Merged
estebanzimanyi merged 1 commit intoSep 3, 2026
Merged
Conversation
A parameter whose name is a C# keyword is escaped, so `double *out` reaches the layer as `@out` — and the locals a body derives from it read `_@out`, which is no identifier at all: the escape belongs at the start of a name or nowhere. Every body that allocates, pins or frees around a call derives such a name, so one function answers for all of them and the escape is dropped there. MEOS names an out-parameter `out` in the four point-cloud accessors `pcpoint_get_x`, `_get_y`, `_get_z` and `_get_dim`, and they reach the object layer as soon as the schema they take has a class, so what the catalog answers today does not compile. The four read `_out` and build.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A parameter whose name is a C# keyword is escaped, so
double *outreaches thelayer as
@out— and the locals a body derives from it read_@out, which isno identifier at all: the escape belongs at the start of a name or nowhere.
Every body that allocates, pins or frees around a call derives such a name, so
one function answers for all of them and the escape is dropped there.
MEOS names an out-parameter
outin the four point-cloud accessorspcpoint_get_x,_get_y,_get_zand_get_dim, and they reach the objectlayer as soon as the schema they take has a class, so what the catalog answers
today does not compile. The four read
_outand build.