These are tests that fail in the next commit without this flag. This
does not add -verify-ignore-unrelated to all tests with -verify, only
the ones that would fail without it. This is NFC since this flag is
currently a no-op.
* Revert "[CSOptimizer] Look through `OptionalEvaluationExpr`s when dealing with unapplied disjunctions"
This reverts commit 72340f39b8.
* Revert "[CSOptimizer] Don't consider disabled overloads when checking whether disjunction is supported"
This reverts commit 6bc23b5057.
* Revert "[CSOptimizer] Disjunctions with IUO overload choices are unsupported"
This reverts commit 471ee21535.
* Revert "[CSOptimizer] MemberImportVisibility: Don't consider overloads that come from implicit imports"
This reverts commit aa4a2b9071.
* Revert "[CSOptimizer] Don't consider CGFloat widening when explicit initializer is used"
This reverts commit 3cc76eacdd.
* Revert "[CSOptimizer] Literal arguments should cause score reset only for operators"
This reverts commit e3987beffb.
* Revert "[CSOptimizer] NFC: check whether a choice is of operator instead of whole disjunction"
This reverts commit 6c82892c3c.
* Revert "[CSOptimizer/Tests] NFC: Add a perf test-case fixed by improved literal array handling"
This reverts commit cfd34e54c4.
* Revert "[CSOptimizer] Extend candidate/parameter matching to support array literals"
This reverts commit 8a304f88c6.
* Revert "[CSOptimizer] Favor choices that don't require application"
This reverts commit 0737542da8.
* Revert "[CSOptimizer] Disable CGFloat -> Double conversion for unary operators"
This reverts commit bc3a15fbe6.
* Revert "[CSOptimizer] Mark bitwise operators as supported"
This reverts commit 860ae08d1b.
* Revert "[CSOptimizer] Simplify handling of non-applied disjunctions"
This reverts commit 43ca7dfff9.
* Revert "[ConstraintSystem] Fix `getEffectiveOverloadType` handling of `mutating` methods"
This reverts commit c767f7aff7.
* Revert "[CSOptimizer] Reduce overload types before ranking"
This reverts commit 95b47aead6.
* Revert "[CSOptimizer] Implement special prioritization rules for result builder contexts"
This reverts commit 56d6635e46.
* Revert "[CSOptimizer] Allow only widening CGFloat->Double conversions while matching candidate arguments"
This reverts commit bf8ae3bc1b.
* Revert "[CSSimplify] CGFloat-Double: Rank narrowing correctly when result is injected into an optional"
This reverts commit cb876cbd9e.
* Revert "[CSBindings] Prevent `BindingSet::isViable` from dropping viable bindings (v2)"
This reverts commit b7e7493076.
* Revert "[CSOptimizer] Add support for chained members without arguments"
This reverts commit 87cd5f8733.
* Revert "[CSOptimizer] Mark compiler synthesized disjunctions as optimized"
This reverts commit 867e64182f.
* Revert "[CSOptimizer] Make a light-weight generic overload check if some requirements are unsatisfiable"
This reverts commit 15c773b9d7.
* Revert "[CSOptimizer] Fix `selectDisjunction` to use favored choices even if disjunction was not optimized"
This reverts commit c2a55886f0.
* Revert "[CSOptimizer] Limit "old" behavior compatibility to unlabeled unary arguments"
This reverts commit 9fb73143f6.
* Revert "[Tests] NFC: Update a couple of type-checker tests"
This reverts commit ff8663ff16.
* Revert "[Tests] NFC: Move simd related test-case from `slow` to `fast`"
This reverts commit 28396a6dce.
* Revert "[CSGen] NFC: Remove obsolete `ConstraintSystem::{get, set}FavoredType`"
This reverts commit 8bd288447f.
* Revert "[CSOptimizer] Allow literal arguments to match parameters that conform to `ExpressibleBy{Integer, Float}Literal`"
This reverts commit 2fdd4b6c35.
* Revert "[CSOptimizer] Adjust `scoreCandidateMatch` to indicate when match cannot be decided"
This reverts commit 9b62c84a4f.
* Revert "[CSOptimizer] Fix Double<->CGFloat implicit conversion support when arguments are literals"
This reverts commit 6caf1ccbb2.
* Revert "[CSOptimizer] A more comprehensive generic overload checking when candidates are fully resolved"
This reverts commit e30587bda4.
* Revert "[CSOptimizer] Restore old hack behavior which used to favor overloads based on arity matches"
This reverts commit a3a3ec4fe0.
* Revert "[CSOptimizer] Desugar types before checking for equality"
This reverts commit 802f5cd105.
* Revert "[ConstraintSystem] Narrowly disable `tryOptimizeGenericDisjunction` when some of the arguments are number literals"
This reverts commit 8d5cb112ef.
* Revert "[CSOptimizer] Infer argument candidates from calls to `Double` and CGFloat constructors"
This reverts commit f2a6677a6d.
* Revert "[CSOptimizer] Score all of the overload choices matching on literals uniformly"
This reverts commit 59109c2d60.
* Revert "[CSOptimizer] Enable ranking of `Int*`, `Float{80}` and `Double` initializers"
This reverts commit 6fb6d1cf90.
* Revert "[CSOptimizer] Rank disjunctions based on score only if both sides are supported"
This reverts commit 8818d399f9.
* Revert "[CSOptimizer] Rank results of operators regardless of whether anything is known about parameters"
This reverts commit 3996b25fbd.
* Revert "[Tests] NFC: Add more test-cases that were previously solved due to old hacks behavior"
This reverts commit d0ff6c81b8.
* Revert "[CSOptimizer] Average score should reflect number of defaulted parameters"
This reverts commit 23589add74.
* Revert "[Tests] NFC: Adjust a couple of improved tests"
This reverts commit 66981364fe.
* Revert "[CSOptimizer] Don't optimize (implicit) calls with code completion arguments"
This reverts commit 8a918e2369.
* Revert "[CSOptimizer] attempt to rank only standard/simd operators and fully concrete overload sets"
This reverts commit deca9b61c5.
* Revert "[CSOptimizer] Record best scores for each disjunction and use them in `selectDisjunction`"
This reverts commit 3819ddfb40.
* Revert "[CSOptimizer] Let `determineBestChoicesInContext` return the best disjunction if one is available"
This reverts commit cf05405eae.
* Revert "[CSOptimizer] Emulate old behavior related to favoring of unary calls to members"
This reverts commit 527de22bec.
* Revert "[Tests] NFC: Add a test-case for rdar://133340307 which is now fast"
This reverts commit 670127abd6.
* Revert "[CSOptimizer] Prefer homogeneous arithmetic operator overloads when argument(s) or result match"
This reverts commit d69b6a0594.
* Revert "[CSOptimizer] Remove an outdated optimization to compare resolved argument types with all else equal"
This reverts commit 1760bd1f1e.
* Revert "[CSOptimizer] NFC: Switch from llvm::Optional to std::optional post-rebase"
This reverts commit c429f5b9ec.
* Revert "[CSOptimizer] Increase score when type matches opaque type"
This reverts commit 2869dff995.
* Revert "[CSOptimizer] NFC: Switch to llvm::Optional"
This reverts commit 0fc6806922.
* Revert "[CSOptimizer] NFC: Adjust conformance check to use `ConstraintSystem::lookupConformance`"
This reverts commit da65333d41.
* Revert "[CSOptimizer] Treat all type parameters equally"
This reverts commit 957a5f4270.
* Revert "[CSStep] Remove disjunction pruning logic from DisjunctionStep"
This reverts commit 2c44e37948.
* Revert "[CSOptimizer] Relax candidate type requirements from equality to set of no-impact conversions"
This reverts commit 11b897b32f.
* Revert "[CSOptimizer] Use `matchCallArguments` to establish argument-to-parameter relationships"
This reverts commit cb1cb2018d.
* Revert "[CSOptimizer] Don't attempt to optimize calls with code completion token(s) in argument position"
This reverts commit 14e2a16fce.
* Revert "[CSOptimizer] Allow generic operator overloads without associated type parameters"
This reverts commit bc5f70a9a3.
* Revert "[CSOptimizer] Make sure that all parameters without arguments are defaulted"
This reverts commit 7c1c46d4e4.
* Revert "[CSStep] Don't favor choices until the disjunction is picked"
This reverts commit e404ed722a.
* Revert "[CSOptimizer] Keep track of mismatches while evaluating candidates"
This reverts commit a094c3ebb0.
* Revert "[CSOptimizer] Favor SIMD related arithmetic operator choices if argument is SIMD<N> type"
This reverts commit c2f7451c7b.
* Revert "[CSOptimizer] Initial implementation of disjunction choice favoring algorithm"
This reverts commit 672ae3d252.
* Revert "[ConstraintSystem] Add skeleton of constraint optimizer"
This reverts commit b5f08a4009.
* Revert "[CSGen] Remove ConstraintOptimizer and all favoring logic"
This reverts commit 4432c51f57.
* Revert "[ConstraintSystem] Remove `shrink`"
This reverts commit 757ca24e8a.
* [TypeChecker] NFC: Remove resurrected use of `SolverShrinkUnsolvedThreshold`
* [TypeChecker] Bring back `SolverDisableShrink`
* [Tests] NFC: Mark tests affected by solver-perf revert as slow
* [Tests] NFC: Adjust async tests that are affected by performance hacks
Reverts apple/swift#30006. It caused a regression that we'd like to address before re-landing:
```swift
struct X {
var cgf: CGFloat
}
func test(x: X?) {
let _ = (x?.cgf ?? 0) <= 0.5
}
```
This reverts commit 0a6b444b49.
This reverts commit ed255596a6.
This reverts commit 3e01160a2f.
This reverts commit 96297b7e39.
Resolves: rdar://problem/60185506
If none of the candidates produce expected contextual type, record
all of the posibilities to produce a note per and diagnose this as
contextual type mismatch instead of a reference ambiguity.
This either became dead shortly after the removal of Swift 3
compatibility mode from the constraint solver, or even earlier.
Note that the code completion test change is actually correct
because (Any) -> () is not convertible to () -> () in the
language.
This builds on initial commit which added `RelabelArguments` fix
to the solver that only supported `missingLabels` at that moment,
but now it supports all three posibilities - missing/extraneous and
incorrect labels.
These had previously been removed in
9c2bc50acd because of differences in the
diagnostics being emitted across different platforms.
It looks like we're always emitting the same diagnostic now, so restore
a specific message.
Resolves: rdar://problem/19677545
as a failure to convert the individual operand, since the operator
is likely conceptually generic in some way and the choice of any
specific overload is probably arbitrary.
Since we now fall back to a better-informed diagnostics point, take
advantage of this to generate a specialized diagnostic when trying to
compare values of function type with ===.
Fixes rdar://25666129.
This reverts commit 073f427942,
i.e. it reapplies 35ba809fd0 with a
test fix to expect an extra note in one place.
These APIs are from the Swift 1.2 => Swift 2.0 transition, and are not
relevant anymore.
Removing them reduces the surface area of the library that needs to be
reviewed.
1. We have complex logic in stdlib/public/core/FixedPoint.swift.gyb that emits
or hides certain initializers on integer types based on the bit width
combination. We check that those APIs are indeed present or absent in cases we
expect.
All of [U]Int{8,16,32,64,} initializers, labelled and unlabelled.
(swift) UInt16(-10 as Int32)
<REPL Input>:1:1: error: integer overflows when converted from 'Int32' to 'UInt16'
UInt16(-10 as Int32)
(swift) UInt16(truncatingBitPattern: -10 as Int32)
// r3 : UInt16 = 65526
(swift) UInt16(truncatingBitPattern: -10 as Int16)
<REPL Input>:1:1: error: cannot invoke initializer for type 'UInt16' with an argument list of type '(truncatingBitPattern: Int16)'
UInt16(truncatingBitPattern: -10 as Int16)
<REPL Input>:1:1: note: overloads for 'UInt16' exist with these partially matching parameter lists: (Int16), (bitPattern: Int16)
A slight change in the type combination dramatically changes the available
overload set. You can’t check this with one or two tests and be confident that
every source/destination combination is correct.
2. We check that the APIs above are present or absent regardless of the target
platform so that the code is portable (for example, because Int64 -> Int is a
truncating operation on at least one platform, the corresponding “truncating”
initializer is available for portability on 64-bit platforms, even though it is
not actually truncating there.)
3. We rely on ambiguity in the overload set of “+“ and “-“ for certain
combinations of arguments to disallow mixed-sign arithmetic. Again, these
ambiguities rely on a tricky combination of protocols, associated types, the
way those associated types are defined by our integer types, and overload
resolution rules in the type checker.
4. The test also checks migration facilities for Word and UWord.
Swift SVN r30655
These types are leftovers from the early pre-1.0 times when Int and UInt
were always 64-bit on all platforms. They serve no useful purpose
today. Int and UInt are defined to be word-sized and should be used
instead.
rdar://18693488
Swift SVN r30564
expressions. Broadening from callexpr to apply expr (picking up operators) improves
several diagnostics in the testsuite, and is important to avoid regressions from an
upcoming patch.
Swift SVN r29821