Skip to content

Inline append past local declaration - #853

Merged
SimonCropp merged 2 commits into
mainfrom
inline-append-past-local-declaration
Aug 24, 2026
Merged

Inline append past local declaration#853
SimonCropp merged 2 commits into
mainfrom
inline-append-past-local-declaration

Conversation

@SimonCropp

Copy link
Copy Markdown
Member

No description provided.

A member floor judged the recorded line stale whenever any declaration sat
between the member's declaration and the hint, and IsDeclaration answers "is
this identifier being declared rather than called", which a local satisfies:
var hash = Hash(), and F#'s let hash = hash (), read as declarations exactly as
a sibling test method does.

That dropped the hint from the first try and from the outward walk both, so the
call sitting exactly where the hint said was never looked at. Every test of the
ordinary shape - a local, then a verify call on it - failed to accept, reporting
"No Verify or Throws call at line N".

Indentation is what tells the two apart, since nothing in front of the name
does. A declaration indented past the member's own is inside its body - a local,
a local function, a nested type - and none of those put the recorded line in
another member. A sibling shares the member's indentation, so the comparison is
inclusive and the stale-hint protection is unchanged.

Fixtures that a raw string can carry are now written as one, normalized on the
way in because a raw string takes the line endings of the file holding it. The
rest stay hand-built: runs of three or more quotes, tabs, and the fixtures whose
subject is line endings.
@SimonCropp
SimonCropp merged commit d669730 into main Aug 24, 2026
9 checks passed
@SimonCropp
SimonCropp deleted the inline-append-past-local-declaration branch August 24, 2026 12:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant