Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Feb 23, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

LucianoPAlmeida and others added 25 commits February 20, 2022 18:18
…subscript setter

`repairFailures` needs a special case when l-value conversion is
associated with a result type of subscript setter because otherwise
it falls through and treats result type as if it's an argument type,
which leads to crashes.

Resolves: rdar://84580119
…m our original debug value into new undef debug values.

Otherwise if the move is in a different scope, the backend will think that we
have two different variables and emit the corresponding dwarf.

After I have this commit in and my alloc stack hoising commit (via a different
PR), I am going to be able to commit a full end <-> end test in lldb that values
are printed out appropriately as their lifetimes begin/end.
This is just a quick fix to stop us from dropping live values such as m in the
following example:

```
public func addressOnlyVarTest<T : P>(_ x: T) {
    var k = x
    k.doSomething()
    let m = _move(k)
    m.doSomething()
    k = x
    k.doSomething()
}
```

Before this change, we would just drop m and one wouldn't even see it in the
debugger.

I am only doing this currently for cases where when we merge at least one
alloc_stack was moved. The reason why is that to implement this correctly, I
need to use llvm.dbg.addr and changing the debug info from using
llvm.dbg.declare -> llvm.dbg.addr requires statistics and needs to be done a
little later in the swift development process. If one of these alloc_stack had
the [moved] marker attached to it, we know the user /did/ use move so they have
in a sense opted into having a move function effect its program so we are only
changing how new code appears in the debugger.
…olvedDependentMemberType() to return a 'const'
…a409952b2381683166cea37

[move-function-value] Make sure that we propagate the debug scope from our original debug value into new undef debug values.
…-fix

[alloc-stack-hoisting] Handle alloc_stack [move] correctly.
[SE-309] CSDiag: Add a fix-it that replaces an existential parameter type with its generic counterpart
…ric-ambiguity

[Sema] Attempt diagnose generic arg ambiguity if all solutions produce generic arg mismatch
…nings

[NFC] Fixing some stdlib unused warnings
…97-lexical_lifetimes/lexical_destroy_addr_hoisting/split-copy_addr

Revert "Revert "[SSADestroyHoisting] Split destroy from copy.""
Added trailing "be" to match "is" in "memory is [not] initialized, but
should[n't]".  The errors are now "meemory is [not] initialized, but
should[n't] be".
[CSDiagnostics] Look through l-value conversions when mismatch is in …
swiftlang#37992 introduced a warning when you
were likely to confuse `self` with `TypeName.self`, this also applied to
enum cases that were named `self`, these cases should not be easily
confused at call sites since their use requires prefixing them with a
`.`. There was also no way to avoid this warning since other syntax such
as `TypeName.self`, which produces the enum type instead, or
`` TypeName.`self` `` which produced the same warning again.

Fixes https://bugs.swift.org/browse/SR-15691
…and-comments

RequirementMachine: Small cleanup and some comments
MaxDesiatov
MaxDesiatov previously approved these changes Feb 23, 2022
…ndition-off.swift

Mark stdlib/Assert-debugPrecondition-off.swift as REQUIRES: executable_test.
MaxDesiatov
MaxDesiatov previously approved these changes Feb 23, 2022
…ier-wording

[Gardening] Tweaked verifier wording.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants