Merge master into UsedAssemblyReferences#40181
Merged
AlekseyTs merged 280 commits intodotnet:features/UsedAssemblyReferencesfrom Dec 6, 2019
Merged
Merge master into UsedAssemblyReferences#40181AlekseyTs merged 280 commits intodotnet:features/UsedAssemblyReferencesfrom
AlekseyTs merged 280 commits intodotnet:features/UsedAssemblyReferencesfrom
Conversation
Make async state machine cleanup hoisted locals before calling SetResult to prevent excess GC roots
… for active file analysis scope.
… symbols This wasn't necessary when we had wrapped symbols, since it was the wrapper that had the annotation. Now that we are removing wrappers we need to implement it directly.
The compiler merged support for top-level symbol nullability in dotnet#39498, so we can now delete our own wrappers that were performing the same thing. This is a mostly mechanical change. For places where we were calling LookupSymbols or ClassifyConversion, those places previously called .WithoutNullability() since the compiler API would have thrown if we gave it our wrappers, but the APIs had otherwise no way to pass top-leve nullability. That was an accepted oversight at the time, and the belief is passing in the full symbol will generally be more correct.
In the deepest of ironies, the extension methods we had to wrap top-level nullability was implicitly hiding a potential null reference. Removing the extension methods is now flagging this, so this fixes it up. The handling isn't ideal: if we don't have a Task<T> we won't necessarily wrap, but that's not something really worth going out of our way to support -- most code doesn't.
This clarifies why we are stripping the nullability, and replaces it with the "not null" instead of "oblivious" which generates to the same code but is a bit more correct if something else tried to operate on the type symbol.
…ctly We weren't ensuring the the tuple elements had top-level nullability if we inferred the pattern was itself using nullable.
Visual Studio Code Tasks
* Refactoring * Refactoring * Refactoring * Feedback * Misc feedback * Use ValueTask instead of custom task caching
…wrappers Remove the nullable wrappers from the Workspaces layer
Enable nullability checking in more of our collection types
…203.17 (dotnet#40133) - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19603.17
* Make finding checksum async * Clean up TryRunCodeAnalysisRemoteAsync
Nullable collections
After CI image was updated with 16.4 Preview 5 some REPL tests started failing consistently. dotnet#40160
Skip failing C# REPL integration tests.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.