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

[WIP] The Genesis of Generic Germination #53645

Open
wants to merge 9 commits into
base: master
from

Conversation

@varkor
Member

varkor commented Aug 23, 2018

Long had its coming been foretold: a collaborative effort with @yodaldevoid, set in motion by @jplatte, to beget a new Kind: one of a very different Sort to those that come before it. Amidst promises of ineffable powers previously thought unobtainable, few dared believe that the prophecies were true. But as they gazed upon that which claimed to be the Beginning, a few gentle sparks of hope fluttered deep within. It was not Time yet. But it was a Sign. And maybe, for some, that was enough.

There's a long way to go, but we're at the point where we would benefit from GitHub's reviewing capabilities.

r? @eddyb

@rust-highfive

This comment was marked as off-topic.

Collaborator

rust-highfive commented Aug 23, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.

[00:04:28] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:04:28] tidy error: /checkout/src/librustc_resolve/lib.rs:138: line longer than 100 chars
[00:04:28] tidy error: /checkout/src/librustdoc/core.rs:225: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustdoc/html/render.rs:1470: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustdoc/clean/mod.rs:1258: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustdoc/clean/mod.rs:2547: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustdoc/clean/mod.rs:2798: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustdoc/clean/mod.rs:3759: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/libsyntax/parse/parser.rs:5047: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/libsyntax/parse/parser.rs:5187: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustc/ty/context.rs:2279: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustc/ty/sty.rs:117: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustc/ty/subst.rs:508: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustc/ty/relate.rs:481: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustc/ty/relate.rs:614: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustc/ty/relate.rs:620: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustc/infer/mod.rs:592: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustc/infer/mod.rs:917: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustc_typeck/check/mod.rs:5190: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustc_typeck/diagnostics.rs:1043: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustc_typeck/diagnostics.rs:1071: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustc_typeck/astconv.rs:1534: TODO is deprecated; use FIXME
[00:04:28] tidy error: /checkout/src/librustc_typeck/collect.rs:1191: TODO is deprecated; use FIXME
[00:04:28] tidy error: duplicate error code: 85
[00:04:28] tidy error: /checkout/src/librustc_typeck/diagnostics.rs:1045: E0085: r##"
[00:04:28] tidy error: /checkout/src/librustc_typeck/diagnostics.rs:4798: //  E0085,
[00:04:28] tidy error: duplicate error code: 107
[00:04:28] tidy error: /checkout/src/librustc_typeck/diagnostics.rs:1043: // TODO(const_generics:docs): these should be unified with E0107 (i.e. these can just be
[00:04:28] tidy error: /checkout/src/librustc_typeck/diagnostics.rs:1291: E0107: r##"
[00:04:28] tidy error: duplicate error code: 86
[00:04:28] tidy error: /checkout/src/librustc_typeck/diagnostics.rs:1060: E0086: r##"
[00:04:28] tidy error: /checkout/src/librustc_typeck/diagnostics.rs:4799: //  E0086,
[00:04:29] Expected a gate test for the feature 'const_generics'.
[00:04:29] Hint: create a failing test file named 'feature-gate-const_generics.rs'
[00:04:29] tidy error: Found 1 features without a gate test.
[00:04:29]       in the 'ui' test suite, with its failures due to
[00:04:29]       missing usage of #![feature(const_generics)].
[00:04:29] Hint: If you already have such a test and don't want to rename it,
[00:04:29]       you can also add a // gate-test-const_generics line to the test file.
[00:04:29] some tidy checks failed
[00:04:29] 
[00:04:29] 
[00:04:29] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:04:29] 
[00:04:29] 
[00:04:29] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:04:29] Build completed unsuccessfully in 0:00:50
[00:04:29] Build completed unsuccessfully in 0:00:50
[00:04:29] make: *** [tidy] Error 1
[00:04:29] Makefile:79: recipe for target 'tidy' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0d7ce8e7
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
---
travis_time:end:213c91e3:start=1535050856368938027,finish=1535050856377184018,duration=8245991
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:0abcf093
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:0080c712
travis_time:start:0080c712
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:0a56e2c7
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors

This comment has been minimized.

Contributor

bors commented Aug 24, 2018

