Expand the datatypes in rust port
Maintainers usually reply within 1 day
@pranab-mandal is already working on this.
Since Oct 23, 2026.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
Research direction
Start with the example script and inspect the rs_port and value conversion layers to compare the listed Rust types with existing MetaCall conversions. Done means the supported and missing types are verified, with agreed conversions for the selected missing categories and corresponding behavior reflected in the protocol representation.
Written by the indexing model from the issue text.
Description
Context
The current implementation of rust loader only supports a limited subset of Rust datatypes into MetaCall type conversions.
The goal of this issue is to track which types are already supported and which ones are still missing.
This also helps unify the metacall protocol representation with the Rust side.
Currently working
From testing the example script:
-bool → METACALL_BOOL
-char → METACALL_CHAR
-i16 → METACALL_SHORT
-i32 → METACALL_INT
-i64 → METACALL_LONG
-f32 → METACALL_FLOAT
-f64 → METACALL_DOUBLE
-String → METACALL_STRING
-Vec → METACALL_BUFFER
-Vec → METACALL_ARRAY
-HashMap<String, T> → METACALL_MAP
Missing types
The following types likely need implementation or verification in the (rs_port) and value conversion layer:
Primitive types
- i8 / i128
- u8 / u16 / u32 / u64 / u128
- f64
- bool
- char
Optional and Result types
- Option
- Result<T, E>
Collections
- Vec (other than i8)
- Vec<Vec>
- Tuple types
- Structs
Complex types
- Enums
- Nested maps / arrays
- Null / unit type
()
- Dominant language
- C
- Stars
- 1.8k
- Forks
- 266
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 14
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from metacall/core
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
metacall/core#964 · 1 comment ·
Maintainers usually reply within 1 day
-
pre-push hook empties VERSION when the clone has no tagsPossibly taken @vedant21-oss claimed this 18 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
metacall/core#939 · 3 comments ·
Maintainers usually reply within 1 day
-
TOCTOU race condition vulnerability!Possibly taken @akshatchitransh claimed this 1 day ago. Openbug
Difficulty 4/5 3-5 days Newbie friendliness 35/100
metacall/core#961 · 2 comments ·
Maintainers usually reply within 1 day
-
bug
Difficulty 3/5 Half a day Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
Go Port Race Conditions on MacOSPossibly taken A pull request linked to this issue is open or already merged. Openbug
Difficulty 4/5 3-5 days Newbie friendliness 35/100
metacall/core#942 · 3 comments ·
Maintainers usually reply within 1 day
Similar issues
-
`table_create()` crashes when an `hccalloc()` for the option table failsPossibly taken @marinelay claimed this today. Opentype: bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
bug severity: low
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
AlessandroSangiuliano/Uros#950 ·
-
ESP32
Difficulty 1/5 Under an hour Newbie friendliness 84/100
-
Difficulty 1/5 1-3 hours Newbie friendliness 82/100
HandBrake/HandBrake#8266 · 1 comment ·
Maintainers usually reply within 1 day