Skip to content

Add PolygonStroker and RemoveSelfIntersections for robust, high-performance stroke normalization #79

Add PolygonStroker and RemoveSelfIntersections for robust, high-performance stroke normalization

Add PolygonStroker and RemoveSelfIntersections for robust, high-performance stroke normalization #79

Triggered via pull request February 17, 2026 12:01
Status Success
Total duration 2m 3s
Artifacts –

build-and-test.yml

on: pull_request
WarmLFS
7s
WarmLFS
Matrix: Build
Publish
Publish
Fit to window
Zoom out
Zoom in

Annotations

60 warnings
Build (macos-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L228
Cannot convert null literal to non-nullable reference type.
Build (macos-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L228
Cannot convert null literal to non-nullable reference type.
Build (macos-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L271
Nullability of reference types in type of parameter 'other' of 'bool Feature<TGeometry>.Equals(Feature<TGeometry> other)' doesn't match implicitly implemented member 'bool IEquatable<Feature<TGeometry>>.Equals(Feature<TGeometry>? other)' (possibly because of nullability attributes).
Build (macos-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L203
Cannot convert null literal to non-nullable reference type.
Build (macos-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L198
Cannot convert null literal to non-nullable reference type.
Build (macos-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L198
Cannot convert null literal to non-nullable reference type.
Build (macos-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L42
Cannot convert null literal to non-nullable reference type.
Build (macos-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L35
Cannot convert null literal to non-nullable reference type.
Build (macos-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L143
Nullability of reference types in type of parameter 'other' of 'bool Feature<TGeometry, TProps>.Equals(Feature<TGeometry, TProps> other)' doesn't match implicitly implemented member 'bool IEquatable<Feature<TGeometry, TProps>>.Equals(Feature<TGeometry, TProps>? other)' (possibly because of nullability attributes).
Build (macos-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Converters/JsonStringEnumMemberConverter.cs#L19
Cannot convert null literal to non-nullable reference type.
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Feature/Feature.cs#L198
Cannot convert null literal to non-nullable reference type.
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Feature/Feature.cs#L42
Cannot convert null literal to non-nullable reference type.
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Feature/Feature.cs#L35
Cannot convert null literal to non-nullable reference type.
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Feature/Feature.cs#L143
Nullability of reference types in type of parameter 'other' of 'bool Feature<TGeometry, TProps>.Equals(Feature<TGeometry, TProps> other)' doesn't match implicitly implemented member 'bool IEquatable<Feature<TGeometry, TProps>>.Equals(Feature<TGeometry, TProps>? other)' (possibly because of nullability attributes).
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/CoordinateReferenceSystem/UnspecifiedCRS.cs#L30
Nullability of type of parameter 'obj' doesn't match overridden member (possibly because of nullability attributes).
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/CoordinateReferenceSystem/CRSBase.cs#L44
Nullability of reference types in type of parameter 'other' of 'bool CRSBase.Equals(CRSBase other)' doesn't match implicitly implemented member 'bool IEquatable<CRSBase>.Equals(CRSBase? other)' (possibly because of nullability attributes).
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/CoordinateReferenceSystem/CRSBase.cs#L52
Nullability of reference types in type of parameter 'right' of 'bool CRSBase.Equals(CRSBase left, CRSBase right)' doesn't match implicitly implemented member 'bool IEqualityComparer<CRSBase>.Equals(CRSBase? x, CRSBase? y)' (possibly because of nullability attributes).
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/CoordinateReferenceSystem/CRSBase.cs#L52
Nullability of reference types in type of parameter 'left' of 'bool CRSBase.Equals(CRSBase left, CRSBase right)' doesn't match implicitly implemented member 'bool IEqualityComparer<CRSBase>.Equals(CRSBase? x, CRSBase? y)' (possibly because of nullability attributes).
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/CoordinateReferenceSystem/CRSBase.cs#L36
Nullability of type of parameter 'obj' doesn't match overridden member (possibly because of nullability attributes).
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Converters/JsonStringEnumMemberConverter.cs#L19
Cannot convert null literal to non-nullable reference type.
Build (ubuntu-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L198
Cannot convert null literal to non-nullable reference type.
Build (ubuntu-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L42
Cannot convert null literal to non-nullable reference type.
Build (ubuntu-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L35
Cannot convert null literal to non-nullable reference type.
Build (ubuntu-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L143
Nullability of reference types in type of parameter 'other' of 'bool Feature<TGeometry, TProps>.Equals(Feature<TGeometry, TProps> other)' doesn't match implicitly implemented member 'bool IEquatable<Feature<TGeometry, TProps>>.Equals(Feature<TGeometry, TProps>? other)' (possibly because of nullability attributes).
Build (ubuntu-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/CoordinateReferenceSystem/UnspecifiedCRS.cs#L30
Nullability of type of parameter 'obj' doesn't match overridden member (possibly because of nullability attributes).
Build (ubuntu-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/CoordinateReferenceSystem/CRSBase.cs#L44
Nullability of reference types in type of parameter 'other' of 'bool CRSBase.Equals(CRSBase other)' doesn't match implicitly implemented member 'bool IEquatable<CRSBase>.Equals(CRSBase? other)' (possibly because of nullability attributes).
Build (ubuntu-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/CoordinateReferenceSystem/CRSBase.cs#L52
Nullability of reference types in type of parameter 'right' of 'bool CRSBase.Equals(CRSBase left, CRSBase right)' doesn't match implicitly implemented member 'bool IEqualityComparer<CRSBase>.Equals(CRSBase? x, CRSBase? y)' (possibly because of nullability attributes).
Build (ubuntu-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/CoordinateReferenceSystem/CRSBase.cs#L52
Nullability of reference types in type of parameter 'left' of 'bool CRSBase.Equals(CRSBase left, CRSBase right)' doesn't match implicitly implemented member 'bool IEqualityComparer<CRSBase>.Equals(CRSBase? x, CRSBase? y)' (possibly because of nullability attributes).
Build (ubuntu-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/CoordinateReferenceSystem/CRSBase.cs#L36
Nullability of type of parameter 'obj' doesn't match overridden member (possibly because of nullability attributes).
Build (ubuntu-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Converters/JsonStringEnumMemberConverter.cs#L19
Cannot convert null literal to non-nullable reference type.
Build (macos-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Geometry/MultiPolygon.cs#L76
Nullability of reference types in type of parameter 'left' of 'bool MultiPolygon.Equals(MultiPolygon left, MultiPolygon right)' doesn't match implicitly implemented member 'bool IEqualityComparer<MultiPolygon>.Equals(MultiPolygon? x, MultiPolygon? y)' (possibly because of nullability attributes).
Build (macos-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Geometry/MultiLineString.cs#L72
Nullability of reference types in type of parameter 'other' of 'bool MultiLineString.Equals(MultiLineString other)' doesn't match implicitly implemented member 'bool IEquatable<MultiLineString>.Equals(MultiLineString? other)' (possibly because of nullability attributes).
Build (macos-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Geometry/MultiLineString.cs#L80
Nullability of reference types in type of parameter 'right' of 'bool MultiLineString.Equals(MultiLineString left, MultiLineString right)' doesn't match implicitly implemented member 'bool IEqualityComparer<MultiLineString>.Equals(MultiLineString? x, MultiLineString? y)' (possibly because of nullability attributes).
Build (macos-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Geometry/MultiLineString.cs#L80
Nullability of reference types in type of parameter 'left' of 'bool MultiLineString.Equals(MultiLineString left, MultiLineString right)' doesn't match implicitly implemented member 'bool IEqualityComparer<MultiLineString>.Equals(MultiLineString? x, MultiLineString? y)' (possibly because of nullability attributes).
Build (macos-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Geometry/LineString.cs#L108
Nullability of reference types in type of parameter 'other' of 'bool LineString.Equals(LineString other)' doesn't match implicitly implemented member 'bool IEquatable<LineString>.Equals(LineString? other)' (possibly because of nullability attributes).
Build (macos-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Geometry/LineString.cs#L116
Nullability of reference types in type of parameter 'right' of 'bool LineString.Equals(LineString left, LineString right)' doesn't match implicitly implemented member 'bool IEqualityComparer<LineString>.Equals(LineString? x, LineString? y)' (possibly because of nullability attributes).
Build (macos-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Geometry/LineString.cs#L116
Nullability of reference types in type of parameter 'left' of 'bool LineString.Equals(LineString left, LineString right)' doesn't match implicitly implemented member 'bool IEqualityComparer<LineString>.Equals(LineString? x, LineString? y)' (possibly because of nullability attributes).
Build (macos-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Geometry/GeometryCollection.cs#L62
Nullability of reference types in type of parameter 'other' of 'bool GeometryCollection.Equals(GeometryCollection other)' doesn't match implicitly implemented member 'bool IEquatable<GeometryCollection>.Equals(GeometryCollection? other)' (possibly because of nullability attributes).
Build (macos-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Geometry/GeometryCollection.cs#L70
Nullability of reference types in type of parameter 'right' of 'bool GeometryCollection.Equals(GeometryCollection left, GeometryCollection right)' doesn't match implicitly implemented member 'bool IEqualityComparer<GeometryCollection>.Equals(GeometryCollection? x, GeometryCollection? y)' (possibly because of nullability attributes).
Build (macos-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Geometry/GeometryCollection.cs#L70
Nullability of reference types in type of parameter 'left' of 'bool GeometryCollection.Equals(GeometryCollection left, GeometryCollection right)' doesn't match implicitly implemented member 'bool IEqualityComparer<GeometryCollection>.Equals(GeometryCollection? x, GeometryCollection? y)' (possibly because of nullability attributes).
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Feature/Feature.cs#L228
Cannot convert null literal to non-nullable reference type.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Feature/Feature.cs#L228
Cannot convert null literal to non-nullable reference type.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Feature/Feature.cs#L271
Nullability of reference types in type of parameter 'other' of 'bool Feature<TGeometry>.Equals(Feature<TGeometry> other)' doesn't match implicitly implemented member 'bool IEquatable<Feature<TGeometry>>.Equals(Feature<TGeometry>? other)' (possibly because of nullability attributes).
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Feature/Feature.cs#L203
Cannot convert null literal to non-nullable reference type.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Feature/Feature.cs#L198
Cannot convert null literal to non-nullable reference type.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Feature/Feature.cs#L198
Cannot convert null literal to non-nullable reference type.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Feature/Feature.cs#L42
Cannot convert null literal to non-nullable reference type.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Feature/Feature.cs#L35
Cannot convert null literal to non-nullable reference type.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Converters/JsonStringEnumMemberConverter.cs#L19
Cannot convert null literal to non-nullable reference type.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/GeoJson/Feature/Feature.cs#L143
Nullability of reference types in type of parameter 'other' of 'bool Feature<TGeometry, TProps>.Equals(Feature<TGeometry, TProps> other)' doesn't match implicitly implemented member 'bool IEquatable<Feature<TGeometry, TProps>>.Equals(Feature<TGeometry, TProps>? other)' (possibly because of nullability attributes).
Build (windows-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L228
Cannot convert null literal to non-nullable reference type.
Build (windows-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L228
Cannot convert null literal to non-nullable reference type.
Build (windows-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L271
Nullability of reference types in type of parameter 'other' of 'bool Feature<TGeometry>.Equals(Feature<TGeometry> other)' doesn't match implicitly implemented member 'bool IEquatable<Feature<TGeometry>>.Equals(Feature<TGeometry>? other)' (possibly because of nullability attributes).
Build (windows-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L203
Cannot convert null literal to non-nullable reference type.
Build (windows-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L198
Cannot convert null literal to non-nullable reference type.
Build (windows-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L198
Cannot convert null literal to non-nullable reference type.
Build (windows-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L42
Cannot convert null literal to non-nullable reference type.
Build (windows-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L35
Cannot convert null literal to non-nullable reference type.
Build (windows-latest, net9.0, 9.0.x, true, -x64, false): tests/GeoJson/Feature/Feature.cs#L143
Nullability of reference types in type of parameter 'other' of 'bool Feature<TGeometry, TProps>.Equals(Feature<TGeometry, TProps> other)' doesn't match implicitly implemented member 'bool IEquatable<Feature<TGeometry, TProps>>.Equals(Feature<TGeometry, TProps>? other)' (possibly because of nullability attributes).