☔️ The latest upstream changes (presumably #53662) made this pull request unmergeable. Please resolve the merge conflicts.

@kennytm

This comment has been minimized.

Member

kennytm commented Aug 28, 2018

(Somehow I read the title as "Genesis of Germanic Germination" and thought why we're adding i18n into rustc itself 😐)

@petrochenkov petrochenkov self-assigned this Aug 28, 2018

let mut seen_ty_param = false;
let mut params = vec![];
let mut max_param = None;
fn enforce_param_order(parser: &Parser,

This comment has been minimized.

@petrochenkov

petrochenkov Aug 31, 2018

Contributor

Parameters are kept in a single list now, so the order can be enforced in one place in AST validation.

// parsing problem. Either mark all const args with const (or
// something else, it doesn't really matter) or merge const args
// and type args together at the AST level and separate them
// later on, probably when lowering to the HIR.

This comment has been minimized.

@petrochenkov

petrochenkov Aug 31, 2018

Contributor

If S<MY_CONST> is supposed to work, then it can use same approach as identifiers in patterns.
In AST it's PatKind::Ident, but in HIR it's turned into a proper pattern based on resolution, for const arguments it would be something like ast::GenericArg::Ident.
I agree this is not necessary to do in this PR though.

@petrochenkov petrochenkov removed their assignment Sep 1, 2018

@varkor

This comment has been minimized.

Member

varkor commented Sep 6, 2018

(Note for triage: I'm going to get around to addressing these comments and hopefully fixing the existing crashes soon.)

@TimNN

This comment has been minimized.

Contributor

TimNN commented Sep 25, 2018

Ping from triage! Since it's been I while, I was wondering if you could give us a small update on the status of this PR?

@eddyb eddyb referenced this pull request Sep 26, 2018

Open

RFC: Elide array size #2545

@varkor

This comment has been minimized.

Member

varkor commented Sep 28, 2018

I'm going to start investigating the ICE again soon (been busier than I expected). I think @eddyb's going to be leaving some comments soon as well.

@TimNN

This comment has been minimized.

Contributor

TimNN commented Oct 16, 2018

Ping from triage! Since it's been I while, I was wondering if you could give us a small update on the status of this PR?

@varkor

This comment has been minimized.

Member

varkor commented Oct 16, 2018

I've made progress in my local branch since last time, though not quite ready to push. I think a full review will be unlikely before the 2018 edition though, as things are getting busy close to the deadline.

@varkor varkor force-pushed the varkor:const-generics-redux branch from f0bae41 to bfc4b41 Oct 16, 2018

@TimNN

This comment has been minimized.

Contributor

TimNN commented Oct 23, 2018

@vakor: Thanks for the update!

@varkor varkor force-pushed the varkor:const-generics-redux branch from b91f20d to 78bebcb Nov 8, 2018

@varkor

This comment has been minimized.

Member

varkor commented Nov 8, 2018

As rebasing is a real pain with a PR this large, I've temporarily flattened all the commits. I'll properly structure the changes closer to approval.

@rust-highfive

This comment was marked as resolved.

Collaborator

rust-highfive commented Nov 8, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:2c7089ac:start=1541719375895988623,finish=1541719378297689044,duration=2401700421
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---

[00:04:06] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:04:06] tidy error: /checkout/src/librustc_resolve/lib.rs:140: line longer than 100 chars
[00:04:07] tidy error: /checkout/src/librustc_mir/hair/pattern/mod.rs:44: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustdoc/core.rs:235: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustdoc/html/render.rs:1572: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustdoc/clean/mod.rs:1264: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustdoc/clean/mod.rs:2562: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustdoc/clean/mod.rs:2812: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/libsyntax/parse/parser.rs:5187: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/libsyntax/parse/parser.rs:5210: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/libsyntax/parse/parser.rs:5325: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/libsyntax/parse/parser.rs:5343: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustc/ty/context.rs:2459: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustc/ty/sty.rs:128: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustc/ty/subst.rs:656: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustc/ty/relate.rs:482: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustc/ty/relate.rs:614: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustc/infer/mod.rs:667: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustc/infer/mod.rs:990: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustc_typeck/check/mod.rs:5324: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustc_typeck/diagnostics.rs:1043: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustc_typeck/diagnostics.rs:1071: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustc_typeck/astconv.rs:1521: TODO is deprecated; use FIXME
[00:04:07] tidy error: /checkout/src/librustc_typeck/collect.rs:1311: TODO is deprecated; use FIXME
[00:04:07] tidy error: duplicate error code: 86
[00:04:07] tidy error: /checkout/src/librustc_typeck/diagnostics.rs:1060: E0086: r##"
[00:04:07] tidy error: /checkout/src/librustc_typeck/diagnostics.rs:4903: //  E0086,
[00:04:07] tidy error: duplicate error code: 668
[00:04:07] tidy error: /checkout/src/librustc_resolve/diagnostics.rs:1655: E0668: r##"
[00:04:07] tidy error: /checkout/src/librustc_codegen_llvm/diagnostics.rs:50: E0668: r##"
[00:04:07] tidy error: duplicate error code: 107
[00:04:07] tidy error: /checkout/src/librustc_typeck/diagnostics.rs:1043: // TODO(const_generics:docs): these should be unified with E0107 (i.e. these can just be
[00:04:07] tidy error: /checkout/src/librustc_typeck/diagnostics.rs:1299: E0107: r##"
[00:04:07] tidy error: duplicate error code: 85
[00:04:07] tidy error: /checkout/src/librustc_typeck/diagnostics.rs:1045: E0085: r##"
[00:04:07] tidy error: /checkout/src/librustc_typeck/diagnostics.rs:4902: //  E0085,
[00:04:07] Expected a gate test for the feature 'const_generics'.
[00:04:07] Hint: create a failing test file named 'feature-gate-const_generics.rs'
[00:04:07] tidy error: Found 1 features without a gate test.
[00:04:07]       in the 'ui' test suite, with its failures due to
[00:04:07]       missing usage of #![feature(const_generics)].
[00:04:07] Hint: If you already have such a test and don't want to rename it,
[00:04:07]       you can also add a // gate-test-const_generics line to the test file.
[00:04:08] some tidy checks failed
[00:04:08] 
[00:04:08] 
[00:04:08] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:04:08] 
[00:04:08] 
[00:04:08] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:04:08] Build completed unsuccessfully in 0:00:47
[00:04:08] Build completed unsuccessfully in 0:00:47
[00:04:08] Makefile:79: recipe for target 'tidy' failed
[00:04:08] make: *** [tidy] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:00ba2a48
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Thu Nov  8 23:27:16 UTC 2018
---
travis_time:end:197b6188:start=1541719637102028585,finish=1541719637106512066,duration=4483481
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:00a958b7
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:3383a995
travis_time:start:3383a995
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:046045ce
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive

This comment was marked as off-topic.

Collaborator

rust-highfive commented Nov 10, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:0f0cdef9:start=1541886917540796464,finish=1541886971056277984,duration=53515481520
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---
travis_time:end:02a000a1:start=1541887338568710031,finish=1541887338575636730,duration=6926699
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:1b6e5800
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:1cc73be0
travis_time:start:1cc73be0
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive

This comment was marked as outdated.

Collaborator

rust-highfive commented Nov 10, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:000d4204:start=1541891113887973509,finish=1541891176763844917,duration=62875871408
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive

This comment was marked as outdated.

Collaborator

rust-highfive commented Nov 11, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:10fe8c64:start=1541894391748079033,finish=1541894449469933326,duration=57721854293
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---

[00:03:45] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:03:45] tidy error: /checkout/src/librustc_typeck/collect.rs:1331: line longer than 100 chars
[00:03:46] some tidy checks failed
[00:03:46] 
[00:03:46] 
[00:03:46] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:03:46] 
[00:03:46] 
[00:03:46] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:03:46] Build completed unsuccessfully in 0:00:48
[00:03:46] Build completed unsuccessfully in 0:00:48
[00:03:46] make: *** [tidy] Error 1
[00:03:46] Makefile:79: recipe for target 'tidy' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:1fac5a00
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sun Nov 11 00:04:47 UTC 2018
---
travis_time:end:01f4ca30:start=1541894688300458401,finish=1541894688305636127,duration=5177726
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:130c2fe4
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:06c4e43e
travis_time:start:06c4e43e
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:18915922
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive

