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

Rollup of 9 pull requests #57874

Closed
wants to merge 25 commits into from
Closed

Rollup of 9 pull requests #57874

wants to merge 25 commits into from

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Jan 24, 2019

Successful merges:

Failed merges:

r? @ghost

oli-obk and others added 25 commits January 18, 2019 11:40
This function takes a generator and wraps it in a future, not
vice-versa.
This commit adds a suggestion when a `=` character is used when
specifying the value of a field in a struct constructor incorrectly
instead of a `:` character.
Fix race condition when emitting stored diagnostics

r? @michaelwoerister
Get rid of the fake stack frame for reading from constants

r? @RalfJung

fixes the ice in rust-lang#53708 but still keeps around the wrong "non-exhaustive match" error

cc @varkor
Fix evaluating trivial drop glue in constants

```rust
struct A;
impl Drop for A {
    fn drop(&mut self) {}
}

const FOO: Option<A> = None;

const BAR: () = (FOO, ()).1;
```

was erroring with

```
error: any use of this value will cause an error
 --> src/lib.rs:9:1
  |
9 | const BAR: () = (FOO, ()).1;
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^-^
  |                           |
  |                           calling non-const function `std::ptr::real_drop_in_place::<(std::option::Option<A>, ())> - shim(Some((std::option::Option<A>, ())))`
  |
  = note: #[deny(const_err)] on by default

error: aborting due to previous error
```

before this PR. According to godbolt this last compiled successfully in 1.27
…=GuillaumeGomez

rustdoc: fix ICE from loading proc-macro stubs

Fixes rust-lang#55399

When trying to resolve a macro, rustdoc first tries to load it from the resolver to see whether it's a Macros 2.0 macro, so it can return that Def before looking for any other kind of macro. However, this becomes a problem when you try to load proc-macros: since you can't use a proc-macro inside its own crate, this lookup also fails when attempting to link to it.

However, we have a hint that this lookup will fail: Macros which are actually `ProcMacroStub`s will fail the lookup, so we can use that information to skip loading the macro. Rustdoc will then happily check `resolve.all_macros`, which will return a usable Def that we can link to.
Add os::fortanix_sgx::ffi module

This uses the same byte slice accessors that Unix has. The [ABI specifies](https://docs.rs/fortanix-sgx-abi/0.3.2/fortanix_sgx_abi/struct.ByteBuffer.html) byte slices.
…alexcrichton

Don't export table by default in wasm

Revert of rust-lang#53237
As per discussion here rustwasm/team#251
Add suggestion for incorrect field syntax.

Fixes rust-lang#57684.

This commit adds a suggestion when a `=` character is used when
specifying the value of a field in a struct constructor incorrectly
instead of a `:` character.

r? @estebank
…tril

Fix std::future::from_generator documentation

This function takes a generator and wraps it in a future, not
vice-versa.
Stabilize no_panic_pow

This would close rust-lang#48320.

I'm not sure if I've done this right, I've just changed attribute name to stable and set `since` to two minor versions above current stable since that seemed like what others were doing.
@Centril
Copy link
Contributor Author

Centril commented Jan 24, 2019

@bors r+ p=9

@bors
Copy link
Contributor

bors commented Jan 24, 2019

📌 Commit 84dd79b has been approved by Centril

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jan 24, 2019
@bors
Copy link
Contributor

bors commented Jan 24, 2019

⌛ Testing commit 84dd79b with merge b966b05b829954f0cd59e2f24abdbd5428bd8cec...

@bors
Copy link
Contributor

bors commented Jan 24, 2019

💔 Test failed - status-appveyor

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jan 24, 2019
@rust-highfive
Copy link
Collaborator

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.
Checking out files: 100% (17851/17851), done.
travis_time:end:04edf1cc:start=1548319272012743000,finish=1548319283616923000,duration=11604180000
$ cd rust-lang/rust
$ git checkout -qf b966b05b829954f0cd59e2f24abdbd5428bd8cec
fatal: reference is not a tree: b966b05b829954f0cd59e2f24abdbd5428bd8cec
The command "git checkout -qf b966b05b829954f0cd59e2f24abdbd5428bd8cec" failed and exited with 128 during .
Your build has been stopped.

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)

