ErrorProne.NET.Structs 0.3.0-beta.0

This is a prerelease version of ErrorProne.NET.Structs.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package ErrorProne.NET.Structs --version 0.3.0-beta.0
NuGet\Install-Package ErrorProne.NET.Structs -Version 0.3.0-beta.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ErrorProne.NET.Structs" Version="0.3.0-beta.0">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ErrorProne.NET.Structs --version 0.3.0-beta.0
#r "nuget: ErrorProne.NET.Structs, 0.3.0-beta.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ErrorProne.NET.Structs as a Cake Addin
#addin nuget:?package=ErrorProne.NET.Structs&version=0.3.0-beta.0&prerelease

// Install ErrorProne.NET.Structs as a Cake Tool
#tool nuget:?package=ErrorProne.NET.Structs&version=0.3.0-beta.0&prerelease

Analyzers that help avoiding struct and readonly reference performance pitfalls

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on ErrorProne.NET.Structs:

Package Downloads
Rfm69Transceiver.Wrapper.Net

This library is for controlling an RFM69 Transceiver through .NET. It wraps a native library for this. The only built in library is a Raspberry Pi library.

LetMeSpeak

Package Description

GitHub repositories (9)

Showing the top 5 popular GitHub repositories that depend on ErrorProne.NET.Structs:

Repository Stars
betwixt-labs/bebop
🎷No ceremony, just code. Blazing fast, typesafe binary serialization.
homuler/MediaPipeUnityPlugin
Unity plugin to run MediaPipe
pamidur/aspect-injector
AOP framework for .NET (c#, vb, etc)
Genbox/VelcroPhysics
High performance 2D collision detection system with realistic physics responses.
PhantomGamers/SFP
This utility is designed to allow you to apply skins to the modern Steam client
Version Downloads Last updated
0.6.1-beta.1 2,445 1/17/2024
0.4.0-beta.1 115,642 5/12/2021
0.3.0-beta.0 49,644 5/12/2020
0.2.0-beta.7 16,633 4/9/2019
0.1.2 144,863 11/1/2018
0.1.1.11 832 10/25/2018
0.1.1.10 933 10/3/2018
0.1.1 768 10/2/2018
0.1.0 3,492 5/3/2018

0.3.0
       * EPS07: detects that a struct that does not override `Equals` or `GetHashCode` is used as the key in the dictionary or in a hashset.
       * EPS08: detects that the default `ValueType.Equals` or `ValueType.GetHashCode` are used in the implmentation of the `Equals` or `GetHashCode` for a custom struct.
       * EPS09: detects that `in` modifier can be explicitely specified in a method call.
       * EPS10: detects attemps of constructing non-defaultable structs by using `new T`, `default` or similar.
       * EPS11: detects that a non-defaultable struct is embedded in a defaultable struct.
       * Various bug fixes.

       0.2.0
       * EPS01: detects that a struct could be made readonly;
       * EPS02: detects that a struct not suitable for readonly contexts is passed using 'in'-parameter
       * EPS03: detects that a struct not suitable for readonly contexts is returned by ref readonly reference.
       * EPS04: detects that a struct not suitable for readonly contexts is stored in ref readonly local.
       * EPS05: detects that a struct could be passed using 'in'-modifier for performance reasons.
       * EPS06: detects that the compiler emits a defensive copy for a given expression.