This comment was marked as outdated.

Collaborator

rust-highfive commented Nov 11, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:10c00696:start=1541895262261391670,finish=1541895315574570902,duration=53313179232
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---

[00:03:52] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:03:52] tidy error: /checkout/src/librustc_typeck/collect.rs:1331: line longer than 100 chars
[00:03:53] some tidy checks failed
[00:03:53] 
[00:03:53] 
[00:03:53] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:03:53] 
[00:03:53] 
[00:03:53] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:03:53] Build completed unsuccessfully in 0:00:47
[00:03:53] Build completed unsuccessfully in 0:00:47
[00:03:53] Makefile:79: recipe for target 'tidy' failed
[00:03:53] make: *** [tidy] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:05a9f150
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sun Nov 11 00:19:18 UTC 2018
---
travis_time:end:072a31e8:start=1541895559309765190,finish=1541895559315182668,duration=5417478
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:00632232
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:0b357130
travis_time:start:0b357130
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:10cd7318
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive

This comment was marked as outdated.

Collaborator

rust-highfive commented Nov 11, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:1485547e:start=1541895736466646706,finish=1541895791574562796,duration=55107916090
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---

[00:03:55] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:03:55] tidy error: /checkout/src/librustc_typeck/collect.rs:1331: line longer than 100 chars
[00:03:57] some tidy checks failed
[00:03:57] 
[00:03:57] 
[00:03:57] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:03:57] 
[00:03:57] 
[00:03:57] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:03:57] Build completed unsuccessfully in 0:00:50
[00:03:57] Build completed unsuccessfully in 0:00:50
[00:03:57] Makefile:79: recipe for target 'tidy' failed
[00:03:57] make: *** [tidy] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0cb3ed70
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sun Nov 11 00:27:18 UTC 2018
---
travis_time:end:33e2e990:start=1541896039243485853,finish=1541896039248767229,duration=5281376
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:04c1e680
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:08386302
travis_time:start:08386302
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:25bb63b0
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@varkor varkor force-pushed the varkor:const-generics-redux branch from 2cae5ef to cad6b4b Nov 11, 2018

