Skip to content
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

v0.5 requires rustc v1.21.0 minimum #39

Closed
kbknapp opened this issue May 22, 2018 · 4 comments
Closed

v0.5 requires rustc v1.21.0 minimum #39

kbknapp opened this issue May 22, 2018 · 4 comments

Comments

@kbknapp
Copy link

kbknapp commented May 22, 2018

I see the readme says 1.17 is required, but it looks like unicode-normilization has been updated to now require 1.21.0 minimum rustc.

To reproduce:

$ git clone https://github.com/mgeisler/version-sync
[.. snip ..]
$ cd version-sync
$ rustup override add 1.20.0
$ cargo build
   Compiling unicode-normalization v0.1.7
error[E0597]: borrowed value does not live long enough
    --> /home/kevin/.cargo/registry/src/github.com-1ecc6299db9ec823/unicode-normalization-0.1.7/src/tables.rs:7533:30
     |
7533 |         '\u{1F248}' => Some(&['\u{3014}', '\u{6557}', '\u{3015}']),
     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- temporary value only lives until here
     |                              |
     |                              does not live long enough
     |
     = note: borrowed value must be valid for the static lifetime...

error[E0597]: borrowed value does not live long enough
    --> /home/kevin/.cargo/registry/src/github.com-1ecc6299db9ec823/unicode-normalization-0.1.7/src/tables.rs:7534:30
     |
7534 |         '\u{1F250}' => Some(&['\u{5F97}']),
     |                              ^^^^^^^^^^^^- temporary value only lives until here
     |                              |
     |                              does not live long enough
     |
     = note: borrowed value must be valid for the static lifetime...

error[E0597]: borrowed value does not live long enough
    --> /home/kevin/.cargo/registry/src/github.com-1ecc6299db9ec823/unicode-normalization-0.1.7/src/tables.rs:7535:30
     |
7535 |         '\u{1F251}' => Some(&['\u{53EF}']),
     |                              ^^^^^^^^^^^^- temporary value only lives until here
     |                              |
     |                              does not live long enough
     |
     = note: borrowed value must be valid for the static lifetime...

error: aborting due to 5738 previous errors

error: Could not compile `unicode-normalization`.

To learn more, run the command again with --verbose.
$ rustup override add 1.21.0
$ cargo build
[.. snip ..]
   Compiling unicode-normalization v0.1.7
    Finished dev [unoptimized + debuginfo] target(s) in 25.18 secs
@mgeisler
Copy link
Owner

mgeisler commented May 22, 2018

Hey Kevin... and yet my build with Rust 1.17 is green: https://travis-ci.org/mgeisler/version-sync/jobs/373680042 :-D

You're of course right, it fails after a cargo update. I guess I should see if I can disable the caching in Travis for that build...

Do you think

diff --git a/Cargo.toml b/Cargo.toml
index d6755b2..9a1d1af 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -24,4 +24,5 @@ semver-parser = "0.7"
 syn = { version = "0.11", features = ["full"] }
 toml = "0.4"
 url = "1.5.1"
+unicode-normalization = "=0.1.5"
 itertools = "0.7"

is a sensible way to handle this? It looks quite hacky to me and I'm not sure how me pinning the dependency like this impacts crates that depend on version-sync? (Here it might be okay since nobody should depend on version-sync outside of an integration test.)

Thanks for catching this!

@mgeisler
Copy link
Owner

I asked the question on the users forum: https://users.rust-lang.org/t/impact-of-pinning-dependencies/17634 -- I'll see what the consensus is there.

@kbknapp
Copy link
Author

kbknapp commented May 23, 2018

I think the problem is for libraries there is no lock file, so it's essentially a cargo update at every fresh Travis build, or for any user that doesn't previously have a lock file from a prior build.

mgeisler added a commit that referenced this issue May 23, 2018
This should help avoid situations like reported in #39 where the
minimum rustc requirements change without us noticing.
mgeisler added a commit that referenced this issue Nov 14, 2018
This should help avoid situations like reported in #39 where the
minimum rustc requirements change without us noticing.
mgeisler added a commit that referenced this issue Nov 14, 2018
This should help avoid situations like reported in #39 where the
minimum rustc requirements change without us noticing.
@mgeisler
Copy link
Owner

Let's say this is fixed by #40 and #46.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants