• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dennisdoomen / pathy / 31400294737
96%

Build:
DEFAULT BRANCH: main
Ran 10 Aug 2026 02:52PM UTC
Jobs 1
Files 3
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

10 Aug 2026 02:49PM UTC coverage: 97.118%. Remained the same
31400294737

push

github

web-flow
Declare EmbeddedAttribute as partial so it can merge with Reflectify's copy (#153)

Pathy ships as source and compiles into the consuming assembly. It declares
Microsoft.CodeAnalysis.EmbeddedAttribute so its own types can be marked
[Embedded], which tells Roslyn to hide them from every other assembly,
including InternalsVisibleTo friends.

Reflectify is another source-only package by the same author and declares the
same attribute for the same reason. A project that uses both packages therefore
ended up with two declarations of one type in a single compilation, which failed
to build with CS0101.

Declaring the type as partial fixes this. Two partial declarations of the same
type merge into one type instead of colliding, and Roslyn matches [Embedded] by
name, so it does not care how many parts the type came from. Reflectify made the
same change in dennisdoomen/reflectify#170.

For the parts to merge they must have an identical shape, so the type-level
attributes had to go. C# does not allow a non-AllowMultiple attribute to be
repeated across parts of a partial type, so leaving [AttributeUsage] in place
would fail with CS0579 and defeat the purpose. Dropping it costs nothing because
AttributeTargets.All is already the default when an attribute carries no
[AttributeUsage]. [ExcludeFromCodeCoverage] was removed for the same reason.

Verified with a scratch consumer project that compiles Pathy's sources next to
Reflectify's declaration: the library builds, a friend assembly can still reach
the library's own internal types, and Pathy types remain hidden from it.

Co-authored-by: Dennis Doomen <dennis.doomen@greenchoice.nl>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

98 of 100 branches covered (98.0%)

Branch coverage included in aggregate %.

239 of 247 relevant lines covered (96.76%)

153.35 hits per line

Jobs
ID Job ID Ran Files Coverage
1 31400294737.1 10 Aug 2026 02:52PM UTC 3
97.12
GitHub Action Run
Source Files on build 31400294737
  • Tree
  • List 3
  • Changed 1
  • Source Changed 1
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #31400294737
  • adc85aea on github
  • Prev Build on main (#31400056806)
  • Next Build on main (#31405105120)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc