diff --git a/.travis.yml b/.travis.yml
index fdffaba477..51b2aaf2bc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,7 +9,7 @@ env:
- DOTNET_CLI_TELEMETRY_OPTOUT=1
mono:
- 5.2.0
-dotnet: 2.0.0
+dotnet: 2.1.200
script:
- ./build.sh --target "Travis" --platform "NetCoreOnly" --configuration "Release"
notifications:
diff --git a/build/SharedVersion.props b/build/SharedVersion.props
index 8b7b02de5d..351583a106 100644
--- a/build/SharedVersion.props
+++ b/build/SharedVersion.props
@@ -9,5 +9,6 @@
https://github.com/AvaloniaUI/Avalonia/
true
CS1591
+ latest
\ No newline at end of file
diff --git a/src/Avalonia.Visuals/Matrix.cs b/src/Avalonia.Visuals/Matrix.cs
index b09ea2b68c..9ed5923109 100644
--- a/src/Avalonia.Visuals/Matrix.cs
+++ b/src/Avalonia.Visuals/Matrix.cs
@@ -11,7 +11,7 @@ namespace Avalonia
///
/// A 2x3 matrix.
///
- public struct Matrix
+ public readonly struct Matrix
{
private readonly double _m11;
private readonly double _m12;
diff --git a/src/Avalonia.Visuals/Media/Color.cs b/src/Avalonia.Visuals/Media/Color.cs
index 82cc19347a..aacce3fdce 100644
--- a/src/Avalonia.Visuals/Media/Color.cs
+++ b/src/Avalonia.Visuals/Media/Color.cs
@@ -11,7 +11,7 @@ namespace Avalonia.Media
///
/// An ARGB color.
///
- public struct Color
+ public readonly struct Color
{
///
/// Gets or sets the Alpha component of the color.
diff --git a/src/Avalonia.Visuals/Media/DrawingContext.cs b/src/Avalonia.Visuals/Media/DrawingContext.cs
index 1aa3fd21de..1d25224b8d 100644
--- a/src/Avalonia.Visuals/Media/DrawingContext.cs
+++ b/src/Avalonia.Visuals/Media/DrawingContext.cs
@@ -19,7 +19,7 @@ namespace Avalonia.Media
? new Stack()
: TransformStackPool.Pop();
- struct TransformContainer
+ readonly struct TransformContainer
{
public readonly Matrix LocalTransform;
public readonly Matrix ContainerTransform;
@@ -147,7 +147,7 @@ namespace Avalonia.Media
}
}
- public struct PushedState : IDisposable
+ public readonly struct PushedState : IDisposable
{
private readonly int _level;
private readonly DrawingContext _context;
diff --git a/src/Avalonia.Visuals/Media/Immutable/ImmutableSolidColorBrush.cs b/src/Avalonia.Visuals/Media/Immutable/ImmutableSolidColorBrush.cs
index 015486c6a4..b55ca251a6 100644
--- a/src/Avalonia.Visuals/Media/Immutable/ImmutableSolidColorBrush.cs
+++ b/src/Avalonia.Visuals/Media/Immutable/ImmutableSolidColorBrush.cs
@@ -6,7 +6,7 @@ namespace Avalonia.Media.Immutable
///
/// Fills an area with a solid color.
///
- public struct ImmutableSolidColorBrush : ISolidColorBrush
+ public readonly struct ImmutableSolidColorBrush : ISolidColorBrush
{
///
/// Initializes a new instance of the class.
diff --git a/src/Avalonia.Visuals/Point.cs b/src/Avalonia.Visuals/Point.cs
index 62be3bf276..34070ac71f 100644
--- a/src/Avalonia.Visuals/Point.cs
+++ b/src/Avalonia.Visuals/Point.cs
@@ -11,7 +11,7 @@ namespace Avalonia
///
/// Defines a point.
///
- public struct Point
+ public readonly struct Point
{
///
/// The X position.
diff --git a/src/Avalonia.Visuals/Rect.cs b/src/Avalonia.Visuals/Rect.cs
index 73021ca29a..d28fff0216 100644
--- a/src/Avalonia.Visuals/Rect.cs
+++ b/src/Avalonia.Visuals/Rect.cs
@@ -11,7 +11,7 @@ namespace Avalonia
///
/// Defines a rectangle.
///
- public struct Rect
+ public readonly struct Rect
{
///
/// An empty rectangle.
diff --git a/src/Avalonia.Visuals/RelativePoint.cs b/src/Avalonia.Visuals/RelativePoint.cs
index e4d7ea05cb..5d3cb23a90 100644
--- a/src/Avalonia.Visuals/RelativePoint.cs
+++ b/src/Avalonia.Visuals/RelativePoint.cs
@@ -28,7 +28,7 @@ namespace Avalonia
///
/// Defines a point that may be defined relative to a containing element.
///
- public struct RelativePoint : IEquatable
+ public readonly struct RelativePoint : IEquatable
{
///
/// A point at the top left of the containing element.
@@ -45,7 +45,7 @@ namespace Avalonia
///
public static readonly RelativePoint BottomRight = new RelativePoint(1, 1, RelativeUnit.Relative);
- private Point _point;
+ private readonly Point _point;
private readonly RelativeUnit _unit;
diff --git a/src/Avalonia.Visuals/RelativeRect.cs b/src/Avalonia.Visuals/RelativeRect.cs
index ad42e30057..0afe74f0be 100644
--- a/src/Avalonia.Visuals/RelativeRect.cs
+++ b/src/Avalonia.Visuals/RelativeRect.cs
@@ -11,7 +11,7 @@ namespace Avalonia
///
/// Defines a rectangle that may be defined relative to a containing element.
///
- public struct RelativeRect : IEquatable
+ public readonly struct RelativeRect : IEquatable
{
private static readonly char[] PercentChar = { '%' };
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/DeferredDrawingContextImpl.cs b/src/Avalonia.Visuals/Rendering/SceneGraph/DeferredDrawingContextImpl.cs
index dfd45fba9c..f3dbfbd8fb 100644
--- a/src/Avalonia.Visuals/Rendering/SceneGraph/DeferredDrawingContextImpl.cs
+++ b/src/Avalonia.Visuals/Rendering/SceneGraph/DeferredDrawingContextImpl.cs
@@ -320,7 +320,7 @@ namespace Avalonia.Rendering.SceneGraph
}
}
- public struct UpdateState : IDisposable
+ public readonly struct UpdateState : IDisposable
{
public UpdateState(
DeferredDrawingContextImpl owner,
diff --git a/src/Avalonia.Visuals/Size.cs b/src/Avalonia.Visuals/Size.cs
index b6889af6f0..50a3973a5c 100644
--- a/src/Avalonia.Visuals/Size.cs
+++ b/src/Avalonia.Visuals/Size.cs
@@ -11,7 +11,7 @@ namespace Avalonia
///
/// Defines a size.
///
- public struct Size
+ public readonly struct Size
{
///
/// A size representing infinity.
diff --git a/src/Avalonia.Visuals/Thickness.cs b/src/Avalonia.Visuals/Thickness.cs
index 43a5fed9e7..759abd5943 100644
--- a/src/Avalonia.Visuals/Thickness.cs
+++ b/src/Avalonia.Visuals/Thickness.cs
@@ -11,7 +11,7 @@ namespace Avalonia
///
/// Describes the thickness of a frame around a rectangle.
///
- public struct Thickness
+ public readonly struct Thickness
{
///
/// The thickness on the left.
diff --git a/src/Avalonia.Visuals/Vector.cs b/src/Avalonia.Visuals/Vector.cs
index c4545b8e5c..acde49a84a 100644
--- a/src/Avalonia.Visuals/Vector.cs
+++ b/src/Avalonia.Visuals/Vector.cs
@@ -10,7 +10,7 @@ namespace Avalonia
///
/// Defines a vector.
///
- public struct Vector
+ public readonly struct Vector
{
///
/// The X vector.
diff --git a/src/Avalonia.Visuals/VisualTree/TransformedBounds.cs b/src/Avalonia.Visuals/VisualTree/TransformedBounds.cs
index 435ca85a05..f8356bbcd6 100644
--- a/src/Avalonia.Visuals/VisualTree/TransformedBounds.cs
+++ b/src/Avalonia.Visuals/VisualTree/TransformedBounds.cs
@@ -8,7 +8,7 @@ namespace Avalonia.VisualTree
///
/// Holds information about the bounds of a control, together with a transform and a clip.
///
- public struct TransformedBounds
+ public readonly struct TransformedBounds
{
///
/// Initializes a new instance of the struct.
diff --git a/src/Shared/RenderHelpers/ArcToHelper.cs b/src/Shared/RenderHelpers/ArcToHelper.cs
index 9da47909cb..2457606f9d 100644
--- a/src/Shared/RenderHelpers/ArcToHelper.cs
+++ b/src/Shared/RenderHelpers/ArcToHelper.cs
@@ -982,7 +982,7 @@ namespace Avalonia.RenderHelpers
/// At some point I did not trust the WPF Matrix struct, and wrote my own simple one -_-
/// This is supposed to be replaced with proper WPF Matrices everywhere
///
- private struct SimpleMatrix
+ private readonly struct SimpleMatrix
{
private readonly double _a, _b, _c, _d;
diff --git a/src/Windows/Avalonia.Direct2D1/OptionalDispose.cs b/src/Windows/Avalonia.Direct2D1/OptionalDispose.cs
index cd3eee8d25..e302e71102 100644
--- a/src/Windows/Avalonia.Direct2D1/OptionalDispose.cs
+++ b/src/Windows/Avalonia.Direct2D1/OptionalDispose.cs
@@ -2,7 +2,7 @@
namespace Avalonia.Direct2D1
{
- public struct OptionalDispose : IDisposable where T : IDisposable
+ public readonly struct OptionalDispose : IDisposable where T : IDisposable
{
private readonly bool _dispose;