Comments (1)
The case I'm most concerned about is the params
case. It's common to call params
methods in groups for example if you're using Console.WriteLine
or StringBuilder.AppendFormat
it a series of statements. That is a place where the temp locals could build up and a better re-use plan would be valuable.
I also think that scoping the optimization to that makes it more approachable. The advantage of params
methods is it's very simple to detect if the collection expression is inaccessible after the method returns. Methods that meet the following criteria can be assured the generated collection expression value cannot live beyond the method invocation:
- The type of
params
is aref struct
- The return type of the method is not a
ref struct
- There are no parameters that are
in / out / ref
with a type of aref struct
from roslyn.
Related Issues (20)
- .NET 9 `Preview.5`, `Preview.6`, `Preview.7` C# compiler crashes on LINQ expression with string interpolation HOT 7
- [Source Generators] ISyntaxReceiver instances should be able to access AdditionalFiles HOT 1
- Changing warning CS8002 to an error still results in binary being outputted despite error HOT 1
- [Automated] PRs inserted in VS build feature.debugger.main-35026.134
- [Automated] PRs inserted in VS build feature.dotnetVS-35026.97
- Suggestion to Include Criteria for Identifying Generated Code in AnalysisContext.ConfigureGeneratedCodeAnalysis() Documentation
- Precompile compile-time declared Lambda Expression. HOT 2
- Code Analysis rule CA1860 gives a biased message
- CodeGen for defaulted collection expression elements (Span via InlineArray) HOT 4
- CS7038: Failed to emit module if new collection syntax is used with an implicit ImmutableArray operator.
- IEventSymbol.DeclaringSyntaxReferences Syntax is VariableDeclaratorSyntax not EventDeclarationSyntax HOT 2
- Create LangVersion 13 HOT 3
- [Automated] PRs inserted in VS build feature.debugger.main-35027.161
- [Automated] PRs inserted in VS build main-35027.32
- Roslyn wrote incorrect timedatestime to PE Coff Header of a .Net 8.0 program file HOT 1
- IDE0304 should preserve the leading comment
- Support limiting CS1591 to certain members
- [Automated] PRs inserted in VS build main-35028.101
- IDE0161 - Convert to file-scoped namespace reported on files with global namespace type declarations
- Rename 'class1' to 'Class1' lingers after IDE1006 fixer
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from roslyn.