Closed ExpHP closed 5 years ago
Haven't looked at the failure yet, but the CI testing should be done differently
https://users.rust-lang.org/t/how-to-make-a-test-guarantee-that-a-crate-was-built-with-no-std/24964
I expanded the initial comment.
Nice! I'll give this a test spin and look around to see if i can help fix some stuff as i find them :)
I just remembered that I forgot about this.
IIRC the most recently merged PR was incompatible with this, so it will need a quick rebase. We can start working towards a v0.3.0.
Oh, for crying out loud:
I am once again stumped how to make this work. The last frunk
update added all this proc macro stuff which uses the proc-macro2
crate which does not appear to support #[no_std]
.
I think more specifically the issue is that we use proc-macro-hack
, which requires the existence of a normal crate frunk_proc_macros
that depends on proc-macro-hack
, which depends on proc-macro2
. Because frunk_proc_macros
is not a proc-macro
crate, cargo sees all of its dependencies as runtime dependencies of frunk
. I think.
I'd like to merge this soon because basically every single intervening PR has broken it. This means the next version will have to be a major version bump.
@lloydmeta @ExpHP Btw I should note that my language & release team duties currently prevent me from devoting any time to this crate atm. So please don't feel the need to ask for my opinions. :) (I might have time in the future...)
Closes #147
The breaking changes are:
monoid::combine_all
,semigroup::combine_all_option
) may break type inferencestd
andvalidated
may break client crates usingdefault-features = false
.The toughest part is the tests. Several doctests were cfged out using the fact that doc comments are actually attributes.
It is crucial that
frunk_derive
does not depend on thestd
feature offrunk_core
, or else we'd have to remove all usage of#[derive]
from the doc tests infrunk_core
. This is because it is impossible to disable features offrunk_core
enabled byfrunk_derive
due to the circulardev-dependency
. (features enabled bydev-dependencies
are enabled in all builds, not just tests)Thankfully,
frunk_derive
currently does not actually need to depend onfrunk_core
at all, so I removed the dependency.