Commits

Roman Levenstein committed d13843317ca
Fix implementation of casting for arguments and return values of optional types. Old code was not properly handling Optional.None. This commit fixes it. Unfortunately, it introduces some complexity into the devirtualizer APIs, because now they have to return a pair of two values: the new devirtualized apply site and the value of the call, which are not the same in case where the return value has to be casted into a value of the expected type. There is also a new test-case, which was not possible to handle before. rdar://23054843 Swift SVN r32659