-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Labels
BugThis tag is applied to issues which reports bugs.This tag is applied to issues which reports bugs.
Description
Describe the bug
Assignment with $if will cause compiler panic.
It may related to issue #26053
Reproduction Steps
i.v
module main
fn ret[T](str string) !T {
val := $if T is i8 {
T(123)
} $else {
T(123)
}
return val
}
fn main() {
x := ret[f32]('1.0')!
dump(x)
}Expected Behavior
compile ok
Current Behavior
$ v i.v
================== C compilation error (from tcc): ==============
cc: /tmp/v_1000/i.01KCZH5GMFD7NKFN96P819F6HW.tmp.c:5065: error: expression expected before '#'
=================================================================
Try passing `-g` when compiling, to see a .v file:line information, that correlates more with the C error.
(Alternatively, pass `-show-c-output`, to print the full C error message).
builder error:
==================
C error found. It should never happen, when compiling pure V code.
This is a V compiler bug, please report it using `v bug file.v`,
or goto https://github.com/vlang/v/issues/new/choose .
You can also use #help on Discord: https://discord.gg/vlang .Possible Solution
fix cgen
Additional Information/Context
No response
V version
V 0.4.12 1cdb0f5
Environment details (OS name and version, etc.)
| V full version | V 0.4.12 1cdb0f5 |
|---|---|
| OS | linux, Ubuntu 24.04.3 LTS |
| Processor | 8 cpus, 64bit, little endian, Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz |
| Memory | 11.6GB/15.51GB |
| V executable | /media/HD/github/kbkpbot/v/v |
| V last modified time | 2025-12-21 03:52:13 |
| V home dir | OK, value: /media/HD/github/kbkpbot/v |
| VMODULES | OK, value: /home/mars/.vmodules |
| VTMP | OK, value: /tmp/v_1000 |
| Current working dir | OK, value: /home/mars/v/bug/match |
| Git version | git version 2.43.0 |
| V git status | weekly.2025.46-252-g129ea228 |
| .git/config present | true |
| cc version | cc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 |
| gcc version | gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 |
| clang version | Ubuntu clang version 18.1.3 (1ubuntu1) |
| tcc version | tcc version 0.9.28rc 2025-02-13 HEAD@f8bd136d (x86_64 Linux) |
| tcc git status | thirdparty-linux-amd64 696c1d84 |
| emcc version | N/A |
| glibc version | ldd (Ubuntu GLIBC 2.39-0ubuntu8.6) 2.39 |
K1ndWha1e and enghitalo
Metadata
Metadata
Assignees
Labels
BugThis tag is applied to issues which reports bugs.This tag is applied to issues which reports bugs.