Commits

Andrew Trick committed 60d23310c1e
For unsafeReferenceCast rely on type checks in the runtime. <slight revision of yesterday's reverted commit> The debugAsserts were nicely self-documenting, but generate an obscene amount of useless SIL code that is inlined everywhere and sticks around when we compile the stdlib. The old asserts would need to be fixed to support Optionals but that makes the situation much worse. Why is it ok to remove the asserts? _unsafeReferenceCast remains an internal API. If the src/dest types are not loadable reference types, the cast will not be promoted to a value bitcast. The remanining cases will be dynamically checked by swift_dynamicCast. Swift SVN r32828