@Centril
Copy link
Contributor Author

Centril commented Jan 24, 2019

@bors retry

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 24, 2019
@bors
Copy link
Contributor

bors commented Jan 24, 2019

⌛ Testing commit 84dd79b with merge ab4501f2486d89ae931dcf49c70eda742fe40823...

@bors
Copy link
Contributor

bors commented Jan 24, 2019

💔 Test failed - checks-travis

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jan 24, 2019
@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-nopt 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.
[01:34:17] 
[01:34:17] ---- [ui (nll)] ui/static/static-drop-scope.rs stdout ----
[01:34:17] diff of stderr:
[01:34:17] 
[01:34:17] 54 LL |     (x, ()).1
[01:34:17] 55    |     ^^^^^^^ constant functions cannot evaluate destructors
[01:34:17] - error: aborting due to 8 previous errors
[01:34:17] - error: aborting due to 8 previous errors
[01:34:17] + error[E0493]: destructors cannot be evaluated at compile-time
[01:34:17] +    |
[01:34:17] +    |
[01:34:17] + LL | const EARLY_DROP_C_OPTION: i32 = (Some(WithDtor), 0).1;
[01:34:17] +    |                                  ^^^^^^^^^^^^^^^^^^^ constants cannot evaluate destructors
[01:34:17] + 
[01:34:17] + error[E0493]: destructors cannot be evaluated at compile-time
[01:34:17] +    |
[01:34:17] +    |
[01:34:17] + LL | const EARLY_DROP_C_OPTION_CONSTANT: i32 = (HELPER, 0).1;
[01:34:17] +    |                                           ^^^^^^^^^^^ constants cannot evaluate destructors
[01:34:17] + error: aborting due to 10 previous errors
[01:34:17] 58 
[01:34:17] 59 Some errors occurred: E0493, E0716.
[01:34:17] 60 For more information about an error, try `rustc --explain E0493`.
[01:34:17] 60 For more information about an error, try `rustc --explain E0493`.
[01:34:17] 
[01:34:17] 
[01:34:17] The actual stderr differed from the expected stderr.
[01:34:17] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/static/static-drop-scope.nll/static-drop-scope.nll.stderr
[01:34:17] To update references, rerun the tests and pass the `--bless` flag
[01:34:17] To only update this specific test, also pass `--test-args static/static-drop-scope.rs`
[01:34:17] error: 1 errors occurred comparing output.
[01:34:17] status: exit code: 1
[01:34:17] status: exit code: 1
[01:34:17] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/static/static-drop-scope.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/static/static-drop-scope.nll/a" "-Zborrowck=migrate" "-Ztwo-phase-borrows" "-Crpath" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/static/static-drop-scope.nll/auxiliary" "-A" "unused"
[01:34:17] ------------------------------------------
[01:34:17] 
[01:34:17] ------------------------------------------
[01:34:17] stderr:
[01:34:17] stderr:
[01:34:17] ------------------------------------------
[01:34:17] {"message":"destructors cannot be evaluated at compile-time","code":{"code":"E0493","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/static/static-drop-scope.rs","byte_start":154,"byte_end":162,"line_start":9,"line_end":9,"column_start":60,"column_end":68,"is_primary":true,"text":[{"text":"static PROMOTION_FAIL_S: Option<&'static WithDtor> = Some(&WithDtor);","highlight_start":60,"highlight_end":68}],"label":"statics cannot evaluate destructors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0493]: destructors cannot be evaluated at compile-time\n  --> /checkout/src/test/ui/static/static-drop-scope.rs:9:60\n   |\nLL | static PROMOTION_FAIL_S: Option<&'static WithDtor> = Some(&WithDtor);\n   |                                                            ^^^^^^^^ statics cannot evaluate destructors\n\n"}
[01:34:17] {"message":"temporary value dropped while borrowed","code":{"code":"E0716","explanation":"\nThis error indicates that a temporary value is being dropped\nwhile a borrow is still in active use.\n\nErroneous code example:\n\n```compile_fail,E0716\n# #![feature(nll)]\nfn foo() -> i32 { 22 }\nfn bar(x: &i32) -> &i32 { x }\nlet p = bar(&foo());\n         // ------ creates a temporary\nlet q = *p;\n```\n\nHere, the expression `&foo()` is borrowing the expression\n`foo()`. As `foo()` is call to a function, and not the name of\na variable, this creates a **temporary** -- that temporary stores\nthe return value from `foo()` so that it can be borrowed.\nSo you might imagine that `let p = bar(&foo())` is equivalent\nto this:\n\n```compile_fail,E0597\n# fn foo() -> i32 { 22 }\n# fn bar(x: &i32) -> &i32 { x }\nlet p = {\n  let tmp = foo(); // the temporary\n  bar(&tmp)\n}; // <-- tmp is freed as we exit this block\nlet q = p;\n```\n\nWhenever a temporary is created, it is automatically dropped (freed)\naccording to fixed rules. Ordinarily, the temporary is dropped\nat the end of the enclosing statement -- in this case, after the `let`.\nThis is illustrated in the example above by showing that `tmp` would\nbe freed as we exit the block.\n\nTo fix this problem, you need to create a local variable\nto store the value in rather than relying on a temporary.\nFor example, you might change the original program to\nthe following:\n\n```\nfn foo() -> i32 { 22 }\nfn bar(x: &i32) -> &i32 { x }\nlet value = foo(); // dropped at the end of the enclosing block\nlet p = bar(&value);\nlet q = *p;\n```\n\nBy introducing the explicit `let value`, we allocate storage\nthat will last until the end of the enclosing block (when `value`\ngoes out of scope). When we borrow `&value`, we are borrowing a\nlocal variable that already exists, and hence no temporary is created.\n\nTemporaries are not always dropped at the end of the enclosing\nstatement. In simple cases where the `&` expression is immediately\nstored into a variable, the compiler will automatically extend\nthe lifetime of the temporary until the end of the enclosing\nblock. Therefore, an alternative way to fix the original\nprogram is to write `let tmp = &foo()` and not `let tmp = foo()`:\n\n```\nfn foo() -> i32 { 22 }\nfn bar(x: &i32) -> &i32 { x }\nlet value = &foo();\nlet p = bar(value);\nlet q = *p;\n```\n\nHere, we are still borrowing `foo()`, but as the borrow is assigned\ndirectly into a variable, the temporary will not be dropped until\nthe end of the enclosing block. Similar rules apply when temporaries\nare stored into aggregate structures like a tuple or struct:\n\n```\n// Here, two temporaries are created, but\n// as they are stored directly into `value`,\n// they are not dropped until the end of the\n// enclosing block.\nfn foo() -> i32 { 22 }\nlet value = (&foo(), &foo());\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/static/static-drop-scope.rs","byte_start":154,"byte_end":162,"line_start":9,"line_end":9,"column_start":60,"column_end":68,"is_primary":true,"text":[{"text":"static PROMOTION_FAIL_S: Option<&'static WithDtor> = Some(&WithDtor);","highlight_start":60,"highlight_end":68}],"label":"creates a temporary which is freed while still in use","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/static/static-drop-scope.rs","byte_start":162,"byte_end":163,"line_start":9,"line_end":9,"column_start":68,"column_end":69,"is_primary":false,"text":[{"text":"static PROMOTION_FAIL_S: Option<&'static WithDtor> = Some(&WithDtor);","highlight_start":68,"highlight_end":69}],"label":"temporary value is freed at the end of this statement","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/static/static-drop-scope.rs","byte_start":148,"byte_end":163,"line_start":9,"line_end":9,"column_start":54,"column_end":69,"is_primary":false,"text":[{"text":"static PROMOTION_FAIL_S: Option<&'static WithDtor> = Some(&WithDtor);","highlight_start":54,"highlight_end":69}],"label":"using this value as a static requires that borrow lasts for `'static`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0716]: temporary value dropped while borrowed\n  --> /checkout/src/test/ui/static/static-drop-scope.rs:9:60\n   |\nLL | static PROMOTION_FAIL_S: Option<&'static WithDtor> = Some(&WithDtor);\n   |                                                      ------^^^^^^^^-\n   |                                                      |     |       |\n   |                                                      |     |       temporary value is freed at the end of this statement\n   |                                                      |     creates a temporary which is freed while still in use\n   |                                                      using this value as a static requires that borrow lasts for `'static`\n\n"}
[01:34:17] {"message":"destructors cannot be evaluated at compile-time","code":{"code":"E0493","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/static/static-drop-scope.rs","byte_start":334,"byte_end":342,"line_start":13,"line_end":13,"column_start":59,"column_end":67,"is_primary":true,"text":[{"text":"const PROMOTION_FAIL_C: Option<&'static WithDtor> = Some(&WithDtor);","highlight_start":59,"highlight_end":67}],"label":"constants cannot evaluate destructors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0493]: destructors cannot be evaluated at compile-time\n  --> /checkout/src/test/ui/static/static-drop-scope.rs:13:59\n   |\nLL | const PROMOTION_FAIL_C: Option<&'static WithDtor> = Some(&WithDtor);\n   |                                                           ^^^^^^^^ constants cannot evaluate destructors\n\n"}
[01:34:17] {"message":"temporary value dropped while borrowed","code":{"code":"E0716","explanation":"\nThis error indicates that a temporary value is being dropped\nwhile a borrow is still in active use.\n\nErroneous code example:\n\n```compile_fail,E0716\n# #![feature(nll)]\nfn foo() -> i32 { 22 }\nfn bar(x: &i32) -> &i32 { x }\nlet p = bar(&foo());\n         // ------ creates a temporary\nlet q = *p;\n```\n\nHere, the expression `&foo()` is borrowing the expression\n`foo()`. As `foo()` is call to a function, and not the name of\na variable, this creates a **temporary** -- that temporary stores\nthe return value from `foo()` so that it can be borrowed.\nSo you might imagine that `let p = bar(&foo())` is equivalent\nto this:\n\n```compile_fail,E0597\n# fn foo() -> i32 { 22 }\n# fn bar(x: &i32) -> &i32 { x }\nlet p = {\n  let tmp = foo(); // the temporary\n  bar(&tmp)\n}; // <-- tmp is freed as we exit this block\nlet q = p;\n```\n\nWhenever a temporary is created, it is automatically dropped (freed)\naccording to fixed rules. Ordinarily, the temporary is dropped\nat the end of the enclosing statement -- in this case, after the `let`.\nThis is illustrated in the example above by showing that `tmp` would\nbe freed as we exit the block.\n\nTo fix this problem, you need to create a local variable\nto store the value in rather than relying on a temporary.\nFor example, you might change the original program to\nthe following:\n\n```\nfn foo() -> i32 { 22 }\nfn bar(x: &i32) -> &i32 { x }\nlet value = foo(); // dropped at the end of the enclosing block\nlet p = bar(&value);\nlet q = *p;\n```\n\nBy introducing the explicit `let value`, we allocate storage\nthat will last until the end of the enclosing block (when `value`\ngoes out of scope). When we borrow `&value`, we are borrowing a\nlocal variable that already exists, and hence no temporary is created.\n\nTemporaries are not always dropped at the end of the enclosing\nstatement. In simple cases where the `&` expression is immediately\nstored into a variable, the compiler will automatically extend\nthe lifetime of the temporary until the end of the enclosing\nblock. Therefore, an alternative way to fix the original\nprogram is to write `let tmp = &foo()` and not `let tmp = foo()`:\n\n```\nfn foo() -> i32 { 22 }\nfn bar(x: &i32) -> &i32 { x }\nlet value = &foo();\nlet p = bar(value);\nlet q = *p;\n```\n\nHere, we are still borrowing `foo()`, but as the borrow is assigned\ndirectly into a variable, the temporary will not be dropped until\nthe end of the enclosing block. Similar rules apply when temporaries\nare stored into aggregate structures like a tuple or struct:\n\n```\n// Here, two temporaries are created, but\n// as they are stored directly into `value`,\n// they are not dropped until the end of the\n// enclosing block.\nfn foo() -> i32 { 22 }\nlet value = (&foo(), &foo());\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/static/static-drop-scope.rs","byte_start":334,"byte_end":342,"line_start":13,"line_end":13,"column_start":59,"column_end":67,"is_primary":true,"text":[{"text":"const PROMOTION_FAIL_C: Option<&'static WithDtor> = Some(&WithDtor);","highlight_start":59,"highlight_end":67}],"label":"creates a temporary which is freed while still in use","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/static/static-drop-scope.rs","byte_start":342,"byte_end":343,"line_start":13,"line_end":13,"column_start":67,"column_end":68,"is_primary":false,"text":[{"text":"const PROMOTION_FAIL_C: Option<&'static WithDtor> = Some(&WithDtor);","highlight_start":67,"highlight_end":68}],"label":"temporary value is freed at the end of this statement","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/static/static-drop-scope.rs","byte_start":328,"byte_end":343,"line_start":13,"line_end":13,"column_start":53,"column_end":68,"is_primary":false,"text":[{"text":"const PROMOTION_FAIL_C: Option<&'static WithDtor> = Some(&WithDtor);","highlight_start":53,"highlight_end":68}],"label":"using this value as a constant requires that borrow lasts for `'static`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0716]: temporary value dropped while borrowed\n  --> /checkout/src/test/ui/static/static-drop-scope.rs:13:59\n   |\nLL | const PROMOTION_FAIL_C: Option<&'static WithDtor> = Some(&WithDtor);\n   |                                                     ------^^^^^^^^-\n   |                                                     |     |       |\n   |                                                     |     |       temporary value is freed at the end of this statement\n   |                                                     |     creates a temporary which is freed while still in use\n   |                                                     using this value as a constant requires that borrow lasts for `'static`\n\n"}
[01:34:17] {"message":"destructors cannot be evaluated at compile-time","code":{"code":"E0493","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/static/static-drop-scope.rs","byte_start":483,"byte_end":496,"line_start":17,"line_end":17,"column_start":28,"column_end":41,"is_primary":true,"text":[{"text":"static EARLY_DROP_S: i32 = (WithDtor, 0).1;","highlight_start":28,"highlight_end":41}],"label":"statics cannot evaluate destructors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0493]: destructors cannot be evaluated at compile-time\n  --> /checkout/src/test/ui/static/static-drop-scope.rs:17:28\n   |\nLL | static EARLY_DROP_S: i32 = (WithDtor, 0).1;\n   |                            ^^^^^^^^^^^^^ statics cannot evaluate destructors\n\n"}
[01:34:17] {"message":"destructors cannot be evaluated at compile-time","code":{"code":"E0493","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/static/static-drop-scope.rs","byte_start":586,"byte_end":599,"line_start":20,"line_end":20,"column_start":27,"column_end":40,"is_primary":true,"text":[{"text":"const EARLY_DROP_C: i32 = (WithDtor, 0).1;","highlight_start":27,"highlight_end":40}],"label":"constants cannot evaluate destructors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0493]: destructors cannot be evaluated at compile-time\n  --> /checkout/src/test/ui/static/static-drop-scope.rs:20:27\n   |\nLL | const EARLY_DROP_C: i32 = (WithDtor, 0).1;\n   |                           ^^^^^^^^^^^^^ constants cannot evaluate destructors\n\n"}
[01:34:17] {"message":"destructors cannot be evaluated at compile-time","code":{"code":"E0493","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/static/static-drop-scope.rs","byte_start":686,"byte_end":687,"line_start":23,"line_end":23,"column_start":24,"column_end":25,"is_primary":true,"text":[{"text":"const fn const_drop<T>(_: T) {}","highlight_start":24,"highlight_end":25}],"label":"constant functions cannot evaluate destructors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0493]: destructors cannot be evaluated at compile-time\n  --> /checkout/src/test/ui/static/static-drop-scope.rs:23:24\n   |\nLL | const fn const_drop<T>(_: T) {}\n   |                        ^ constant functions cannot evaluate destructors\n\n"}
[01:34:17] {"message":"destructors cannot be evaluated at compile-time","code":{"code":"E0493","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/static/static-drop-scope.rs","byte_start":791,"byte_end":798,"line_start":27,"line_end":27,"column_start":5,"column_end":12,"is_primary":true,"text":[{"text":"    (x, ()).1","highlight_start":5,"highlight_end":12}],"label":"constant functions cannot evaluate destructors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0493]: destructors cannot be evaluated at compile-time\n  --> /checkout/src/test/ui/static/static-drop-scope.rs:27:5\n   |\nLL |     (x, ()).1\n   |     ^^^^^^^ constant functions cannot evaluate destructors\n\n"}
[01:34:17] {"message":"destructors cannot be evaluated at compile-time","code":{"code":"E0493","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/static/static-drop-scope.rs","byte_start":900,"byte_end":919,"line_start":31,"line_end":31,"column_start":34,"column_end":53,"is_primary":true,"text":[{"text":"const EARLY_DROP_C_OPTION: i32 = (Some(WithDtor), 0).1;","highlight_start":34,"highlight_end":53}],"label":"constants cannot evaluate destructors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0493]: destructors cannot be evaluated at compile-time\n  --> /checkout/src/test/ui/static/static-drop-scope.rs:31:34\n   |\nLL | const EARLY_DROP_C_OPTION: i32 = (Some(WithDtor), 0).1;\n   |                                  ^^^^^^^^^^^^^^^^^^^ constants cannot evaluate destructors\n\n"}
[01:34:17] {"message":"destructors cannot be evaluated at compile-time","code":{"code":"E0493","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/static/static-drop-scope.rs","byte_start":1075,"byte_end":1086,"line_start":36,"line_end":36,"column_start":43,"column_end":54,"is_primary":true,"text":[{"text":"const EARLY_DROP_C_OPTION_CONSTANT: i32 = (HELPER, 0).1;","highlight_start":43,"highlight_end":54}],"label":"constants cannot evaluate destructors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0493]: destructors cannot be evaluated at compile-time\n  --> /checkout/src/test/ui/static/static-drop-scope.rs:36:43\n   |\nLL | const EARLY_DROP_C_OPTION_CONSTANT: i32 = (HELPER, 0).1;\n   |                                           ^^^^^^^^^^^ constants cannot evaluate destructors\n\n"}
[01:34:17] {"message":"aborting due to 10 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 10 previous errors\n\n"}
[01:34:17] {"message":"Some errors occurred: E0493, E0716.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0493, E0716.\n"}
[01:34:17] 
[01:34:17] ------------------------------------------
[01:34:17] 
[01:34:17] thread '[ui (nll)] ui/static/static-drop-scope.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3245:9
---
[01:34:17] 
[01:34:17] thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:495:22
[01:34:17] 
[01:34:17] 
[01:34:17] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/bin/FileCheck" "--host-rustcflags" "-Crpath -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--llvm-version" "8.0.0svn\n" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always" "--compare-mode" "nll"
[01:34:17] 
[01:34:17] 
[01:34:17] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:34:17] Build completed unsuccessfully in 0:08:27
[01:34:17] Build completed unsuccessfully in 0:08:27
[01:34:17] Makefile:48: recipe for target 'check' failed
[01:34:17] make: *** [check] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:1324a720
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Thu Jan 24 10:19:47 UTC 2019
---
travis_time:end:0fd8f8ad:start=1548325189255622015,finish=1548325189267399836,duration=11777821
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:08fa4d34
$ 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:0b1c9e4b
travis_time:start:0b1c9e4b
$ 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:009e49cc
$ 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)

@Centril Centril closed this Jan 24, 2019
@Centril Centril deleted the rollup branch January 24, 2019 17:20
@Centril Centril added the rollup A PR which is a rollup label Oct 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants