<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">On 12/21/2014 08:05 PM, Guido van
      Rossum wrote:<br>
    </div>
    <blockquote
cite="mid:CAP7+vJJF=6Q141QpKHz=V8HA3zdyqP56yoL9E1qYE_bfNhPmww@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">On Sun, Dec 21, 2014 at 3:47 PM, Nick
            Coghlan <span dir="ltr"><<a moz-do-not-send="true"
                href="mailto:ncoghlan@gmail.com" target="_blank">ncoghlan@gmail.com</a>></span>
            wrote:
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div dir="ltr"><br>
                <div class="gmail_extra">
                  <div class="gmail_quote"><span class="">On 22 December
                      2014 at 06:32, Andrew Svetlov <span dir="ltr"><<a
                          moz-do-not-send="true"
                          href="mailto:andrew.svetlov@gmail.com"
                          target="_blank">andrew.svetlov@gmail.com</a>></span>
                      wrote:<br>
                      <blockquote class="gmail_quote" style="margin:0 0
                        0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex">Sorry, I want to ask
                        again.<br>
                        The proposal is for static checks only?<br>
                        My expectations for processing annotations in
                        runtime as-is (just a<br>
                        mark without any restrictions) will not changed?<br>
                      </blockquote>
                      <div><br>
                      </div>
                    </span>
                    <div>Correct, there are no changes being proposed to
                      the runtime semantics of annotations. The type
                      hinting proposal describes a conventional use for
                      them that will be of benefit to static type
                      checking systems and integrated development
                      environments, but it will be exactly that: a
                      convention, not an enforced behaviour.</div>
                  </div>
                </div>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>Well... The elephant in the room is that *eventually*
              other uses of annotations *may* be frowned upon, or may
              need to be marked by some decorator. But I promise that in
              Python 3.5 your code will not break -- it just might not
              be very useful to run a static checker like mypy on it.
              (IIRC mypy used to only typecheck code that imports the
              typing.py module, but this seems to have changed.)<br>
              <br>
            </div>
            <div>When we discussed this earlier this year, a few other
              uses of annotations were brought up, and some have
              proposed that static type annotations would need to be
              marked by a decorator. There is even a proposed syntax
              that allows multiple annotations to coexist for the same
              argument (a dict with fixed keys -- to me it looks pretty
              ugly though).<br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    What I ended up doing for my scription program was to move the
    annotations outside the  def, and store them in a different
    attribute, applied with a decorator:<br>
    <br>
    @Command(<br>
            file=('source file', ),<br>
            dir=('target directory', ),<br>
            options=('extra options', MULTI, ),<br>
            )<br>
    def copy(file, dir, options):<br>
        pass<br>
    <br>
    copy.__scription__ --> {'file':..., 'dir':..., 'options':...}<br>
    <br>
    --<br>
    ~Ethan~<br>
  </body>
</html>