@rust-highfive

This comment was marked as outdated.

Collaborator

rust-highfive commented Nov 11, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:0a9b9eed:start=1541896904786082913,finish=1541896907056028707,duration=2269945794
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---

[00:03:53] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:03:54] tidy error: /checkout/src/librustc_typeck/collect.rs:1331: line longer than 100 chars
[00:03:55] some tidy checks failed
[00:03:55] 
[00:03:55] 
[00:03:55] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:03:55] 
[00:03:55] 
[00:03:55] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:03:55] Build completed unsuccessfully in 0:00:49
[00:03:55] Build completed unsuccessfully in 0:00:49
[00:03:55] Makefile:79: recipe for target 'tidy' failed
[00:03:55] make: *** [tidy] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:2bc319e8
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sun Nov 11 00:45:52 UTC 2018
---
travis_time:end:035c05ae:start=1541897152755399130,finish=1541897152762236796,duration=6837666
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:024a9187
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:12cbb41c
travis_time:start:12cbb41c
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:002829d6
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@varkor varkor force-pushed the varkor:const-generics-redux branch from cad6b4b to d6828ce Nov 11, 2018

@rust-highfive

This comment has been minimized.

Collaborator

rust-highfive commented Nov 11, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:24f293fc:start=1541897565267259461,finish=1541897567950041315,duration=2682781854
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---
[00:38:33]    Compiling parking_lot_core v0.3.0
[00:38:33]    Compiling tempfile v3.0.3
[00:38:34]    Compiling parking_lot v0.6.4
[00:38:35]    Compiling rustdoc v0.0.0 (/checkout/src/librustdoc)
[00:38:39] error[E0560]: struct `rustc::hir::AnonConst` has no field named `body_id`
[00:38:39]     |
[00:38:39] 239 |                             body_id: hir::BodyId {
[00:38:39]     |                             ^^^^^^^ `rustc::hir::AnonConst` does not have this field
[00:38:39]     |
[00:38:39]     |
[00:38:39]     = note: available fields are: `id`, `hir_id`, `body`

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors

This comment has been minimized.

Contributor

bors commented Nov 11, 2018

☔️ The latest upstream changes (presumably #55859) made this pull request unmergeable. Please resolve the merge conflicts.

@Mark-Simulacrum

This comment has been minimized.

Member

Mark-Simulacrum commented Nov 15, 2018

@varkor Will you get a chance to look at this shortly? It looks like there's a merge conflict and a CI failure from 5 days ago.

@varkor

This comment has been minimized.

Member

varkor commented Nov 15, 2018

@Mark-Simulacrum: hopefully this weekend, but there are still some remaining issues I have to sort out before it's ready for a second review yet.

@nikomatsakis

This comment has been minimized.

Contributor

nikomatsakis commented Nov 16, 2018

@varkor (ps, sorry for being slow, excited to review this though! Sounds like maybe I should wait though until you resolve a few things?)

@Aaronepower

This comment has been minimized.

Contributor

Aaronepower commented Nov 25, 2018

Triage; @varkor Have you been able to get back to this PR?

@varkor

This comment has been minimized.

Member

varkor commented Nov 29, 2018

Sorry, I am going to get to this. I've been quite busy recently. This is my priority when I get time.

@nikomatsakis

Did a first round of review. Looks excellent. Going to build locally also to investigate.

fn consts(&mut self, a: &'tcx ty::Const<'tcx>, b: &'tcx ty::Const<'tcx>)
-> RelateResult<'tcx, &'tcx ty::Const<'tcx>> {
if let ConstValue::Infer(InferConst::Canonical(_)) = a.val {
// self.relate_var(a.into(), b.into())?; // FIXME(const_generics)

This comment has been minimized.

@nikomatsakis

nikomatsakis Nov 30, 2018

Contributor

This doesn't seem great.. at least do unimplemented! or something =)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment