rhai: Breaking changes on patch versions

According to semver, on packages with major version 0, anything may change at any time so nothing should be considered stable, however most crates.io packages use the convention that the numbers are “shifted” - so 0.x.y+1 should not introduce breaking changes from 0.x.y, similar to how x.y+1.* should not break from x.y.* This is not the case for 0.19.0 -> 0.19.1, as there are a number of breaking changes.

I suggest following the crates.io convention on this matter, since cargo updateing my code broke it from compiling.


Unrelated, but some (array) is usually called any in other languages, and even in rust itself - in #[cfg(any(flag1, flag2))]

none is interesting but obviously it’s just !any so many languages don’t have it for the same reason they don’t have unless (if not) - it’s redundant.


Comments became a bit scattered so I’ll put everything discussed:

  • Patch version breaking changes
  • none (array)
  • eval_ast_as_new not merging namespaces correctly
  • non caching FileModuleResolver option

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 18

Most upvoted comments

Seems good, tested FileModuleResolver and my custom one (not static)

Hear you. I’ll be more careful in the future about breaking changes. Probably bundle them up for the next minor version bump.