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

Vec::recycle (experimental API implementation) #66069

Closed
wants to merge 7 commits into from

Conversation

golddranks
Copy link
Contributor

Implements the API described here rust-lang/rfcs#2802 behind a feature flag recycle_vec.

@rust-highfive
Copy link
Collaborator

r? @shepmaster

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Nov 3, 2019
@jonas-schievink jonas-schievink added A-collections Area: `std::collection` T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. labels Nov 3, 2019
@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (pretty log, 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.
2019-11-03T22:26:09.5123970Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-11-03T22:26:09.5367901Z ##[command]git config gc.auto 0
2019-11-03T22:26:09.5434937Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-11-03T22:26:09.5820730Z ##[command]git config --get-all http.proxy
2019-11-03T22:26:09.5962311Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66069/merge:refs/remotes/pull/66069/merge
---
2019-11-03T22:32:28.4991500Z    Compiling serde_json v1.0.40
2019-11-03T22:32:30.1682336Z    Compiling tidy v0.1.0 (/checkout/src/tools/tidy)
2019-11-03T22:32:41.0866804Z     Finished release [optimized] target(s) in 1m 24s
2019-11-03T22:32:41.0938739Z tidy check
2019-11-03T22:32:41.2182546Z tidy error: /checkout/src/liballoc/tests/vec.rs:1267: line longer than 100 chars
2019-11-03T22:32:41.2234387Z tidy error: /checkout/src/liballoc/vec.rs:650: line longer than 100 chars
2019-11-03T22:32:41.2234737Z tidy error: /checkout/src/liballoc/vec.rs:683: TODO is deprecated; use FIXME
2019-11-03T22:32:41.2242701Z tidy error: /checkout/src/liballoc/vec.rs: too many lines (3029) (add `// ignore-tidy-filelength` to the file to suppress this error)
2019-11-03T22:32:43.3224762Z Found 485 error codes
2019-11-03T22:32:43.3226018Z Found 0 error codes with no tests
2019-11-03T22:32:43.3226251Z Done!
2019-11-03T22:32:43.3226677Z some tidy checks failed
2019-11-03T22:32:43.3226677Z some tidy checks failed
2019-11-03T22:32:43.3226710Z 
2019-11-03T22:32:43.3226738Z 
2019-11-03T22:32:43.3227857Z 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"
2019-11-03T22:32:43.3229668Z 
2019-11-03T22:32:43.3229729Z 
2019-11-03T22:32:43.3257776Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
2019-11-03T22:32:43.3257854Z Build completed unsuccessfully in 0:01:27
2019-11-03T22:32:43.3257854Z Build completed unsuccessfully in 0:01:27
2019-11-03T22:32:43.3289829Z == clock drift check ==
2019-11-03T22:32:43.3300593Z   local time: Sun Nov  3 22:32:43 UTC 2019
2019-11-03T22:32:43.4783496Z   network time: Sun, 03 Nov 2019 22:32:43 GMT
2019-11-03T22:32:43.4787278Z == end clock drift check ==
2019-11-03T22:32:44.8057611Z 
2019-11-03T22:32:44.8136499Z ##[error]Bash exited with code '1'.
2019-11-03T22:32:44.8173128Z ##[section]Starting: Checkout
2019-11-03T22:32:44.8174609Z ==============================================================================
2019-11-03T22:32:44.8174679Z Task         : Get sources
2019-11-03T22:32:44.8174723Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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)

@golddranks golddranks closed this Nov 3, 2019
@golddranks golddranks reopened this Nov 3, 2019
@golddranks
Copy link
Contributor Author

