Implement these backstops in the stdlib instead of the runtime, where we can at least interpolate the error value and give a slightly more informative error. Could still be improved by handing the source location down from the point of the crash instead of using the location from the stdlib source. Somewhat addresses rdar://problem/20807523.
Swift SVN r29401
This makes it clearer that expressions like "foo.myType.init()" are creating new objects, instead of invoking a weird-looking method. The last part of rdar://problem/21375845.
Swift SVN r29375
Now that we are using OptionSetType for option sets, all the support for
doing things the old way can die.
Note: the fix-it that used to apply to RawOptionSetType, it seemed to me,
should still apply to OptionSetType, so I switched it over instead of
removing it.
Swift SVN r29066
Not only it does not achieve what the comment says (_storage has the
type _ContiguousArrayStorageBase), but optimizations that would break
semantics of this code would be invalid anyway.
Swift SVN r29056
Fixes <rdar://21091371>. When SequenceType acquired a O(N) 'contains'
method, the code for pattern matching a Range started using that method
instead of implicitly deducing a HalfOpenInterval.
We still have a problem though:
(1_000_000..<1_000_000_000).contains(1)
will compile and appear to hang at runtime. I'll bring this up on the
mailing list.
Swift SVN r28998
The protocol is still needed in order to make sure mixed signed/unsigned
arithmetic doesn't compile, but after pulling all its "real"
requirements into UnsignedIntegerType, that's now its only function.
Thus, rename it to _DisallowMixedSignArithmetic.
Swift SVN r28980
This reverts commit r28892, r28894, and r28895.
They broke validation tests; JoeG is going to look at what's needed to
make them work again.
Swift SVN r28897
This has passed review, or at least satisfied Tony Parker, provided we
do something to hide SetAlgebraDispatchType. I think I can eliminate it
in an imminent commit.
Swift SVN r28892
Previously a mirror for an empty case would have one entry, consisting
of the case name and a value of ().
Now, the mirror's summary shows both the type and the case. If there is
no payload, the mirror will not have any children. The presence of a
child indicates there is an actual payload.
Also put a non-ASCII character in the reflection test to ensure the
runtime's primitives can round-trip UTF8.
Fixes <rdar://problem/20994093>.
Swift SVN r28874