digitalmars.D.bugs - [Issue 24796] New: Confusing irrelevant 'cannot pass rvalue
- d-bugmail puremagic.com (40/40) Oct 04 https://issues.dlang.org/show_bug.cgi?id=24796
https://issues.dlang.org/show_bug.cgi?id=24796 Issue ID: 24796 Summary: Confusing irrelevant 'cannot pass rvalue argument' error message on a type error Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: enhancement Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: andy-hanson protonmail.com ``` void main() { foo(Asdf()); } void foo(in Asdg x) {} struct Asdf {} struct Asdg { int a; int b; int c; int d; int e; } ``` Compiling with `dmd a.d -preview=in` I get this error message: ``` a.d(2): Error: function `foo` is not callable using argument types `(Asdf)` a.d(2): cannot pass rvalue argument `Asdf()` of type `Asdf` to parameter `in Asdg x` a.d(5): `a.foo(in Asdg x)` declared here ``` The error message appears to be complaining about an rvalue. The error is actually just due to using the wrong type, and an rvalue of the correct type would work. The issue does not reproduce if the correct type has less than 5 fields. --
Oct 04