It seems there are two different ImVec2 types. So ImVec2 is not same as ImVec2 :)
On Tue, May 30, 2017 at 12:09 PM, Andrew Edwards via Digitalmars-d-learn < digitalmars-d-learn@puremagic.com> wrote: > What does that even mean? > > Scenario: > > bool func(const ImVec2 label_size) > { > return true; > } > > void main() > { > //first attempt: > const ImVec2 label_size = CalcTextSize(label.ptr, null, true); > //Error: cannot implicitly convert expression > (CalcTextSize(cast(immutable(char)*)label, null, true, -1F)) of type > ImVec2 to const(ImVec2) > > //second attempt > const ImVec2 label_size = cast(const)CalcTextSize(label.ptr, null, > true); > // Error: cannot implicitly convert expression > (CalcTextSize(cast(immutable(char)*)label, null, true, -1F)) of type > const(ImVec2) to const(ImVec2) > > //third attempt > const auto label_size = CalcTextSize(label.ptr, null, true); > //Okay: don't know why the other two didn't work but I can keep going > for now > > func(label_size); > //Error: function imgui_d.func (const(ImVec2) label_size) is not > callable using argument types (const(ImVec2)) > } >