Pavel Yaskevich
22ab6ec13a
[ConstraintSystem] Augment AppliedBuilderTransform to reference transformed body
...
If result builder AST transform is enabled, let builder transform descriptor
carry tranformed body for ease of access during solution application.
2022-08-02 11:41:40 -07:00
Pavel Yaskevich
96e6952104
[CSClosure] Teach syntactic element constraint generator about result builders
...
Closures and functions that have result builder transform applied have to be
handled specially by the constraint generator because transformed body is
associated with the context (function or closure) only during solution application.
2022-08-02 11:41:40 -07:00
Pavel Yaskevich
432ce1cf4e
[ConstraintSystem] Allow placeholder vars to have initializer and nested holes
...
Initializers of such variables are going to be type-checked post factum,
when the type of the variable itself has been determined by the solver.
2022-08-02 11:41:40 -07:00
Pavel Yaskevich
a0693f3dbe
[ConstraintSystem] Switch applySolutionToBody to accept AnyFunctionRef
...
Result builder body could be either a closure or function e.g. accessor,
which means that solution application needs to handle both.
2022-08-02 11:41:40 -07:00
Pavel Yaskevich
319668dca2
[ConstraintSystem] Make it possible to storage AnyFunctionRef targets
2022-08-02 11:03:26 -07:00
Pavel Yaskevich
0457a72fdf
Merge pull request #60222 from xedin/rdar-97396399
...
[ConstraintSystem] Retrieve contextual type from a solution for ambiguities
2022-07-28 09:28:09 -07:00
Hamish Knight
fe7c1f4b9b
Refactor callable lookup
...
Move off `Type` based requests and onto `Decl`
based requests, utilizing name lookup's
`extractDirectlyReferencedNominalTypes` utility.
This allows us to better cache the results, and
avoids the need to guard against type variable
inputs when deciding whether or not to cache.
2022-07-25 22:03:55 +01:00
Pavel Yaskevich
b07c887e02
[ConstraintSystem] Retrieve contextual from a solution for ambiguities
...
In ambiguity scenarios solutions are not applied back to the constraint
system, so it might not always have contextual type information when it
was recorded e.g. for a multi-statement closure.
Resolves: rdar://97396399
2022-07-25 09:28:22 -07:00
Jonathan Penn
be5babf28c
Add experimental flag to turn on just opaque type erasure ( #60172 )
...
This was already enabled as part of `-enable-implicit-dynamic` but this
new flag allows turning on opaque type erasure all by itself whether or
not `dynamic` is added explicitly.
rdar://97375478
2022-07-22 23:43:22 -04:00
Pavel Yaskevich
b23e5dcb93
Merge pull request #60164 from amritpan/fix-conjunction-indentations
...
[ConstraintSystem] Fix indentations of AST in Conjunction Steps.
2022-07-22 09:32:42 -07:00
Amritpan Kaur
64800d576e
[Constraint] Pass solverState indents to ASTPrinter's dump so that AST printed during conjunction attempts are indented correctly.
2022-07-21 13:34:22 -07:00
Alex Hoppen
f623440f01
[CS] Disfavor solutions that were unable to infer the variable type inside a named pattern
...
We need this to resolve a test failure in optional.swift.
2022-07-20 09:47:16 +02:00
Alex Hoppen
944c3b5a39
Merge pull request #59915 from ahoppen/pr/solutionapplicationtarget-dump
...
[Sema] Add dump function to dump SolutionApplicationTargetsKey
2022-07-14 15:46:31 +02:00
Amritpan Kaur
ff2507be24
[ConstraintSystem] Convert TypeVariableOptions enum to String for use in printing.
2022-07-12 14:26:02 -07:00
Anthony Latsis
d74384cfcf
Merge pull request #59931 from AnthonyLatsis/close-issues-3
...
Add regression tests to close several issues p. 3
2022-07-12 15:11:52 +03:00
Anthony Latsis
0a2293fd41
CSRanking: Check for timeouts during solution comparisons, which are time-consuming
2022-07-12 02:33:48 +03:00
Doug Gregor
db14ab140f
Sink concurrency constraint fix behavior logic into "attempt" functions.
...
This is a cleaner pattern for the solver, thanks Pavel!
2022-07-08 13:33:14 -07:00
Doug Gregor
4fc4bd79e8
[Constraint solver] Track "isolated by preconcurrency" in the solver.
...
Rather than only setting the isolated-by-preconcurrency bit during
constraint application, track the closures it will be set for as part
of the constraint system and solution. Then, use that bit when
performing "strict concurrency context" checks and type adjustments,
so we don't treat an inferred-to-by-`@Sendable`-by-preconcurrency
closure in the solver as if it weren't related to preconcurrency.
Fixes the spurious warning from
https://github.com/apple/swift/issues/59910 .
2022-07-07 23:46:30 -07:00
Doug Gregor
2e3aa67c02
[Constraint solver] Treat downgraded errors as "disfavored overloads".
...
This allows us to still maintain them in the score kind, but not treat
them as being as severe as an error requiring a fix.
2022-07-07 18:12:56 -07:00
Alex Hoppen
da07d2deb2
[Sema] Add dump function to dump SolutionApplicationTargetsKey
2022-07-07 09:58:48 +02:00
Holly Borla
48ada412b7
Merge pull request #59821 from hborla/remove-reuse-prechecked-type
...
[ConstraintSystem] Remove `ConstraintSystemFlags::ReusePrecheckedType`.
2022-07-01 08:12:47 -07:00
Doug Gregor
248b72bbff
Track the pre-adjusted "reference" type for declaration reference.
2022-06-30 17:00:32 -07:00
Doug Gregor
1063e8126e
[Constraint system] Track the original opened type for a selected overload.
2022-06-30 17:00:31 -07:00
Doug Gregor
045df94bca
Delay @preconcurrency-related type adjustments until the last moment.
...
This allows us to retain the full opened type before adjustment when
needed, but should otherwise not change anything.
2022-06-30 16:59:54 -07:00
Holly Borla
38d81584e0
[ConstraintSystem] Remove ConstraintSystemFlags::ReusePrecheckedType.
2022-06-30 13:30:58 -07:00
Pavel Yaskevich
3fd3ff0637
[TypeChecker] Adjust Double<->CGFloat conversion to always preserve its location
...
Unfortunately current approach of making a conversion independent of location
doesn't work when conversion is required for multiple arguments to the
same call because solver expects that either there are no Double<->CGFloat
conversions, or one of them has already been applied which is not the case.
The reason why locations weren't preserved in the first place is due to
how a solution is applied to AST - AST is mutated first and then, if there
are any conversions, they are applied to the already mutated version of
original AST. This creates a problem for Double<->CGFloat which depends
on an overload choice of injected call and it's impossible to find it based
on the mutated AST. But it turns out that this is only an issue in two
specific cases - conversions against contextual type and after optional injection.
This situations could be mitigated by dropping parts of the locator which are
unimportant for the Double<->CGFloat conversion - anchor in case of contextual
and `OptionalPayload` element(s) in case of optional injection.
Resolves: https://github.com/apple/swift/issues/59374
2022-06-28 13:47:47 -07:00
Pavel Yaskevich
ef0523fe29
[ConstraintSystem] NFC: Remove obsolete ValueWitness constraint
2022-05-30 23:17:41 -07:00
Pavel Yaskevich
b7860ea055
[TypeChecker] Split for-in sequence into parsed and type-checked versions
2022-05-30 23:17:41 -07:00
Pavel Yaskevich
86165291aa
[TypeChecker] Change the way for-in statement in type-checked
...
Instead of asking SILGen to build calls to `makeIterator` and
`$generator.next()`, let's synthesize and type-check them
together with the rest of for-in preamble. This greatly simplifies
interaction between Sema and SILGen for for-in statements.
2022-05-30 23:17:41 -07:00
Pavel Yaskevich
3327559758
[TypeChecker] IDE: Adjust typeCheckForCodeCompletion to support all targets
...
The dependency on target being an expression is artificial,
`typeCheckForCodeCompletion` is capable of type-checking any
type of target.
2022-05-30 23:17:41 -07:00
Pavel Yaskevich
22daa865b5
[ConstraintSystem] Make for-in solution application target standalone
...
Previously for-in target was actually an expression target, which means
certain type-checking behavior. These changes make it a standalone target
with custom behavior which would allow solver to introduce implicit
`makeIterator` and `next` calls and move some logic from SILGen.
2022-05-30 23:17:41 -07:00
Pavel Yaskevich
2c140bdf4d
Merge pull request #58503 from xedin/rdar-92366212
...
[ConstraintSystem] Fail `~=` synthesis if constraint generation fails
2022-04-29 10:19:01 -07:00
Pavel Yaskevich
b0f7aefb8e
[ConstraintSystem] NFC: Warn if result of generate* is unused
...
Not checking success of constraint generation could lead to crashes
e.g. when follow-up code accesses something that hasn't been processed
due to error.
2022-04-28 18:02:08 -07:00
Evan Wilde
8b2ccd9ed5
Merge pull request #58429 from etcwilde/ewilde/disjunction-main-resolution
...
Use Disjunction Constraint to find main function
2022-04-28 09:31:45 -07:00
Pavel Yaskevich
1359840ab3
Merge pull request #58400 from xedin/too-complex-improvements
...
[ConstraintSystem] Improve precision of "too complex" diagnostic
2022-04-27 19:58:31 -07:00
Evan Wilde
5dfc6b8b72
Ignore async/sync mismatch on main
...
The main function is different from other function resolutions. It isn't
being called from a synchronous or asynchronous context, but defines
whether the program starts in a synchronous or async context. As a
result, we should not prefer one over the other, so the scoring
mechanism shouldn't involve the async/sync score when resolving the main
function.
This patch adds a constraint solver flag to ignore async/sync context
mismatches so that we do not favor one over the other, but otherwise use
the normal resolution behavior.
2022-04-26 16:29:51 -07:00
Evan Wilde
94e30a817e
Revert "Add -async-main flag to favor asynchronous main"
...
This reverts commit da0a3311a5 .
2022-04-26 16:29:45 -07:00
Pavel Yaskevich
6a65810d30
[Constraint] NFC: Rename ClosureBodyElement to SyntacticElement
...
`SyntacticElement` represents a statement, pattern, declaration,
condition, or expression and could originate from i.e. a closure,
a function or a result builder body.
2022-04-26 09:55:04 -07:00
Pavel Yaskevich
565ed69c80
Merge pull request #42605 from xedin/abort-solver-on-too-complex
...
[CSStep] Abort any binding step when constraint system is 'too complex'
2022-04-25 14:13:27 -07:00
Pavel Yaskevich
ef2f24b82a
[ConstraintSystem] Save "too complex" source range if known
...
This would help to diagnose the initial point where constraint
system has been determine to be "too complex"
2022-04-25 10:31:57 -07:00
Pavel Yaskevich
9773a3c1d5
Merge pull request #42395 from xedin/result-builder-type
...
[BuilderTransform] Extract all builder related operations into `ResultBuilder` type
2022-04-25 10:25:15 -07:00
Pavel Yaskevich
7dab90cd98
[ConstraintSystem] NFC: Drop Expression from isTooComplex check
...
Solver can now handle multiple different targets e.g. multi-statement
closures, result builders etc. So it's more appropriate to say that
the constraint system is too complex.
2022-04-25 10:14:39 -07:00
Pavel Yaskevich
e2b475959c
[ConstraintSystem] getExpressionTooComplex should check the flag before computing anything
2022-04-22 17:55:35 -07:00
Josh Soref
4c77c59269
Spelling sema ( #42474 )
...
* spelling: accessibility
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: accessories
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: adjustments
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: all
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: ambiguous
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: arguments
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: assignment
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: associated
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: assumes
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: auxiliary
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: availability
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: available
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: belongs
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: checking
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: clazz
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: compatibility
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: completely
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: completion
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: complicated
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: conformance
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: constrained
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: constraint
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: contextual
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: conversion
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: convertible
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: couldn't
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: declaration
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: defaultable
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: dependent
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: depending
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: describe
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: diagnostic
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: diagnostics
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: existential
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: expects
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: explicit
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: explicitly
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: expression
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: first
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: font
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: forward
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: generation
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: generic
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: given
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: global
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: guarantee
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: happened
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: hierarchy
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: identical
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: immediately
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: implicit
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: indicates
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: inferred
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: initialization
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: initialize
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: initializer
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: integrity
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: interpolation
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: introducing
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: involved
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: just
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: like
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: likewise
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: mismatch
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: missing
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: more
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: necessarily
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: noescape
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: nonetheless
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: occurrences
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: operators
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: optional
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: otherwise
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: outside
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: overload
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: overridden
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: override
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: parameter
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: parameters
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: penalize
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: platforms
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: precedence
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: preemptively
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: preliminary
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: preserve
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: propagate
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: propagated
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: qualifier
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: question
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: really
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: received
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: references
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: replaceable
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: replacement
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: representable
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: representative
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: requirement
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: requires
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: resolved
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: retrieve
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: rewriting
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: satisfied
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: semantics
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: signature
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: similar
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: simplest
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: simplification
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: solver
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: struct
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: structurally
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: success
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: sure
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: symmetric
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: syntactically
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: target
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: that
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: the
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: themselves
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: these
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: this
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: transform
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: transparent
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: tread
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: truncation
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: type
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: unconstructable
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: universally
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: unknown
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: unwrapped
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: versioned
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: visible
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: where
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com >
2022-04-20 15:12:46 -07:00
Pavel Yaskevich
6bc6ded6cf
[BuilderTransform] Move buildVarRef to ResultBuilder type
2022-04-15 14:26:55 -07:00
Pavel Yaskevich
54d6bc9bc3
[BuilderTransform] Move buildVar to ResultBuilder type
2022-04-15 14:26:55 -07:00
Pavel Yaskevich
e087489f30
[BuilderTransform] Move buildCall to ResultBuilder type
2022-04-15 14:26:44 -07:00
Pavel Yaskevich
95d9362506
[BuilderTransform] Extract support checks and builder info into ResultBuilder type
2022-04-15 14:26:36 -07:00
Alex Hoppen
b034c48b1d
[CodeCompletion] Record fixes while solving result builders for code completion
...
We record fixes while solving normal expressions for code completion and we should do the same when solving result builders if we are reporting the solutions to completion callbacks.
2022-04-08 11:16:08 +02:00
Evan Wilde
4494db946c
Merge pull request #42142 from etcwilde/ewilde/async-main-resolution
...
Fixing async main resolution
2022-04-04 10:25:29 -07:00