On Monday, 2 December 2019 at 22:31:08 UTC, Ola Fosheim Grøstad wrote:
Interesting, could be useful, but now you have to remember to add "in(false)".

Yeah, it is kinda tempting to propose a language change, where an override method does this by default if nothing else is specified. I think it would probably usually be the right thing to do, and then you'd opt into extending it all the way by doing `in(true)` instead.

I wonder if this could somehow be wrapped up in a clean way using meta-programming so you always get the "in(false)"?

I don't think so, contracts are invisible to reflection right now (unless there's a trick I don't know). Maybe a language change is warranted though, I don't really know, especially since this thing is possible today.
  • 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
                • ... Ola Fosheim Grøstad via Digitalmars-d-announce
                • ... Adam D. Ruppe via Digitalmars-d-announce

Reply via email to