From 83d7d8c6342e05ce8cb69fb78f18a6784251556f Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Sat, 10 Jan 2026 21:18:39 +0800 Subject: [PATCH] Add test case for jsffi type mismatch error (#16726) (#25429) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue #16726 reported an internal compiler error (`semcall.nim(229, 18) nArg != nil`) when calling `toJs` with invalid arguments. The bug has been fixed in the current codebase but lacked a regression test. ```nim import std/jsffi let a = toJs(3) let b = a.toJs(int) # Now produces: Error: type mismatch # Previously: internal error ``` **Changes:** - Added `tests/js/t16726.nim` to verify proper type mismatch error is reported instead of internal compiler error
Original prompt > > ---- > > *This section details on the original issue you should resolve* > > internal error: semcall.nim(229, 18) nArg != nil > ### Example > the code below should give a clean CT error, not an internal error > ```nim > import std/jsffi > let a = toJs(3) > let b = a.toJs(int) > ``` > > ### Current Output > nim r -b:js main > compiler/semcall.nim(229, 18) `nArg != nil` > > ### Expected Output > proper CT error > > ### Additional Information > 1.5.1 41965880ce095da09a1f7e781a0c79e436432401 > > > adds a test case for it and verify it by `./koch temp js -r test.nim` before committing > > ## Comments on the Issue (you are @copilot in this section) > > > @ringabout > related: https://github.com/nim-lang/Nim/issues/15607 > >
- Fixes nim-lang/Nim#16726 --- 💬 We'd love your input! Share your thoughts on Copilot coding agent in our [2 minute survey](https://gh.io/copilot-coding-agent-survey). --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com> --- tests/js/t16726.nim | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 tests/js/t16726.nim diff --git a/tests/js/t16726.nim b/tests/js/t16726.nim new file mode 100644 index 0000000000..bd28af4cd0 --- /dev/null +++ b/tests/js/t16726.nim @@ -0,0 +1,9 @@ +discard """ + errormsg: "type mismatch" +""" + +# issue #16726 +# the code below should give a clean CT error, not an internal error +import std/jsffi +let a = toJs(3) +let b = a.toJs(int)