Old pony 5262#163
Merged
IgorDeepakM merged 4 commits intomasterfrom Apr 28, 2026
Merged
Conversation
ponyc 0.61.1 introduced an embedded LLD and took over libc CRT object discovery in find_libc_crt_dir. The candidate list only covered Debian/Ubuntu locations, so on Fedora and other RPM-based distros (RHEL, CentOS, Rocky, openSUSE) crt1.o went unfound and linking failed with "could not find libc CRT objects in sysroot ''". Add /usr/lib64 and /lib64 to the candidate list and update the matching error message in resolve_sysroot.
…#5264) Refactor _RoundTripCheck: merge params, decouple position, rename Merge lsp_range/lsp_context/lsp_extra_params into lsp_params(): All optional request parameters are now returned as a single JsonObject merged key-by-key into the request params. The harness no longer needs per-feature match blocks in _dispatch. Decouple position from the harness: Position is no longer built unconditionally by _dispatch. Checkers that need it include "position" in lsp_params(); position-less methods (documentSymbol, foldingRange, inlayHints, selectionRange, workspace/symbol) no longer receive a spurious position field. _LspPosition is deleted; action IDs are derived from digestof checker so call sites need no dummy (line, char) discriminators. Rename _ResponseChecker to _RoundTripCheck: Moved to _round_trip_check.pony. The new name reflects that the interface covers both sides of the LSP exchange, not just response validation. Add comments to _RoundTripCheck interface methods.
On a multilib host, find_libc_crt_dir returns the first directory containing a crt1.o, regardless of architecture. On x86_64 Fedora with glibc-devel.i686 installed, /usr/lib/crt1.o is the 32-bit object and /usr/lib64/crt1.o is the 64-bit one — the search returns /usr/lib and the link fails inside LLD with an arch-mismatch error. Mirror what find_ponyc_crt_dir already does: thread the target arch through and reject candidates whose crt1.o doesn't match. Validating crt1.o alone is sufficient because multilib distros ship matched startup-object sets per directory. Closes #5261
Fix LSP tests: log server error responses before checker validation When the LSP server returns a response with `err` set, log the error code and message before calling the checker. Success-path checkers that receive an unexpected error now produce a diagnostic line explaining what the server said, rather than a silent assertion failure like "expected hover, got null". Error-expecting checkers (_RenameErrorChecker, _PrepareRenameErrorChecker) are unaffected — they still inspect res.err themselves.
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.
No description provided.