It seems that a formatting check failed. I'm gonna reformat this later.

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (pretty log, 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.
2019-11-03T22:50:08.1675683Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-11-03T22:50:08.1864026Z ##[command]git config gc.auto 0
2019-11-03T22:50:08.1931436Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-11-03T22:50:08.1979061Z ##[command]git config --get-all http.proxy
2019-11-03T22:50:08.2114523Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66069/merge:refs/remotes/pull/66069/merge
---
2019-11-03T22:56:13.6979244Z    Compiling serde_json v1.0.40
2019-11-03T22:56:15.4146015Z    Compiling tidy v0.1.0 (/checkout/src/tools/tidy)
2019-11-03T22:56:26.7114194Z     Finished release [optimized] target(s) in 1m 26s
2019-11-03T22:56:26.7193614Z tidy check
2019-11-03T22:56:26.8427301Z tidy error: /checkout/src/liballoc/tests/vec.rs:1267: line longer than 100 chars
2019-11-03T22:56:26.8483747Z tidy error: /checkout/src/liballoc/vec.rs:650: line longer than 100 chars
2019-11-03T22:56:26.8484115Z tidy error: /checkout/src/liballoc/vec.rs:683: TODO is deprecated; use FIXME
2019-11-03T22:56:26.8493216Z tidy error: /checkout/src/liballoc/vec.rs: too many lines (3029) (add `// ignore-tidy-filelength` to the file to suppress this error)
2019-11-03T22:56:29.0878041Z Found 485 error codes
2019-11-03T22:56:29.0878146Z Found 0 error codes with no tests
2019-11-03T22:56:29.0878467Z Done!
2019-11-03T22:56:29.0884481Z 
2019-11-03T22:56:29.0884481Z 
2019-11-03T22:56:29.0884713Z 
2019-11-03T22:56:29.0885663Z 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"
2019-11-03T22:56:29.0886563Z 
2019-11-03T22:56:29.0886753Z 
2019-11-03T22:56:29.0886915Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
2019-11-03T22:56:29.0887067Z Build completed unsuccessfully in 0:01:30
2019-11-03T22:56:29.0887067Z Build completed unsuccessfully in 0:01:30
2019-11-03T22:56:29.0887227Z some tidy checks failed
2019-11-03T22:56:29.0934334Z == clock drift check ==
2019-11-03T22:56:29.0955303Z   local time: Sun Nov  3 22:56:29 UTC 2019
2019-11-03T22:56:29.2421794Z   network time: Sun, 03 Nov 2019 22:56:29 GMT
2019-11-03T22:56:29.2422823Z == end clock drift check ==
2019-11-03T22:56:30.6137233Z 
2019-11-03T22:56:30.6208240Z ##[error]Bash exited with code '1'.
2019-11-03T22:56:30.6233933Z ##[section]Starting: Checkout
2019-11-03T22:56:30.6235402Z ==============================================================================
2019-11-03T22:56:30.6235452Z Task         : Get sources
2019-11-03T22:56:30.6235507Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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)

