In short use `in(false)` when you `override` a function to inherit the contract, unless you explicitly want to expand the input - which you shouldn't do when implementing an interface!

Wrote about it in more details here:

http://dpldocs.info/this-week-in-d/Blog.Posted_2019_12_02.html

i think this is a pretty cool little discovery, thanks too for the folks on irc for chatting it through.

destroy if i missed anything lol
  • interfaces and contracts -... Adam D. Ruppe via Digitalmars-d-announce
    • Re: interfaces and co... Ola Fosheim Grøstad via Digitalmars-d-announce
      • Re: interfaces an... Adam D. Ruppe via Digitalmars-d-announce
        • Re: interface... Ola Fosheim Grøstad via Digitalmars-d-announce
          • Re: inter... Robert M. Münch via Digitalmars-d-announce
            • Re: ... Adam D. Ruppe via Digitalmars-d-announce
              • ... Robert M. Münch via Digitalmars-d-announce
                • ... Adam D. Ruppe via Digitalmars-d-announce
                • ... Ola Fosheim Grøstad via Digitalmars-d-announce
                • ... Adam D. Ruppe via Digitalmars-d-announce
                • ... Ola Fosheim Grøstad via Digitalmars-d-announce

Reply via email to