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
If I dump what I receive from Charon, the comment is attached to the intermediary (unnamed) value that MIR introduces for i32::from(value) (which internally is just value), or more specifically:
// pseudo-MIR
fn barrett_...(...) {
... lots of variable declarations
i32 t; // this is the user-provided name
... lots of variable declarations
i32 tmp; // internal MIR name
... lots more variable declarations
<<comment attached to the assignment below>>
tmp := value;
I would expect the comment to be attached either to
i) the declaration i32 t; or ii) the assignment into t that comes further down (not modeled in the snippet above).
Right now, Eurydice tracks the location of the comment all the way down to C, re-inlines the temporary computations, and produces something unsightly:
Right now I assign each comment to the first MIR statement that has a matching span. Maybe I should choose the last one instead? I expect that being more precise than that will be hard because I can't inspect the original syntax.
Consider the following function (from mlkem):
If I dump what I receive from Charon, the comment is attached to the intermediary (unnamed) value that MIR introduces for
i32::from(value)
(which internally is justvalue
), or more specifically:I would expect the comment to be attached either to
i) the declaration
i32 t
; or ii) the assignment intot
that comes further down (not modeled in the snippet above).Right now, Eurydice tracks the location of the comment all the way down to C, re-inlines the temporary computations, and produces something unsightly:
notice how the comment is attached to the inner
value
, per the original LLBC received from Charon. Thank you!The text was updated successfully, but these errors were encountered: