Merge master to features/param-nullchecking#36171
Merged
42 commits merged intofeatures/param-nullcheckingfrom Jun 5, 2019
Merged
Merge master to features/param-nullchecking#3617142 commits merged intofeatures/param-nullcheckingfrom
42 commits merged intofeatures/param-nullcheckingfrom
Conversation
Improves the workaround for microsoft/MSBuildLocator#16
This change produced a 535MB (7.5%) allocation reduction in the scenario described by #36114.
This change produced a 806MB (11.3%) allocation reduction in the scenario described by #36114.
Add EditorConfig feature flag
* Add InteractiveHost as a NuGet package * Make InteractiveWindow a package dependency * Update InteractiveWindow version to 2.8.0 * Add missing package dependencies
Add initial support for 'notnull' generic type constraint. See https://github.com/dotnet/csharplang/blob/master/meetings/2019/LDM-2019-05-15.md Also fixes #36005.
Currently, the APIs for nullable reference types take a model that instead of the top level nullability of a named type being on the INamedTypeSymbol, it's carried along as a separate piece of information. This causes a lot of churn for code that is used to passing along ITypeSymbols today; one way to ease this is simply create a set of wrapper types which carry it along for us but still implement ITypeSymbol.
This enables basic support for applying top-level nullability to parameters and the return types when generating methods. Fixes #30319
This catches places we're calling Construct() or ClassifyConversion().
This makes the extension method work again. The workaround is tracked by #36093.
* Update ILAsm and ILDasm version to match expected SDK version * Fixed version numbers
… ambiguous type returns (#35853) FindImplementationsForInterfaceMemberAsync checks for forwarded types using SymbolFinder.OriginalSymbolsMatch, which expects non-null compilation for both the project containing the interface and the project containing the symbol to compare to. Until now, most instances have found equivalence without falling through, but in cases where the type forwarding isn't completely verified a non-null compilation for the interface symbol is needed as well. See VerifyForwardedTypes for the logic being used. In #35786 the type System.Text.Encoding is provided by a a NuGet reference and could be ambiguous based on the build target. The OOP service attempts to find the correct type resolution but needs the original symbol compilation to verify. Without this fix, FindAllReferences may cause a null deref and fail. Fixes #35786
* Learn from comparisons to non-constant, non-null values * Update comment * Remove unused local function * Remove another unused local function * Check for null constant before trying to learn from notNull == maybeNull. Add tests * More tests, more cleanup * Add conditional access with || test * More test updates from feedback * Cleanup * Change some locals in tests to parameters
…l] in NullableWalker (#35955)
Update AnalyzerRunner to support IIncrementalAnalyzer testing
Avoid captures in SqlConnection.ReadBlob
Pass CancellationToken instead of CancellationTokenSource
DisposableWaitAsync often completes synchronously
* mark NFW from OOP critical currently, whenever OOP throws an exception, we show infobar saying "restart VS". whenever that happens, we report NFW. now those NFW will be marked as critical and we will stop reporting NFW after that in VS. basically making critical NFW behavior same as fatal watson in VS. and management will treat critical NFW same as fatal watson. also, now we will show callstack like code fix exception when info bar is shown * xml document fix * fix build break. * changed button to hyper-link to follow same pattern as other info bar (code fix) show remote exception in callstack view. * introduced enum for Watson Severity
…hod-with-nullable-wrapper Implement generate method and constructor with top-level nullability tracking wrapper
* Update implicity declared type expression nullability: - When updating the implicit type in a declaration also update the bound type declaration nullability - Record nullability for inferred foreach variable - Add nullable public api tests - Add nullable tests
* Write Roslyn assembly version to DependentAssemblyVersions file * Depend on GetAssemblyVersion to ensure AssemblyVersion has been calculated
…o merges/master-to-features/param-nullchecking
This pull request was closed.
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.
This is an automatically generated pull request from master into features/param-nullchecking.
git fetch --all git checkout merges/master-to-features/param-nullchecking git reset --hard upstream/features/param-nullchecking git merge upstream/master # Fix merge conflicts git commit git push upstream merges/master-to-features/param-nullchecking --forceOnce all conflicts are resolved and all the tests pass, you are free to merge the pull request.