Comments (1)
Since it's clearly illegal to declare a ref struct as an inline array it should be a compiler error.
It's not illegal to declare it, you just cannot use it in a way that would emit a ReadOnlySpan<S>
since the struct cannot be used as type argument. But you can use the struct in other ways. For example:
using System;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;
[InlineArray(Length)]
ref struct S
{
public const int Length = 100;
public short element;
[UnscopedRef]
public ref short At(int i) => ref Unsafe.Add(ref element, i);
}
static class Program
{
static void Main()
{
var s = new S();
for (short i = 0; i < 10; i++)
{
s.At(i) = i;
}
for (short i = 0; i < 11; i++)
{
Console.Write(s.At(i));
}
}
}
from roslyn.
Related Issues (20)
- INamedTypeSymbol.Constructors - Method sometimes fails to return information for private constructors HOT 11
- Cannot intercept conditional access or pointer member access invocations HOT 1
- 'if' semantic snippet does not honor non-default brace placement at end of line
- Invalid "Collection initialization can be simplified" HOT 1
- Generate constructor fails when type contains a parameterless primary constructor
- Find References doesn't work when a class contains #line hidden directives
- VisualBasicAddExplicitCastCodeFixProvider: occuring error messsage for tuple contruct HOT 2
- Broken syntax highlighting for local variables C# HOT 8
- csharp_prefer_brace not working with 17.9
- Rename silently fails when "Rename symbol's file" is selected HOT 1
- The compiler doesn't flag errors in simple 'using' statements.
- `nameof` for type-keywords causes CS1525 HOT 1
- Port existing low-level diagnostic service tests over to just testing through LSP
- [VB]False-positive "Cast is redundant" for `DirectCast`
- Remove `==`/`!=`/`=`/`<>` whose operands are bool value (true / false) and literal, or replace them with `!`/`Not` if necessary HOT 4
- Hashtags not being treated correctly in a raw string literal HOT 4
- Upgrading Microsoft.CodeAnalysis.Common from 4.8.0 to 4.9.2 Causes Roslyn Analyzer to be Ignored and No Code Gen HOT 2
- [API Proposal]: SourceTextTokenParser HOT 7
- Roslyn and .Net disagree about converting double.NaN to long HOT 4
- Questions about XML Documentation
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.