main
Avoid storing information about unrelated assemblies in AssembliesToWhichInternalAccessHasBeenDetermined (#81959)
generated move
Disambiguate extension methods in "ambiguous call" error message when they have the same name but are from different assemblies (#80453)
Improve location that lambda errors are reported at. (#69334)
Fix assert when using `__arglist` and `in` arguments together (#68726)
Add support for nullable with runtime async (#82516)
Pack values for enum members (#73562)
Remove CS1998 warning entirely and remove dependent C# code fix providers (#80144)
Unsafe evolution: make pointers safe regardless of memory safety rules version (#83133)
Avoid an infinite cycle in `MakeAcyclicBaseType` (#81005)
Use attribute to designate Union types (#82408)
Avoid assert on erroneous target-typed conditionals (#84752)
Fix circularity issue with binding const local (#75371)
Fix `GetDeconstructionInfo` on converted deconstruction assignment (#82324)
Remove unnecessary suppressions (#81499)
Fix missing diagnostic about omitted type args on dynamic member access. (#81495)
Move net451 test assets to net461 (#74766)
Pool `BindingDiagnosticBag`s (#68108)
Unsafe evolution: extend compat mode to legacy callers (#83660)
Improve recovery
Merge branch 'main' into features/UnsafeEvolution
Detect struct cycles caused by erroneous field-like event declarations (#75668)
Avoid giving 'no best type' error when one of the types contains error types (#68991)
Implement binding, scoping and name lookup for Global Using directives (#51855)
Improve diagnostic for ambiguous predefined type (#79196)
Remove Microsoft.CodeAnalysis.Test.Extensions namespace (#50051)
Remove unused private members (#61064)
Unsafe evolution: check overrides and implementations (#82172)
Extension indexers: interpolation handler follow-ups (#82218)
Handle some scenarios where attributes applied in local functions or lambdas within extension blocks were missing in metadata (#80464)
Add lambda defaults/`params` conversion warnings (#64961)
Improve error recovery around 'scoped' modifier parsing (#81636)
Improve error recovery in parenthesized constructs (#81279)
Fix typos (#77316)
Report a level 7 warning for lower-cased type names (#56905)
Add regression test for Interlocked.Exchange with nullable types (#80796)
Warn for multiple blank lines in source (#65451)
Put binder for object initializers in the binder map (#82543)
Avoid evaluating platform-dependent shifts at compile time (#83034)
Move to basic ref assemblies for net40 (#74796)
Improve compiler error recovery for null coalesce assignment operator (#80907)
Support null-conditional operator when the return value is a pointer type (including function pointers) (#80694)
Fix/76886 await nullable value type (#82146)
Centralize recognized feature flags (#81591)
Validate pooled objects in compiler tests (#82784)
Do not report hidden pattern diagnostics (#84576)
Handle missing System.Nullable type (#74330)
Report an error for dynamic evaluation of `&&`/`||` when left operand is statically typed as an interface (#80962)
Extensions: improve diagnostics for operators (#80928)
Prefer expanded form for error reporting when params arguments are convertible (#81276)
Fix WasPropertyBackingFieldAccessChecked assertion with query continuations (#81793)
Unify raw string lexing and parsing (#80817)
Propagate `params` to lambdas and local functions (#79880)
Union declarations implement IUnion interface (#82560)
Merge remote-tracking branch 'dotnet/main' into merge-main
Unify `ref readonly` with `in` parameter behavior where it currently differs (#69235)
Fix ref safe context of assignments to be their RHS (#80633)
Emit 'Extension' attribute on a type with an extension declaration. (#77573)
Support modifiers with simple lambda parameters. (#75400)
Fix: LINQ implicit anonymous type property allows stack-only type, causing runtime TypeLoadException (#84485)
Simplify sequence point display (#81104)
Merge branch 'main' into mergeMainIntoField
Keep parse options in the result of `SyntaxFactory.Parse*` methods (#78790)
Add an enforcement for a layering separation between Cci instances used for metadata emit and compiler symbols. (#48838)
Target typed conditional expression recovery (#81025)
Report missing diagnostic for typeless expression in binary operation (#69727)
Target typed switch expression recovery (#81270)
Report CS8802 on every file with top-level statements (#83916)
Support unbound generic types in 'nameof' operator. (#75368)
Field-backed properties: update uses of IsAutoProperty (#74798)
Add friendlier error message on an explicit implementation when the return type is wrong (#80376)
Avoid duplicate error with ambiguous user-defined conversion (#82395)
Disallow modifiers in local_using_declaration (#72589)
Do not convert tuple expression with error to a bad expression too early (#78645)
Add LanguageVersion.CSharp11 (#62496)