src/liballoc/vec.rs Outdated Show resolved Hide resolved
src/liballoc/vec.rs Show resolved Hide resolved
src/liballoc/vec.rs Outdated Show resolved Hide resolved
src/liballoc/vec.rs Outdated Show resolved Hide resolved
src/liballoc/vec.rs Outdated Show resolved Hide resolved
src/liballoc/vec.rs Outdated Show resolved Hide resolved
src/liballoc/tests/vec.rs Show resolved Hide resolved
#[unstable(feature = "recycle_vec", reason = "new API", issue = "0")]
pub fn recycle<U>(mut self) -> Vec<U> {
self.truncate(0);
// TODO make these const asserts once it becomes possible
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there an actual plan for making this possible? Even with compile time assertions, you wouldn't actually be able to reference T and U inside e.g. a const item defined in this body.

Copy link
Contributor Author

@golddranks golddranks Nov 4, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is a question that needs to be resolved. It is mentioned as an unresolved question in the RFC. The problem is that changing to compile-time error is a breaking change, so whatever gets decided, we must commit to before stabilizing.

I assumed that once the const functions support conditionals, creating compile time assertion for this case would be possible, but I had a hidden assumption that if there is a generic const function, I could pass it generic types that are in scope. Is the latter not the case? I wonder if there are explicit plans about supporting or not supporting that, or is it just more about how it currently is?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's not the case and there are no current plans to change that so don't expect it to change within the next 1.5 years at least.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All right, I removed the FIXME. I guess it seems good enough just to panic, although I'd love to have a compile-time guarantee, and I think I'm not alone. I wonder if there is any other avenue of attack that would accomplish this.

src/liballoc/vec.rs Outdated Show resolved Hide resolved
@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (pretty log, 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.
2019-11-04T06:00:54.3190569Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-11-04T06:00:54.3372766Z ##[command]git config gc.auto 0
2019-11-04T06:00:54.3444092Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-11-04T06:00:54.3506436Z ##[command]git config --get-all http.proxy
2019-11-04T06:00:55.2576830Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66069/merge:refs/remotes/pull/66069/merge
---
2019-11-04T06:07:01.4304845Z    Compiling serde_json v1.0.40
2019-11-04T06:07:03.1591868Z    Compiling tidy v0.1.0 (/checkout/src/tools/tidy)
2019-11-04T06:07:14.6153294Z     Finished release [optimized] target(s) in 1m 28s
2019-11-04T06:07:14.6236272Z tidy check
2019-11-04T06:07:14.7492711Z tidy error: /checkout/src/liballoc/vec.rs: too many lines (3029) (add `// ignore-tidy-filelength` to the file to suppress this error)
2019-11-04T06:07:16.9038987Z Found 485 error codes
2019-11-04T06:07:16.9041635Z Found 0 error codes with no tests
2019-11-04T06:07:16.9042194Z Done!
2019-11-04T06:07:16.9042473Z some tidy checks failed
2019-11-04T06:07:16.9042473Z some tidy checks failed
2019-11-04T06:07:16.9042804Z 
2019-11-04T06:07:16.9043082Z 
2019-11-04T06:07:16.9044266Z 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"
2019-11-04T06:07:16.9045327Z 
2019-11-04T06:07:16.9045543Z 
2019-11-04T06:07:16.9053066Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
2019-11-04T06:07:16.9053176Z Build completed unsuccessfully in 0:01:32
2019-11-04T06:07:16.9053176Z Build completed unsuccessfully in 0:01:32
2019-11-04T06:07:16.9116802Z == clock drift check ==
2019-11-04T06:07:16.9127294Z   local time: Mon Nov  4 06:07:16 UTC 2019
2019-11-04T06:07:17.2051161Z   network time: Mon, 04 Nov 2019 06:07:17 GMT
2019-11-04T06:07:17.2057231Z == end clock drift check ==
2019-11-04T06:07:18.6086136Z 
2019-11-04T06:07:18.6216962Z ##[error]Bash exited with code '1'.
2019-11-04T06:07:18.6245314Z ##[section]Starting: Checkout
2019-11-04T06:07:18.6247904Z ==============================================================================
2019-11-04T06:07:18.6247965Z Task         : Get sources
2019-11-04T06:07:18.6248044Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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)

@golddranks
Copy link
Contributor Author

I'm getting a CI error like this:
tidy error: /checkout/src/liballoc/vec.rs: too many lines (3029) (add // ignore-tidy-filelength to the file to suppress this error)

I wonder if 3000 is the threshold value and this PR just happened to break it? Even if vec.rs gets refactored and split up, I think it's not this PR we should do that in. Any suggestions? Should I just add // ignore-tidy-filelength to suppress the error?

@Centril
Copy link
Contributor

Centril commented Nov 4, 2019

You can add the ignore directive but it would be good if you could follow up with the splitting.

@golddranks
Copy link
Contributor Author

I'll starting working on one. That's actually a nice, manageable thing to do for us rustc noobs :) Adding the ignore directive for now.

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (pretty log, 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.
2019-11-04T06:37:07.6170664Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-11-04T06:37:07.6363424Z ##[command]git config gc.auto 0
2019-11-04T06:37:07.6435608Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-11-04T06:37:07.6493342Z ##[command]git config --get-all http.proxy
2019-11-04T06:37:07.6631247Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66069/merge:refs/remotes/pull/66069/merge
---
2019-11-04T07:39:19.3607540Z .................................................................................................... 1600/9271
2019-11-04T07:39:25.0577259Z .................................................................................................... 1700/9271
2019-11-04T07:39:39.0028434Z ..............................................................i...............i..................... 1800/9271
2019-11-04T07:39:46.5566868Z .................................................................................................... 1900/9271
2019-11-04T07:40:02.4959023Z ....................................................iiiii........................................... 2000/9271
2019-11-04T07:40:14.0012504Z .................................................................................................... 2200/9271
2019-11-04T07:40:16.5859804Z .................................................................................................... 2300/9271
2019-11-04T07:40:19.9907263Z .................................................................................................... 2400/9271
2019-11-04T07:40:43.7998850Z .................................................................................................... 2500/9271
2019-11-04T07:40:43.7998850Z .................................................................................................... 2500/9271
2019-11-04T07:40:46.6523391Z .................................................................................................... 2600/9271
2019-11-04T07:40:55.1046395Z .................................................................................................... 2700/9271
2019-11-04T07:41:03.9994618Z ....................i............................................................................... 2800/9271
2019-11-04T07:41:13.4857552Z .................................................................................................... 2900/9271
2019-11-04T07:41:18.0233052Z ...................i................................................................................ 3000/9271
2019-11-04T07:41:26.7403590Z .................................................................................................... 3100/9271
2019-11-04T07:41:33.1182166Z .................................................................................................... 3200/9271
2019-11-04T07:41:41.8825454Z .ii................................................................................................. 3300/9271
2019-11-04T07:41:59.3667172Z ..............................................................................................i..... 3500/9271
2019-11-04T07:42:06.8423340Z .........................................i.......................................................... 3600/9271
2019-11-04T07:42:14.1353785Z .................................................................................................... 3700/9271
2019-11-04T07:42:20.7612861Z .................................................................................................... 3800/9271
---
2019-11-04T07:43:41.2735856Z ....................................................i...............i............................... 4800/9271
2019-11-04T07:43:50.5751457Z .................................................................................................... 4900/9271
2019-11-04T07:43:59.6259106Z .................................................................................................... 5000/9271
2019-11-04T07:44:05.7663390Z .................................................................................................... 5100/9271
2019-11-04T07:44:16.8111163Z .....................................................ii.ii...........i.............................. 5200/9271
2019-11-04T07:44:26.8006325Z .................................................................................................... 5400/9271
2019-11-04T07:44:37.2760874Z .................................................................................................... 5500/9271
2019-11-04T07:44:44.7033654Z ..........................i......................................................................... 5600/9271
2019-11-04T07:44:51.6968134Z .................................................................................................... 5700/9271
2019-11-04T07:44:51.6968134Z .................................................................................................... 5700/9271
2019-11-04T07:45:03.9115158Z .................................................................................................... 5800/9271
2019-11-04T07:45:16.2744240Z ...........ii...i..ii...........i................................................................... 5900/9271
2019-11-04T07:45:37.1730135Z .................................................................................................... 6100/9271
2019-11-04T07:45:45.0960247Z .................................................................................................... 6200/9271
2019-11-04T07:45:45.0960247Z .................................................................................................... 6200/9271
2019-11-04T07:45:59.7039974Z ..............................i..ii................................................................. 6300/9271
2019-11-04T07:46:20.9284902Z .................................................................................................i.. 6500/9271
2019-11-04T07:46:23.2295916Z .................................................................................................... 6600/9271
2019-11-04T07:46:25.9072174Z ...........................................................................i........................ 6700/9271
2019-11-04T07:46:28.7651885Z .................................................................................................... 6800/9271
---
2019-11-04T07:51:55.8872750Z  finished in 5.621
2019-11-04T07:51:55.9056617Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-11-04T07:51:56.0607905Z 
2019-11-04T07:51:56.0609158Z running 158 tests
2019-11-04T07:51:59.1907688Z iiiiii....iii......iii..iiii...i.............................i..i..................i....i........... 100/158
2019-11-04T07:52:01.2629934Z ii.i.i..iiii..............i.........iii.i.........ii......
2019-11-04T07:52:01.2633512Z 
2019-11-04T07:52:01.2633805Z  finished in 5.357
2019-11-04T07:52:01.2809797Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-11-04T07:52:01.4406683Z 
---
2019-11-04T07:52:03.5466618Z  finished in 2.265
2019-11-04T07:52:03.5690401Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-11-04T07:52:03.7383796Z 
2019-11-04T07:52:03.7383914Z running 9 tests
2019-11-04T07:52:03.7394230Z iiiiiiiii
2019-11-04T07:52:03.7394643Z 
2019-11-04T07:52:03.7394688Z  finished in 0.169
2019-11-04T07:52:03.7568334Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-11-04T07:52:03.9411492Z 
---
2019-11-04T07:52:25.4346587Z  finished in 21.677
2019-11-04T07:52:25.4582658Z Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-11-04T07:52:25.6433579Z 
2019-11-04T07:52:25.6434253Z running 123 tests
2019-11-04T07:52:50.3032451Z .iiiii...i.....i..i...i..i.i.i..i.ii..i.i.....i..i....ii..........iiii..........i...ii...i.......ii. 100/123
2019-11-04T07:52:54.9454145Z i.i.i......iii.i.....ii
2019-11-04T07:52:54.9455867Z 
2019-11-04T07:52:54.9460318Z  finished in 29.488
2019-11-04T07:52:54.9470209Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-11-04T07:52:54.9470973Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2019-11-04T08:02:42.0393366Z    Compiling alloc v0.0.0 (/checkout/src/liballoc)
2019-11-04T08:02:42.8486242Z error[E0425]: cannot find value `val_size` in this scope
2019-11-04T08:02:42.8495126Z     --> src/liballoc/../liballoc/tests/vec.rs:1311:9
2019-11-04T08:02:42.8495758Z      |
2019-11-04T08:02:42.8496839Z 1311 |         val_size = core::mem::size_of_val(&buf[0]);
2019-11-04T08:02:42.8498822Z 
2019-11-04T08:02:42.8543361Z error[E0425]: cannot find value `val_align` in this scope
2019-11-04T08:02:42.8544489Z     --> src/liballoc/../liballoc/tests/vec.rs:1312:9
2019-11-04T08:02:42.8544804Z      |
2019-11-04T08:02:42.8544804Z      |
2019-11-04T08:02:42.8545107Z 1312 |         val_align = core::mem::align_of_val(&buf[0]);
2019-11-04T08:02:42.8545489Z 
2019-11-04T08:02:42.8595527Z error[E0425]: cannot find value `val_size` in this scope
2019-11-04T08:02:42.8595858Z     --> src/liballoc/../liballoc/tests/vec.rs:1317:16
2019-11-04T08:02:42.8596113Z      |
2019-11-04T08:02:42.8596113Z      |
2019-11-04T08:02:42.8596418Z 1317 |     assert_eq!(val_size, core::mem::size_of_val(&buf[0]));
2019-11-04T08:02:42.8597041Z 
2019-11-04T08:02:42.8643109Z error[E0425]: cannot find value `val_align` in this scope
2019-11-04T08:02:42.8643431Z     --> src/liballoc/../liballoc/tests/vec.rs:1318:16
2019-11-04T08:02:42.8643693Z      |
2019-11-04T08:02:42.8643693Z      |
2019-11-04T08:02:42.8644021Z 1318 |     assert_eq!(val_align, core::mem::align_of_val(&buf[0]));
2019-11-04T08:02:42.8644412Z 
2019-11-04T08:02:48.4239568Z error: aborting due to 4 previous errors
2019-11-04T08:02:48.4239665Z 
2019-11-04T08:02:48.4246662Z For more information about this error, try `rustc --explain E0425`.
---
2019-11-04T08:02:53.2072635Z   local time: Mon Nov  4 08:02:53 UTC 2019
2019-11-04T08:02:53.7789562Z   network time: Mon, 04 Nov 2019 08:02:53 GMT
2019-11-04T08:02:53.7790387Z == end clock drift check ==
2019-11-04T08:02:55.3401987Z 
2019-11-04T08:02:55.3540539Z ##[error]Bash exited with code '1'.
2019-11-04T08:02:55.3579691Z ##[section]Starting: Checkout
2019-11-04T08:02:55.3581822Z ==============================================================================
2019-11-04T08:02:55.3581897Z Task         : Get sources
2019-11-04T08:02:55.3581949Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (pretty log, 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.
2019-11-04T08:25:50.0993732Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-11-04T08:25:50.1176880Z ##[command]git config gc.auto 0
2019-11-04T08:25:50.1266253Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-11-04T08:25:50.1314080Z ##[command]git config --get-all http.proxy
2019-11-04T08:25:50.1486974Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66069/merge:refs/remotes/pull/66069/merge
---
2019-11-04T09:27:47.1860965Z .................................................................................................... 1600/9271
2019-11-04T09:27:52.9505485Z .................................................................................................... 1700/9271
2019-11-04T09:28:05.8863303Z ..............................................................i...............i..................... 1800/9271
2019-11-04T09:28:13.5117179Z .................................................................................................... 1900/9271
2019-11-04T09:28:29.3337382Z ....................................................iiiii........................................... 2000/9271
2019-11-04T09:28:40.3012973Z .................................................................................................... 2200/9271
2019-11-04T09:28:42.9006047Z .................................................................................................... 2300/9271
2019-11-04T09:28:46.4632143Z .................................................................................................... 2400/9271
2019-11-04T09:29:10.3394065Z .................................................................................................... 2500/9271
2019-11-04T09:29:10.3394065Z .................................................................................................... 2500/9271
2019-11-04T09:29:13.1817290Z .................................................................................................... 2600/9271
2019-11-04T09:29:21.2358782Z .................................................................................................... 2700/9271
2019-11-04T09:29:30.2980740Z ....................i............................................................................... 2800/9271
2019-11-04T09:29:39.3977041Z .................................................................................................... 2900/9271
2019-11-04T09:29:44.0564341Z ...................i................................................................................ 3000/9271
2019-11-04T09:29:53.0202376Z .................................................................................................... 3100/9271
2019-11-04T09:29:58.8425382Z .................................................................................................... 3200/9271
2019-11-04T09:30:07.7795200Z .ii................................................................................................. 3300/9271
2019-11-04T09:30:24.9533268Z ..............................................................................................i..... 3500/9271
2019-11-04T09:30:32.6021913Z .........................................i.......................................................... 3600/9271
2019-11-04T09:30:39.3453252Z .................................................................................................... 3700/9271
2019-11-04T09:30:45.9978472Z .................................................................................................... 3800/9271
---
2019-11-04T09:32:05.1593936Z ....................................................i...............i............................... 4800/9271
2019-11-04T09:32:14.2890415Z .................................................................................................... 4900/9271
2019-11-04T09:32:23.2907988Z .................................................................................................... 5000/9271
2019-11-04T09:32:29.4587756Z .................................................................................................... 5100/9271
2019-11-04T09:32:40.2663696Z .....................................................ii.ii...........i.............................. 5200/9271
2019-11-04T09:32:50.4435372Z .................................................................................................... 5400/9271
2019-11-04T09:33:00.9459219Z .................................................................................................... 5500/9271
2019-11-04T09:33:08.5450286Z ..........................i......................................................................... 5600/9271
2019-11-04T09:33:15.2453286Z .................................................................................................... 5700/9271
2019-11-04T09:33:15.2453286Z .................................................................................................... 5700/9271
2019-11-04T09:33:27.3920313Z .................................................................................................... 5800/9271
2019-11-04T09:33:39.3626357Z ...........ii...i..ii...........i................................................................... 5900/9271
2019-11-04T09:34:00.0961386Z .................................................................................................... 6100/9271
2019-11-04T09:34:08.8568276Z .................................................................................................... 6200/9271
2019-11-04T09:34:08.8568276Z .................................................................................................... 6200/9271
2019-11-04T09:34:23.6755632Z ..............................i..ii................................................................. 6300/9271
2019-11-04T09:34:44.6069444Z .................................................................................................i.. 6500/9271
2019-11-04T09:34:46.8959653Z .................................................................................................... 6600/9271
2019-11-04T09:34:49.2671028Z ...........................................................................i........................ 6700/9271
2019-11-04T09:34:52.0390884Z .................................................................................................... 6800/9271
---
2019-11-04T09:40:18.7015501Z  finished in 5.734
2019-11-04T09:40:18.7211812Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-11-04T09:40:18.8868025Z 
2019-11-04T09:40:18.8874800Z running 158 tests
2019-11-04T09:40:22.5447160Z iiiiii....iii......iii..iiii...i.............................i..i..................i....i........... 100/158
2019-11-04T09:40:24.1333560Z ii.i.i..iiii..............i.........iii.i.........ii......
2019-11-04T09:40:24.1334113Z 
2019-11-04T09:40:24.1334919Z  finished in 5.412
2019-11-04T09:40:24.1522491Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-11-04T09:40:24.3154842Z 
---
2019-11-04T09:40:26.3573059Z  finished in 2.204
2019-11-04T09:40:26.3753586Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-11-04T09:40:26.5421472Z 
2019-11-04T09:40:26.5422167Z running 9 tests
2019-11-04T09:40:26.5426371Z iiiiiiiii
2019-11-04T09:40:26.5426764Z 
2019-11-04T09:40:26.5428563Z  finished in 0.167
2019-11-04T09:40:26.5604178Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-11-04T09:40:26.7309221Z 
---
2019-11-04T09:40:46.8592750Z  finished in 20.298
2019-11-04T09:40:46.8796834Z Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-11-04T09:40:47.0481773Z 
2019-11-04T09:40:47.0482524Z running 123 tests
2019-11-04T09:41:12.1259754Z .iiiii...i.....i..i...i..i.i.i..i.ii..i.i.....i..i....ii..........iiii..........i...ii...i.......ii. 100/123
2019-11-04T09:41:16.9970935Z i.i.i......iii.i.....ii
2019-11-04T09:41:16.9974541Z 
2019-11-04T09:41:16.9974715Z  finished in 30.117
2019-11-04T09:41:16.9983146Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-11-04T09:41:16.9984474Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2019-11-04T09:51:00.7871562Z    Compiling alloc v0.0.0 (/checkout/src/liballoc)
2019-11-04T09:51:09.9645915Z error[E0382]: borrow of moved value: `buf`
2019-11-04T09:51:09.9646333Z     --> src/liballoc/../liballoc/tests/vec.rs:1284:44
2019-11-04T09:51:09.9646602Z      |
2019-11-04T09:51:09.9646891Z 1276 |     let mut buf = Vec::with_capacity(100);
2019-11-04T09:51:09.9647303Z      |         ------- move occurs because `buf` has type `std::vec::Vec<&str>`, which does not implement the `Copy` trait
2019-11-04T09:51:09.9647938Z 1278 |         let mut buf2 = buf;
2019-11-04T09:51:09.9648883Z      |                        --- value moved here
2019-11-04T09:51:09.9649120Z ...
2019-11-04T09:51:09.9649120Z ...
2019-11-04T09:51:09.9649477Z 1284 |         val_size = core::mem::size_of_val(&buf[0]);
2019-11-04T09:51:09.9649858Z      |                                            ^^^ value borrowed here after move
2019-11-04T09:51:09.9714960Z error[E0382]: borrow of moved value: `buf`
2019-11-04T09:51:09.9715564Z     --> src/liballoc/../liballoc/tests/vec.rs:1315:44
2019-11-04T09:51:09.9715786Z      |
2019-11-04T09:51:09.9716191Z 1302 |     let mut buf = Vec::with_capacity(100);
2019-11-04T09:51:09.9716191Z 1302 |     let mut buf = Vec::with_capacity(100);
2019-11-04T09:51:09.9716609Z      |         ------- move occurs because `buf` has type `std::vec::Vec<&str>`, which does not implement the `Copy` trait
2019-11-04T09:51:09.9716888Z 1303 |     {
2019-11-04T09:51:09.9717196Z 1304 |         let mut buf2 = buf.recycle();
2019-11-04T09:51:09.9717523Z      |                        --- value moved here
2019-11-04T09:51:09.9717749Z ...
2019-11-04T09:51:09.9718063Z 1315 |         val_size = core::mem::size_of_val(&buf[0]);
2019-11-04T09:51:09.9718779Z      |                                            ^^^ value borrowed here after move
2019-11-04T09:51:09.9849513Z error: aborting due to 2 previous errors
2019-11-04T09:51:09.9849576Z 
2019-11-04T09:51:09.9855280Z For more information about this error, try `rustc --explain E0382`.
2019-11-04T09:51:10.1059125Z error: could not compile `alloc`.
---
2019-11-04T09:51:13.2826163Z   local time: Mon Nov  4 09:51:13 UTC 2019
2019-11-04T09:51:13.5609722Z   network time: Mon, 04 Nov 2019 09:51:13 GMT
2019-11-04T09:51:13.5613227Z == end clock drift check ==
2019-11-04T09:51:14.7313035Z 
2019-11-04T09:51:14.7456237Z ##[error]Bash exited with code '1'.
2019-11-04T09:51:14.7492476Z ##[section]Starting: Checkout
2019-11-04T09:51:14.7494354Z ==============================================================================
2019-11-04T09:51:14.7494414Z Task         : Get sources
2019-11-04T09:51:14.7494482Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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)

@JohnCSimon
Copy link
Member

Ping from triage:
@shepmaster Can you please review this PR?
CC: @golddranks @Centril

Thanks!

@golddranks
Copy link
Contributor Author

golddranks commented Nov 9, 2019

I am going to update the unresolved questions of this RFC. I’ll have time to do that on Monday or Tuesday next week. Edit: oops, responded without checking which thread this was. Never mind.

@shepmaster
Copy link
Member

Is this worth reviewing while the RFC is still being discussed?

@Dylan-DPC-zz Dylan-DPC-zz added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 15, 2019
@Dylan-DPC-zz
Copy link

Marking this as blocked because it is blocked on RFC

/// # }
/// ```
///
/// # Note about stabilization
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be removed now?

@bors
Copy link
Contributor

bors commented Jan 6, 2020

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

@bors
Copy link
Contributor

bors commented Jan 12, 2020

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

@Dylan-DPC-zz
Copy link

Closing this as this is blocked on the RFC and the RFC will take a while

@Dylan-DPC-zz Dylan-DPC-zz added S-blocked-closed and removed S-blocked Status: Blocked on something else such as an RFC or other implementation work. labels Apr 3, 2020
@jyn514 jyn514 added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-blocked-closed labels Mar 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-collections Area: `std::collection` S-blocked Status: Blocked on something else such as an RFC or other implementation work. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants