1. 18 5月, 2011 3 次提交
  2. 17 5月, 2011 4 次提交
    • G
      fbbc1a77
    • T
      Started adding support for return checking and non-returning function annotations · 971b5d51
      Tim Chevalier 提交于
      * Reorganized typestate into several modules.
      
      * Made typestate check that any function with a non-nil return type
        returns a value. For now, the check is a warning and not an error
        (see next item).
      
      * Added a "bot" type (prettyprinted as _|_), for constructs like be, ret, break, cont, and
        fail that don't locally return a value that can be inspected. "bot"
        is distinct from "nil". There is no concrete syntax for _|_, while
        the concrete syntax for the nil type is ().
      
      * Added support to the parser for a ! annotation on functions whose
        result type is _|_. Such a function is required to have either a
        fail or a call to another ! function that is reached in all control
        flow paths. The point of this annotation is to mark functions like
        unimpl() and span_err(), so that an alt with a call to err() in one
        case isn't a false positive for the return-value checker. I haven't
        actually annotated anything with it yet.
      
      * Random bugfixes:
      
      * * Fixed bug in trans::trans_binary that was throwing away the
          cleanups for nested subexpressions of an and or or
          (tests: box-inside-if and box-inside-if2).
      
      ** In typeck, unify the expected type arguments of a tag with the
         actual specified arguments.
      971b5d51
    • P
    • P
      rustc: Add an item_ann() accessor function · 594c70f7
      Patrick Walton 提交于
      594c70f7
  3. 15 5月, 2011 1 次提交
  4. 14 5月, 2011 10 次提交
  5. 13 5月, 2011 6 次提交
  6. 12 5月, 2011 6 次提交
  7. 11 5月, 2011 3 次提交
  8. 10 5月, 2011 4 次提交
  9. 07 5月, 2011 1 次提交
  10. 06 5月, 2011 2 次提交