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

djeedai / bevy_hanabi / 17957503606 / 1
66%
main: 66%

Build:
DEFAULT BRANCH: main
Ran 23 Sep 2025 08:22PM UTC
Files 32
Run time 1s
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

23 Sep 2025 07:56PM UTC coverage: 66.455% (+0.2%) from 66.288%
17957503606.1

push

github

web-flow
Check the results of `has_side_effect` for binary expressions. (#497)

Currently, if the output of `UniformRand` is used in multiple dependent
expressions, a new random number will be generated every time. This is
at odds with the behavior of `BuiltInOperator::Rand`. The code *tries*
to account for this by implementing `has_side_effect()` on binary
expressions, but this is never actually checked. That's because
`has_side_effect()` is only examined for *built-in* expressions, which
`UniformRand` is not one of.

This commit factors the logic to create a local variable if there are no
side effects out of `BuiltInExpr` into a separate function and calls
that function in `Expr::Binary` and `BuiltInExpr`, fixing the issue.

A separate issue is that `Expr::has_side_effect()` is perhaps too
aggressive, in that binary operators check to see whether their LHS and
RHS are side-effecting and mark themselves as side-effecting if they
are, when in fact only the operator itself determines whether the
expression is side-effecting for the purposes of generating new
temporaries. This causes many expressions to be marked as side-effecting
that actually aren't. I opted not to fix this issue in this PR to keep
this PR small, as it only results in more temporaries being generated,
which shader compilers will clean up.

4917 of 7399 relevant lines covered (66.45%)

449.07 hits per line

Source Files on job 17957503606.1
  • Tree
  • List 32
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 17957503606
  • db429820 on github
  • Prev Job for on main (#17928343507.1)
  • Next Job for on main (#18243240671.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc