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

Return early from a MIR Visitor #65572

Closed

Conversation

ecstatic-morse
Copy link
Contributor

@ecstatic-morse ecstatic-morse commented Oct 18, 2019

This allows functions to return a Result from the visit_* methods on a MIR Visitor. Returning an Err will stop visitation. This PR is an exploration of an idea I floated on Zulip. It shouldn't land as is.

The diff for the is_min_const_fnchange is easier to read if whitespace is ignored.

r? @nikomatsakis

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 18, 2019
@ecstatic-morse ecstatic-morse changed the title [DO NOT MERGE] A proof of concept for early return from a MIR Visitor [DO NOT MERGE] A proof-of-concept for early return from a MIR Visitor Oct 18, 2019
src/libcore/ops/try.rs Outdated Show resolved Hide resolved
@rust-highfive

This comment has been minimized.

@rust-highfive

This comment has been minimized.

@ecstatic-morse ecstatic-morse force-pushed the mir-visitor-break branch 2 times, most recently from 9d95568 to 44126d8 Compare October 19, 2019 02:02
body: &'mir Body<'tcx>,
}

impl Visitor<'tcx, McfResult> for IsMinConstFn<'mir, 'tcx> {
Copy link
Contributor

Choose a reason for hiding this comment

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

I actually liked the fact that we didn't use a visitor for this code cause visitors are pretty fragile when it comes to adding new things to a construct. In particular, if the visitor gains new provided methods then chances are they won't be modified here and so we may accidentally allow new things on stable... how do we prevent this? cc @oli-obk

Copy link
Contributor Author

@ecstatic-morse ecstatic-morse Oct 19, 2019

Choose a reason for hiding this comment

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

I think the problem that you're describing is mostly solved with exhaustive matching on Rvalue, StatementKind etc. This type of defensive coding is a requirement for both when using Visitor and when manually recursing. Can you give an example where this kind of breakage would occur in one but not the other?

The downside of manual recursion is that it's easier to forget to call visit_operand or visit_place on something. The super methods put this code in one place, making it easier to audit for correctness. You don't have to, for example, match all the fields of a TerminatorKind::Call just so you can call your equivalent of visit_* for each one.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think the problem that you're describing is mostly solved with exhaustive matching on Rvalue, StatementKind etc.

Sure, that works well when you are already matching on a specific enum and another variant is added, but what if a new enum or struct is added altogether?

Can you give an example where this kind of breakage would occur in one but not the other?

I suspect it is more likely with manual recursion that we would notice that a new field has been added for example...

The downside of manual recursion is that it's easier to forget to call visit_operand or visit_place on something.

...but this is a fair point; maybe I'm overly paranoid. :)

Copy link
Contributor Author

@ecstatic-morse ecstatic-morse Oct 19, 2019

Choose a reason for hiding this comment

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

I think a better critique of Visitor APIs is that they encourage keeping a lot of ancillary state in the implementer instead of explicitly passing it via function parameters. This is exacerbated by by the fact that Visitor takes &mut self. Also, because the order of traversal is defined in the super methods, you need to check elsewhere to ensure that things are called in the order you expect. You can see both of these downsides in the way span is updated in the POC.

Copy link
Contributor

Choose a reason for hiding this comment

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

Here's a suggestion: Let's modify the visitor documentation to suggest that the developer first add the new visitor method without a provided method; this will make errors all over the place and the developer will need to consider them all. Once they have been considered, the method can become provided.

Copy link
Contributor

Choose a reason for hiding this comment

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

@ecstatic-morse I agree with that critique as well. :) I think SYB in the style of lens is neater for that reason, but we don't have generic closures unfortunately.

@bors
Copy link
Contributor

bors commented Oct 19, 2019

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

@ecstatic-morse ecstatic-morse changed the title [DO NOT MERGE] A proof-of-concept for early return from a MIR Visitor Return early from a MIR Visitor Oct 19, 2019
@bors
Copy link
Contributor

bors commented Oct 25, 2019

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

@@ -120,181 +120,182 @@ macro_rules! yrt { // try backwards

macro_rules! make_mir_visitor {
($visitor_trait_name:ident, $($mutability:ident)?) => {
pub trait $visitor_trait_name<'tcx> {
pub trait $visitor_trait_name<'tcx, R: TryHarder<Ok = ()> = ()> {
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we use Result<T, E> with an associated error type that is sometimes ! instead? I guess that requires Ok wrapping, but seems overall simpler, and we could continue to use ??

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That would require modifying all implementers of Visitor right? I didn't want to do this until there was some interest in it. I agree that it would be nicer though.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes, it would require that. We could of course do it not with an associated type but with a type parameter, just as you did here

trait Visitor<'tcx, E = !> { ... }

that may be better anyway

@ecstatic-morse
Copy link
Contributor Author

The perf queue is pretty empty, so

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion

@bors
Copy link
Contributor

bors commented Nov 2, 2019

⌛ Trying commit ef7bd53 with merge ca31dd2...

bors added a commit that referenced this pull request Nov 2, 2019
Return early from a MIR `Visitor`

This allows functions to return a `Result` from the `visit_*` methods on a MIR `Visitor`. Returning an `Err` will stop visitation. This PR is an exploration of an idea I floated [on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Early.20return.20from.20a.20MIR.20.60Visitor.60.3F). It shouldn't land as is.

The diff for the `is_min_const_fn`change is easier to read if whitespace is ignored.

r? @nikomatsakis
@bors
Copy link
Contributor

bors commented Nov 2, 2019

☀️ Try build successful - checks-azure
Build commit: ca31dd2 (ca31dd29a6ea770933f36cb7973b33c8d522b606)

@rust-timer
Copy link
Collaborator

Queued ca31dd2 with parent f39205b, future comparison URL.

@rust-timer
Copy link
Collaborator

Finished benchmarking try commit ca31dd2, comparison URL.

@ecstatic-morse
Copy link
Contributor Author

ecstatic-morse commented Nov 3, 2019

I was worried that the early return path would not be optimized out of the super methods for visitors whose return type was (), and that appears to be what happened here. I don't think the changes to qualify_min_const_fn are the culprit. My guess is that changing this to use Result<(), E = !> directly for every Visitor wouldn't help.

I'm inclined to close this, even though it would make some code more legible. WDYT @nikomatsakis? It is curious that the minimum instruction count is unchanged for the regressed benchmarks.

@nikomatsakis
Copy link
Contributor

@ecstatic-morse hmm, it's a bit disappointing to see those perf results, hmm? I wonder if that's an optimization waiting to be done. Maybe we should try to compare the perf effect of matching on Result<(), !> vs just doing nothing...

@nikomatsakis
Copy link
Contributor

I guess I'm indifferent. I'm not eager to lose 2%, but I do think early return is nice. It feels disappointing that we don't optimize this well. At minimum I would want to open an issue with a small example that maybe shows the problem and see if we can optimize it.

@Centril
Copy link
Contributor

Centril commented Nov 8, 2019

This might be an optimization issue with ? itself iirc; cc @scottmcm @dtolnay

@scottmcm
Copy link
Member

scottmcm commented Nov 8, 2019

There's a long-standing issue that destructing-and-rebuilding a Result isn't a nop: https://rust.godbolt.org/z/map4wQ. That's the core problem behind runtime cost of ?, IIRC.

I'm not sure if there's a tweak to the desugaring or Try trait that we could do to improve it.

@oli-obk

This comment has been minimized.

@JohnCSimon JohnCSimon removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Nov 16, 2019
@ecstatic-morse
Copy link
Contributor Author

I rebased, but this may now be blocked on #66855. I would schedule a perf run, but the queue is very full at the moment. I'll let @oli-obk decide whether to wait for that issue to be resolved.

@oli-obk
Copy link
Contributor

oli-obk commented Dec 1, 2019

@bors try

Bors is a bit flaky because of some chocolatey reasons, we can keep working as usual, we just don't get much merged right now.

That issue will indeed cause a perf run to not show any improvement as far as I can tell.

@bors
Copy link
Contributor

bors commented Dec 1, 2019

⌛ Trying commit 20ce01d with merge 70f76a4...

bors added a commit that referenced this pull request Dec 1, 2019
Return early from a MIR `Visitor`

This allows functions to return a `Result` from the `visit_*` methods on a MIR `Visitor`. Returning an `Err` will stop visitation. This PR is an exploration of an idea I floated [on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Early.20return.20from.20a.20MIR.20.60Visitor.60.3F). It shouldn't land as is.

The diff for the `is_min_const_fn`change is easier to read if whitespace is ignored.

r? @nikomatsakis
@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-12-01T20:23:20.6698701Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-12-01T20:23:20.6908222Z ##[command]git config gc.auto 0
2019-12-01T20:23:20.6991114Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-12-01T20:23:20.7049841Z ##[command]git config --get-all http.proxy
2019-12-01T20:23:20.7195252Z ##[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/65572/merge:refs/remotes/pull/65572/merge
---
2019-12-01T21:22:13.5658576Z .................................................................................................... 1300/9316
2019-12-01T21:22:20.2349803Z .................................................................................................... 1400/9316
2019-12-01T21:22:26.0020741Z ................................................................................F................... 1500/9316
2019-12-01T21:22:32.0637389Z .................................................................................................... 1600/9316
2019-12-01T21:22:36.5281711Z ....................................F.F..FFFF......F................................................ 1700/9316
2019-12-01T21:22:56.4097913Z .................................................................................................... 1900/9316
2019-12-01T21:22:56.4097913Z .................................................................................................... 1900/9316
2019-12-01T21:23:09.9692122Z .........................iiiii...................................................................... 2000/9316
2019-12-01T21:23:19.9026247Z .................................................................................................... 2200/9316
2019-12-01T21:23:22.4037287Z .................................................................................................... 2300/9316
2019-12-01T21:23:26.7888222Z .................................................................................................... 2400/9316
2019-12-01T21:23:48.0713061Z .................................................................................................... 2500/9316
---
2019-12-01T21:26:25.4581273Z ...........................i...............i........................................................ 4800/9316
2019-12-01T21:26:35.7726986Z .................................................................................................... 4900/9316
2019-12-01T21:26:41.9109452Z .................................................................................................... 5000/9316
2019-12-01T21:26:49.9628103Z .................................................................................................... 5100/9316
2019-12-01T21:26:57.4492892Z .................................ii.ii...........i.................................................. 5200/9316
2019-12-01T21:27:06.7500496Z .................................................................................................... 5400/9316
2019-12-01T21:27:16.6829769Z .................................................................................................... 5500/9316
2019-12-01T21:27:23.8919672Z ...............i.................................................................................... 5600/9316
2019-12-01T21:27:29.8708590Z .................................................................................................... 5700/9316
2019-12-01T21:27:29.8708590Z .................................................................................................... 5700/9316
2019-12-01T21:27:40.9793826Z .................................................................................................... 5800/9316
2019-12-01T21:27:52.8850050Z .ii...i...ii..........i............................................................................. 5900/9316
2019-12-01T21:28:10.8241023Z .................................................................................................... 6100/9316
2019-12-01T21:28:14.5281435Z .................................................................................................... 6200/9316
2019-12-01T21:28:14.5281435Z .................................................................................................... 6200/9316
2019-12-01T21:28:28.2355591Z ........................i..ii....................................................................... 6300/9316
2019-12-01T21:28:48.0248536Z ...............................................................................................i.... 6500/9316
2019-12-01T21:28:50.1175631Z .................................................................................................... 6600/9316
2019-12-01T21:28:52.2411724Z ......................................................................................i............. 6700/9316
2019-12-01T21:28:54.8370519Z .................................................................................................... 6800/9316
---
2019-12-01T21:33:41.4040310Z 10 error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4042214Z -   --> $DIR/const-extern-fn-min-const-fn.rs:5:41
2019-12-01T21:33:41.4043806Z +   --> $DIR/const-extern-fn-min-const-fn.rs:5:1
2019-12-01T21:33:41.4044968Z 12    |
2019-12-01T21:33:41.4046888Z 13 LL | const unsafe extern "C" fn closure() -> fn() { || {} }
2019-12-01T21:33:41.4049763Z +    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T21:33:41.4050913Z 15    |
2019-12-01T21:33:41.4050913Z 15    |
2019-12-01T21:33:41.4051567Z 16    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4055886Z 17    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4057172Z 
2019-12-01T21:33:41.4057398Z The actual stderr differed from the expected stderr.
2019-12-01T21:33:41.4058111Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-extern-fn/const-extern-fn-min-const-fn/const-extern-fn-min-const-fn.stderr
2019-12-01T21:33:41.4058111Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-extern-fn/const-extern-fn-min-const-fn/const-extern-fn-min-const-fn.stderr
2019-12-01T21:33:41.4059509Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T21:33:41.4061078Z To only update this specific test, also pass `--test-args consts/const-extern-fn/const-extern-fn-min-const-fn.rs`
2019-12-01T21:33:41.4061474Z error: 1 errors occurred comparing output.
2019-12-01T21:33:41.4061595Z status: exit code: 1
2019-12-01T21:33:41.4061595Z status: exit code: 1
2019-12-01T21:33:41.4062833Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-extern-fn/const-extern-fn-min-const-fn.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-extern-fn/const-extern-fn-min-const-fn" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/const-extern-fn/const-extern-fn-min-const-fn/auxiliary" "-A" "unused"
2019-12-01T21:33:41.4063600Z ------------------------------------------
2019-12-01T21:33:41.4063745Z 
2019-12-01T21:33:41.4064066Z ------------------------------------------
2019-12-01T21:33:41.4064212Z stderr:
2019-12-01T21:33:41.4064212Z stderr:
2019-12-01T21:33:41.4064490Z ------------------------------------------
2019-12-01T21:33:41.4064666Z error[E0723]: unsizing casts are not allowed in const fn
2019-12-01T21:33:41.4065654Z   --> /checkout/src/test/ui/consts/const-extern-fn/const-extern-fn-min-const-fn.rs:3:48
2019-12-01T21:33:41.4065944Z    |
2019-12-01T21:33:41.4066323Z LL | const extern fn unsize(x: &[u8; 3]) -> &[u8] { x }
2019-12-01T21:33:41.4066667Z    |
2019-12-01T21:33:41.4066667Z    |
2019-12-01T21:33:41.4067113Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4067333Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4067631Z error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4068037Z   --> /checkout/src/test/ui/consts/const-extern-fn/const-extern-fn-min-const-fn.rs:5:1
2019-12-01T21:33:41.4068236Z    |
2019-12-01T21:33:41.4068236Z    |
2019-12-01T21:33:41.4068593Z LL | const unsafe extern "C" fn closure() -> fn() { || {} }
2019-12-01T21:33:41.4069070Z    |
2019-12-01T21:33:41.4069070Z    |
2019-12-01T21:33:41.4069595Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4069778Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4069885Z 
2019-12-01T21:33:41.4070001Z error[E0723]: only int, `bool` and `char` operations are stable in const fn
2019-12-01T21:33:41.4070504Z    |
2019-12-01T21:33:41.4070504Z    |
2019-12-01T21:33:41.4070630Z LL | const unsafe extern fn use_float() { 1.0 + 1.0; }
2019-12-01T21:33:41.4070883Z    |
2019-12-01T21:33:41.4070883Z    |
2019-12-01T21:33:41.4071250Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4071434Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4071671Z error[E0723]: casting pointers to ints is unstable in const fn
2019-12-01T21:33:41.4072023Z   --> /checkout/src/test/ui/consts/const-extern-fn/const-extern-fn-min-const-fn.rs:9:48
2019-12-01T21:33:41.4072174Z    |
2019-12-01T21:33:41.4072174Z    |
2019-12-01T21:33:41.4072309Z LL | const extern "C" fn ptr_cast(val: *const u8) { val as usize; }
2019-12-01T21:33:41.4072541Z    |
2019-12-01T21:33:41.4072541Z    |
2019-12-01T21:33:41.4072905Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4073079Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4073830Z error: aborting due to 4 previous errors
2019-12-01T21:33:41.4073941Z 
2019-12-01T21:33:41.4074310Z For more information about this error, try `rustc --explain E0723`.
2019-12-01T21:33:41.4074472Z 
---
2019-12-01T21:33:41.4076500Z 1 error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4076880Z -   --> $DIR/allow_const_fn_ptr.rs:4:16
2019-12-01T21:33:41.4077372Z +   --> $DIR/allow_const_fn_ptr.rs:4:25
2019-12-01T21:33:41.4077556Z 3    |
2019-12-01T21:33:41.4077695Z 4 LL | const fn error(_: fn()) {}
2019-12-01T21:33:41.4078212Z +    |                         ^
2019-12-01T21:33:41.4078450Z 6    |
2019-12-01T21:33:41.4078450Z 6    |
2019-12-01T21:33:41.4079355Z 7    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4079728Z 8    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4080192Z 
2019-12-01T21:33:41.4080330Z The actual stderr differed from the expected stderr.
2019-12-01T21:33:41.4080924Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/allow_const_fn_ptr/allow_const_fn_ptr.stderr
2019-12-01T21:33:41.4080924Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/allow_const_fn_ptr/allow_const_fn_ptr.stderr
2019-12-01T21:33:41.4081609Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T21:33:41.4082179Z To only update this specific test, also pass `--test-args consts/min_const_fn/allow_const_fn_ptr.rs`
2019-12-01T21:33:41.4082812Z error: 1 errors occurred comparing output.
2019-12-01T21:33:41.4083253Z status: exit code: 1
2019-12-01T21:33:41.4083253Z status: exit code: 1
2019-12-01T21:33:41.4085000Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/min_const_fn/allow_const_fn_ptr.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/allow_const_fn_ptr" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/min_const_fn/allow_const_fn_ptr/auxiliary" "-A" "unused"
2019-12-01T21:33:41.4086477Z ------------------------------------------
2019-12-01T21:33:41.4086723Z 
2019-12-01T21:33:41.4087101Z ------------------------------------------
2019-12-01T21:33:41.4087302Z stderr:
2019-12-01T21:33:41.4087302Z stderr:
2019-12-01T21:33:41.4087837Z ------------------------------------------
2019-12-01T21:33:41.4088058Z error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4088654Z   --> /checkout/src/test/ui/consts/min_const_fn/allow_const_fn_ptr.rs:4:25
2019-12-01T21:33:41.4089009Z    |
2019-12-01T21:33:41.4089306Z LL | const fn error(_: fn()) {} //~ ERROR function pointers in const fn are unstable
2019-12-01T21:33:41.4089735Z    |
2019-12-01T21:33:41.4089735Z    |
2019-12-01T21:33:41.4090140Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4090312Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4090560Z error: aborting due to previous error
2019-12-01T21:33:41.4090660Z 
2019-12-01T21:33:41.4090983Z For more information about this error, try `rustc --explain E0723`.
2019-12-01T21:33:41.4091121Z 
---
2019-12-01T21:33:41.4092628Z 10 error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4092916Z -   --> $DIR/cast_errors.rs:5:23
2019-12-01T21:33:41.4093254Z +   --> $DIR/cast_errors.rs:5:1
2019-12-01T21:33:41.4093404Z 12    |
2019-12-01T21:33:41.4093717Z 13 LL | const fn closure() -> fn() { || {} }
2019-12-01T21:33:41.4119456Z +    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T21:33:41.4119523Z 15    |
2019-12-01T21:33:41.4119523Z 15    |
2019-12-01T21:33:41.4120082Z 16    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4120159Z 17    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4120236Z 18 
2019-12-01T21:33:41.4120443Z 19 error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4120834Z -   --> $DIR/cast_errors.rs:8:5
2019-12-01T21:33:41.4121447Z +   --> $DIR/cast_errors.rs:7:21
2019-12-01T21:33:41.4121447Z +   --> $DIR/cast_errors.rs:7:21
2019-12-01T21:33:41.4121494Z 21    |
2019-12-01T21:33:41.4121915Z - LL |     (|| {}) as fn();
2019-12-01T21:33:41.4122123Z + LL | const fn closure2() {
2019-12-01T21:33:41.4122160Z +    |                     ^
2019-12-01T21:33:41.4122209Z 24    |
2019-12-01T21:33:41.4122209Z 24    |
2019-12-01T21:33:41.4122460Z 25    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4122526Z 26    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4122596Z 27 
2019-12-01T21:33:41.4122634Z 28 error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4122843Z -   --> $DIR/cast_errors.rs:11:28
2019-12-01T21:33:41.4123018Z +   --> $DIR/cast_errors.rs:11:1
2019-12-01T21:33:41.4123018Z +   --> $DIR/cast_errors.rs:11:1
2019-12-01T21:33:41.4123056Z 30    |
2019-12-01T21:33:41.4123257Z 31 LL | const fn reify(f: fn()) -> unsafe fn() { f }
2019-12-01T21:33:41.4123498Z +    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T21:33:41.4123534Z 33    |
2019-12-01T21:33:41.4123534Z 33    |
2019-12-01T21:33:41.4123796Z 34    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4123845Z 35    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4123921Z 36 
2019-12-01T21:33:41.4123959Z 37 error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4124142Z -   --> $DIR/cast_errors.rs:13:21
2019-12-01T21:33:41.4124344Z +   --> $DIR/cast_errors.rs:13:19
2019-12-01T21:33:41.4124344Z +   --> $DIR/cast_errors.rs:13:19
2019-12-01T21:33:41.4124383Z 39    |
2019-12-01T21:33:41.4124420Z 40 LL | const fn reify2() { main as unsafe fn(); }
2019-12-01T21:33:41.4124660Z +    |                   ^
2019-12-01T21:33:41.4124694Z 42    |
2019-12-01T21:33:41.4124694Z 42    |
2019-12-01T21:33:41.4125558Z 43    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4125634Z 44    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4125694Z 
2019-12-01T21:33:41.4125756Z The actual stderr differed from the expected stderr.
2019-12-01T21:33:41.4126104Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/cast_errors/cast_errors.stderr
2019-12-01T21:33:41.4126104Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/cast_errors/cast_errors.stderr
2019-12-01T21:33:41.4126352Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T21:33:41.4126642Z To only update this specific test, also pass `--test-args consts/min_const_fn/cast_errors.rs`
2019-12-01T21:33:41.4126730Z error: 1 errors occurred comparing output.
2019-12-01T21:33:41.4126776Z status: exit code: 1
2019-12-01T21:33:41.4126776Z status: exit code: 1
2019-12-01T21:33:41.4127594Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/min_const_fn/cast_errors.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/cast_errors" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/min_const_fn/cast_errors/auxiliary" "-A" "unused"
2019-12-01T21:33:41.4127922Z ------------------------------------------
2019-12-01T21:33:41.4127957Z 
2019-12-01T21:33:41.4128171Z ------------------------------------------
2019-12-01T21:33:41.4128354Z stderr:
2019-12-01T21:33:41.4128354Z stderr:
2019-12-01T21:33:41.4128591Z ------------------------------------------
2019-12-01T21:33:41.4128642Z error[E0723]: unsizing casts are not allowed in const fn
2019-12-01T21:33:41.4129253Z   --> /checkout/src/test/ui/consts/min_const_fn/cast_errors.rs:3:41
2019-12-01T21:33:41.4129301Z    |
2019-12-01T21:33:41.4129868Z LL | const fn unsize(x: &[u8; 3]) -> &[u8] { x }
2019-12-01T21:33:41.4130023Z    |
2019-12-01T21:33:41.4130023Z    |
2019-12-01T21:33:41.4130296Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4130360Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4130424Z error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4130652Z   --> /checkout/src/test/ui/consts/min_const_fn/cast_errors.rs:5:1
2019-12-01T21:33:41.4130694Z    |
2019-12-01T21:33:41.4130694Z    |
2019-12-01T21:33:41.4130875Z LL | const fn closure() -> fn() { || {} }
2019-12-01T21:33:41.4130976Z    |
2019-12-01T21:33:41.4130976Z    |
2019-12-01T21:33:41.4131218Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4131282Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4131347Z error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4131567Z   --> /checkout/src/test/ui/consts/min_const_fn/cast_errors.rs:7:21
2019-12-01T21:33:41.4131624Z    |
2019-12-01T21:33:41.4131660Z LL | const fn closure2() {
2019-12-01T21:33:41.4131660Z LL | const fn closure2() {
2019-12-01T21:33:41.4131696Z    |                     ^
2019-12-01T21:33:41.4131747Z    |
2019-12-01T21:33:41.4131983Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4132032Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4132111Z error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4132332Z   --> /checkout/src/test/ui/consts/min_const_fn/cast_errors.rs:11:1
2019-12-01T21:33:41.4132372Z    |
2019-12-01T21:33:41.4132372Z    |
2019-12-01T21:33:41.4132573Z LL | const fn reify(f: fn()) -> unsafe fn() { f }
2019-12-01T21:33:41.4132651Z    |
2019-12-01T21:33:41.4132651Z    |
2019-12-01T21:33:41.4132903Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4132955Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4133048Z error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4133292Z   --> /checkout/src/test/ui/consts/min_const_fn/cast_errors.rs:13:19
2019-12-01T21:33:41.4133335Z    |
2019-12-01T21:33:41.4133335Z    |
2019-12-01T21:33:41.4133391Z LL | const fn reify2() { main as unsafe fn(); }
2019-12-01T21:33:41.4133470Z    |
2019-12-01T21:33:41.4133470Z    |
2019-12-01T21:33:41.4133746Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4133805Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4133871Z error: aborting due to 5 previous errors
2019-12-01T21:33:41.4133914Z 
2019-12-01T21:33:41.4134145Z For more information about this error, try `rustc --explain E0723`.
2019-12-01T21:33:41.4134176Z 
---
2019-12-01T21:33:41.4134993Z 1 error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4135587Z -   --> $DIR/cmp_fn_pointers.rs:1:14
2019-12-01T21:33:41.4135830Z +   --> $DIR/cmp_fn_pointers.rs:1:35
2019-12-01T21:33:41.4135879Z 3    |
2019-12-01T21:33:41.4136103Z 4 LL | const fn cmp(x: fn(), y: fn()) -> bool {
2019-12-01T21:33:41.4136482Z +    |                                   ^^^^
2019-12-01T21:33:41.4136525Z 6    |
2019-12-01T21:33:41.4136525Z 6    |
2019-12-01T21:33:41.4136850Z 7    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4136927Z 8    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4136990Z 
2019-12-01T21:33:41.4137094Z The actual stderr differed from the expected stderr.
2019-12-01T21:33:41.4137500Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/cmp_fn_pointers/cmp_fn_pointers.stderr
2019-12-01T21:33:41.4137500Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/cmp_fn_pointers/cmp_fn_pointers.stderr
2019-12-01T21:33:41.4137786Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T21:33:41.4138084Z To only update this specific test, also pass `--test-args consts/min_const_fn/cmp_fn_pointers.rs`
2019-12-01T21:33:41.4138166Z error: 1 errors occurred comparing output.
2019-12-01T21:33:41.4138226Z status: exit code: 1
2019-12-01T21:33:41.4138226Z status: exit code: 1
2019-12-01T21:33:41.4139122Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/min_const_fn/cmp_fn_pointers.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/cmp_fn_pointers" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/min_const_fn/cmp_fn_pointers/auxiliary" "-A" "unused"
2019-12-01T21:33:41.4139411Z ------------------------------------------
2019-12-01T21:33:41.4139441Z 
2019-12-01T21:33:41.4139636Z ------------------------------------------
2019-12-01T21:33:41.4139676Z stderr:
2019-12-01T21:33:41.4139676Z stderr:
2019-12-01T21:33:41.4139853Z ------------------------------------------
2019-12-01T21:33:41.4139896Z error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4140135Z   --> /checkout/src/test/ui/consts/min_const_fn/cmp_fn_pointers.rs:1:35
2019-12-01T21:33:41.4140178Z    |
2019-12-01T21:33:41.4140402Z LL | const fn cmp(x: fn(), y: fn()) -> bool { //~ ERROR function pointers in const fn are unstable
2019-12-01T21:33:41.4140505Z    |
2019-12-01T21:33:41.4140505Z    |
2019-12-01T21:33:41.4140766Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4140823Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4140887Z error: aborting due to previous error
2019-12-01T21:33:41.4140926Z 
2019-12-01T21:33:41.4141139Z For more information about this error, try `rustc --explain E0723`.
2019-12-01T21:33:41.4141170Z 
---
2019-12-01T21:33:41.4141741Z 1 error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4141924Z -   --> $DIR/min_const_fn_dyn.rs:9:5
2019-12-01T21:33:41.4142117Z +   --> $DIR/min_const_fn_dyn.rs:8:30
2019-12-01T21:33:41.4142155Z 3    |
2019-12-01T21:33:41.4142320Z - LL |     x.0.field;
2019-12-01T21:33:41.4142483Z -    |     ^^^^^^^^^
2019-12-01T21:33:41.4142546Z + LL | const fn no_inner_dyn_trait2(x: Hide) {
2019-12-01T21:33:41.4142621Z 6    |
2019-12-01T21:33:41.4142621Z 6    |
2019-12-01T21:33:41.4142880Z 7    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4142930Z 8    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4143005Z 9 
2019-12-01T21:33:41.4143047Z 10 error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4143341Z -   --> $DIR/min_const_fn_dyn.rs:12:66
2019-12-01T21:33:41.4143539Z +   --> $DIR/min_const_fn_dyn.rs:12:50
2019-12-01T21:33:41.4143539Z +   --> $DIR/min_const_fn_dyn.rs:12:50
2019-12-01T21:33:41.4143579Z 12    |
2019-12-01T21:33:41.4143795Z 13 LL | const fn no_inner_dyn_trait_ret() -> Hide { Hide(HasDyn { field: &0 }) }
2019-12-01T21:33:41.4144069Z +    |                                                  ^^^^^^^^^^^^^^^^^^^^
2019-12-01T21:33:41.4144107Z 15    |
2019-12-01T21:33:41.4144107Z 15    |
2019-12-01T21:33:41.4144436Z 16    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4144494Z 17    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4144542Z 
2019-12-01T21:33:41.4144596Z The actual stderr differed from the expected stderr.
2019-12-01T21:33:41.4144892Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn_dyn/min_const_fn_dyn.stderr
2019-12-01T21:33:41.4144892Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn_dyn/min_const_fn_dyn.stderr
2019-12-01T21:33:41.4145586Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T21:33:41.4145899Z To only update this specific test, also pass `--test-args consts/min_const_fn/min_const_fn_dyn.rs`
2019-12-01T21:33:41.4145982Z error: 1 errors occurred comparing output.
2019-12-01T21:33:41.4146041Z status: exit code: 1
2019-12-01T21:33:41.4146041Z status: exit code: 1
2019-12-01T21:33:41.4146851Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/min_const_fn/min_const_fn_dyn.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn_dyn" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/min_const_fn/min_const_fn_dyn/auxiliary" "-A" "unused"
2019-12-01T21:33:41.4147186Z ------------------------------------------
2019-12-01T21:33:41.4147223Z 
2019-12-01T21:33:41.4147434Z ------------------------------------------
2019-12-01T21:33:41.4147495Z stderr:
2019-12-01T21:33:41.4147495Z stderr:
2019-12-01T21:33:41.4147709Z ------------------------------------------
2019-12-01T21:33:41.4147764Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4148037Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn_dyn.rs:8:30
2019-12-01T21:33:41.4148097Z    |
2019-12-01T21:33:41.4148141Z LL | const fn no_inner_dyn_trait2(x: Hide) {
2019-12-01T21:33:41.4148245Z    |
2019-12-01T21:33:41.4148245Z    |
2019-12-01T21:33:41.4148542Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4148619Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4148705Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4149128Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn_dyn.rs:12:50
2019-12-01T21:33:41.4149171Z    |
2019-12-01T21:33:41.4149171Z    |
2019-12-01T21:33:41.4149380Z LL | const fn no_inner_dyn_trait_ret() -> Hide { Hide(HasDyn { field: &0 }) }
2019-12-01T21:33:41.4149479Z    |
2019-12-01T21:33:41.4149479Z    |
2019-12-01T21:33:41.4149715Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4149788Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4149852Z error: aborting due to 2 previous errors
2019-12-01T21:33:41.4149876Z 
2019-12-01T21:33:41.4150102Z For more information about this error, try `rustc --explain E0723`.
2019-12-01T21:33:41.4150132Z 
---
2019-12-01T21:33:41.4150787Z 1 error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4150998Z -   --> $DIR/min_const_fn_fn_ptr.rs:11:5
2019-12-01T21:33:41.4151180Z +   --> $DIR/min_const_fn_fn_ptr.rs:10:30
2019-12-01T21:33:41.4151235Z 3    |
2019-12-01T21:33:41.4151394Z - LL |     x.0.field;
2019-12-01T21:33:41.4151553Z -    |     ^^^^^^^^^
2019-12-01T21:33:41.4151656Z + LL | const fn no_inner_dyn_trait2(x: Hide) {
2019-12-01T21:33:41.4151761Z 6    |
2019-12-01T21:33:41.4151761Z 6    |
2019-12-01T21:33:41.4152027Z 7    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4152092Z 8    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4152153Z 9 
2019-12-01T21:33:41.4152209Z 10 error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4152413Z -   --> $DIR/min_const_fn_fn_ptr.rs:14:59
2019-12-01T21:33:41.4152593Z +   --> $DIR/min_const_fn_fn_ptr.rs:14:50
2019-12-01T21:33:41.4152593Z +   --> $DIR/min_const_fn_fn_ptr.rs:14:50
2019-12-01T21:33:41.4152646Z 12    |
2019-12-01T21:33:41.4152854Z 13 LL | const fn no_inner_dyn_trait_ret() -> Hide { Hide(HasPtr { field }) }
2019-12-01T21:33:41.4153122Z +    |                                                  ^^^^^^^^^^^^^^^^
2019-12-01T21:33:41.4153166Z 15    |
2019-12-01T21:33:41.4153166Z 15    |
2019-12-01T21:33:41.4160772Z 16    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4160877Z 17    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4160931Z 
2019-12-01T21:33:41.4160970Z The actual stderr differed from the expected stderr.
2019-12-01T21:33:41.4161303Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn_fn_ptr/min_const_fn_fn_ptr.stderr
2019-12-01T21:33:41.4161303Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn_fn_ptr/min_const_fn_fn_ptr.stderr
2019-12-01T21:33:41.4161548Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T21:33:41.4161792Z To only update this specific test, also pass `--test-args consts/min_const_fn/min_const_fn_fn_ptr.rs`
2019-12-01T21:33:41.4161879Z error: 1 errors occurred comparing output.
2019-12-01T21:33:41.4161917Z status: exit code: 1
2019-12-01T21:33:41.4161917Z status: exit code: 1
2019-12-01T21:33:41.4162626Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/min_const_fn/min_const_fn_fn_ptr.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn_fn_ptr" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/min_const_fn/min_const_fn_fn_ptr/auxiliary" "-A" "unused"
2019-12-01T21:33:41.4162925Z ------------------------------------------
2019-12-01T21:33:41.4162955Z 
2019-12-01T21:33:41.4163137Z ------------------------------------------
2019-12-01T21:33:41.4163192Z stderr:
2019-12-01T21:33:41.4163192Z stderr:
2019-12-01T21:33:41.4163377Z ------------------------------------------
2019-12-01T21:33:41.4163421Z error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4163648Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn_fn_ptr.rs:10:30
2019-12-01T21:33:41.4163714Z    |
2019-12-01T21:33:41.4163753Z LL | const fn no_inner_dyn_trait2(x: Hide) {
2019-12-01T21:33:41.4163846Z    |
2019-12-01T21:33:41.4163846Z    |
2019-12-01T21:33:41.4164099Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4164165Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4164230Z error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4164639Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn_fn_ptr.rs:14:50
2019-12-01T21:33:41.4164700Z    |
2019-12-01T21:33:41.4164700Z    |
2019-12-01T21:33:41.4165405Z LL | const fn no_inner_dyn_trait_ret() -> Hide { Hide(HasPtr { field }) }
2019-12-01T21:33:41.4166303Z    |
2019-12-01T21:33:41.4166303Z    |
2019-12-01T21:33:41.4166655Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4166831Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4166942Z error: aborting due to 2 previous errors
2019-12-01T21:33:41.4166971Z 
2019-12-01T21:33:41.4167258Z For more information about this error, try `rustc --explain E0723`.
2019-12-01T21:33:41.4167311Z 
---
2019-12-01T21:33:41.4168086Z 7 error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4168304Z -   --> $DIR/min_const_fn.rs:39:36
2019-12-01T21:33:41.4168528Z +   --> $DIR/min_const_fn.rs:39:5
2019-12-01T21:33:41.4168574Z 9    |
2019-12-01T21:33:41.4168822Z 10 LL |     const fn get_mut(&mut self) -> &mut T { &mut self.0 }
2019-12-01T21:33:41.4169124Z +    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T21:33:41.4169333Z 12    |
2019-12-01T21:33:41.4169333Z 12    |
2019-12-01T21:33:41.4169758Z 13    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4169806Z 14    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4169880Z 20    |                            ^^^^ constant functions cannot evaluate destructors
2019-12-01T21:33:41.4169935Z 21 
2019-12-01T21:33:41.4169973Z 22 error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4170163Z -   --> $DIR/min_const_fn.rs:46:42
2019-12-01T21:33:41.4170163Z -   --> $DIR/min_const_fn.rs:46:42
2019-12-01T21:33:41.4180538Z +   --> $DIR/min_const_fn.rs:46:5
2019-12-01T21:33:41.4180618Z 24    |
2019-12-01T21:33:41.4181442Z 25 LL |     const fn get_mut_lt(&'a mut self) -> &mut T { &mut self.0 }
2019-12-01T21:33:41.4181780Z +    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T21:33:41.4181825Z 27    |
2019-12-01T21:33:41.4181825Z 27    |
2019-12-01T21:33:41.4182175Z 28    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4182237Z 29    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4182393Z 35    |                           ^^^^ constant functions cannot evaluate destructors
2019-12-01T21:33:41.4182451Z 36 
2019-12-01T21:33:41.4182497Z 37 error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4182752Z -   --> $DIR/min_const_fn.rs:53:38
2019-12-01T21:33:41.4182752Z -   --> $DIR/min_const_fn.rs:53:38
2019-12-01T21:33:41.4182969Z +   --> $DIR/min_const_fn.rs:53:5
2019-12-01T21:33:41.4183016Z 39    |
2019-12-01T21:33:41.4183256Z 40 LL |     const fn get_mut_s(&mut self) -> &mut T { &mut self.0 }
2019-12-01T21:33:41.4183564Z +    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T21:33:41.4183608Z 42    |
2019-12-01T21:33:41.4183608Z 42    |
2019-12-01T21:33:41.4183919Z 43    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4183977Z 44    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4184066Z 45 
2019-12-01T21:33:41.4184113Z 46 error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4186421Z -   --> $DIR/min_const_fn.rs:58:39
2019-12-01T21:33:41.4186810Z +   --> $DIR/min_const_fn.rs:58:5
2019-12-01T21:33:41.4186810Z +   --> $DIR/min_const_fn.rs:58:5
2019-12-01T21:33:41.4186863Z 48    |
2019-12-01T21:33:41.4187107Z 49 LL |     const fn get_mut_sq(&mut self) -> &mut T { &mut self.0 }
2019-12-01T21:33:41.4187407Z +    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T21:33:41.4187452Z 51    |
2019-12-01T21:33:41.4187452Z 51    |
2019-12-01T21:33:41.4187899Z 52    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4187980Z 53    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4188063Z 179    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4188127Z 180 
2019-12-01T21:33:41.4188174Z 181 error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4188433Z -   --> $DIR/min_const_fn.rs:105:14
2019-12-01T21:33:41.4188433Z -   --> $DIR/min_const_fn.rs:105:14
2019-12-01T21:33:41.4188662Z +   --> $DIR/min_const_fn.rs:105:27
2019-12-01T21:33:41.4188719Z 183    |
2019-12-01T21:33:41.4188764Z 184 LL | const fn inc(x: &mut i32) { *x += 1 }
2019-12-01T21:33:41.4189024Z +    |                           ^
2019-12-01T21:33:41.4189068Z 186    |
2019-12-01T21:33:41.4189068Z 186    |
2019-12-01T21:33:41.4189905Z 187    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4189958Z 188    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4190037Z 251    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4190093Z 252 
2019-12-01T21:33:41.4190137Z 253 error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4190336Z -   --> $DIR/min_const_fn.rs:132:23
2019-12-01T21:33:41.4190336Z -   --> $DIR/min_const_fn.rs:132:23
2019-12-01T21:33:41.4190704Z +   --> $DIR/min_const_fn.rs:132:49
2019-12-01T21:33:41.4190742Z 255    |
2019-12-01T21:33:41.4190779Z 256 LL | const fn no_dyn_trait(_x: &dyn std::fmt::Debug) {}
2019-12-01T21:33:41.4191020Z +    |                                                 ^
2019-12-01T21:33:41.4191056Z 258    |
2019-12-01T21:33:41.4191056Z 258    |
2019-12-01T21:33:41.4191313Z 259    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4191362Z 260    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4191437Z 261 
2019-12-01T21:33:41.4191485Z 262 error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4191675Z -   --> $DIR/min_const_fn.rs:133:32
2019-12-01T21:33:41.4191849Z +   --> $DIR/min_const_fn.rs:133:1
2019-12-01T21:33:41.4191849Z +   --> $DIR/min_const_fn.rs:133:1
2019-12-01T21:33:41.4191903Z 264    |
2019-12-01T21:33:41.4192114Z 265 LL | const fn no_dyn_trait_ret() -> &'static dyn std::fmt::Debug { &() }
2019-12-01T21:33:41.4192379Z +    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T21:33:41.4192424Z 267    |
2019-12-01T21:33:41.4192424Z 267    |
2019-12-01T21:33:41.4192666Z 268    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4192730Z 269    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4192789Z 270 
2019-12-01T21:33:41.4192846Z 271 error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4201074Z -   --> $DIR/min_const_fn.rs:138:41
2019-12-01T21:33:41.4201499Z +   --> $DIR/min_const_fn.rs:138:39
2019-12-01T21:33:41.4201499Z +   --> $DIR/min_const_fn.rs:138:39
2019-12-01T21:33:41.4201585Z 273    |
2019-12-01T21:33:41.4201635Z 274 LL | const fn really_no_traits_i_mean_it() { (&() as &dyn std::fmt::Debug, ()).1 }
2019-12-01T21:33:41.4201970Z +    |                                       ^
2019-12-01T21:33:41.4202013Z 276    |
2019-12-01T21:33:41.4202013Z 276    |
2019-12-01T21:33:41.4202512Z 277    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4202785Z 278    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4202861Z 279 
2019-12-01T21:33:41.4202907Z 280 error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4203350Z -   --> $DIR/min_const_fn.rs:141:21
2019-12-01T21:33:41.4203548Z +   --> $DIR/min_const_fn.rs:141:31
2019-12-01T21:33:41.4203548Z +   --> $DIR/min_const_fn.rs:141:31
2019-12-01T21:33:41.4203590Z 282    |
2019-12-01T21:33:41.4203812Z 283 LL | const fn no_fn_ptrs(_x: fn()) {}
2019-12-01T21:33:41.4204131Z +    |                               ^
2019-12-01T21:33:41.4204186Z 285    |
2019-12-01T21:33:41.4204186Z 285    |
2019-12-01T21:33:41.4204483Z 286    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4204539Z 287    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4204621Z 288 
2019-12-01T21:33:41.4205113Z 289 error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4205515Z -   --> $DIR/min_const_fn.rs:143:27
2019-12-01T21:33:41.4205750Z +   --> $DIR/min_const_fn.rs:143:1
2019-12-01T21:33:41.4205750Z +   --> $DIR/min_const_fn.rs:143:1
2019-12-01T21:33:41.4205797Z 291    |
2019-12-01T21:33:41.4206029Z 292 LL | const fn no_fn_ptrs2() -> fn() { fn foo() {} foo }
2019-12-01T21:33:41.4206313Z +    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T21:33:41.4206355Z 294    |
2019-12-01T21:33:41.4206355Z 294    |
2019-12-01T21:33:41.4206681Z 295    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4206745Z 296    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4206806Z 
2019-12-01T21:33:41.4206870Z The actual stderr differed from the expected stderr.
2019-12-01T21:33:41.4207229Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn/min_const_fn.stderr
2019-12-01T21:33:41.4207229Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn/min_const_fn.stderr
2019-12-01T21:33:41.4207506Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T21:33:41.4207841Z To only update this specific test, also pass `--test-args consts/min_const_fn/min_const_fn.rs`
2019-12-01T21:33:41.4207927Z error: 1 errors occurred comparing output.
2019-12-01T21:33:41.4207991Z status: exit code: 1
2019-12-01T21:33:41.4207991Z status: exit code: 1
2019-12-01T21:33:41.4208896Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/min_const_fn/min_const_fn/auxiliary" "-A" "unused"
2019-12-01T21:33:41.4209200Z ------------------------------------------
2019-12-01T21:33:41.4209240Z 
2019-12-01T21:33:41.4209448Z ------------------------------------------
2019-12-01T21:33:41.4209490Z stderr:
2019-12-01T21:33:41.4209490Z stderr:
2019-12-01T21:33:41.4209675Z ------------------------------------------
2019-12-01T21:33:41.4209900Z error[E0493]: destructors cannot be evaluated at compile-time
2019-12-01T21:33:41.4210128Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:37:25
2019-12-01T21:33:41.4210175Z    |
2019-12-01T21:33:41.4210419Z LL |     const fn into_inner(self) -> T { self.0 } //~ destructors cannot be evaluated
2019-12-01T21:33:41.4210504Z 
2019-12-01T21:33:41.4210544Z error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4210784Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:39:5
2019-12-01T21:33:41.4210828Z    |
2019-12-01T21:33:41.4210828Z    |
2019-12-01T21:33:41.4211028Z LL |     const fn get_mut(&mut self) -> &mut T { &mut self.0 }
2019-12-01T21:33:41.4211429Z    |
2019-12-01T21:33:41.4211429Z    |
2019-12-01T21:33:41.4211724Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4211795Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4212047Z error[E0493]: destructors cannot be evaluated at compile-time
2019-12-01T21:33:41.4212357Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:44:28
2019-12-01T21:33:41.4212409Z    |
2019-12-01T21:33:41.4212409Z    |
2019-12-01T21:33:41.4212668Z LL |     const fn into_inner_lt(self) -> T { self.0 } //~ destructors cannot be evaluated
2019-12-01T21:33:41.4212769Z 
2019-12-01T21:33:41.4212810Z error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4213032Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:46:5
2019-12-01T21:33:41.4213102Z    |
2019-12-01T21:33:41.4213102Z    |
2019-12-01T21:33:41.4213319Z LL |     const fn get_mut_lt(&'a mut self) -> &mut T { &mut self.0 }
2019-12-01T21:33:41.4213425Z    |
2019-12-01T21:33:41.4213425Z    |
2019-12-01T21:33:41.4213685Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4213736Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4214011Z error[E0493]: destructors cannot be evaluated at compile-time
2019-12-01T21:33:41.4214237Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:51:27
2019-12-01T21:33:41.4214295Z    |
2019-12-01T21:33:41.4214295Z    |
2019-12-01T21:33:41.4214519Z LL |     const fn into_inner_s(self) -> T { self.0 } //~ ERROR destructors
2019-12-01T21:33:41.4214599Z 
2019-12-01T21:33:41.4214655Z error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4215530Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:53:5
2019-12-01T21:33:41.4215585Z    |
2019-12-01T21:33:41.4215585Z    |
2019-12-01T21:33:41.4215844Z LL |     const fn get_mut_s(&mut self) -> &mut T { &mut self.0 }
2019-12-01T21:33:41.4215941Z    |
2019-12-01T21:33:41.4215941Z    |
2019-12-01T21:33:41.4216246Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4216314Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4216407Z error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4216667Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:58:5
2019-12-01T21:33:41.4216716Z    |
2019-12-01T21:33:41.4216716Z    |
2019-12-01T21:33:41.4216965Z LL |     const fn get_mut_sq(&mut self) -> &mut T { &mut self.0 }
2019-12-01T21:33:41.4217063Z    |
2019-12-01T21:33:41.4217063Z    |
2019-12-01T21:33:41.4217372Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4217430Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4217511Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4217791Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:76:16
2019-12-01T21:33:41.4217839Z    |
2019-12-01T21:33:41.4217839Z    |
2019-12-01T21:33:41.4218075Z LL | const fn foo11<T: std::fmt::Display>(t: T) -> T { t }
2019-12-01T21:33:41.4218183Z    |
2019-12-01T21:33:41.4218183Z    |
2019-12-01T21:33:41.4218471Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4218709Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4218783Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4219205Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:78:18
2019-12-01T21:33:41.4219377Z    |
2019-12-01T21:33:41.4219377Z    |
2019-12-01T21:33:41.4219607Z LL | const fn foo11_2<T: Send>(t: T) -> T { t }
2019-12-01T21:33:41.4219707Z    |
2019-12-01T21:33:41.4219707Z    |
2019-12-01T21:33:41.4219966Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4220033Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4220062Z 
2019-12-01T21:33:41.4220176Z error[E0723]: only int, `bool` and `char` operations are stable in const fn
2019-12-01T21:33:41.4220503Z    |
2019-12-01T21:33:41.4220503Z    |
2019-12-01T21:33:41.4220706Z LL | const fn foo19(f: f32) -> f32 { f * 2.0 }
2019-12-01T21:33:41.4220806Z    |
2019-12-01T21:33:41.4220806Z    |
2019-12-01T21:33:41.4221065Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4221280Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4221334Z 
2019-12-01T21:33:41.4221375Z error[E0723]: only int, `bool` and `char` operations are stable in const fn
2019-12-01T21:33:41.4221662Z    |
2019-12-01T21:33:41.4221662Z    |
2019-12-01T21:33:41.4221860Z LL | const fn foo19_2(f: f32) -> f32 { 2.0 - f }
2019-12-01T21:33:41.4221955Z    |
2019-12-01T21:33:41.4221955Z    |
2019-12-01T21:33:41.4222395Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4222446Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4222531Z error[E0723]: only int and `bool` operations are stable in const fn
2019-12-01T21:33:41.4222950Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:84:35
2019-12-01T21:33:41.4222996Z    |
2019-12-01T21:33:41.4222996Z    |
2019-12-01T21:33:41.4223215Z LL | const fn foo19_3(f: f32) -> f32 { -f }
2019-12-01T21:33:41.4223310Z    |
2019-12-01T21:33:41.4223310Z    |
2019-12-01T21:33:41.4223589Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4223646Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4223676Z 
2019-12-01T21:33:41.4223739Z error[E0723]: only int, `bool` and `char` operations are stable in const fn
2019-12-01T21:33:41.4224060Z    |
2019-12-01T21:33:41.4224060Z    |
2019-12-01T21:33:41.4224469Z LL | const fn foo19_4(f: f32, g: f32) -> f32 { f / g }
2019-12-01T21:33:41.4224559Z    |
2019-12-01T21:33:41.4224559Z    |
2019-12-01T21:33:41.4225227Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4225293Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4225370Z error[E0723]: cannot access `static` items in const fn
2019-12-01T21:33:41.4225671Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:90:27
2019-12-01T21:33:41.4225720Z    |
2019-12-01T21:33:41.4225720Z    |
2019-12-01T21:33:41.4225979Z LL | const fn foo25() -> u32 { BAR } //~ ERROR cannot access `static` items in const fn
2019-12-01T21:33:41.4226093Z    |
2019-12-01T21:33:41.4226093Z    |
2019-12-01T21:33:41.4226392Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4226458Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4226534Z error[E0723]: cannot access `static` items in const fn
2019-12-01T21:33:41.4226811Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:91:37
2019-12-01T21:33:41.4226860Z    |
2019-12-01T21:33:41.4226860Z    |
2019-12-01T21:33:41.4227118Z LL | const fn foo26() -> &'static u32 { &BAR } //~ ERROR cannot access `static` items
2019-12-01T21:33:41.4227344Z    |
2019-12-01T21:33:41.4227344Z    |
2019-12-01T21:33:41.4227660Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4227736Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4227815Z error[E0723]: casting pointers to ints is unstable in const fn
2019-12-01T21:33:41.4228092Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:92:42
2019-12-01T21:33:41.4228141Z    |
2019-12-01T21:33:41.4228141Z    |
2019-12-01T21:33:41.4228585Z LL | const fn foo30(x: *const u32) -> usize { x as usize }
2019-12-01T21:33:41.4228694Z    |
2019-12-01T21:33:41.4228694Z    |
2019-12-01T21:33:41.4228974Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4229039Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4229106Z error[E0723]: casting pointers to ints is unstable in const fn
2019-12-01T21:33:41.4229342Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:94:63
2019-12-01T21:33:41.4229398Z    |
2019-12-01T21:33:41.4229398Z    |
2019-12-01T21:33:41.4229621Z LL | const fn foo30_with_unsafe(x: *const u32) -> usize { unsafe { x as usize } }
2019-12-01T21:33:41.4229725Z    |
2019-12-01T21:33:41.4229725Z    |
2019-12-01T21:33:41.4229967Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4230024Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4230107Z error[E0723]: casting pointers to ints is unstable in const fn
2019-12-01T21:33:41.4230331Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:96:42
2019-12-01T21:33:41.4230388Z    |
2019-12-01T21:33:41.4230388Z    |
2019-12-01T21:33:41.4230594Z LL | const fn foo30_2(x: *mut u32) -> usize { x as usize }
2019-12-01T21:33:41.4230678Z    |
2019-12-01T21:33:41.4230678Z    |
2019-12-01T21:33:41.4231237Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4231291Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4231383Z error[E0723]: casting pointers to ints is unstable in const fn
2019-12-01T21:33:41.4231634Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:98:63
2019-12-01T21:33:41.4231680Z    |
2019-12-01T21:33:41.4231680Z    |
2019-12-01T21:33:41.4231955Z LL | const fn foo30_2_with_unsafe(x: *mut u32) -> usize { unsafe { x as usize } }
2019-12-01T21:33:41.4232052Z    |
2019-12-01T21:33:41.4232052Z    |
2019-12-01T21:33:41.4232345Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4232401Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4232493Z error[E0723]: loops and conditional expressions are not stable in const fn
2019-12-01T21:33:41.4232756Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:101:44
2019-12-01T21:33:41.4232802Z    |
2019-12-01T21:33:41.4232802Z    |
2019-12-01T21:33:41.4233044Z LL | const fn foo36(a: bool, b: bool) -> bool { a && b }
2019-12-01T21:33:41.4233135Z    |
2019-12-01T21:33:41.4233135Z    |
2019-12-01T21:33:41.4233694Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4233754Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4233857Z error[E0723]: loops and conditional expressions are not stable in const fn
2019-12-01T21:33:41.4234505Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:103:44
2019-12-01T21:33:41.4234554Z    |
2019-12-01T21:33:41.4234554Z    |
2019-12-01T21:33:41.4235367Z LL | const fn foo37(a: bool, b: bool) -> bool { a || b }
2019-12-01T21:33:41.4235490Z    |
2019-12-01T21:33:41.4235490Z    |
2019-12-01T21:33:41.4235816Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4236009Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4236087Z error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4236393Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:105:27
2019-12-01T21:33:41.4236443Z    |
2019-12-01T21:33:41.4236443Z    |
2019-12-01T21:33:41.4236487Z LL | const fn inc(x: &mut i32) { *x += 1 }
2019-12-01T21:33:41.4236679Z    |
2019-12-01T21:33:41.4236679Z    |
2019-12-01T21:33:41.4236991Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4237069Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4237149Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4237426Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:110:6
2019-12-01T21:33:41.4237485Z    |
2019-12-01T21:33:41.4237485Z    |
2019-12-01T21:33:41.4237529Z LL | impl<T: std::fmt::Debug> Foo<T> {
2019-12-01T21:33:41.4237632Z    |
2019-12-01T21:33:41.4237632Z    |
2019-12-01T21:33:41.4237919Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4237977Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4238074Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4238343Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:115:6
2019-12-01T21:33:41.4238409Z    |
2019-12-01T21:33:41.4238409Z    |
2019-12-01T21:33:41.4238453Z LL | impl<T: std::fmt::Debug + Sized> Foo<T> {
2019-12-01T21:33:41.4238555Z    |
2019-12-01T21:33:41.4238555Z    |
2019-12-01T21:33:41.4239220Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4239332Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4239436Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4239690Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:120:6
2019-12-01T21:33:41.4239752Z    |
2019-12-01T21:33:41.4239752Z    |
2019-12-01T21:33:41.4239793Z LL | impl<T: Sync + Sized> Foo<T> {
2019-12-01T21:33:41.4239920Z    |
2019-12-01T21:33:41.4239920Z    |
2019-12-01T21:33:41.4240621Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4240685Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4240775Z error[E0723]: `impl Trait` in const fn is unstable
2019-12-01T21:33:41.4241024Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:126:24
2019-12-01T21:33:41.4241070Z    |
2019-12-01T21:33:41.4241070Z    |
2019-12-01T21:33:41.4241509Z LL | const fn no_rpit2() -> AlanTuring<impl std::fmt::Debug> { AlanTuring(0) }
2019-12-01T21:33:41.4241608Z    |
2019-12-01T21:33:41.4241608Z    |
2019-12-01T21:33:41.4241914Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4241970Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4242065Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4242324Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:128:34
2019-12-01T21:33:41.4242372Z    |
2019-12-01T21:33:41.4242372Z    |
2019-12-01T21:33:41.4242427Z LL | const fn no_apit2(_x: AlanTuring<impl std::fmt::Debug>) {}
2019-12-01T21:33:41.4242539Z    |
2019-12-01T21:33:41.4242539Z    |
2019-12-01T21:33:41.4242847Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4242905Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4242984Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4243449Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:130:22
2019-12-01T21:33:41.4243498Z    |
2019-12-01T21:33:41.4243498Z    |
2019-12-01T21:33:41.4243549Z LL | const fn no_apit(_x: impl std::fmt::Debug) {} //~ ERROR trait bounds other than `Sized`
2019-12-01T21:33:41.4243659Z    |
2019-12-01T21:33:41.4243659Z    |
2019-12-01T21:33:41.4243947Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4244096Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4244180Z error[E0723]: `impl Trait` in const fn is unstable
2019-12-01T21:33:41.4244480Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:131:23
2019-12-01T21:33:41.4244530Z    |
2019-12-01T21:33:41.4244530Z    |
2019-12-01T21:33:41.4245700Z LL | const fn no_rpit() -> impl std::fmt::Debug {} //~ ERROR `impl Trait` in const fn is unstable
2019-12-01T21:33:41.4245823Z    |
2019-12-01T21:33:41.4245823Z    |
2019-12-01T21:33:41.4246133Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4246207Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4246287Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4246546Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:132:49
2019-12-01T21:33:41.4246611Z    |
2019-12-01T21:33:41.4246611Z    |
2019-12-01T21:33:41.4246671Z LL | const fn no_dyn_trait(_x: &dyn std::fmt::Debug) {} //~ ERROR trait bounds other than `Sized`
2019-12-01T21:33:41.4246784Z    |
2019-12-01T21:33:41.4246784Z    |
2019-12-01T21:33:41.4247072Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4247144Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4247225Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4247494Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:133:1
2019-12-01T21:33:41.4247560Z    |
2019-12-01T21:33:41.4247560Z    |
2019-12-01T21:33:41.4247802Z LL | const fn no_dyn_trait_ret() -> &'static dyn std::fmt::Debug { &() }
2019-12-01T21:33:41.4247915Z    |
2019-12-01T21:33:41.4247915Z    |
2019-12-01T21:33:41.4248194Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4248258Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4248353Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T21:33:41.4248781Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:138:39
2019-12-01T21:33:41.4248839Z    |
2019-12-01T21:33:41.4248839Z    |
2019-12-01T21:33:41.4248882Z LL | const fn really_no_traits_i_mean_it() { (&() as &dyn std::fmt::Debug, ()).1 }
2019-12-01T21:33:41.4249092Z    |
2019-12-01T21:33:41.4249092Z    |
2019-12-01T21:33:41.4249487Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4249538Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4249623Z error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4249855Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:141:31
2019-12-01T21:33:41.4249898Z    |
2019-12-01T21:33:41.4249898Z    |
2019-12-01T21:33:41.4249960Z LL | const fn no_fn_ptrs(_x: fn()) {}
2019-12-01T21:33:41.4250039Z    |
2019-12-01T21:33:41.4250039Z    |
2019-12-01T21:33:41.4250307Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4250358Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4250442Z error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4250670Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:143:1
2019-12-01T21:33:41.4250817Z    |
2019-12-01T21:33:41.4250817Z    |
2019-12-01T21:33:41.4251066Z LL | const fn no_fn_ptrs2() -> fn() { fn foo() {} foo }
2019-12-01T21:33:41.4251152Z    |
2019-12-01T21:33:41.4251152Z    |
2019-12-01T21:33:41.4251433Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4251486Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4251628Z error: aborting due to 34 previous errors
2019-12-01T21:33:41.4251680Z 
2019-12-01T21:33:41.4251721Z Some errors have detailed explanations: E0493, E0723.
2019-12-01T21:33:41.4251969Z For more information about an error, try `rustc --explain E0493`.
---
2019-12-01T21:33:41.4253609Z -    |         ^
2019-12-01T21:33:41.4253653Z + LL |     let mut a = 0;
2019-12-01T21:33:41.4253700Z +    |         ^^^^^
2019-12-01T21:33:41.4253758Z 6    |
2019-12-01T21:33:41.4254033Z 7    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4254088Z 8    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4254171Z 9 
2019-12-01T21:33:41.4254214Z 10 error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4254422Z -   --> $DIR/mutable_borrow.rs:12:13
2019-12-01T21:33:41.4254653Z +   --> $DIR/mutable_borrow.rs:11:13
2019-12-01T21:33:41.4254653Z +   --> $DIR/mutable_borrow.rs:11:13
2019-12-01T21:33:41.4254696Z 12    |
2019-12-01T21:33:41.4254881Z - LL |         let b = &mut a;
2019-12-01T21:33:41.4255077Z -    |             ^
2019-12-01T21:33:41.4255121Z + LL |         let mut a = 0;
2019-12-01T21:33:41.4255321Z +    |             ^^^^^
2019-12-01T21:33:41.4255570Z 15    |
2019-12-01T21:33:41.4255906Z 16    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4255977Z 17    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4256052Z 
2019-12-01T21:33:41.4256098Z The actual stderr differed from the expected stderr.
2019-12-01T21:33:41.4256421Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/mutable_borrow/mutable_borrow.stderr
2019-12-01T21:33:41.4256421Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/mutable_borrow/mutable_borrow.stderr
2019-12-01T21:33:41.4256691Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T21:33:41.4256971Z To only update this specific test, also pass `--test-args consts/min_const_fn/mutable_borrow.rs`
2019-12-01T21:33:41.4257077Z error: 1 errors occurred comparing output.
2019-12-01T21:33:41.4257121Z status: exit code: 1
2019-12-01T21:33:41.4257121Z status: exit code: 1
2019-12-01T21:33:41.4257922Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/min_const_fn/mutable_borrow.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/mutable_borrow" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/min_const_fn/mutable_borrow/auxiliary" "-A" "unused"
2019-12-01T21:33:41.4258302Z ------------------------------------------
2019-12-01T21:33:41.4258358Z 
2019-12-01T21:33:41.4258579Z ------------------------------------------
2019-12-01T21:33:41.4259057Z stderr:
2019-12-01T21:33:41.4259057Z stderr:
2019-12-01T21:33:41.4259300Z ------------------------------------------
2019-12-01T21:33:41.4259349Z error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4259587Z   --> /checkout/src/test/ui/consts/min_const_fn/mutable_borrow.rs:2:9
2019-12-01T21:33:41.4259651Z    |
2019-12-01T21:33:41.4259690Z LL |     let mut a = 0;
2019-12-01T21:33:41.4259729Z    |         ^^^^^
2019-12-01T21:33:41.4259766Z    |
2019-12-01T21:33:41.4260127Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4260191Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4260280Z error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4261369Z   --> /checkout/src/test/ui/consts/min_const_fn/mutable_borrow.rs:11:13
2019-12-01T21:33:41.4261428Z    |
2019-12-01T21:33:41.4261486Z LL |         let mut a = 0;
2019-12-01T21:33:41.4261486Z LL |         let mut a = 0;
2019-12-01T21:33:41.4261529Z    |             ^^^^^
2019-12-01T21:33:41.4261578Z    |
2019-12-01T21:33:41.4261946Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4262002Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4262072Z error: aborting due to 2 previous errors
2019-12-01T21:33:41.4262116Z 
2019-12-01T21:33:41.4262355Z For more information about this error, try `rustc --explain E0723`.
2019-12-01T21:33:41.4262387Z 
---
2019-12-01T21:33:41.4263008Z 1 error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4263205Z -   --> $DIR/issue-37550.rs:3:9
2019-12-01T21:33:41.4263414Z +   --> $DIR/issue-37550.rs:2:9
2019-12-01T21:33:41.4263456Z 3    |
2019-12-01T21:33:41.4263650Z - LL |     let x = || t;
2019-12-01T21:33:41.4263695Z + LL |     let t = true;
2019-12-01T21:33:41.4263787Z 6    |
2019-12-01T21:33:41.4263787Z 6    |
2019-12-01T21:33:41.4264056Z 7    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4264128Z 
2019-12-01T21:33:41.4264171Z The actual stderr differed from the expected stderr.
2019-12-01T21:33:41.4264462Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-37550/issue-37550.stderr
2019-12-01T21:33:41.4264462Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-37550/issue-37550.stderr
2019-12-01T21:33:41.4265084Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T21:33:41.4265419Z To only update this specific test, also pass `--test-args issues/issue-37550.rs`
2019-12-01T21:33:41.4265521Z error: 1 errors occurred comparing output.
2019-12-01T21:33:41.4265569Z status: exit code: 1
2019-12-01T21:33:41.4265569Z status: exit code: 1
2019-12-01T21:33:41.4266352Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issues/issue-37550.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-37550" "-Crpath" "-O" "-Cdebuginfo=0" "-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/issues/issue-37550/auxiliary" "-A" "unused"
2019-12-01T21:33:41.4266727Z ------------------------------------------
2019-12-01T21:33:41.4266781Z 
2019-12-01T21:33:41.4267020Z ------------------------------------------
2019-12-01T21:33:41.4267069Z stderr:
2019-12-01T21:33:41.4267069Z stderr:
2019-12-01T21:33:41.4267313Z ------------------------------------------
2019-12-01T21:33:41.4267367Z error[E0723]: function pointers in const fn are unstable
2019-12-01T21:33:41.4267625Z   --> /checkout/src/test/ui/issues/issue-37550.rs:2:9
2019-12-01T21:33:41.4267694Z    |
2019-12-01T21:33:41.4267740Z LL |     let t = true;
2019-12-01T21:33:41.4267924Z    |         ^
2019-12-01T21:33:41.4267967Z    |
2019-12-01T21:33:41.4268343Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4268630Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4268718Z error: aborting due to previous error
2019-12-01T21:33:41.4268745Z 
2019-12-01T21:33:41.4268990Z For more information about this error, try `rustc --explain E0723`.
2019-12-01T21:33:41.4269106Z 
---
2019-12-01T21:33:41.4269757Z 1 error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4269959Z -   --> $DIR/ranged_ints2_const.rs:11:9
2019-12-01T21:33:41.4270177Z +   --> $DIR/ranged_ints2_const.rs:10:9
2019-12-01T21:33:41.4270229Z 3    |
2019-12-01T21:33:41.4270415Z - LL |     let y = &mut x.0;
2019-12-01T21:33:41.4270658Z + LL |     let mut x = unsafe { NonZero(1) };
2019-12-01T21:33:41.4270700Z +    |         ^^^^^
2019-12-01T21:33:41.4270756Z 6    |
2019-12-01T21:33:41.4270756Z 6    |
2019-12-01T21:33:41.4271038Z 7    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4271102Z 8    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4271191Z 9 
2019-12-01T21:33:41.4271234Z 10 error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4271446Z -   --> $DIR/ranged_ints2_const.rs:18:9
2019-12-01T21:33:41.4271667Z +   --> $DIR/ranged_ints2_const.rs:17:9
2019-12-01T21:33:41.4271667Z +   --> $DIR/ranged_ints2_const.rs:17:9
2019-12-01T21:33:41.4271709Z 12    |
2019-12-01T21:33:41.4271901Z - LL |     let y = unsafe { &mut x.0 };
2019-12-01T21:33:41.4272142Z + LL |     let mut x = unsafe { NonZero(1) };
2019-12-01T21:33:41.4272192Z +    |         ^^^^^
2019-12-01T21:33:41.4272249Z 15    |
2019-12-01T21:33:41.4272249Z 15    |
2019-12-01T21:33:41.4272521Z 16    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4272575Z 17    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4272645Z 
2019-12-01T21:33:41.4272687Z The actual stderr differed from the expected stderr.
2019-12-01T21:33:41.4272988Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/unsafe/ranged_ints2_const/ranged_ints2_const.stderr
2019-12-01T21:33:41.4272988Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/unsafe/ranged_ints2_const/ranged_ints2_const.stderr
2019-12-01T21:33:41.4273381Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T21:33:41.4273656Z To only update this specific test, also pass `--test-args unsafe/ranged_ints2_const.rs`
2019-12-01T21:33:41.4273750Z error: 1 errors occurred comparing output.
2019-12-01T21:33:41.4273792Z status: exit code: 1
2019-12-01T21:33:41.4273792Z status: exit code: 1
2019-12-01T21:33:41.4274514Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/unsafe/ranged_ints2_const.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/unsafe/ranged_ints2_const" "-Crpath" "-O" "-Cdebuginfo=0" "-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/unsafe/ranged_ints2_const/auxiliary" "-A" "unused"
2019-12-01T21:33:41.4274836Z ------------------------------------------
2019-12-01T21:33:41.4274884Z 
2019-12-01T21:33:41.4275471Z ------------------------------------------
2019-12-01T21:33:41.4275522Z stderr:
2019-12-01T21:33:41.4275522Z stderr:
2019-12-01T21:33:41.4275735Z ------------------------------------------
2019-12-01T21:33:41.4275808Z error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4276059Z   --> /checkout/src/test/ui/unsafe/ranged_ints2_const.rs:10:9
2019-12-01T21:33:41.4276249Z    |
2019-12-01T21:33:41.4276314Z LL |     let mut x = unsafe { NonZero(1) };
2019-12-01T21:33:41.4276359Z    |         ^^^^^
2019-12-01T21:33:41.4276399Z    |
2019-12-01T21:33:41.4276753Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4276813Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4276906Z error[E0723]: mutable references in const fn are unstable
2019-12-01T21:33:41.4277242Z   --> /checkout/src/test/ui/unsafe/ranged_ints2_const.rs:17:9
2019-12-01T21:33:41.4277299Z    |
2019-12-01T21:33:41.4277360Z LL |     let mut x = unsafe { NonZero(1) };
2019-12-01T21:33:41.4277360Z LL |     let mut x = unsafe { NonZero(1) };
2019-12-01T21:33:41.4277404Z    |         ^^^^^
2019-12-01T21:33:41.4277444Z    |
2019-12-01T21:33:41.4277772Z    = note: for more information, see issue ***/issues/57563
2019-12-01T21:33:41.4277831Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T21:33:41.4277924Z error[E0133]: mutation of layout constrained field is unsafe and requires unsafe function or block
2019-12-01T21:33:41.4278204Z   --> /checkout/src/test/ui/unsafe/ranged_ints2_const.rs:11:13
2019-12-01T21:33:41.4278254Z    |
2019-12-01T21:33:41.4278254Z    |
2019-12-01T21:33:41.4278302Z LL |     let y = &mut x.0; //~ ERROR references in const fn are unstable
2019-12-01T21:33:41.4278369Z    |             ^^^^^^^^ mutation of layout constrained field
2019-12-01T21:33:41.4278470Z    = note: mutating layout constrained fields cannot statically be checked for valid values
2019-12-01T21:33:41.4278522Z 
2019-12-01T21:33:41.4278567Z error: aborting due to 3 previous errors
2019-12-01T21:33:41.4278759Z 
---
2019-12-01T21:33:41.4280856Z thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:537:22
2019-12-01T21:33:41.4281001Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2019-12-01T21:33:41.4281031Z 
2019-12-01T21:33:41.4281055Z 
2019-12-01T21:33:41.4282597Z 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" "/usr/lib/llvm-6.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -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" "--quiet" "--llvm-version" "6.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
2019-12-01T21:33:41.4282871Z 
2019-12-01T21:33:41.4282898Z 
2019-12-01T21:33:41.4282941Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-12-01T21:33:41.4283003Z Build completed unsuccessfully in 1:04:18
2019-12-01T21:33:41.4283003Z Build completed unsuccessfully in 1:04:18
2019-12-01T21:33:41.4283103Z == clock drift check ==
2019-12-01T21:33:41.4283171Z   local time: Sun Dec  1 21:33:41 UTC 2019
2019-12-01T21:33:41.9667397Z   network time: Sun, 01 Dec 2019 21:33:41 GMT
2019-12-01T21:33:41.9667930Z == end clock drift check ==
2019-12-01T21:33:42.8153955Z 
2019-12-01T21:33:42.8253181Z ##[error]Bash exited with code '1'.
2019-12-01T21:33:42.8289600Z ##[section]Starting: Checkout
2019-12-01T21:33:42.8291143Z ==============================================================================
2019-12-01T21:33:42.8291194Z Task         : Get sources
2019-12-01T21:33:42.8291251Z 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)

@ecstatic-morse
Copy link
Contributor Author

@bors try-

@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-12-01T22:08:09.3890405Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-12-01T22:08:09.4079233Z ##[command]git config gc.auto 0
2019-12-01T22:08:09.4149764Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-12-01T22:08:09.4202508Z ##[command]git config --get-all http.proxy
2019-12-01T22:08:09.9707916Z ##[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/65572/merge:refs/remotes/pull/65572/merge
---
2019-12-01T23:08:58.0769072Z .................................................................................................... 1300/9316
2019-12-01T23:09:05.4222227Z .................................................................................................... 1400/9316
2019-12-01T23:09:11.8919132Z .................................................................................F.................. 1500/9316
2019-12-01T23:09:18.6054920Z .................................................................................................... 1600/9316
2019-12-01T23:09:23.5299211Z ...................................F...F.FFFF......F................................................ 1700/9316
2019-12-01T23:09:45.3633248Z .................................................................................................... 1900/9316
2019-12-01T23:09:45.3633248Z .................................................................................................... 1900/9316
2019-12-01T23:09:59.4314026Z .........................iiiii...................................................................... 2000/9316
2019-12-01T23:10:10.0081869Z .................................................................................................... 2200/9316
2019-12-01T23:10:12.6765608Z .................................................................................................... 2300/9316
2019-12-01T23:10:17.3955366Z .................................................................................................... 2400/9316
2019-12-01T23:10:39.8485186Z .................................................................................................... 2500/9316
---
2019-12-01T23:13:26.4696321Z ...........................i...............i........................................................ 4800/9316
2019-12-01T23:13:37.5370528Z .................................................................................................... 4900/9316
2019-12-01T23:13:43.8427924Z .................................................................................................... 5000/9316
2019-12-01T23:13:52.2471565Z .................................................................................................... 5100/9316
2019-12-01T23:14:00.1357783Z .................................ii.ii...........i.................................................. 5200/9316
2019-12-01T23:14:10.4776201Z .................................................................................................... 5400/9316
2019-12-01T23:14:20.9688618Z .................................................................................................... 5500/9316
2019-12-01T23:14:28.6259111Z ...............i.................................................................................... 5600/9316
2019-12-01T23:14:35.0106871Z .................................................................................................... 5700/9316
2019-12-01T23:14:35.0106871Z .................................................................................................... 5700/9316
2019-12-01T23:14:46.8796443Z .................................................................................................... 5800/9316
2019-12-01T23:14:59.5857792Z .ii...i..ii...........i............................................................................. 5900/9316
2019-12-01T23:15:18.7402106Z .................................................................................................... 6100/9316
2019-12-01T23:15:26.1689422Z .................................................................................................... 6200/9316
2019-12-01T23:15:26.1689422Z .................................................................................................... 6200/9316
2019-12-01T23:15:40.5266854Z ........................i..ii....................................................................... 6300/9316
2019-12-01T23:16:01.5640342Z ...............................................................................................i.... 6500/9316
2019-12-01T23:16:03.9482928Z .................................................................................................... 6600/9316
2019-12-01T23:16:06.2816842Z ......................................................................................i............. 6700/9316
2019-12-01T23:16:09.1380307Z .................................................................................................... 6800/9316
---
2019-12-01T23:21:12.2902263Z 10 error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2902507Z -   --> $DIR/const-extern-fn-min-const-fn.rs:5:41
2019-12-01T23:21:12.2902737Z +   --> $DIR/const-extern-fn-min-const-fn.rs:5:1
2019-12-01T23:21:12.2902781Z 12    |
2019-12-01T23:21:12.2903211Z 13 LL | const unsafe extern "C" fn closure() -> fn() { || {} }
2019-12-01T23:21:12.2903894Z +    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T23:21:12.2903942Z 15    |
2019-12-01T23:21:12.2903942Z 15    |
2019-12-01T23:21:12.2904465Z 16    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2904748Z 17    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2904809Z 
2019-12-01T23:21:12.2904873Z The actual stderr differed from the expected stderr.
2019-12-01T23:21:12.2905278Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-extern-fn/const-extern-fn-min-const-fn/const-extern-fn-min-const-fn.stderr
2019-12-01T23:21:12.2905278Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-extern-fn/const-extern-fn-min-const-fn/const-extern-fn-min-const-fn.stderr
2019-12-01T23:21:12.2905534Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T23:21:12.2905849Z To only update this specific test, also pass `--test-args consts/const-extern-fn/const-extern-fn-min-const-fn.rs`
2019-12-01T23:21:12.2906050Z error: 1 errors occurred comparing output.
2019-12-01T23:21:12.2906111Z status: exit code: 1
2019-12-01T23:21:12.2906111Z status: exit code: 1
2019-12-01T23:21:12.2907169Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-extern-fn/const-extern-fn-min-const-fn.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-extern-fn/const-extern-fn-min-const-fn" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/const-extern-fn/const-extern-fn-min-const-fn/auxiliary" "-A" "unused"
2019-12-01T23:21:12.2907539Z ------------------------------------------
2019-12-01T23:21:12.2907570Z 
2019-12-01T23:21:12.2907799Z ------------------------------------------
2019-12-01T23:21:12.2907841Z stderr:
2019-12-01T23:21:12.2907841Z stderr:
2019-12-01T23:21:12.2908040Z ------------------------------------------
2019-12-01T23:21:12.2908087Z error[E0723]: unsizing casts are not allowed in const fn
2019-12-01T23:21:12.2908354Z   --> /checkout/src/test/ui/consts/const-extern-fn/const-extern-fn-min-const-fn.rs:3:48
2019-12-01T23:21:12.2908410Z    |
2019-12-01T23:21:12.2908647Z LL | const extern fn unsize(x: &[u8; 3]) -> &[u8] { x }
2019-12-01T23:21:12.2908736Z    |
2019-12-01T23:21:12.2908736Z    |
2019-12-01T23:21:12.2909039Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2909097Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2909174Z error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2909485Z   --> /checkout/src/test/ui/consts/const-extern-fn/const-extern-fn-min-const-fn.rs:5:1
2019-12-01T23:21:12.2909535Z    |
2019-12-01T23:21:12.2909535Z    |
2019-12-01T23:21:12.2909784Z LL | const unsafe extern "C" fn closure() -> fn() { || {} }
2019-12-01T23:21:12.2909895Z    |
2019-12-01T23:21:12.2909895Z    |
2019-12-01T23:21:12.2910188Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2910259Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2910299Z 
2019-12-01T23:21:12.2910345Z error[E0723]: only int, `bool` and `char` operations are stable in const fn
2019-12-01T23:21:12.2910695Z    |
2019-12-01T23:21:12.2910695Z    |
2019-12-01T23:21:12.2910739Z LL | const unsafe extern fn use_float() { 1.0 + 1.0; }
2019-12-01T23:21:12.2910847Z    |
2019-12-01T23:21:12.2910847Z    |
2019-12-01T23:21:12.2911136Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2911212Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2911290Z error[E0723]: casting pointers to ints is unstable in const fn
2019-12-01T23:21:12.2911569Z   --> /checkout/src/test/ui/consts/const-extern-fn/const-extern-fn-min-const-fn.rs:9:48
2019-12-01T23:21:12.2911636Z    |
2019-12-01T23:21:12.2911636Z    |
2019-12-01T23:21:12.2911777Z LL | const extern "C" fn ptr_cast(val: *const u8) { val as usize; }
2019-12-01T23:21:12.2911885Z    |
2019-12-01T23:21:12.2911885Z    |
2019-12-01T23:21:12.2912207Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2912278Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2912351Z error: aborting due to 4 previous errors
2019-12-01T23:21:12.2912380Z 
2019-12-01T23:21:12.2912652Z For more information about this error, try `rustc --explain E0723`.
2019-12-01T23:21:12.2912685Z 
---
2019-12-01T23:21:12.2913448Z 1 error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2913701Z -   --> $DIR/allow_const_fn_ptr.rs:4:16
2019-12-01T23:21:12.2914462Z +   --> $DIR/allow_const_fn_ptr.rs:4:25
2019-12-01T23:21:12.2914514Z 3    |
2019-12-01T23:21:12.2914577Z 4 LL | const fn error(_: fn()) {}
2019-12-01T23:21:12.2914833Z +    |                         ^
2019-12-01T23:21:12.2914892Z 6    |
2019-12-01T23:21:12.2914892Z 6    |
2019-12-01T23:21:12.2915195Z 7    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2915255Z 8    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2915332Z 
2019-12-01T23:21:12.2915388Z The actual stderr differed from the expected stderr.
2019-12-01T23:21:12.2915732Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/allow_const_fn_ptr/allow_const_fn_ptr.stderr
2019-12-01T23:21:12.2915732Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/allow_const_fn_ptr/allow_const_fn_ptr.stderr
2019-12-01T23:21:12.2916007Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T23:21:12.2916323Z To only update this specific test, also pass `--test-args consts/min_const_fn/allow_const_fn_ptr.rs`
2019-12-01T23:21:12.2916426Z error: 1 errors occurred comparing output.
2019-12-01T23:21:12.2916472Z status: exit code: 1
2019-12-01T23:21:12.2916472Z status: exit code: 1
2019-12-01T23:21:12.2918058Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/min_const_fn/allow_const_fn_ptr.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/allow_const_fn_ptr" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/min_const_fn/allow_const_fn_ptr/auxiliary" "-A" "unused"
2019-12-01T23:21:12.2918426Z ------------------------------------------
2019-12-01T23:21:12.2918650Z 
2019-12-01T23:21:12.2918867Z ------------------------------------------
2019-12-01T23:21:12.2918911Z stderr:
2019-12-01T23:21:12.2918911Z stderr:
2019-12-01T23:21:12.2919138Z ------------------------------------------
2019-12-01T23:21:12.2919186Z error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2919433Z   --> /checkout/src/test/ui/consts/min_const_fn/allow_const_fn_ptr.rs:4:25
2019-12-01T23:21:12.2919499Z    |
2019-12-01T23:21:12.2919551Z LL | const fn error(_: fn()) {} //~ ERROR function pointers in const fn are unstable
2019-12-01T23:21:12.2919655Z    |
2019-12-01T23:21:12.2919655Z    |
2019-12-01T23:21:12.2920138Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2920197Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2920289Z error: aborting due to previous error
2019-12-01T23:21:12.2920318Z 
2019-12-01T23:21:12.2920575Z For more information about this error, try `rustc --explain E0723`.
2019-12-01T23:21:12.2920777Z 
---
2019-12-01T23:21:12.2921575Z 10 error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2921789Z -   --> $DIR/cast_errors.rs:5:23
2019-12-01T23:21:12.2922092Z +   --> $DIR/cast_errors.rs:5:1
2019-12-01T23:21:12.2922145Z 12    |
2019-12-01T23:21:12.2922385Z 13 LL | const fn closure() -> fn() { || {} }
2019-12-01T23:21:12.2922663Z +    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T23:21:12.2922705Z 15    |
2019-12-01T23:21:12.2922705Z 15    |
2019-12-01T23:21:12.2923007Z 16    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2923092Z 17    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2923164Z 18 
2019-12-01T23:21:12.2923361Z 19 error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2924355Z -   --> $DIR/cast_errors.rs:8:5
2019-12-01T23:21:12.2924601Z +   --> $DIR/cast_errors.rs:7:21
2019-12-01T23:21:12.2924601Z +   --> $DIR/cast_errors.rs:7:21
2019-12-01T23:21:12.2924667Z 21    |
2019-12-01T23:21:12.2924868Z - LL |     (|| {}) as fn();
2019-12-01T23:21:12.2925112Z + LL | const fn closure2() {
2019-12-01T23:21:12.2925184Z +    |                     ^
2019-12-01T23:21:12.2925225Z 24    |
2019-12-01T23:21:12.2925225Z 24    |
2019-12-01T23:21:12.2925537Z 25    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2925611Z 26    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2925682Z 27 
2019-12-01T23:21:12.2925754Z 28 error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2925986Z -   --> $DIR/cast_errors.rs:11:28
2019-12-01T23:21:12.2926195Z +   --> $DIR/cast_errors.rs:11:1
2019-12-01T23:21:12.2926195Z +   --> $DIR/cast_errors.rs:11:1
2019-12-01T23:21:12.2926239Z 30    |
2019-12-01T23:21:12.2926488Z 31 LL | const fn reify(f: fn()) -> unsafe fn() { f }
2019-12-01T23:21:12.2926761Z +    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T23:21:12.2926820Z 33    |
2019-12-01T23:21:12.2926820Z 33    |
2019-12-01T23:21:12.2927489Z 34    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2927574Z 35    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2927646Z 36 
2019-12-01T23:21:12.2927691Z 37 error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2927938Z -   --> $DIR/cast_errors.rs:13:21
2019-12-01T23:21:12.2928153Z +   --> $DIR/cast_errors.rs:13:19
2019-12-01T23:21:12.2928153Z +   --> $DIR/cast_errors.rs:13:19
2019-12-01T23:21:12.2928198Z 39    |
2019-12-01T23:21:12.2928269Z 40 LL | const fn reify2() { main as unsafe fn(); }
2019-12-01T23:21:12.2928544Z +    |                   ^
2019-12-01T23:21:12.2928584Z 42    |
2019-12-01T23:21:12.2928584Z 42    |
2019-12-01T23:21:12.2928890Z 43    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2928946Z 44    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2929021Z 
2019-12-01T23:21:12.2929066Z The actual stderr differed from the expected stderr.
2019-12-01T23:21:12.2929396Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/cast_errors/cast_errors.stderr
2019-12-01T23:21:12.2929396Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/cast_errors/cast_errors.stderr
2019-12-01T23:21:12.2929666Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T23:21:12.2929942Z To only update this specific test, also pass `--test-args consts/min_const_fn/cast_errors.rs`
2019-12-01T23:21:12.2930038Z error: 1 errors occurred comparing output.
2019-12-01T23:21:12.2930213Z status: exit code: 1
2019-12-01T23:21:12.2930213Z status: exit code: 1
2019-12-01T23:21:12.2931432Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/min_const_fn/cast_errors.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/cast_errors" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/min_const_fn/cast_errors/auxiliary" "-A" "unused"
2019-12-01T23:21:12.2931778Z ------------------------------------------
2019-12-01T23:21:12.2931808Z 
2019-12-01T23:21:12.2932028Z ------------------------------------------
2019-12-01T23:21:12.2932069Z stderr:
2019-12-01T23:21:12.2932069Z stderr:
2019-12-01T23:21:12.2932267Z ------------------------------------------
2019-12-01T23:21:12.2932339Z error[E0723]: unsizing casts are not allowed in const fn
2019-12-01T23:21:12.2932573Z   --> /checkout/src/test/ui/consts/min_const_fn/cast_errors.rs:3:41
2019-12-01T23:21:12.2932618Z    |
2019-12-01T23:21:12.2932845Z LL | const fn unsize(x: &[u8; 3]) -> &[u8] { x }
2019-12-01T23:21:12.2932931Z    |
2019-12-01T23:21:12.2932931Z    |
2019-12-01T23:21:12.2933224Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2933276Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2933371Z error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2933795Z   --> /checkout/src/test/ui/consts/min_const_fn/cast_errors.rs:5:1
2019-12-01T23:21:12.2933841Z    |
2019-12-01T23:21:12.2933841Z    |
2019-12-01T23:21:12.2934539Z LL | const fn closure() -> fn() { || {} }
2019-12-01T23:21:12.2934655Z    |
2019-12-01T23:21:12.2934655Z    |
2019-12-01T23:21:12.2934992Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2935049Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2935126Z error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2935403Z   --> /checkout/src/test/ui/consts/min_const_fn/cast_errors.rs:7:21
2019-12-01T23:21:12.2935450Z    |
2019-12-01T23:21:12.2935492Z LL | const fn closure2() {
2019-12-01T23:21:12.2935492Z LL | const fn closure2() {
2019-12-01T23:21:12.2935551Z    |                     ^
2019-12-01T23:21:12.2935593Z    |
2019-12-01T23:21:12.2935876Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2935956Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2936033Z error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2936308Z   --> /checkout/src/test/ui/consts/min_const_fn/cast_errors.rs:11:1
2019-12-01T23:21:12.2936354Z    |
2019-12-01T23:21:12.2936354Z    |
2019-12-01T23:21:12.2936587Z LL | const fn reify(f: fn()) -> unsafe fn() { f }
2019-12-01T23:21:12.2936696Z    |
2019-12-01T23:21:12.2936696Z    |
2019-12-01T23:21:12.2936977Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2937046Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2937122Z error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2937596Z   --> /checkout/src/test/ui/consts/min_const_fn/cast_errors.rs:13:19
2019-12-01T23:21:12.2937660Z    |
2019-12-01T23:21:12.2937660Z    |
2019-12-01T23:21:12.2937712Z LL | const fn reify2() { main as unsafe fn(); }
2019-12-01T23:21:12.2937810Z    |
2019-12-01T23:21:12.2937810Z    |
2019-12-01T23:21:12.2938085Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2938138Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2938331Z error: aborting due to 5 previous errors
2019-12-01T23:21:12.2938360Z 
2019-12-01T23:21:12.2938628Z For more information about this error, try `rustc --explain E0723`.
2019-12-01T23:21:12.2938677Z 
---
2019-12-01T23:21:12.2939482Z 1 error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2939717Z -   --> $DIR/cmp_fn_pointers.rs:1:14
2019-12-01T23:21:12.2939999Z +   --> $DIR/cmp_fn_pointers.rs:1:35
2019-12-01T23:21:12.2940050Z 3    |
2019-12-01T23:21:12.2940290Z 4 LL | const fn cmp(x: fn(), y: fn()) -> bool {
2019-12-01T23:21:12.2940678Z +    |                                   ^^^^
2019-12-01T23:21:12.2940721Z 6    |
2019-12-01T23:21:12.2940721Z 6    |
2019-12-01T23:21:12.2941280Z 7    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2941334Z 8    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2941409Z 
2019-12-01T23:21:12.2941497Z The actual stderr differed from the expected stderr.
2019-12-01T23:21:12.2941819Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/cmp_fn_pointers/cmp_fn_pointers.stderr
2019-12-01T23:21:12.2941819Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/cmp_fn_pointers/cmp_fn_pointers.stderr
2019-12-01T23:21:12.2942081Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T23:21:12.2942357Z To only update this specific test, also pass `--test-args consts/min_const_fn/cmp_fn_pointers.rs`
2019-12-01T23:21:12.2942452Z error: 1 errors occurred comparing output.
2019-12-01T23:21:12.2942496Z status: exit code: 1
2019-12-01T23:21:12.2942496Z status: exit code: 1
2019-12-01T23:21:12.2943266Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/min_const_fn/cmp_fn_pointers.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/cmp_fn_pointers" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/min_const_fn/cmp_fn_pointers/auxiliary" "-A" "unused"
2019-12-01T23:21:12.2943597Z ------------------------------------------
2019-12-01T23:21:12.2943645Z 
2019-12-01T23:21:12.2944261Z ------------------------------------------
2019-12-01T23:21:12.2944322Z stderr:
2019-12-01T23:21:12.2944322Z stderr:
2019-12-01T23:21:12.2944592Z ------------------------------------------
2019-12-01T23:21:12.2944665Z error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2944920Z   --> /checkout/src/test/ui/consts/min_const_fn/cmp_fn_pointers.rs:1:35
2019-12-01T23:21:12.2944968Z    |
2019-12-01T23:21:12.2945271Z LL | const fn cmp(x: fn(), y: fn()) -> bool { //~ ERROR function pointers in const fn are unstable
2019-12-01T23:21:12.2945390Z    |
2019-12-01T23:21:12.2945390Z    |
2019-12-01T23:21:12.2945686Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2945743Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2945835Z error: aborting due to previous error
2019-12-01T23:21:12.2945864Z 
2019-12-01T23:21:12.2946118Z For more information about this error, try `rustc --explain E0723`.
2019-12-01T23:21:12.2946150Z 
---
2019-12-01T23:21:12.2947099Z 1 error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.2947631Z -   --> $DIR/min_const_fn_dyn.rs:9:5
2019-12-01T23:21:12.2947853Z +   --> $DIR/min_const_fn_dyn.rs:8:30
2019-12-01T23:21:12.2947897Z 3    |
2019-12-01T23:21:12.2948090Z - LL |     x.0.field;
2019-12-01T23:21:12.2948301Z -    |     ^^^^^^^^^
2019-12-01T23:21:12.2948349Z + LL | const fn no_inner_dyn_trait2(x: Hide) {
2019-12-01T23:21:12.2948454Z 6    |
2019-12-01T23:21:12.2948454Z 6    |
2019-12-01T23:21:12.2948759Z 7    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2948902Z 8    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2949007Z 9 
2019-12-01T23:21:12.2949059Z 10 error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.2949366Z -   --> $DIR/min_const_fn_dyn.rs:12:66
2019-12-01T23:21:12.2949607Z +   --> $DIR/min_const_fn_dyn.rs:12:50
2019-12-01T23:21:12.2949607Z +   --> $DIR/min_const_fn_dyn.rs:12:50
2019-12-01T23:21:12.2949665Z 12    |
2019-12-01T23:21:12.2949943Z 13 LL | const fn no_inner_dyn_trait_ret() -> Hide { Hide(HasDyn { field: &0 }) }
2019-12-01T23:21:12.2950296Z +    |                                                  ^^^^^^^^^^^^^^^^^^^^
2019-12-01T23:21:12.2950344Z 15    |
2019-12-01T23:21:12.2950344Z 15    |
2019-12-01T23:21:12.2950684Z 16    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2950743Z 17    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2950821Z 
2019-12-01T23:21:12.2950877Z The actual stderr differed from the expected stderr.
2019-12-01T23:21:12.2951229Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn_dyn/min_const_fn_dyn.stderr
2019-12-01T23:21:12.2951229Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn_dyn/min_const_fn_dyn.stderr
2019-12-01T23:21:12.2951517Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T23:21:12.2951816Z To only update this specific test, also pass `--test-args consts/min_const_fn/min_const_fn_dyn.rs`
2019-12-01T23:21:12.2951925Z error: 1 errors occurred comparing output.
2019-12-01T23:21:12.2951974Z status: exit code: 1
2019-12-01T23:21:12.2951974Z status: exit code: 1
2019-12-01T23:21:12.2952802Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/min_const_fn/min_const_fn_dyn.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn_dyn" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/min_const_fn/min_const_fn_dyn/auxiliary" "-A" "unused"
2019-12-01T23:21:12.2953297Z ------------------------------------------
2019-12-01T23:21:12.2953347Z 
2019-12-01T23:21:12.2954298Z ------------------------------------------
2019-12-01T23:21:12.2954351Z stderr:
2019-12-01T23:21:12.2954351Z stderr:
2019-12-01T23:21:12.2954576Z ------------------------------------------
2019-12-01T23:21:12.2954651Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.2954910Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn_dyn.rs:8:30
2019-12-01T23:21:12.2954962Z    |
2019-12-01T23:21:12.2955024Z LL | const fn no_inner_dyn_trait2(x: Hide) {
2019-12-01T23:21:12.2955112Z    |
2019-12-01T23:21:12.2955112Z    |
2019-12-01T23:21:12.2955430Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2955498Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2955597Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.2955865Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn_dyn.rs:12:50
2019-12-01T23:21:12.2956032Z    |
2019-12-01T23:21:12.2956032Z    |
2019-12-01T23:21:12.2956326Z LL | const fn no_inner_dyn_trait_ret() -> Hide { Hide(HasDyn { field: &0 }) }
2019-12-01T23:21:12.2956426Z    |
2019-12-01T23:21:12.2956426Z    |
2019-12-01T23:21:12.2956736Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2956792Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2956883Z error: aborting due to 2 previous errors
2019-12-01T23:21:12.2956912Z 
2019-12-01T23:21:12.2957256Z For more information about this error, try `rustc --explain E0723`.
2019-12-01T23:21:12.2957297Z 
---
2019-12-01T23:21:12.2958001Z 1 error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2958224Z -   --> $DIR/min_const_fn_fn_ptr.rs:11:5
2019-12-01T23:21:12.2958460Z +   --> $DIR/min_const_fn_fn_ptr.rs:10:30
2019-12-01T23:21:12.2958505Z 3    |
2019-12-01T23:21:12.2958701Z - LL |     x.0.field;
2019-12-01T23:21:12.2958895Z -    |     ^^^^^^^^^
2019-12-01T23:21:12.2958961Z + LL | const fn no_inner_dyn_trait2(x: Hide) {
2019-12-01T23:21:12.2959049Z 6    |
2019-12-01T23:21:12.2959049Z 6    |
2019-12-01T23:21:12.2959371Z 7    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2959436Z 8    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2959524Z 9 
2019-12-01T23:21:12.2959571Z 10 error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2959803Z -   --> $DIR/min_const_fn_fn_ptr.rs:14:59
2019-12-01T23:21:12.2960039Z +   --> $DIR/min_const_fn_fn_ptr.rs:14:50
2019-12-01T23:21:12.2960039Z +   --> $DIR/min_const_fn_fn_ptr.rs:14:50
2019-12-01T23:21:12.2960092Z 12    |
2019-12-01T23:21:12.2960346Z 13 LL | const fn no_inner_dyn_trait_ret() -> Hide { Hide(HasPtr { field }) }
2019-12-01T23:21:12.2960665Z +    |                                                  ^^^^^^^^^^^^^^^^
2019-12-01T23:21:12.2960709Z 15    |
2019-12-01T23:21:12.2960709Z 15    |
2019-12-01T23:21:12.2961017Z 16    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2961074Z 17    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2961132Z 
2019-12-01T23:21:12.2961201Z The actual stderr differed from the expected stderr.
2019-12-01T23:21:12.2961543Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn_fn_ptr/min_const_fn_fn_ptr.stderr
2019-12-01T23:21:12.2961543Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn_fn_ptr/min_const_fn_fn_ptr.stderr
2019-12-01T23:21:12.2961795Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T23:21:12.2962108Z To only update this specific test, also pass `--test-args consts/min_const_fn/min_const_fn_fn_ptr.rs`
2019-12-01T23:21:12.2962189Z error: 1 errors occurred comparing output.
2019-12-01T23:21:12.2962251Z status: exit code: 1
2019-12-01T23:21:12.2962251Z status: exit code: 1
2019-12-01T23:21:12.2963068Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/min_const_fn/min_const_fn_fn_ptr.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn_fn_ptr" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/min_const_fn/min_const_fn_fn_ptr/auxiliary" "-A" "unused"
2019-12-01T23:21:12.2963397Z ------------------------------------------
2019-12-01T23:21:12.2963510Z 
2019-12-01T23:21:12.2963768Z ------------------------------------------
2019-12-01T23:21:12.2963814Z stderr:
2019-12-01T23:21:12.2963814Z stderr:
2019-12-01T23:21:12.2978942Z ------------------------------------------
2019-12-01T23:21:12.2979024Z error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2979555Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn_fn_ptr.rs:10:30
2019-12-01T23:21:12.2979623Z    |
2019-12-01T23:21:12.2979694Z LL | const fn no_inner_dyn_trait2(x: Hide) {
2019-12-01T23:21:12.2979784Z    |
2019-12-01T23:21:12.2979784Z    |
2019-12-01T23:21:12.2980141Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2980355Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2980448Z error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2980929Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn_fn_ptr.rs:14:50
2019-12-01T23:21:12.2980988Z    |
2019-12-01T23:21:12.2980988Z    |
2019-12-01T23:21:12.2981398Z LL | const fn no_inner_dyn_trait_ret() -> Hide { Hide(HasPtr { field }) }
2019-12-01T23:21:12.2981516Z    |
2019-12-01T23:21:12.2981516Z    |
2019-12-01T23:21:12.2981814Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2981897Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2981980Z error: aborting due to 2 previous errors
2019-12-01T23:21:12.2982010Z 
2019-12-01T23:21:12.2982329Z For more information about this error, try `rustc --explain E0723`.
2019-12-01T23:21:12.2982373Z 
---
2019-12-01T23:21:12.2983206Z 7 error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.2983461Z -   --> $DIR/min_const_fn.rs:39:36
2019-12-01T23:21:12.2983693Z +   --> $DIR/min_const_fn.rs:39:5
2019-12-01T23:21:12.2983739Z 9    |
2019-12-01T23:21:12.2984016Z 10 LL |     const fn get_mut(&mut self) -> &mut T { &mut self.0 }
2019-12-01T23:21:12.2984317Z +    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T23:21:12.2984381Z 12    |
2019-12-01T23:21:12.2984381Z 12    |
2019-12-01T23:21:12.2984858Z 13    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2984914Z 14    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2985012Z 20    |                            ^^^^ constant functions cannot evaluate destructors
2019-12-01T23:21:12.2985063Z 21 
2019-12-01T23:21:12.2985108Z 22 error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.2985355Z -   --> $DIR/min_const_fn.rs:46:42
2019-12-01T23:21:12.2985355Z -   --> $DIR/min_const_fn.rs:46:42
2019-12-01T23:21:12.2985561Z +   --> $DIR/min_const_fn.rs:46:5
2019-12-01T23:21:12.2985604Z 24    |
2019-12-01T23:21:12.2985861Z 25 LL |     const fn get_mut_lt(&'a mut self) -> &mut T { &mut self.0 }
2019-12-01T23:21:12.2986136Z +    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T23:21:12.2986195Z 27    |
2019-12-01T23:21:12.2986195Z 27    |
2019-12-01T23:21:12.2986480Z 28    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2986535Z 29    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2986630Z 35    |                           ^^^^ constant functions cannot evaluate destructors
2019-12-01T23:21:12.2986835Z 36 
2019-12-01T23:21:12.2986897Z 37 error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.2987238Z -   --> $DIR/min_const_fn.rs:53:38
2019-12-01T23:21:12.2987238Z -   --> $DIR/min_const_fn.rs:53:38
2019-12-01T23:21:12.2987611Z +   --> $DIR/min_const_fn.rs:53:5
2019-12-01T23:21:12.2987653Z 39    |
2019-12-01T23:21:12.2987907Z 40 LL |     const fn get_mut_s(&mut self) -> &mut T { &mut self.0 }
2019-12-01T23:21:12.2988177Z +    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T23:21:12.2988237Z 42    |
2019-12-01T23:21:12.2988237Z 42    |
2019-12-01T23:21:12.2988524Z 43    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2988659Z 44    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2988755Z 45 
2019-12-01T23:21:12.2988799Z 46 error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.2989059Z -   --> $DIR/min_const_fn.rs:58:39
2019-12-01T23:21:12.2989266Z +   --> $DIR/min_const_fn.rs:58:5
2019-12-01T23:21:12.2989266Z +   --> $DIR/min_const_fn.rs:58:5
2019-12-01T23:21:12.2989317Z 48    |
2019-12-01T23:21:12.2989571Z 49 LL |     const fn get_mut_sq(&mut self) -> &mut T { &mut self.0 }
2019-12-01T23:21:12.2990002Z +    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T23:21:12.2990042Z 51    |
2019-12-01T23:21:12.2990042Z 51    |
2019-12-01T23:21:12.2990514Z 52    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2990568Z 53    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2990661Z 179    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2990713Z 180 
2019-12-01T23:21:12.2990757Z 181 error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.2991145Z -   --> $DIR/min_const_fn.rs:105:14
2019-12-01T23:21:12.2991145Z -   --> $DIR/min_const_fn.rs:105:14
2019-12-01T23:21:12.2991341Z +   --> $DIR/min_const_fn.rs:105:27
2019-12-01T23:21:12.2991382Z 183    |
2019-12-01T23:21:12.2991441Z 184 LL | const fn inc(x: &mut i32) { *x += 1 }
2019-12-01T23:21:12.2991680Z +    |                           ^
2019-12-01T23:21:12.2991720Z 186    |
2019-12-01T23:21:12.2991720Z 186    |
2019-12-01T23:21:12.2992008Z 187    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2992064Z 188    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2992161Z 251    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2992378Z 252 
2019-12-01T23:21:12.2992425Z 253 error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.2992672Z -   --> $DIR/min_const_fn.rs:132:23
2019-12-01T23:21:12.2992672Z -   --> $DIR/min_const_fn.rs:132:23
2019-12-01T23:21:12.2993935Z +   --> $DIR/min_const_fn.rs:132:49
2019-12-01T23:21:12.2993988Z 255    |
2019-12-01T23:21:12.2994054Z 256 LL | const fn no_dyn_trait(_x: &dyn std::fmt::Debug) {}
2019-12-01T23:21:12.2994343Z +    |                                                 ^
2019-12-01T23:21:12.2994419Z 258    |
2019-12-01T23:21:12.2994419Z 258    |
2019-12-01T23:21:12.2994720Z 259    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2994777Z 260    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2994867Z 261 
2019-12-01T23:21:12.2994917Z 262 error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.2995144Z -   --> $DIR/min_const_fn.rs:133:32
2019-12-01T23:21:12.2995379Z +   --> $DIR/min_const_fn.rs:133:1
2019-12-01T23:21:12.2995379Z +   --> $DIR/min_const_fn.rs:133:1
2019-12-01T23:21:12.2995423Z 264    |
2019-12-01T23:21:12.2995684Z 265 LL | const fn no_dyn_trait_ret() -> &'static dyn std::fmt::Debug { &() }
2019-12-01T23:21:12.2996005Z +    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T23:21:12.2996049Z 267    |
2019-12-01T23:21:12.2996049Z 267    |
2019-12-01T23:21:12.2996353Z 268    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2996527Z 269    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2996617Z 270 
2019-12-01T23:21:12.2996666Z 271 error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.2996925Z -   --> $DIR/min_const_fn.rs:138:41
2019-12-01T23:21:12.2997477Z +   --> $DIR/min_const_fn.rs:138:39
2019-12-01T23:21:12.2997477Z +   --> $DIR/min_const_fn.rs:138:39
2019-12-01T23:21:12.2997687Z 273    |
2019-12-01T23:21:12.2997734Z 274 LL | const fn really_no_traits_i_mean_it() { (&() as &dyn std::fmt::Debug, ()).1 }
2019-12-01T23:21:12.2998136Z +    |                                       ^
2019-12-01T23:21:12.2998177Z 276    |
2019-12-01T23:21:12.2998177Z 276    |
2019-12-01T23:21:12.2998575Z 277    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2998632Z 278    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.2998708Z 279 
2019-12-01T23:21:12.2998770Z 280 error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.2998989Z -   --> $DIR/min_const_fn.rs:141:21
2019-12-01T23:21:12.2999195Z +   --> $DIR/min_const_fn.rs:141:31
2019-12-01T23:21:12.2999195Z +   --> $DIR/min_const_fn.rs:141:31
2019-12-01T23:21:12.2999256Z 282    |
2019-12-01T23:21:12.2999298Z 283 LL | const fn no_fn_ptrs(_x: fn()) {}
2019-12-01T23:21:12.2999561Z +    |                               ^
2019-12-01T23:21:12.2999601Z 285    |
2019-12-01T23:21:12.2999601Z 285    |
2019-12-01T23:21:12.2999880Z 286    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.2999962Z 287    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3000034Z 288 
2019-12-01T23:21:12.3000080Z 289 error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.3000381Z -   --> $DIR/min_const_fn.rs:143:27
2019-12-01T23:21:12.3000608Z +   --> $DIR/min_const_fn.rs:143:1
2019-12-01T23:21:12.3000608Z +   --> $DIR/min_const_fn.rs:143:1
2019-12-01T23:21:12.3000662Z 291    |
2019-12-01T23:21:12.3000931Z 292 LL | const fn no_fn_ptrs2() -> fn() { fn foo() {} foo }
2019-12-01T23:21:12.3001208Z +    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2019-12-01T23:21:12.3001269Z 294    |
2019-12-01T23:21:12.3001269Z 294    |
2019-12-01T23:21:12.3001571Z 295    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3001627Z 296    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3001703Z 
2019-12-01T23:21:12.3001749Z The actual stderr differed from the expected stderr.
2019-12-01T23:21:12.3002088Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn/min_const_fn.stderr
2019-12-01T23:21:12.3002088Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn/min_const_fn.stderr
2019-12-01T23:21:12.3002375Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T23:21:12.3002656Z To only update this specific test, also pass `--test-args consts/min_const_fn/min_const_fn.rs`
2019-12-01T23:21:12.3002762Z error: 1 errors occurred comparing output.
2019-12-01T23:21:12.3002807Z status: exit code: 1
2019-12-01T23:21:12.3002807Z status: exit code: 1
2019-12-01T23:21:12.3003788Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/min_const_fn" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/min_const_fn/min_const_fn/auxiliary" "-A" "unused"
2019-12-01T23:21:12.3005027Z ------------------------------------------
2019-12-01T23:21:12.3005086Z 
2019-12-01T23:21:12.3007756Z ------------------------------------------
2019-12-01T23:21:12.3007980Z stderr:
2019-12-01T23:21:12.3007980Z stderr:
2019-12-01T23:21:12.3008299Z ------------------------------------------
2019-12-01T23:21:12.3008763Z error[E0493]: destructors cannot be evaluated at compile-time
2019-12-01T23:21:12.3009035Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:37:25
2019-12-01T23:21:12.3009111Z    |
2019-12-01T23:21:12.3009565Z LL |     const fn into_inner(self) -> T { self.0 } //~ destructors cannot be evaluated
2019-12-01T23:21:12.3009690Z 
2019-12-01T23:21:12.3009737Z error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.3010250Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:39:5
2019-12-01T23:21:12.3010323Z    |
2019-12-01T23:21:12.3010323Z    |
2019-12-01T23:21:12.3011330Z LL |     const fn get_mut(&mut self) -> &mut T { &mut self.0 }
2019-12-01T23:21:12.3011433Z    |
2019-12-01T23:21:12.3011433Z    |
2019-12-01T23:21:12.3011952Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3012014Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3012317Z error[E0493]: destructors cannot be evaluated at compile-time
2019-12-01T23:21:12.3012759Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:44:28
2019-12-01T23:21:12.3012812Z    |
2019-12-01T23:21:12.3012812Z    |
2019-12-01T23:21:12.3013094Z LL |     const fn into_inner_lt(self) -> T { self.0 } //~ destructors cannot be evaluated
2019-12-01T23:21:12.3013181Z 
2019-12-01T23:21:12.3013237Z error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.3013502Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:46:5
2019-12-01T23:21:12.3013549Z    |
2019-12-01T23:21:12.3013549Z    |
2019-12-01T23:21:12.3013780Z LL |     const fn get_mut_lt(&'a mut self) -> &mut T { &mut self.0 }
2019-12-01T23:21:12.3045485Z    |
2019-12-01T23:21:12.3045485Z    |
2019-12-01T23:21:12.3046082Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3046172Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3046480Z error[E0493]: destructors cannot be evaluated at compile-time
2019-12-01T23:21:12.3046751Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:51:27
2019-12-01T23:21:12.3046801Z    |
2019-12-01T23:21:12.3046801Z    |
2019-12-01T23:21:12.3047051Z LL |     const fn into_inner_s(self) -> T { self.0 } //~ ERROR destructors
2019-12-01T23:21:12.3047185Z 
2019-12-01T23:21:12.3047233Z error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.3047487Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:53:5
2019-12-01T23:21:12.3047716Z    |
2019-12-01T23:21:12.3047716Z    |
2019-12-01T23:21:12.3047950Z LL |     const fn get_mut_s(&mut self) -> &mut T { &mut self.0 }
2019-12-01T23:21:12.3048061Z    |
2019-12-01T23:21:12.3048061Z    |
2019-12-01T23:21:12.3048337Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3048392Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3048484Z error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.3048730Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:58:5
2019-12-01T23:21:12.3048792Z    |
2019-12-01T23:21:12.3048792Z    |
2019-12-01T23:21:12.3049023Z LL |     const fn get_mut_sq(&mut self) -> &mut T { &mut self.0 }
2019-12-01T23:21:12.3049134Z    |
2019-12-01T23:21:12.3049134Z    |
2019-12-01T23:21:12.3049403Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3049456Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3050005Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.3050303Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:76:16
2019-12-01T23:21:12.3050350Z    |
2019-12-01T23:21:12.3050350Z    |
2019-12-01T23:21:12.3050596Z LL | const fn foo11<T: std::fmt::Display>(t: T) -> T { t }
2019-12-01T23:21:12.3050684Z    |
2019-12-01T23:21:12.3050684Z    |
2019-12-01T23:21:12.3096977Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3097085Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3097409Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.3098243Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:78:18
2019-12-01T23:21:12.3098296Z    |
2019-12-01T23:21:12.3098296Z    |
2019-12-01T23:21:12.3098555Z LL | const fn foo11_2<T: Send>(t: T) -> T { t }
2019-12-01T23:21:12.3098661Z    |
2019-12-01T23:21:12.3098661Z    |
2019-12-01T23:21:12.3098990Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3099051Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3099084Z 
2019-12-01T23:21:12.3099134Z error[E0723]: only int, `bool` and `char` operations are stable in const fn
2019-12-01T23:21:12.3099466Z    |
2019-12-01T23:21:12.3099466Z    |
2019-12-01T23:21:12.3099691Z LL | const fn foo19(f: f32) -> f32 { f * 2.0 }
2019-12-01T23:21:12.3099812Z    |
2019-12-01T23:21:12.3099812Z    |
2019-12-01T23:21:12.3100101Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3100174Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3100206Z 
2019-12-01T23:21:12.3100253Z error[E0723]: only int, `bool` and `char` operations are stable in const fn
2019-12-01T23:21:12.3100590Z    |
2019-12-01T23:21:12.3100590Z    |
2019-12-01T23:21:12.3100818Z LL | const fn foo19_2(f: f32) -> f32 { 2.0 - f }
2019-12-01T23:21:12.3100921Z    |
2019-12-01T23:21:12.3100921Z    |
2019-12-01T23:21:12.3101209Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3101280Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3101363Z error[E0723]: only int and `bool` operations are stable in const fn
2019-12-01T23:21:12.3101667Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:84:35
2019-12-01T23:21:12.3101892Z    |
2019-12-01T23:21:12.3101892Z    |
2019-12-01T23:21:12.3102115Z LL | const fn foo19_3(f: f32) -> f32 { -f }
2019-12-01T23:21:12.3102222Z    |
2019-12-01T23:21:12.3102222Z    |
2019-12-01T23:21:12.3102509Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3102564Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3102611Z 
2019-12-01T23:21:12.3102657Z error[E0723]: only int, `bool` and `char` operations are stable in const fn
2019-12-01T23:21:12.3102973Z    |
2019-12-01T23:21:12.3102973Z    |
2019-12-01T23:21:12.3103200Z LL | const fn foo19_4(f: f32, g: f32) -> f32 { f / g }
2019-12-01T23:21:12.3103305Z    |
2019-12-01T23:21:12.3103305Z    |
2019-12-01T23:21:12.3103761Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3103818Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3104117Z error[E0723]: cannot access `static` items in const fn
2019-12-01T23:21:12.3104447Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:90:27
2019-12-01T23:21:12.3104652Z    |
2019-12-01T23:21:12.3104652Z    |
2019-12-01T23:21:12.3104964Z LL | const fn foo25() -> u32 { BAR } //~ ERROR cannot access `static` items in const fn
2019-12-01T23:21:12.3105063Z    |
2019-12-01T23:21:12.3105063Z    |
2019-12-01T23:21:12.3105384Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3105442Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3105531Z error[E0723]: cannot access `static` items in const fn
2019-12-01T23:21:12.3105794Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:91:37
2019-12-01T23:21:12.3105937Z    |
2019-12-01T23:21:12.3105937Z    |
2019-12-01T23:21:12.3106253Z LL | const fn foo26() -> &'static u32 { &BAR } //~ ERROR cannot access `static` items
2019-12-01T23:21:12.3106352Z    |
2019-12-01T23:21:12.3106352Z    |
2019-12-01T23:21:12.3106660Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3106727Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3106824Z error[E0723]: casting pointers to ints is unstable in const fn
2019-12-01T23:21:12.3107091Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:92:42
2019-12-01T23:21:12.3107139Z    |
2019-12-01T23:21:12.3107139Z    |
2019-12-01T23:21:12.3107372Z LL | const fn foo30(x: *const u32) -> usize { x as usize }
2019-12-01T23:21:12.3107483Z    |
2019-12-01T23:21:12.3107483Z    |
2019-12-01T23:21:12.3107779Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3107845Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3107924Z error[E0723]: casting pointers to ints is unstable in const fn
2019-12-01T23:21:12.3108351Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:94:63
2019-12-01T23:21:12.3108398Z    |
2019-12-01T23:21:12.3108398Z    |
2019-12-01T23:21:12.3108654Z LL | const fn foo30_with_unsafe(x: *const u32) -> usize { unsafe { x as usize } }
2019-12-01T23:21:12.3108768Z    |
2019-12-01T23:21:12.3108768Z    |
2019-12-01T23:21:12.3109203Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3109268Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3109340Z error[E0723]: casting pointers to ints is unstable in const fn
2019-12-01T23:21:12.3109598Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:96:42
2019-12-01T23:21:12.3109642Z    |
2019-12-01T23:21:12.3109642Z    |
2019-12-01T23:21:12.3109867Z LL | const fn foo30_2(x: *mut u32) -> usize { x as usize }
2019-12-01T23:21:12.3109976Z    |
2019-12-01T23:21:12.3109976Z    |
2019-12-01T23:21:12.3110439Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3110696Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3110957Z error[E0723]: casting pointers to ints is unstable in const fn
2019-12-01T23:21:12.3111419Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:98:63
2019-12-01T23:21:12.3111476Z    |
2019-12-01T23:21:12.3111476Z    |
2019-12-01T23:21:12.3111728Z LL | const fn foo30_2_with_unsafe(x: *mut u32) -> usize { unsafe { x as usize } }
2019-12-01T23:21:12.3112012Z    |
2019-12-01T23:21:12.3112012Z    |
2019-12-01T23:21:12.3112450Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3112512Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3112606Z error[E0723]: loops and conditional expressions are not stable in const fn
2019-12-01T23:21:12.3112863Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:101:44
2019-12-01T23:21:12.3112922Z    |
2019-12-01T23:21:12.3112922Z    |
2019-12-01T23:21:12.3113649Z LL | const fn foo36(a: bool, b: bool) -> bool { a && b }
2019-12-01T23:21:12.3113776Z    |
2019-12-01T23:21:12.3113776Z    |
2019-12-01T23:21:12.3114114Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3114172Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3114265Z error[E0723]: loops and conditional expressions are not stable in const fn
2019-12-01T23:21:12.3114528Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:103:44
2019-12-01T23:21:12.3114575Z    |
2019-12-01T23:21:12.3114575Z    |
2019-12-01T23:21:12.3114933Z LL | const fn foo37(a: bool, b: bool) -> bool { a || b }
2019-12-01T23:21:12.3115040Z    |
2019-12-01T23:21:12.3115040Z    |
2019-12-01T23:21:12.3115379Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3115439Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3115544Z error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.3115839Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:105:27
2019-12-01T23:21:12.3115890Z    |
2019-12-01T23:21:12.3115890Z    |
2019-12-01T23:21:12.3115947Z LL | const fn inc(x: &mut i32) { *x += 1 }
2019-12-01T23:21:12.3116041Z    |
2019-12-01T23:21:12.3116041Z    |
2019-12-01T23:21:12.3116361Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3116421Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3116531Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.3116823Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:110:6
2019-12-01T23:21:12.3116874Z    |
2019-12-01T23:21:12.3116874Z    |
2019-12-01T23:21:12.3116920Z LL | impl<T: std::fmt::Debug> Foo<T> {
2019-12-01T23:21:12.3117033Z    |
2019-12-01T23:21:12.3117033Z    |
2019-12-01T23:21:12.3117345Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3117422Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3117506Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.3117809Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:115:6
2019-12-01T23:21:12.3117860Z    |
2019-12-01T23:21:12.3117860Z    |
2019-12-01T23:21:12.3117907Z LL | impl<T: std::fmt::Debug + Sized> Foo<T> {
2019-12-01T23:21:12.3118011Z    |
2019-12-01T23:21:12.3118011Z    |
2019-12-01T23:21:12.3118527Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3118648Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3118728Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.3119026Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:120:6
2019-12-01T23:21:12.3119084Z    |
2019-12-01T23:21:12.3119084Z    |
2019-12-01T23:21:12.3119128Z LL | impl<T: Sync + Sized> Foo<T> {
2019-12-01T23:21:12.3119224Z    |
2019-12-01T23:21:12.3119224Z    |
2019-12-01T23:21:12.3119528Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3119585Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3119675Z error[E0723]: `impl Trait` in const fn is unstable
2019-12-01T23:21:12.3120843Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:126:24
2019-12-01T23:21:12.3120940Z    |
2019-12-01T23:21:12.3120940Z    |
2019-12-01T23:21:12.3121228Z LL | const fn no_rpit2() -> AlanTuring<impl std::fmt::Debug> { AlanTuring(0) }
2019-12-01T23:21:12.3121345Z    |
2019-12-01T23:21:12.3121345Z    |
2019-12-01T23:21:12.3121658Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3121715Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3122022Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.3122319Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:128:34
2019-12-01T23:21:12.3122381Z    |
2019-12-01T23:21:12.3122381Z    |
2019-12-01T23:21:12.3122427Z LL | const fn no_apit2(_x: AlanTuring<impl std::fmt::Debug>) {}
2019-12-01T23:21:12.3122519Z    |
2019-12-01T23:21:12.3122519Z    |
2019-12-01T23:21:12.3122823Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3122969Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3123068Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.3123348Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:130:22
2019-12-01T23:21:12.3123393Z    |
2019-12-01T23:21:12.3123393Z    |
2019-12-01T23:21:12.3123463Z LL | const fn no_apit(_x: impl std::fmt::Debug) {} //~ ERROR trait bounds other than `Sized`
2019-12-01T23:21:12.3123556Z    |
2019-12-01T23:21:12.3123556Z    |
2019-12-01T23:21:12.3127487Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3127735Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3128405Z error[E0723]: `impl Trait` in const fn is unstable
2019-12-01T23:21:12.3128784Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:131:23
2019-12-01T23:21:12.3128834Z    |
2019-12-01T23:21:12.3128834Z    |
2019-12-01T23:21:12.3129144Z LL | const fn no_rpit() -> impl std::fmt::Debug {} //~ ERROR `impl Trait` in const fn is unstable
2019-12-01T23:21:12.3129249Z    |
2019-12-01T23:21:12.3129249Z    |
2019-12-01T23:21:12.3129588Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3129650Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3129741Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.3130218Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:132:49
2019-12-01T23:21:12.3130269Z    |
2019-12-01T23:21:12.3130269Z    |
2019-12-01T23:21:12.3130321Z LL | const fn no_dyn_trait(_x: &dyn std::fmt::Debug) {} //~ ERROR trait bounds other than `Sized`
2019-12-01T23:21:12.3130440Z    |
2019-12-01T23:21:12.3130440Z    |
2019-12-01T23:21:12.3130759Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3130829Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3130912Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.3131194Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:133:1
2019-12-01T23:21:12.3131252Z    |
2019-12-01T23:21:12.3131252Z    |
2019-12-01T23:21:12.3131495Z LL | const fn no_dyn_trait_ret() -> &'static dyn std::fmt::Debug { &() }
2019-12-01T23:21:12.3131607Z    |
2019-12-01T23:21:12.3131607Z    |
2019-12-01T23:21:12.3131891Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3131960Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3132040Z error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable
2019-12-01T23:21:12.3132474Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:138:39
2019-12-01T23:21:12.3132526Z    |
2019-12-01T23:21:12.3132526Z    |
2019-12-01T23:21:12.3132575Z LL | const fn really_no_traits_i_mean_it() { (&() as &dyn std::fmt::Debug, ()).1 }
2019-12-01T23:21:12.3132676Z    |
2019-12-01T23:21:12.3132676Z    |
2019-12-01T23:21:12.3132957Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3133514Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3133768Z error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.3134359Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:141:31
2019-12-01T23:21:12.3134430Z    |
2019-12-01T23:21:12.3134430Z    |
2019-12-01T23:21:12.3134473Z LL | const fn no_fn_ptrs(_x: fn()) {}
2019-12-01T23:21:12.3134579Z    |
2019-12-01T23:21:12.3134579Z    |
2019-12-01T23:21:12.3134888Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3135070Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3135181Z error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.3135503Z   --> /checkout/src/test/ui/consts/min_const_fn/min_const_fn.rs:143:1
2019-12-01T23:21:12.3135571Z    |
2019-12-01T23:21:12.3135571Z    |
2019-12-01T23:21:12.3135826Z LL | const fn no_fn_ptrs2() -> fn() { fn foo() {} foo }
2019-12-01T23:21:12.3135935Z    |
2019-12-01T23:21:12.3135935Z    |
2019-12-01T23:21:12.3136900Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3137000Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3137102Z error: aborting due to 34 previous errors
2019-12-01T23:21:12.3137133Z 
2019-12-01T23:21:12.3137180Z Some errors have detailed explanations: E0493, E0723.
2019-12-01T23:21:12.3137714Z For more information about an error, try `rustc --explain E0493`.
---
2019-12-01T23:21:12.3139277Z -    |         ^
2019-12-01T23:21:12.3139321Z + LL |     let mut a = 0;
2019-12-01T23:21:12.3139379Z +    |         ^^^^^
2019-12-01T23:21:12.3139420Z 6    |
2019-12-01T23:21:12.3139728Z 7    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3139800Z 8    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3139879Z 9 
2019-12-01T23:21:12.3139925Z 10 error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.3140168Z -   --> $DIR/mutable_borrow.rs:12:13
2019-12-01T23:21:12.3140539Z +   --> $DIR/mutable_borrow.rs:11:13
2019-12-01T23:21:12.3140539Z +   --> $DIR/mutable_borrow.rs:11:13
2019-12-01T23:21:12.3140589Z 12    |
2019-12-01T23:21:12.3140983Z - LL |         let b = &mut a;
2019-12-01T23:21:12.3141178Z -    |             ^
2019-12-01T23:21:12.3141222Z + LL |         let mut a = 0;
2019-12-01T23:21:12.3141280Z +    |             ^^^^^
2019-12-01T23:21:12.3141320Z 15    |
2019-12-01T23:21:12.3141605Z 16    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3141674Z 17    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3141730Z 
2019-12-01T23:21:12.3141772Z The actual stderr differed from the expected stderr.
2019-12-01T23:21:12.3142108Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/mutable_borrow/mutable_borrow.stderr
2019-12-01T23:21:12.3142108Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/mutable_borrow/mutable_borrow.stderr
2019-12-01T23:21:12.3142348Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T23:21:12.3143075Z To only update this specific test, also pass `--test-args consts/min_const_fn/mutable_borrow.rs`
2019-12-01T23:21:12.3143193Z error: 1 errors occurred comparing output.
2019-12-01T23:21:12.3143364Z status: exit code: 1
2019-12-01T23:21:12.3143364Z status: exit code: 1
2019-12-01T23:21:12.3144951Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/min_const_fn/mutable_borrow.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/min_const_fn/mutable_borrow" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/min_const_fn/mutable_borrow/auxiliary" "-A" "unused"
2019-12-01T23:21:12.3145451Z ------------------------------------------
2019-12-01T23:21:12.3145487Z 
2019-12-01T23:21:12.3145709Z ------------------------------------------
2019-12-01T23:21:12.3145768Z stderr:
2019-12-01T23:21:12.3145768Z stderr:
2019-12-01T23:21:12.3145986Z ------------------------------------------
2019-12-01T23:21:12.3146048Z error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.3146733Z   --> /checkout/src/test/ui/consts/min_const_fn/mutable_borrow.rs:2:9
2019-12-01T23:21:12.3146794Z    |
2019-12-01T23:21:12.3146836Z LL |     let mut a = 0;
2019-12-01T23:21:12.3146881Z    |         ^^^^^
2019-12-01T23:21:12.3146938Z    |
2019-12-01T23:21:12.3147422Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3147503Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3147583Z error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.3147897Z   --> /checkout/src/test/ui/consts/min_const_fn/mutable_borrow.rs:11:13
2019-12-01T23:21:12.3147967Z    |
2019-12-01T23:21:12.3148012Z LL |         let mut a = 0;
2019-12-01T23:21:12.3148012Z LL |         let mut a = 0;
2019-12-01T23:21:12.3148058Z    |             ^^^^^
2019-12-01T23:21:12.3148117Z    |
2019-12-01T23:21:12.3148410Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3148476Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3148566Z error: aborting due to 2 previous errors
2019-12-01T23:21:12.3148595Z 
2019-12-01T23:21:12.3148873Z For more information about this error, try `rustc --explain E0723`.
2019-12-01T23:21:12.3148919Z 
---
2019-12-01T23:21:12.3149731Z 1 error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.3150418Z -   --> $DIR/issue-37550.rs:3:9
2019-12-01T23:21:12.3150628Z +   --> $DIR/issue-37550.rs:2:9
2019-12-01T23:21:12.3150671Z 3    |
2019-12-01T23:21:12.3150855Z - LL |     let x = || t;
2019-12-01T23:21:12.3150916Z + LL |     let t = true;
2019-12-01T23:21:12.3151004Z 6    |
2019-12-01T23:21:12.3151004Z 6    |
2019-12-01T23:21:12.3151313Z 7    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3151372Z 
2019-12-01T23:21:12.3151416Z The actual stderr differed from the expected stderr.
2019-12-01T23:21:12.3151733Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-37550/issue-37550.stderr
2019-12-01T23:21:12.3151733Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-37550/issue-37550.stderr
2019-12-01T23:21:12.3151973Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T23:21:12.3152234Z To only update this specific test, also pass `--test-args issues/issue-37550.rs`
2019-12-01T23:21:12.3152316Z error: 1 errors occurred comparing output.
2019-12-01T23:21:12.3152359Z status: exit code: 1
2019-12-01T23:21:12.3152359Z status: exit code: 1
2019-12-01T23:21:12.3153078Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issues/issue-37550.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-37550" "-Crpath" "-O" "-Cdebuginfo=0" "-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/issues/issue-37550/auxiliary" "-A" "unused"
2019-12-01T23:21:12.3153945Z ------------------------------------------
2019-12-01T23:21:12.3153984Z 
2019-12-01T23:21:12.3154225Z ------------------------------------------
2019-12-01T23:21:12.3154289Z stderr:
2019-12-01T23:21:12.3154289Z stderr:
2019-12-01T23:21:12.3154508Z ------------------------------------------
2019-12-01T23:21:12.3154658Z error[E0723]: function pointers in const fn are unstable
2019-12-01T23:21:12.3154952Z   --> /checkout/src/test/ui/issues/issue-37550.rs:2:9
2019-12-01T23:21:12.3155003Z    |
2019-12-01T23:21:12.3155046Z LL |     let t = true;
2019-12-01T23:21:12.3155091Z    |         ^
2019-12-01T23:21:12.3155146Z    |
2019-12-01T23:21:12.3155451Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3155534Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3155612Z error: aborting due to previous error
2019-12-01T23:21:12.3155641Z 
2019-12-01T23:21:12.3155919Z For more information about this error, try `rustc --explain E0723`.
2019-12-01T23:21:12.3155955Z 
---
2019-12-01T23:21:12.3156607Z 1 error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.3156847Z -   --> $DIR/ranged_ints2_const.rs:11:9
2019-12-01T23:21:12.3157067Z +   --> $DIR/ranged_ints2_const.rs:10:9
2019-12-01T23:21:12.3157275Z 3    |
2019-12-01T23:21:12.3157483Z - LL |     let y = &mut x.0;
2019-12-01T23:21:12.3157719Z + LL |     let mut x = unsafe { NonZero(1) };
2019-12-01T23:21:12.3157775Z +    |         ^^^^^
2019-12-01T23:21:12.3157813Z 6    |
2019-12-01T23:21:12.3157813Z 6    |
2019-12-01T23:21:12.3158477Z 7    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3158557Z 8    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3158630Z 9 
2019-12-01T23:21:12.3158691Z 10 error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.3158955Z -   --> $DIR/ranged_ints2_const.rs:18:9
2019-12-01T23:21:12.3159168Z +   --> $DIR/ranged_ints2_const.rs:17:9
2019-12-01T23:21:12.3159168Z +   --> $DIR/ranged_ints2_const.rs:17:9
2019-12-01T23:21:12.3159221Z 12    |
2019-12-01T23:21:12.3159449Z - LL |     let y = unsafe { &mut x.0 };
2019-12-01T23:21:12.3159680Z + LL |     let mut x = unsafe { NonZero(1) };
2019-12-01T23:21:12.3159740Z +    |         ^^^^^
2019-12-01T23:21:12.3159780Z 15    |
2019-12-01T23:21:12.3159780Z 15    |
2019-12-01T23:21:12.3160222Z 16    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3160302Z 17    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3160357Z 
2019-12-01T23:21:12.3160399Z The actual stderr differed from the expected stderr.
2019-12-01T23:21:12.3160719Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/unsafe/ranged_ints2_const/ranged_ints2_const.stderr
2019-12-01T23:21:12.3160719Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/unsafe/ranged_ints2_const/ranged_ints2_const.stderr
2019-12-01T23:21:12.3160955Z To update references, rerun the tests and pass the `--bless` flag
2019-12-01T23:21:12.3161222Z To only update this specific test, also pass `--test-args unsafe/ranged_ints2_const.rs`
2019-12-01T23:21:12.3161305Z error: 1 errors occurred comparing output.
2019-12-01T23:21:12.3161346Z status: exit code: 1
2019-12-01T23:21:12.3161346Z status: exit code: 1
2019-12-01T23:21:12.3162080Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/unsafe/ranged_ints2_const.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/unsafe/ranged_ints2_const" "-Crpath" "-O" "-Cdebuginfo=0" "-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/unsafe/ranged_ints2_const/auxiliary" "-A" "unused"
2019-12-01T23:21:12.3162526Z ------------------------------------------
2019-12-01T23:21:12.3162558Z 
2019-12-01T23:21:12.3162761Z ------------------------------------------
2019-12-01T23:21:12.3162820Z stderr:
2019-12-01T23:21:12.3162820Z stderr:
2019-12-01T23:21:12.3163085Z ------------------------------------------
2019-12-01T23:21:12.3163141Z error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.3163406Z   --> /checkout/src/test/ui/unsafe/ranged_ints2_const.rs:10:9
2019-12-01T23:21:12.3163454Z    |
2019-12-01T23:21:12.3163496Z LL |     let mut x = unsafe { NonZero(1) };
2019-12-01T23:21:12.3170860Z    |         ^^^^^
2019-12-01T23:21:12.3170950Z    |
2019-12-01T23:21:12.3171491Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3171574Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3171657Z error[E0723]: mutable references in const fn are unstable
2019-12-01T23:21:12.3171928Z   --> /checkout/src/test/ui/unsafe/ranged_ints2_const.rs:17:9
2019-12-01T23:21:12.3171997Z    |
2019-12-01T23:21:12.3172044Z LL |     let mut x = unsafe { NonZero(1) };
2019-12-01T23:21:12.3172044Z LL |     let mut x = unsafe { NonZero(1) };
2019-12-01T23:21:12.3172090Z    |         ^^^^^
2019-12-01T23:21:12.3172147Z    |
2019-12-01T23:21:12.3172458Z    = note: for more information, see issue ***/issues/57563
2019-12-01T23:21:12.3172517Z    = help: add `#![feature(const_fn)]` to the crate attributes to enable
2019-12-01T23:21:12.3172616Z error[E0133]: mutation of layout constrained field is unsafe and requires unsafe function or block
2019-12-01T23:21:12.3173041Z   --> /checkout/src/test/ui/unsafe/ranged_ints2_const.rs:11:13
2019-12-01T23:21:12.3173107Z    |
2019-12-01T23:21:12.3173107Z    |
2019-12-01T23:21:12.3173155Z LL |     let y = &mut x.0; //~ ERROR references in const fn are unstable
2019-12-01T23:21:12.3173205Z    |             ^^^^^^^^ mutation of layout constrained field
2019-12-01T23:21:12.3173317Z    = note: mutating layout constrained fields cannot statically be checked for valid values
2019-12-01T23:21:12.3173351Z 
2019-12-01T23:21:12.3173393Z error: aborting due to 3 previous errors
2019-12-01T23:21:12.3173437Z 
---
2019-12-01T23:21:12.3176357Z test result: FAILED. 9263 passed; 10 failed; 43 ignored; 0 measured; 0 filtered out
2019-12-01T23:21:12.3176394Z 
2019-12-01T23:21:12.3176520Z 
2019-12-01T23:21:12.3176549Z 
2019-12-01T23:21:12.3178416Z 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" "/usr/lib/llvm-6.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -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" "--quiet" "--llvm-version" "6.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
2019-12-01T23:21:12.3178686Z 
2019-12-01T23:21:12.3178717Z 
2019-12-01T23:21:12.3179021Z thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:537:22
2019-12-01T23:21:12.3179100Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2019-12-01T23:21:12.3179100Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2019-12-01T23:21:12.3179166Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-12-01T23:21:12.3179216Z Build completed unsuccessfully in 1:07:01
2019-12-01T23:21:12.3179278Z == clock drift check ==
2019-12-01T23:21:12.3179324Z   local time: Sun Dec  1 23:21:12 UTC 2019
2019-12-01T23:21:12.8477335Z   network time: Sun, 01 Dec 2019 23:21:12 GMT
2019-12-01T23:21:12.8478024Z == end clock drift check ==
2019-12-01T23:21:13.6175372Z 
2019-12-01T23:21:13.6310950Z ##[error]Bash exited with code '1'.
2019-12-01T23:21:13.6344848Z ##[section]Starting: Checkout
2019-12-01T23:21:13.6346634Z ==============================================================================
2019-12-01T23:21:13.6346708Z Task         : Get sources
2019-12-01T23:21:13.6346759Z 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-12-01T23:25:54.9527178Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-12-01T23:25:54.9745700Z ##[command]git config gc.auto 0
2019-12-01T23:25:54.9839083Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-12-01T23:25:54.9887295Z ##[command]git config --get-all http.proxy
2019-12-01T23:25:55.6248271Z ##[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/65572/merge:refs/remotes/pull/65572/merge
---
2019-12-01T23:43:24.2227497Z    Compiling rustc_mir v0.0.0 (/checkout/src/librustc_mir)
2019-12-01T23:43:25.5751085Z error[E0425]: cannot find value `statement` in this scope
2019-12-01T23:43:25.5751502Z    --> src/librustc_mir/transform/qualify_min_const_fn.rs:328:21
2019-12-01T23:43:25.5751794Z     |
2019-12-01T23:43:25.5752093Z 328 |         self.span = statement.source_info.span;
2019-12-01T23:43:25.5758971Z 
2019-12-01T23:43:35.2261332Z error: aborting due to previous error
2019-12-01T23:43:35.2266968Z 
2019-12-01T23:43:35.2278853Z For more information about this error, try `rustc --explain E0425`.
---
2019-12-01T23:45:31.3665560Z   local time: Sun Dec  1 23:45:31 UTC 2019
2019-12-01T23:45:31.6547034Z   network time: Sun, 01 Dec 2019 23:45:31 GMT
2019-12-01T23:45:31.6548201Z == end clock drift check ==
2019-12-01T23:45:34.5992117Z 
2019-12-01T23:45:34.6105702Z ##[error]Bash exited with code '1'.
2019-12-01T23:45:34.6143364Z ##[section]Starting: Checkout
2019-12-01T23:45:34.6145275Z ==============================================================================
2019-12-01T23:45:34.6145352Z Task         : Get sources
2019-12-01T23:45:34.6145404Z 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)

@ecstatic-morse
Copy link
Contributor Author

@bors try

@bors
Copy link
Contributor

bors commented Dec 2, 2019

⌛ Trying commit 8464664 with merge 6ed3187...

bors added a commit that referenced this pull request Dec 2, 2019
Return early from a MIR `Visitor`

This allows functions to return a `Result` from the `visit_*` methods on a MIR `Visitor`. Returning an `Err` will stop visitation. This PR is an exploration of an idea I floated [on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Early.20return.20from.20a.20MIR.20.60Visitor.60.3F). It shouldn't land as is.

The diff for the `is_min_const_fn`change is easier to read if whitespace is ignored.

r? @nikomatsakis
@bors
Copy link
Contributor

bors commented Dec 2, 2019

☀️ Try build successful - checks-azure
Build commit: 6ed3187 (6ed31879fe1d54485e59c4b6bc486fddeaa7c21a)

)),
// binops are fine on integers
Rvalue::BinaryOp(_, lhs, _) | Rvalue::CheckedBinaryOp(_, lhs, _) => {
// FIXME: do we need to type check `rhs`?
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think there are any binops where the rhs differs from the lhs and where the rhs is anything but an integer. So to answer the question: no

TerminatorKind::SwitchInt { discr, switch_ty: _, values: _, targets: _ } => {
check_operand(tcx, discr, span, def_id, body)
match base {
PlaceBase::Static(box Static { kind: StaticKind::Static, .. }) => {
Copy link
Contributor

Choose a reason for hiding this comment

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

I thought these were gone on master

@joelpalmer
Copy link

Ping from Triage: any updates @ecstatic-morse @oli-obk?

@ecstatic-morse ecstatic-morse added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Dec 10, 2019
@ecstatic-morse
Copy link
Contributor Author

ecstatic-morse commented Dec 10, 2019

Blocked on #66234 (which was closed prematurely) and #66855. I also need to address oli's comments, but there will be many more changes to qualify_min_const_fn before these issues are resolved.

@nikomatsakis
Copy link
Contributor

Maybe @ecstatic-morse we should close this PR in the meantime, and move to an issue or something? (Or just close)

@ecstatic-morse ecstatic-morse added S-blocked-closed and removed S-blocked Status: Blocked on something else such as an RFC or other implementation work. labels Dec 11, 2019
@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
S-blocked Status: Blocked on something else such as an RFC or other implementation work.
Projects
None yet
Development

Successfully merging this pull request may close these issues.