-
-
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.Unit: cgenBugs/feature requests, that are related to the default C generating backend.Bugs/feature requests, that are related to the default C generating backend.
Description
Describe the bug
When a function try to change a mut sumtype, it will fail.
Reproduction Steps
mut.v
module main
struct CondA {
pub mut:
val int
}
struct CondB {
pub mut:
val int
}
type Cond = CondA | CondB
fn func(mut cond Cond) {
if mut cond is CondA {
cond.val = 1234
}
}
fn main() {
mut x := CondA{}
x.val = 1
func(mut x)
assert x.val == 1234
dump(x)
}v mut.v
run it
Expected Behavior
run without assert fail
Current Behavior
$ ./mut
mut.v:26: FAIL: fn main.main: assert x.val == 1234
left value: x.val = 1
right value: 1234
V panic: Assertion failed...
v hash: 7d67e22
/tmp/v_1000/mut.01K2MD1A9PM22ZM47G85ADYHQB.tmp.c:3691: at _v_panic: Backtrace
/tmp/v_1000/mut.01K2MD1A9PM22ZM47G85ADYHQB.tmp.c:5352: by main__main
/tmp/v_1000/mut.01K2MD1A9PM22ZM47G85ADYHQB.tmp.c:5381: by main
Possible Solution
No response
Additional Information/Context
No response
V version
V 0.4.11 d5458b5.7d67e22
Environment details (OS name and version, etc.)
| V full version | V 0.4.11 d5458b5.7d67e22 |
|---|---|
| OS | linux, Ubuntu 24.04.3 LTS |
| Processor | 8 cpus, 64bit, little endian, Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz |
| Memory | 1.24GB/15.51GB |
| V executable | /media/HD/github/kbkpbot/v/v |
| V last modified time | 2025-08-14 13:31:04 |
| 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/mut |
| Git version | git version 2.43.0 |
| V git status | weekly.2025.17-547-g7d67e22b-dirty |
| .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.5) 2.39 |
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.
Metadata
Metadata
Assignees
Labels
BugThis tag is applied to issues which reports bugs.This tag is applied to issues which reports bugs.Unit: cgenBugs/feature requests, that are related to the default C generating backend.Bugs/feature requests, that are related to the default C generating backend.