-
Notifications
You must be signed in to change notification settings - Fork 432
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New rand_distr crate #761
New rand_distr crate #761
Conversation
I pushed fixes, however CI will still not pass without bumping MSRV, which should be its own PR (#719). |
The lib.rs file has been adjusted significantly; all other contents are copied from rand with minimal fixes.
The examples caused deprecation warnings and are no longer needed
There seems to be a typo, making CI fail:
There is another failure with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! Let's see whether the tests pass now.
Was hoping second time would work, but no. @japaric any chance you would know why this test is failing? |
This has failed three times now. Synopsis:
@jasonbking have you any idea what causes such a linker error on Solaris? |
Not offhand -- looking at the contents of /tmp/rustckjWcrb/list as well as the full ld command would probably help. What version of rustc/cargo was used? I could grab the PR and try to recreate the error locally and see what I can figure out. |
I'd be very grateful if you could help. This is the nightly Travis runner:
I added a hack to try printing the contents of that file... check the Travis script. |
Why are only cross-platform builders run with https://github.com/dhardy/rand/blob/5ecd74837b465c6e6284af236d0ac402a56276be/.travis.yml#L228-L235 |
It looks like rust is generating a bad linker script. Unfortunately it looks like it's deleting it before there's a chance to look at the contents. I think it gets generated by librustc_codegen_ssa/back/linker.rs -- the code suggests the format looks similar to:
which doesn't seem right to me, though the code has been there since 2016 -- so I'm not really sure on that.. though it should only be doing that if generating a shared library, a temporary workaround might be to try disabling that for solaris targets (if possible). |
Good point — |
That appears to have been enough to make this pass (though it should be noted that this cross-builder only builds the main crate now). Thank you all! |
rand_distr
crate with a copy of distributions being moveddistribution::weighted::*
items (breaking!)rand::distributions
module andrand_distr
top-levelIncluding two copies of all these distributions is unfortunate but avoids tricky coupling and is only temporary. The new
rand_distr
crate should be backwards-compatible to Rand 0.5 and forwards-compatible to at least 0.7 and likely later, assuming we don't change theDistribution
trait.Likely we should release rand_distr 0.1 with this code, then make our breaking changes for 0.2. Ideally we should have 0.2 published before Rand 0.7 to minimise the number of fixes required in user code.
@vks please review