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
@[export: "sort_array"]
pub fnsort_array[T](mut arr []T) {
arr.sort(|a, b| a < b)
}
Error:
0x7972a0b88a0d: at ???: RUNTIME ERROR: invalid memory access
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:13303: by v__ast__AnonFn_to_sumtype_v__ast__Expr
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:46192: by v__markused__Walker_expr
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:46475: by v__markused__Walker_call_expr
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:45917: by v__markused__Walker_expr
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:45754: by v__markused__Walker_stmt
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:45870: by v__markused__Walker_stmts
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:46457: by v__markused__Walker_fn_decl
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:45608: by v__markused__Walker_mark_markused_fns
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:45302: by v__markused__mark_used
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:55837: by v__builder__Builder_middle_stages
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:55854: by v__builder__Builder_front_and_middle_stages
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:58395: by v__builder__cbuilder__gen_c
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:58367: by v__builder__cbuilder__build_c
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:58358: by v__builder__cbuilder__compile_c
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:58275: by v__builder__Builder_rebuild
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:57421: by v__builder__compile
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:58787: by main__rebuild
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:58700: by main__main
/tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:59747: by main
Example 2
@[export: "sort_array"]
pub fnsort_array[T](mut arr []T) {
arr.sort(|a, b| a < b)
}
fnmain() {
mutarr:= [5, 3, 8, 1, 2]
sort_array(mut arr)
println(arr) // Output should be a sorted array: [1, 2, 3, 5, 8]
}
Error:
a.v:2:1: error: duplicate export name `sort_array`
1 | @[export: "sort_array"]
2 | pub fn sort_array[T](mut arr []T) {
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 | arr.sort(|a, b| a < b)
4 | }
Expected Behavior
Better error message like V haven't support for generic function exporting
Describe the bug
Bad error message
Reproduction Steps
Example 1
Error:
0x7972a0b88a0d: at ???: RUNTIME ERROR: invalid memory access /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:13303: by v__ast__AnonFn_to_sumtype_v__ast__Expr /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:46192: by v__markused__Walker_expr /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:46475: by v__markused__Walker_call_expr /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:45917: by v__markused__Walker_expr /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:45754: by v__markused__Walker_stmt /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:45870: by v__markused__Walker_stmts /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:46457: by v__markused__Walker_fn_decl /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:45608: by v__markused__Walker_mark_markused_fns /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:45302: by v__markused__mark_used /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:55837: by v__builder__Builder_middle_stages /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:55854: by v__builder__Builder_front_and_middle_stages /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:58395: by v__builder__cbuilder__gen_c /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:58367: by v__builder__cbuilder__build_c /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:58358: by v__builder__cbuilder__compile_c /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:58275: by v__builder__Builder_rebuild /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:57421: by v__builder__compile /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:58787: by main__rebuild /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:58700: by main__main /tmp/v_1000/v.01KABQF1YZ1SCJNP5X4ZV2NJYS.tmp.c:59747: by mainExample 2
Error:
Expected Behavior
Better error message like
V haven't support for generic function exportingCurrent Behavior
errors
Possible Solution
No response
Additional Information/Context
No response
V version
V 0.4.12 1bf1abd
Environment details (OS name and version, etc.)
Ubuntu
Note
You can use the 👍 reaction to increase the issue's priority for developers.
Please note that only the 👍 reaction to the issue itself counts as a vote.
Other reactions and those to comments will not be taken into account.