rust-lang / crates.io Goto Github PK
View Code? Open in Web Editor NEWThe Rust package registry
Home Page: https://crates.io
License: Apache License 2.0
The Rust package registry
Home Page: https://crates.io
License: Apache License 2.0
When navigating to https://crates.io/me , e.g. by middle-clicking the "Account settings" link to open it in a new tab (rather than left-clicking and letting the JS event handler do its magic), I am logged out and sent back to the home page.
The guide has a generic description of Cargo ("Cargo downloads your...") as its heading at the top. The two pages should look more like screens of the same app. This might just mean eliminating that heading, or pulling it into the beginning of the guide text itself. And there should be a standard header that brands every screen in the app identically.
The actual processing code for pagination is refactored into a mixin, but the rendering code is strewn all over mostly because of the need to generate links differently in different contexts:
Examples:
$ cargo build
Updating git repository `https://github.com/rust-lang/time`
Updating git repository `https://github.com/wycats/rust-civet`
Updating git repository `https://github.com/conduit-rust/conduit-middleware`
Updating git repository `https://github.com/conduit-rust/conduit-json-parser`
Updating git repository `https://github.com/conduit-rust/conduit-test`
Updating git repository `https://github.com/sfackler/rust-postgres`
Updating git repository `https://github.com/conduit-rust/conduit-cookie`
Updating git repository `https://github.com/conduit-rust/route-recognizer.rs.git`
Updating git repository `https://github.com/conduit-rust/conduit.git`
Updating git repository `https://github.com/alexcrichton/pkg-config-rs`
Updating git repository `https://github.com/alexcrichton/libz-sys`
Updating git repository `https://github.com/DiamondLovesYou/libressl-pnacl-sys.git`
Updating git repository `https://github.com/DiamondLovesYou/cargo-pnacl-helper.git`
Updating git repository `https://github.com/Jurily/rust-xxhash`
Compiling civet-sys v0.0.1 (https://github.com/wycats/rust-civet#51627308)
Compiling gcc v0.0.1 (https://github.com/alexcrichton/gcc-rs#f25b3ba9)
Compiling pkg-config v0.0.1 (https://github.com/alexcrichton/pkg-config-rs#d24a08d8)
Compiling route-recognizer v0.1.0 (https://github.com/conduit-rust/route-recognizer.rs.git#fd07a7fb)
Compiling semver v0.1.1 (https://github.com/rust-lang/semver#0e53c5ff)
Compiling r2d2 v0.0.0 (https://github.com/sfackler/r2d2#8337055e)
Compiling encoding_index_tests v0.1.0 (https://github.com/lifthrasiir/rust-encoding#6a5a9595)
Compiling xxhash v0.0.1 (https://github.com/Jurily/rust-xxhash#6027ce91)
Compiling mime-types v0.5.0 (https://github.com/conduit-rust/mime-types.git#81c8911c)
Compiling uuid v0.0.2 (https://github.com/rust-lang/uuid#410aa2f5)
Compiling libssh2-sys v0.0.1 (https://github.com/alexcrichton/ssh2-rs#922531da)
Compiling libgit2-sys v0.0.1 (https://github.com/alexcrichton/git2-rs#c601ad02)
Compiling libz-sys v0.0.1 (https://github.com/alexcrichton/libz-sys#37926b78)
Compiling curl-sys v0.1.0 (https://github.com/carllerche/curl-rust#c5dc6132)
Compiling openssl-sys v0.0.1 (https://github.com/sfackler/rust-openssl#af5533d9)
Compiling time v0.0.2 (https://github.com/rust-lang/time#b58210c9)
Compiling miniz-sys v0.0.2 (https://github.com/alexcrichton/flate2-rs#044e4dc2)
Compiling encoding-index-korean v1.0.20140915 (https://github.com/lifthrasiir/rust-encoding#6a5a9595)
Compiling encoding-index-japanese v1.0.20140915 (https://github.com/lifthrasiir/rust-encoding#6a5a9595)
Compiling encoding-index-simpchinese v1.0.20140915 (https://github.com/lifthrasiir/rust-encoding#6a5a9595)
Compiling encoding-index-tradchinese v1.0.20140915 (https://github.com/lifthrasiir/rust-encoding#6a5a9595)
Compiling encoding-index-singlebyte v1.0.20140915 (https://github.com/lifthrasiir/rust-encoding#6a5a9595)
Compiling phf v0.0.0 (https://github.com/sfackler/rust-phf#aa3e2d0a)
Compiling conduit v0.5.0 (https://github.com/conduit-rust/conduit.git#53307ac9)
Compiling encoding v0.2.1 (https://github.com/lifthrasiir/rust-encoding#6a5a9595)
/Users/jlembeck/.cargo/git/checkouts/rust-encoding-aceee0e55a114022/master/src/types.rs:427:73: 427:81 error: unknown format trait `s`
/Users/jlembeck/.cargo/git/checkouts/rust-encoding-aceee0e55a114022/master/src/types.rs:427 panic!("{:s} cannot reencode a replacement string", trapname);
^~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/rust-encoding-aceee0e55a114022/master/src/types.rs:440:57: 440:66 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/rust-encoding-aceee0e55a114022/master/src/types.rs:440 escapes.push_str(format!("&#{:d};", ch as int)[]);
^~~~~~~~~
error: aborting due to 2 previous errors
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:598:46: 598:70 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:598 'g' => write!(fmt, "{:02d}", (year % 100 + 100) % 100),
^~~~~~~~~~~~~~~~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:599:46: 599:58 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:599 'V' => write!(fmt, "{:02d}", days / 7 + 1),
^~~~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:659:51: 659:83 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:659 'C' => return write!(fmt, "{:02d}", (tm.tm_year as int + 1900) / 100),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:678:51: 678:61 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:678 'd' => return write!(fmt, "{:02d}", tm.tm_mday),
^~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:679:50: 679:60 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:679 'e' => return write!(fmt, "{:2d}", tm.tm_mday),
^~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:680:51: 680:61 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:680 'f' => return write!(fmt, "{:09d}", tm.tm_nsec),
^~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:690:51: 690:61 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:690 'H' => return write!(fmt, "{:02d}", tm.tm_hour),
^~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:695:46: 695:47 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:695 return write!(fmt, "{:02d}", h)
^
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:697:51: 697:65 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:697 'j' => return write!(fmt, "{:03d}", tm.tm_yday + 1),
^~~~~~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:698:50: 698:60 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:698 'k' => return write!(fmt, "{:2d}", tm.tm_hour),
^~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:703:45: 703:46 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:703 return write!(fmt, "{:2d}", h)
^
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:705:51: 705:60 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:705 'M' => return write!(fmt, "{:02d}", tm.tm_min),
^~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:706:51: 706:64 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:706 'm' => return write!(fmt, "{:02d}", tm.tm_mon + 1),
^~~~~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:724:51: 724:60 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:724 'S' => return write!(fmt, "{:02d}", tm.tm_sec),
^~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:734:51: 734:84 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:734 'U' => return write!(fmt, "{:02d}", (tm.tm_yday - tm.tm_wday + 7) / 7),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:749:34: 749:81 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:749 (tm.tm_yday - (tm.tm_wday - 1 + 7) % 7 + 7) / 7)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:753:51: 753:83 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:753 'y' => return write!(fmt, "{:02d}", (tm.tm_year as int + 1900) % 100),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:760:60: 760:61 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:760 return write!(fmt, "{}{:02d}{:02d}", sign, h, m);
^
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:760:63: 760:64 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:760 return write!(fmt, "{}{:02d}{:02d}", sign, h, m);
^
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:802:63: 802:71 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:802 write!(fmt, "{}{}{:02d}:{:02d}", s, sign, h as int, m as int)
^~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:802:73: 802:81 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:802 write!(fmt, "{}{}{:02d}:{:02d}", s, sign, h as int, m as int)
^~~~~~~~
error: aborting due to 21 previous errors
Build failed, waiting for other jobs to finish...
Could not compile `encoding`.
To learn more, run the command again with --verbose.
$ rustc -v
rustc 0.13.0-nightly (399ff259e 2014-11-20 00:27:07 +0000)
$ cargo -V
cargo 0.0.1-pre-nightly (b3ce593 2014-11-19 07:12:26 +0000)
$ cargo build --verbose
Updating git repository `https://github.com/alexcrichton/flate2-rs`
Updating git repository `https://github.com/carllerche/curl-rust`
Updating git repository `https://github.com/alexcrichton/oauth2-rs`
Updating git repository `https://github.com/sfackler/r2d2-postgres`
Updating git repository `https://github.com/conduit-rust/conduit-router`
Updating git repository `https://github.com/alexcrichton/git2-rs`
Updating git repository `https://github.com/conduit-rust/conduit-log-requests`
Updating git repository `https://github.com/conduit-rust/conduit-test`
Updating git repository `https://github.com/rust-lang/time`
Updating git repository `https://github.com/rust-lang/semver`
Updating git repository `https://github.com/conduit-rust/conduit-conditional-get`
Updating git repository `https://github.com/conduit-rust/conduit-json-parser`
Updating git repository `https://github.com/conduit-rust/conduit-middleware`
Updating git repository `https://github.com/conduit-rust/conduit-static`
Updating git repository `https://github.com/sfackler/rust-postgres`
Updating git repository `https://github.com/conduit-rust/conduit-cookie`
Updating git repository `https://github.com/servo/rust-url`
Updating git repository `https://github.com/sfackler/rust-openssl`
Updating git repository `https://github.com/wycats/rust-civet`
Updating git repository `https://github.com/alexcrichton/gcc-rs`
Updating git repository `https://github.com/DiamondLovesYou/libressl-pnacl-sys.git`
Updating git repository `https://github.com/DiamondLovesYou/cargo-pnacl-helper.git`
Updating git repository `https://github.com/alexcrichton/pkg-config-rs`
Updating git repository `https://github.com/alexcrichton/libz-sys`
Updating git repository `https://github.com/lifthrasiir/rust-encoding`
Updating git repository `https://github.com/sfackler/rust-phf`
Updating git repository `https://github.com/rust-lang/uuid`
Updating git repository `https://github.com/Jurily/rust-xxhash`
Updating git repository `https://github.com/sfackler/r2d2`
Updating git repository `https://github.com/conduit-rust/route-recognizer.rs.git`
Updating git repository `https://github.com/conduit-rust/conduit.git`
Updating git repository `https://github.com/alexcrichton/ssh2-rs`
Updating git repository `https://github.com/conduit-rust/conduit-utils.git`
Updating git repository `https://github.com/conduit-rust/mime-types.git`
Updating git repository `https://github.com/alexcrichton/cookie-rs.git`
Fresh xxhash v0.0.1 (https://github.com/Jurily/rust-xxhash#6027ce91)
Fresh semver v0.1.1 (https://github.com/rust-lang/semver#0e53c5ff)
Fresh encoding_index_tests v0.1.0 (https://github.com/lifthrasiir/rust-encoding#6a5a9595)
Fresh civet-sys v0.0.1 (https://github.com/wycats/rust-civet#51627308)
Fresh mime-types v0.5.0 (https://github.com/conduit-rust/mime-types.git#81c8911c)
Fresh pkg-config v0.0.1 (https://github.com/alexcrichton/pkg-config-rs#d24a08d8)
Fresh route-recognizer v0.1.0 (https://github.com/conduit-rust/route-recognizer.rs.git#fd07a7fb)
Fresh uuid v0.0.2 (https://github.com/rust-lang/uuid#410aa2f5)
Fresh r2d2 v0.0.0 (https://github.com/sfackler/r2d2#8337055e)
Fresh gcc v0.0.1 (https://github.com/alexcrichton/gcc-rs#f25b3ba9)
Fresh phf v0.0.0 (https://github.com/sfackler/rust-phf#aa3e2d0a)
Fresh conduit v0.5.0 (https://github.com/conduit-rust/conduit.git#53307ac9)
Fresh encoding-index-japanese v1.0.20140915 (https://github.com/lifthrasiir/rust-encoding#6a5a9595)
Fresh encoding-index-korean v1.0.20140915 (https://github.com/lifthrasiir/rust-encoding#6a5a9595)
Fresh encoding-index-simpchinese v1.0.20140915 (https://github.com/lifthrasiir/rust-encoding#6a5a9595)
Fresh encoding-index-tradchinese v1.0.20140915 (https://github.com/lifthrasiir/rust-encoding#6a5a9595)
Fresh encoding-index-singlebyte v1.0.20140915 (https://github.com/lifthrasiir/rust-encoding#6a5a9595)
Fresh conduit-middleware v0.5.0 (https://github.com/conduit-rust/conduit-middleware#27bf1e18)
Fresh conduit-router v0.5.0 (https://github.com/conduit-rust/conduit-router#41201e6d)
Compiling civet v0.1.0 (https://github.com/wycats/rust-civet#51627308)
Running `rustc /Users/jlembeck/.cargo/git/checkouts/rust-civet-c04d89587d61e3a3/master/src/lib.rs --crate-name civet --crate-type lib -g -C metadata=07c399fcd56279d6 -C extra-filename=-07c399fcd56279d6 --out-dir /Users/jlembeck/Dropbox/code/crates.io/target/deps --dep-info /Users/jlembeck/Dropbox/code/crates.io/target/.fingerprint/civet-07c399fcd56279d6/dep-lib-civet -L /Users/jlembeck/Dropbox/code/crates.io/target/deps -L /Users/jlembeck/Dropbox/code/crates.io/target/deps --extern semver=/Users/jlembeck/Dropbox/code/crates.io/target/deps/libsemver-f776e72d2191ceb0.rlib --extern civet-sys=/Users/jlembeck/Dropbox/code/crates.io/target/deps/libcivet-sys-0c3eafc7eb8d334e.rlib --extern conduit=/Users/jlembeck/Dropbox/code/crates.io/target/deps/libconduit-e0cba471358eca93.rlib -Awarnings -L /Users/jlembeck/Dropbox/code/crates.io/target/build/civet-sys-0c3eafc7eb8d334e/out`
Fresh conduit-utils v0.5.0 (https://github.com/conduit-rust/conduit-utils.git#dd9020e7)
Compiling encoding v0.2.1 (https://github.com/lifthrasiir/rust-encoding#6a5a9595)
Running `rustc /Users/jlembeck/.cargo/git/checkouts/rust-encoding-aceee0e55a114022/master/src/lib.rs --crate-name encoding --crate-type lib -g -C metadata=586c713b3cc7a464 -C extra-filename=-586c713b3cc7a464 --out-dir /Users/jlembeck/Dropbox/code/crates.io/target/deps --dep-info /Users/jlembeck/Dropbox/code/crates.io/target/.fingerprint/encoding-586c713b3cc7a464/dep-lib-encoding -L /Users/jlembeck/Dropbox/code/crates.io/target/deps -L /Users/jlembeck/Dropbox/code/crates.io/target/deps --extern encoding-index-korean=/Users/jlembeck/Dropbox/code/crates.io/target/deps/libencoding-index-korean-deaa17992fade0b3.rlib --extern encoding-index-singlebyte=/Users/jlembeck/Dropbox/code/crates.io/target/deps/libencoding-index-singlebyte-bea7b3e2495b3c3b.rlib --extern encoding-index-tradchinese=/Users/jlembeck/Dropbox/code/crates.io/target/deps/libencoding-index-tradchinese-31c5a3802fca9dba.rlib --extern encoding-index-japanese=/Users/jlembeck/Dropbox/code/crates.io/target/deps/libencoding-index-japanese-483043e85d4a33ad.rlib --extern encoding-index-simpchinese=/Users/jlembeck/Dropbox/code/crates.io/target/deps/libencoding-index-simpchinese-2dc900f172f1b6eb.rlib -Awarnings`
Fresh conduit-json-parser v0.5.0 (https://github.com/conduit-rust/conduit-json-parser#6ea9084e)
Fresh openssl-sys v0.0.1 (https://github.com/sfackler/rust-openssl#af5533d9)
Fresh libz-sys v0.0.1 (https://github.com/alexcrichton/libz-sys#37926b78)
Fresh miniz-sys v0.0.2 (https://github.com/alexcrichton/flate2-rs#044e4dc2)
Compiling time v0.0.2 (https://github.com/rust-lang/time#b58210c9)
Running `rustc /Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs --crate-name time --crate-type lib -g -C metadata=2727c1bbdfbd9ba1 -C extra-filename=-2727c1bbdfbd9ba1 --out-dir /Users/jlembeck/Dropbox/code/crates.io/target/deps --dep-info /Users/jlembeck/Dropbox/code/crates.io/target/.fingerprint/time-2727c1bbdfbd9ba1/dep-lib-time -L /Users/jlembeck/Dropbox/code/crates.io/target/deps -L /Users/jlembeck/Dropbox/code/crates.io/target/deps -Awarnings -L /Users/jlembeck/Dropbox/code/crates.io/target/build/time-2727c1bbdfbd9ba1/out -l time_helpers:static`
Compiling openssl v0.0.1 (https://github.com/sfackler/rust-openssl#af5533d9)
Running `rustc /Users/jlembeck/.cargo/git/checkouts/rust-openssl-4145800ab3594a0f/master/src/lib.rs --crate-name openssl --crate-type lib -g -C metadata=aae9fce4a01fef66 -C extra-filename=-aae9fce4a01fef66 --out-dir /Users/jlembeck/Dropbox/code/crates.io/target/deps --dep-info /Users/jlembeck/Dropbox/code/crates.io/target/.fingerprint/openssl-aae9fce4a01fef66/dep-lib-openssl -L /Users/jlembeck/Dropbox/code/crates.io/target/deps -L /Users/jlembeck/Dropbox/code/crates.io/target/deps --extern openssl-sys=/Users/jlembeck/Dropbox/code/crates.io/target/deps/libopenssl-sys-3e3038eb4813d419.rlib -Awarnings -L /usr/lib`
/Users/jlembeck/.cargo/git/checkouts/rust-civet-c04d89587d61e3a3/master/src/lib.rs:261:64: 261:68 error: unknown format trait `u`
/Users/jlembeck/.cargo/git/checkouts/rust-civet-c04d89587d61e3a3/master/src/lib.rs:261 try!(write!(&mut writer, "HTTP/1.1 {:u} {:s}\r\n", code, string).map_err(|_| ()));
^~~~
/Users/jlembeck/.cargo/git/checkouts/rust-civet-c04d89587d61e3a3/master/src/lib.rs:261:70: 261:76 error: unknown format trait `s`
/Users/jlembeck/.cargo/git/checkouts/rust-civet-c04d89587d61e3a3/master/src/lib.rs:261 try!(write!(&mut writer, "HTTP/1.1 {:u} {:s}\r\n", code, string).map_err(|_| ()));
^~~~~~
/Users/jlembeck/.cargo/git/checkouts/rust-civet-c04d89587d61e3a3/master/src/lib.rs:265:64: 265:68 error: unknown format trait `s`
/Users/jlembeck/.cargo/git/checkouts/rust-civet-c04d89587d61e3a3/master/src/lib.rs:265 try!(write!(&mut writer, "{:s}: {:s}\r\n", *key, *header).map_err(|_| ()));
^~~~
/Users/jlembeck/.cargo/git/checkouts/rust-civet-c04d89587d61e3a3/master/src/lib.rs:265:70: 265:77 error: unknown format trait `s`
/Users/jlembeck/.cargo/git/checkouts/rust-civet-c04d89587d61e3a3/master/src/lib.rs:265 try!(write!(&mut writer, "{:s}: {:s}\r\n", *key, *header).map_err(|_| ()));
^~~~~~~
error: aborting due to 4 previous errors
Compiling curl-sys v0.1.0 (https://github.com/carllerche/curl-rust#c5dc6132)
Running `rustc lib.rs --crate-name curl-sys --crate-type lib -g -C metadata=151b74147b7ca2dd -C extra-filename=-151b74147b7ca2dd --out-dir /Users/jlembeck/Dropbox/code/crates.io/target/deps --dep-info /Users/jlembeck/Dropbox/code/crates.io/target/.fingerprint/curl-sys-151b74147b7ca2dd/dep-lib-curl-sys -L /Users/jlembeck/Dropbox/code/crates.io/target/deps -L /Users/jlembeck/Dropbox/code/crates.io/target/deps --extern libz-sys=/Users/jlembeck/Dropbox/code/crates.io/target/deps/liblibz-sys-fcd7913c0ecc8ca2.rlib --extern openssl-sys=/Users/jlembeck/Dropbox/code/crates.io/target/deps/libopenssl-sys-3e3038eb4813d419.rlib -Awarnings -l curl -L /usr/lib`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:598:46: 598:70 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:598 'g' => write!(fmt, "{:02d}", (year % 100 + 100) % 100),
^~~~~~~~~~~~~~~~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:599:46: 599:58 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:599 'V' => write!(fmt, "{:02d}", days / 7 + 1),
^~~~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:659:51: 659:83 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:659 'C' => return write!(fmt, "{:02d}", (tm.tm_year as int + 1900) / 100),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:678:51: 678:61 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:678 'd' => return write!(fmt, "{:02d}", tm.tm_mday),
^~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:679:50: 679:60 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:679 'e' => return write!(fmt, "{:2d}", tm.tm_mday),
^~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:680:51: 680:61 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:680 'f' => return write!(fmt, "{:09d}", tm.tm_nsec),
^~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:690:51: 690:61 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:690 'H' => return write!(fmt, "{:02d}", tm.tm_hour),
^~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:695:46: 695:47 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:695 return write!(fmt, "{:02d}", h)
^
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:697:51: 697:65 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:697 'j' => return write!(fmt, "{:03d}", tm.tm_yday + 1),
^~~~~~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:698:50: 698:60 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:698 'k' => return write!(fmt, "{:2d}", tm.tm_hour),
^~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:703:45: 703:46 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:703 return write!(fmt, "{:2d}", h)
^
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:705:51: 705:60 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:705 'M' => return write!(fmt, "{:02d}", tm.tm_min),
^~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:706:51: 706:64 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:706 'm' => return write!(fmt, "{:02d}", tm.tm_mon + 1),
^~~~~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:724:51: 724:60 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:724 'S' => return write!(fmt, "{:02d}", tm.tm_sec),
^~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:734:51: 734:84 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:734 'U' => return write!(fmt, "{:02d}", (tm.tm_yday - tm.tm_wday + 7) / 7),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/rust-encoding-aceee0e55a114022/master/src/types.rs:427:73: 427:81 error: unknown format trait `s`
/Users/jlembeck/.cargo/git/checkouts/rust-encoding-aceee0e55a114022/master/src/types.rs:427 panic!("{:s} cannot reencode a replacement string", trapname);
^~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/rust-encoding-aceee0e55a114022/master/src/types.rs:440:57: 440:66 error: unknown format trait/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:749:34: 749:81 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:749 (tm.tm_yday - (tm.tm_wday - 1 + 7) % 7 + 7) / 7)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`d`
/Users/jlembeck/.cargo/git/checkouts/rust-encoding-aceee0e55a114022/master/src/types.rs:440 escapes.push_str(format!("&#{:d};", ch as int)[]);
^~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:753:51: 753:83 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:753 'y' => return write!(fmt, "{:02d}", (tm.tm_year as int + 1900) % 100),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:760:60: 760:61 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:760 return write!(fmt, "{}{:02d}{:02d}", sign, h, m);
^
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:760:63: 760:64 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:760 return write!(fmt, "{}{:02d}{:02d}", sign, h, m);
^
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:802:63: 802:71 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:802 write!(fmt, "{}{}{:02d}:{:02d}", s, sign, h as int, m as int)
^~~~~~~~
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:802:73: 802:81 error: unknown format trait `d`
/Users/jlembeck/.cargo/git/checkouts/time-d59bff975f117a1a/master/src/lib.rs:802 write!(fmt, "{}{}{:02d}:{:02d}", s, sign, h as int, m as int)
^~~~~~~~
error: aborting due to 21 previous errors
Compiling libssh2-sys v0.0.1 (https://github.com/alexcrichton/ssh2-rs#922531da)
Running `rustc lib.rs --crate-name libssh2-sys --crate-type lib -g -C metadata=cf42cea080951617 -C extra-filename=-cf42cea080951617 --out-dir /Users/jlembeck/Dropbox/code/crates.io/target/deps --dep-info /Users/jlembeck/Dropbox/code/crates.io/target/.fingerprint/libssh2-sys-cf42cea080951617/dep-lib-libssh2-sys -L /Users/jlembeck/Dropbox/code/crates.io/target/deps -L /Users/jlembeck/Dropbox/code/crates.io/target/deps --extern libz-sys=/Users/jlembeck/Dropbox/code/crates.io/target/deps/liblibz-sys-fcd7913c0ecc8ca2.rlib --extern openssl-sys=/Users/jlembeck/Dropbox/code/crates.io/target/deps/libopenssl-sys-3e3038eb4813d419.rlib -Awarnings -L /Users/jlembeck/Dropbox/code/crates.io/target/build/libssh2-sys-cf42cea080951617/out/lib -l ssh2:static -L /usr/lib`
error: aborting due to 2 previous errors
Compiling libgit2-sys v0.0.1 (https://github.com/alexcrichton/git2-rs#c601ad02)
Running `/Users/jlembeck/Dropbox/code/crates.io/target/build/libgit2-sys-ce6d220b35959092/build-script-build`
Fresh flate2 v0.0.3 (https://github.com/alexcrichton/flate2-rs#044e4dc2)
Build failed, waiting for other jobs to finish...
Could not compile `civet`.
Caused by:
Process didn't exit successfully: `rustc /Users/jlembeck/.cargo/git/checkouts/rust-civet-c04d89587d61e3a3/master/src/lib.rs --crate-name civet --crate-type lib -g -C metadata=07c399fcd56279d6 -C extra-filename=-07c399fcd56279d6 --out-dir /Users/jlembeck/Dropbox/code/crates.io/target/deps --dep-info /Users/jlembeck/Dropbox/code/crates.io/target/.fingerprint/civet-07c399fcd56279d6/dep-lib-civet -L /Users/jlembeck/Dropbox/code/crates.io/target/deps -L /Users/jlembeck/Dropbox/code/crates.io/target/deps --extern semver=/Users/jlembeck/Dropbox/code/crates.io/target/deps/libsemver-f776e72d2191ceb0.rlib --extern civet-sys=/Users/jlembeck/Dropbox/code/crates.io/target/deps/libcivet-sys-0c3eafc7eb8d334e.rlib --extern conduit=/Users/jlembeck/Dropbox/code/crates.io/target/deps/libconduit-e0cba471358eca93.rlib -Awarnings -L /Users/jlembeck/Dropbox/code/crates.io/target/build/civet-sys-0c3eafc7eb8d334e/out` (status=101)
(Continuing a discussion started here.)
The cld2
library is a natural-language detection library from Google, and it does some pretty cool stuff. I've packaged it as two Rust libraries, cld2
and cld2-sys
. But because the upstream cld2
library is packaged by very few Linux distributions, I've chosen to distribute the source code with the cld2-sys
package and build it using the Rust gcc
library. So far, so good—all this works quite nicely.
But I can't upload the package to crates.io because it contains statistical language models, and those models are just too big:
$ du -sh target/package/cld2-sys-0.0.1.crate
35M target/package/cld2-sys-0.0.1.crate
I can shrink this down somewhat (by omitting everything I don't need for the build), but I almost certainly can't get it under the 10MB limit. I can think of a couple of ways to address this issue:
*-sys
packages will be larger than 10MB, and provide some way to override the limit selectively.build.rs
to download it. But this introduces a dependency on an outside data source that may go away.Any thoughts on the best way to handle this? Thank you for your advice, and for a great package-management system!
I don't know if it's only me or the sorting page for crates a bit weird. When we sort by downloads I think it would be nice that we remove the filter by alphabet above. Because it's rarely for someone to expect number of downloads by alphabets.
Currently any owner can add and (more dangerously) remove any other one, which is open for abuse; e.g. add someone as an owner, have a falling out, and they can remove the main maintainer and squat the package name for themselves.
Possible improvements off the top of my head:
See https://staging-crates-io.herokuapp.com/search?q=git
I guess search should include crates with matching name substrings.
Not sure, why the other crates are found.
E.g. http://crates.io/404 just shows the green background and no text or indication that the page doesn't exist.
cc @wycats
After first clicking the "Log in with GitHub" button and authorizing crates.io on Github, I was not logged in until I clicked the button a second time. This only happened once, I can not reproduce it now, even when revoking crates.io in my Github settings.
See here: https://crates.io/crates/rethinkdb
But json_macros
is a dev dependency in the manifest:
I often end up viewing various pages from links and emacs.
The current site is completely non-functional in these browsers, this is quite
a serious regression compared to Pypi or Hackage.
This also makes the site unusable for people using the tor browser.
I'm currently in the following situation:
glium
, and a crate named glium_macros
glium
is a dependency of glium_macros
with a path source (glium_macros
generates code that uses glium
)glium_macros
is a dev-dependency of glium
with a path source (because the macros are used in the examples and the tests)This system currently works (for example cargo test
works), but I can't publish them.
If I try to publish glium
, cargo complains that it can't find glium_macros
. If I try to publish glium_macros
, cargo complains that it can't find glium
.
Even cargo publish --no-verify
doesn't work.
The "loading..." screen is ugly and I see it a lot. It should use a traditional spinner and should also be debounced so it only comes up when loading is taking a particularly long time.
Currently every page has title Cargo
, it would be useful for tabbed navigation to have page titles like
(I looked into this very briefly, but I don't know how to ember.js.)
Right now it's far too easy to grab a package name and hold it hostage, even if the name is generally recognized as belonging to another project, or even if you don't actually have anything to publish yet. For example, both bindgen
and irc
have been claimed, apparently by @mahkoh (which isn't even exposed in the interface).
The proper solution to this is to namespace packages. They can be namespace using the GitHub user/organization name of the publisher. This way everyone can publish their own package, without worrying about collisions, and without any confusion when depending on a package as to whether it's the "official" package or not (well, for packages whose repositories are hosted on GitHub, which is likely to be most of them).
Packages with multiple owners can be deal with as follows:
bob
adds the user alice
as an owner to bob/crypto
, then alice
can still have an independent alice/crypto
package. This is important because the new owner might have already had a package with that name, and that needs to be preserved. Similarly, they may wish to keep a parallel fork for other reasons, or may wish to simply be able to use that name later if they are removed from the ownership list at a later date.cargo publish
that identifies the namespace. Similarly, .cargo/config
could learn how to record the namespace of a given package (presumably identified by path) to avoid having to remember to use the flag every time. I don't think it makes sense to put the owner name into Cargo.toml
because you probably don't want to commit this to git (if for no other reason than anyone who forks your git repo will not want that owner information because they can't publish your package).We may wish to more formally support the idea of moving a package to another namespace. That could be accomplished as follows:
Cargo.lock
, any package that is found that is closed can continue to be used, but cargo should display a warning telling the user that the package has moved and they should update their Cargo.toml
.~
version specs will not pick up the new version).With these changes in place, we could still support un-namespaced packages. These would be manually curated so as to ensure that nobody takes a name that is reasonably understood to refer to some other package (such as taking bindgen
). These top-level packages would really be aliases for the namespaced version, and Cargo.lock
would identify the namespace that it resolves to (and cargo
would either warn or error when updating a lockfile if any top-level package resolves to a different namespace than before).
This would serve as a weaker form of the archival guarantee of namespaced packages. A top-level package can change to identify a different package than before, if it makes sense to do so (e.g. an error was made, or an unofficial package gets claimed by the actual owning organization). For this reason it is recommended that libraries always use the namespaced name (since they aren't supposed to check their Cargo.lock
into version control), but binaries are free to use the top-level name (since cargo
will warn/error if the namespace resolution changes). This top-level naming is intended to be primarily useful for people trying to find packages. And the web UI can be updated to make it easier to avoid mistakes, by using the full namespaced name in the "Depend" code snippet.
E.g. go to https://crates.io/crates?letter=C&page=4 , clicking on 'D' takes you to https://crates.io/crates?letter=D&page=4 which is empty because there's (currently) only 9 crates in that category. It says "Displaying 31-9 of 9 total results".
There's an "about" thingy at the bottom of the page that looks like it should be a link but isn't.
The front page button has a link to a tarball but at the bottom of the page is a "downloads" link that goes to a screen with installation instructions. We need one consistent installation process. Also "Downloads" is a confusing name for that link.
Not very discoverable, especially since this is probably the first thing you're interested in getting after registering. Resetting it should definitely be in there, but that's certainly not where I would expect to go for "what is my API key".
Possible solution: redirect new logins and/or registrations to there.
At the top of the FAQ page should be "Why Cargo.toml
? Can we rename it?"
There should also be "How can we pass an arbitrary option to rustc
?" "What is [[bin]]
?" etc., but none of them are more important than the Cargo.toml
debate and we can answer them later.
Right now, unless you know someone's picture, the owners section of a package page is not particularly useful.
Directs to http://crates.io/guide.html (which is dead, after making appropriate /etc/hosts adjustment to point crates.io
at the right place).
In the browser UI, it uses JS to update the counter. But if you refresh the page the counter goes back down.
Also I'm not sure if this was a coincidence or not, but once I did a download by depending in a project, it seemed to only then register the manual download. Future manual/programmatic downloads seem to be eaten, but that might be cargo being smart enough to notice the same user/browser/ip/project re-requesting it.
(testing with the dining philosophers package)
E.g. there is a curl crate: https://staging-crates-io.herokuapp.com/crates/curl
People who might be interested in this crate, but do not know about the exact name, would search for keywords like "http", "client", "web" etc. Such a search currently yields nothing.
$ cargo new áccênts
$ cd áccênts
$ cargo publish
Updating registry `https://github.com/rust-lang/crates.io-index`
Warning: manifest has no license. See http://doc.crates.io/manifest.html#package-metadata for more info.
Uploading áccênts v0.0.0 (file:///home/me/%C3%A1cc%C3%AAnts)
failed to get a 200 OK response: Response {500, content-length: 30, server: nginx, via: 1.1 vegur, connection: keep-alive, date: Sat, 22 Nov 2014 01:35:10 GMT, Error 404: Not Found
Not Found]
I’m not sure if this a Cargo bug or a crates.io bug. Should non-ASCII crate names be allowed at all (at this stage)?
https://staging-crates-io.herokuapp.com/ has a "Browse all crates" link at the top, while http://crates.io/ does not. I think this is useful to have on the front page, too.
I believe that's because dependency depends on target, but still it should deduplicate them.
I'm so excited crates.io has arrived!! 🎉 Great work, Alex and everyone!!!
This is a longer-term feature request... one thing that has been an occasional yet painful experience with rubygems.org or npmjs.org is when they're down. At various points in time, my coworkers and I have tried to set up mirrors under our control of both of these and it never went very smoothly, neither on the setup or usage side of things.
I would love love love to have mirroring be something officially supported and encouraged for the health of the community, but I realize this is a difficult problem too :)
Thank you for your work!! ❤️
I'm not sure how often the stats are supposed to update, but I downloaded the dinning philosophers package last night via firefox and the stats haven't changed in the past ~12 hours.
Should probably be a zip on windows. Is there any issue with zip on any other platform?
I run Privacy Badger while browsing and it blocks analytics scripts, etc. This creates a problem on a page where everything is rendered using JS if the analytics script isn't defensively loaded:
Completely empty content.
I love looking at examples of how to use a library, and libraries that use the library I'm interested in are a great source of those examples.
To that end, it'd be awesome if crates.io, since it has this information, could show on the page somewhere the list of libraries that depend on the one I'm currently looking at.
So for example, the gcc crate would show that the time crate has the gcc crate as a dependency. If I wanted to see a real world example of the gcc crate, I could go look at what the time crate is doing with it.
Thanks!!! 🌴
visit: https://crates.io/crates/time
Authors, and some other sections load slightly later causing a visual flicker.
I find it useful if I want to check out a package before depending on it or need to look at the source.
This page in mobile Firefox 33.0 and Chrome 38.0 on my Nexus 5, fully zoomed out and scrolled to the left: http://i.imgur.com/3xmE3TS.png
(This happens on all pages I've tested.)
A number of improvements needed for front page branding, title, and tagline.
Things I like about the tagline:
Things I don't like:
I think we could go with "Cargo: the Rust community's crate host". That's not a much shorter tagline but shrinking the font is probably all that's needed.
Hi there, great work on creates.io so far!
I tried running the app on my local machine, but the populate script is broken atm. It complains about violated foreign key constraints:
task '<main>' panicked at 'called `Result::unwrap()` on an `Err` value: ERROR: insert or update on table "version_downloads" violates foreign key constraint "fk_version_downloads_version_id"', /Users/rustbuild/src/rust-buildbot/slave/nightly-mac/build/src/libcore/result.rs:743
I don't know if you are supposed to run the populate script, but I thought I'd let you know. 😄
I'm currently having a hard time figuring out how to push to my local crates.io installation. The --token
part is pretty clear, but I don't know what to use as --host
. I tried setting it to my local rust server http://localhost:8888
, but from what I can see in the log it tries to do some kind of git request. So I forked the central https://github.com/rust-lang/crates.io-index repository, adjusting the https://github.com/rust-lang/crates.io-index/blob/master/config.json file to point to my local rust server, but I'm still getting an error:
cargo publish --host https://github.com/ralph/crates.io-index --token XrD3BRBV4IH1yxBw5sNMVWjS66ruVEbq --verbose ⏎ ✱
Updating registry `https://github.com/ralph/crates.io-index`
Warning: manifest has no description or license. See http://doc.crates.io/manifest.html#package-metadata for more info.
Uploading zcolor v0.0.1 (file:///Users/ralph/Documents/work/rust/color-rs)
http error: Couldn't connect to server
(That's my local crates.io token in the snippet.)
I'm trying to push the color-rs package (https://github.com/bjz/color-rs) from the Guide (http://doc.crates.io/guide.html), btw., but have the package name changed to zcolor
.
Can you help me publish to my local crates.io? I'd like to have a few packages in there, in order to be able to play with the Ember code.
Also, is there a better way to get sample data?
Statistics are amusing, but not essential IMO. On a crate’s page The download graph is pretty big, making anything below it easy to miss or dismiss as unimportant footer boilerplate.
Links however are much more useful, especially to the documentation. Please move the “Links” section (and the other sections next to it currently next to it) to before the stats.
Similar to #8, with the same examples. There's too much duplication for these methods.
```Updating git repositoryhttps://github.com/sfackler/rust-openssl
Unable to update https://github.com/sfackler/rust-openssl
Caused by:
../../../.cargo/git/checkouts/rust-openssl-4145800ab3594a0f/master/Cargo.toml is not a valid manifest
Feature aes_xts
includes openssl-sys/aes_xts
which is neither a dependency nor another feature```
OSX 10.10
Rust nightly from today
Is this something I should flag over on https://github.com/sfackler/rust-openssl?
http://www.reddit.com/r/rust/comments/2mwice/cratesio_has_shipped/cm8d5s5?context=3
I have a feeling there's a better way than this:
crates.io/app/controllers/crate/index.js
Line 36 in 4bab926
Moved over from rust-lang/cargo#924:
@chriseppstein says: "Stats are cool, but I wanted to go to the code repo and it took me forever to find it."
Rust itself is still changing, so a crate cannot really guarantee the kind of backward compatibility that cargo assumes for deduplicating dependencies etc. People may not realise this and so accidentally upload something that is forced to break semver as the language changes (or else be forced to do a lot of major version releases, which is unlikely to be what someone wants & is better served by 0.x releases).
This limit would of course be removed closer to 1.0 after associated types and unboxed closures etc. land.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.