main
Unions: cache some calculated results on NamedTypeSymbol representing a union type (#84589)
Run 'make struct readonly' on compiler code (#63675)
Extensions: adjust logic related to primary ctor parameter (#79056)
[labeled break/continue] Binding, lowering, emit, and semantic model (#83198)
generated move
Extensions: improve diagnostics for operators (#80928)
Fix all IDE0241 (Nullable directive is unnecessary)
Field-backed properties: report diagnostic for variable named field declared in accessor (#76671)
Ensure that `modreq(InAttribute)` is emitted for synthesized `ref readonly` returning methods (#80893)
Merge "extension indexers" into `main` branch (#84200)
Avoid premature full binding of a receiver as a value in the process of binding possible type-or-value receiver (so-called “Color Color” scenario) (#80978)
Merge remote-tracking branch 'upstream/main' into merge-main-into-labeled-break-and-continue-2
Use dedicated type for union syntax. (#83808)
Extensions: fix issue with paramref (#81269)
Modify BinderFactory to use a shared pool instead of one per BinderFactory instance. (#72725)
Put binder for object initializers in the binder map (#82543)
Fix: LINQ implicit anonymous type property allows stack-only type, causing runtime TypeLoadException (#84485)
Unsafe evolution: handle remaining member kinds (#82043)
Implement runtime async support for dynamic (#83713)
Refactoring of extension methods in source packages (#78620) - take 2 (#78894)
Merge remote-tracking branch 'dotnet/main' into merge-main
Extension indexers: bind CREF (#82012)
Assert the shape of bound tree created for user defined conversions (#81896)
Unsafe evolution: extend compat mode to legacy callers (#83660)
Handle iterator safe contexts in ref safety analysis (#84254)
Report diagnostic when lambda binding count exceeds threshold (#72823)
Copilot: Fix culture-sensitive StringBuilder.Append and ToString calls across codebase and add banned symbols (#80800)
Update RuntimeAsync error message (#84263)
Resolve merge conflicts
Extensions: misc checks on receiver parameter and extension members (#77937)
Make GetIsOperatorConstantResult more accurate for generic scenarios
Unions: Remove some trivial wrapper methods (#84678)
Extensions: address some follow-up comments (#78847)
Unsafe evolution: handle `new()` constraint (#82647)
Replace string.Compare == 0 patterns with Equals/StartsWith calls (#84036)
Unsafe evolution: avoid errors inside nameof (#84325)
Remove unnecessary Location object allocations when checking lang versions. (#67773)
Revert "dotnet-format -w Roslyn.sln"
Remove unnecessary suppressions (#81499)
Add additional information when we throw an 'unreachable' exception
Handle infinite cycles through params collection initializers (#74899)
Revert "Revert "Implement IAttributeOperation (#59369)"" (#64488)
Do not report hidden pattern diagnostics (#84576)
Initial support for non-boxing union TryGetValue access pattern (#82325)
Unsafe evolution: unsafe expressions (#84012)
Reduce allocations for LocalScopeBinder.BuildLocals (#68684)
Unsafe evolution: avoid interior effect of `unsafe` modifier on members (#83452)
Improve detection of invalid references for implicitly typed expression variables declared within implicit object creation expressions. (#80546)
Extensions: Bind invocations and member accesses (#77172)
Extend scope of type parameters in attributes (#40525)
Update src/Compilers/CSharp/Portable/Binder/ImportChain.cs
Validate pooled objects in compiler tests (#82784)
Extensions: Merge lookup of classic and new extensions (#82165)
Fix circularity issue with binding const local (#75371)
Add locals to binder from out vars in array rank specifiers on local functions (#69597)
Do not resolve diagnostics early during attribute binding (#71140)
Remove LookupOptions.IncludeExtensionMembers (#81650)
Improve arity error message to prefer generic type when both generic and non-generic exist (#80707)
Fix superfluous managed address errors for pointer to non-existent type (#80760)
Create params arrays during binding (#70762)
Extensions: resolve new members like classic extension methods (#77423)
Fix small LookupResult pooling leak in NameofBinder.LookupSymbolsInSingleBinder (#82764)
Support unbound generic types in 'nameof' operator. (#75368)
Fix false positive "infinite chain of calls" error in collection expressions when parameterless constructor exists alongside params constructor (#82591)
Unions: Address remaining PROTOTYPE comments (#84499)
Ref safety: replace uint scope with struct SafeContext (#75647)
Handle potential null in extension lookup (#80621)
Unions: Implement Try-Both approach for type pattern (#84323)
Adjust decision Dag reachability based on nullable analysis when reporting unhandled `null` values in a switch expression (#84207)
Implement scoping and shadowing rules for extension parameter and type parameters (#77704)
Extensions: allow more CREFs (#80114)
Split out ref safety analysis into a separate pass after binding (#64928)
Switch all usages of Locations[0] to GetFirstLocation() (#67678)
Add parameters in scope in nameof in certain attributes (#60642)
Handle capturing of primary constructor parameters within queries and in type-or-value scenarios (#66254)