Commit Graph

4 Commits

Author SHA1 Message Date
David Farler
b7d17b25ba Rename -parse flag to -typecheck
A parse-only option is needed for parse performance tracking and the
current option also includes semantic analysis.
2016-11-28 10:50:55 -08:00
Mark Lacey
71dfd99eaf Remove an assert and instead return nullptr.
We were asserting in ExprRewriter::visitCoerceExpr() that the conversion
we attempt is successfully. However, we have known cases where we will
emit a diagnostic and fail attempting to convert, so we should really
just bail out at this point rather than asserting.

Resovles the last part of rdar://problem/28207648.
2016-09-22 11:38:13 -07:00
Robert Widmann
ff2289d77a Don't attempt a value conversion without a valid conversion pair
Previously this would crash when invalid tuple conversions were
encountered because we would try to convert NULL Expr nodes.
2016-09-12 11:27:57 -04:00
Xi Ge
0b50648263 [sema] Add a fixit for label-mismatch tuple patterns in for-each statement. rdar://25671800
In the following code example, compiler emits an error of "cannot express tuple conversion...". However,
this is trivially fixable by adding multiple labels in the tuple pattern of the for-each statement. This
commit adds such fixit.

func foo(array : [(some: Int, (key: Int, value: String))]) {
  for (i, (k, v)) in array {
  }
}
2016-04-11 19:09:59 -07:00