Stream: t-compiler

Topic: weekly meeting 2018-09-27


pnkfelix (Sep 27 2018 at 13:35, on Zulip):

just a heads up to @T-compiler : our weekly meeting will be starting here in about 25 minutes

mw (Sep 27 2018 at 14:00, on Zulip):

o/

Wesley Wiser (Sep 27 2018 at 14:01, on Zulip):

Hey :)

nagisa (Sep 27 2018 at 14:01, on Zulip):

o/

pnkfelix (Sep 27 2018 at 14:02, on Zulip):

(I was just waiting until I see a "reasonable" number of emoji responses and/or comments)

pnkfelix (Sep 27 2018 at 14:02, on Zulip):

((or for a five minute await timeout))

pnkfelix (Sep 27 2018 at 14:03, on Zulip):

Lets see, as usual we have our agenda on https://public.etherpad-mozilla.org/p/rust-compiler-meeting

pnkfelix (Sep 27 2018 at 14:03, on Zulip):

(Maybe after we settle on our chat platform we'll work next on migrating away from that EOL service)

pnkfelix (Sep 27 2018 at 14:03, on Zulip):

First up, the P-high issues

nikomatsakis (Sep 27 2018 at 14:03, on Zulip):

RIP etherpad

pnkfelix (Sep 27 2018 at 14:04, on Zulip):

lets work bottom up today

pnkfelix (Sep 27 2018 at 14:04, on Zulip):

first we have "Tracking issue for RFC 554: pattern_parentheses feature" #51087

nikomatsakis (Sep 27 2018 at 14:04, on Zulip):

we have a pending PR

nikomatsakis (Sep 27 2018 at 14:04, on Zulip):

er, a landed PR

nikomatsakis (Sep 27 2018 at 14:04, on Zulip):

I guess we can close the issue

pnkfelix (Sep 27 2018 at 14:04, on Zulip):

okay I'll let @nikomatsakis do that

pnkfelix (Sep 27 2018 at 14:05, on Zulip):

next up: "infinite recursion ICE" #52701

pnkfelix (Sep 27 2018 at 14:05, on Zulip):

so this appears to have been fixed

nikomatsakis (Sep 27 2018 at 14:05, on Zulip):

yes

nikomatsakis (Sep 27 2018 at 14:05, on Zulip):

we can close this issue too, I think...

pnkfelix (Sep 27 2018 at 14:05, on Zulip):

bisection indicates that it was fixed between August 18 and August 25th

nikomatsakis (Sep 27 2018 at 14:06, on Zulip):

er, wait, sorry, I was confused

pnkfelix (Sep 27 2018 at 14:06, on Zulip):

I have nominated the likely PR that has the fix for backport

pnkfelix (Sep 27 2018 at 14:06, on Zulip):

so we'll discuss that when we get to beta nominations

pnkfelix (Sep 27 2018 at 14:07, on Zulip):

I'm leaving the issue (#52701) open because its tagged as a regression

pnkfelix (Sep 27 2018 at 14:07, on Zulip):

(I think our policy is to leave those open, even if fixed in nightly, until we've resolved backport Q's)

pnkfelix (Sep 27 2018 at 14:07, on Zulip):

In any case I'll assign this to myself and take it off @nikomatsakis 's plate

pnkfelix (Sep 27 2018 at 14:08, on Zulip):

next up: "std-using paths work just fine in 2018 edition #![no_std]" #53166

pnkfelix (Sep 27 2018 at 14:09, on Zulip):

I know @eddyb landed some stuff related to this, ...

eddyb (Sep 27 2018 at 14:09, on Zulip):

yeah, only the lint is missing now

pnkfelix (Sep 27 2018 at 14:09, on Zulip):

but if I understand correctly the issue itself is not yet resolved. Okay

pnkfelix (Sep 27 2018 at 14:10, on Zulip):

does someone want to take responsibilty for that? (i.e. get the assignment?)

pnkfelix (Sep 27 2018 at 14:10, on Zulip):

I'm willing to take it if I don't see any volunteers

pnkfelix (Sep 27 2018 at 14:11, on Zulip):

(but you all might regret putting me in charge of a lint...)

nikomatsakis (Sep 27 2018 at 14:11, on Zulip):

is the lint considered high priority?

nikomatsakis (Sep 27 2018 at 14:11, on Zulip):

well I guess it would be

nikomatsakis (Sep 27 2018 at 14:11, on Zulip):

it feels like it overlaps with other "accidentally non-portable" cases

pnkfelix (Sep 27 2018 at 14:11, on Zulip):

I guess if its deny-by-default in #[no_std] cases then its important to get it in?

nikomatsakis (Sep 27 2018 at 14:11, on Zulip):

but anyway

nikomatsakis (Sep 27 2018 at 14:12, on Zulip):

I guess if its deny-by-default in #[no_std] cases then its important to get it in?

makes sense

pnkfelix (Sep 27 2018 at 14:12, on Zulip):

next up: "await as a keyword and await! macro" #53834

nikomatsakis (Sep 27 2018 at 14:13, on Zulip):

I think this is fixed

pnkfelix (Sep 27 2018 at 14:13, on Zulip):

I see that PR #54411 landed ...

nikomatsakis (Sep 27 2018 at 14:13, on Zulip):

@Taylor Cramer landed a PR

nikomatsakis (Sep 27 2018 at 14:13, on Zulip):

I'm not sure why they didn't mark it as "Fixes"...

nagisa (Sep 27 2018 at 14:13, on Zulip):

I'm not sure why they didn't mark it as "Fixes"...

Forgot, probably :slight_smile:

pnkfelix (Sep 27 2018 at 14:13, on Zulip):

okay I'll close

pnkfelix (Sep 27 2018 at 14:14, on Zulip):

next up: "Regression in #[allow(deprecated)] for impl Trait return type" #54045

pnkfelix (Sep 27 2018 at 14:15, on Zulip):

Okay so I think there's no change in status here, apart from the removal of stable-nominated by @simulacrum

pnkfelix (Sep 27 2018 at 14:15, on Zulip):

(left a note saying such)

pnkfelix (Sep 27 2018 at 14:16, on Zulip):

next up: "Implement some way to run UI tests ignoring run-pass tests" #54047

pnkfelix (Sep 27 2018 at 14:16, on Zulip):

I'm almost done with this, in terms of the short term plan; there's a new PR that does the ui/run-pass --> run-pass migration

pnkfelix (Sep 27 2018 at 14:17, on Zulip):

for the long term plan, I've been thinking that maybe once the edition is out, I might embark on a project to revise compiletest and src/test/ more wholistically.

pnkfelix (Sep 27 2018 at 14:17, on Zulip):

but we don't need to discuss that now.

nikomatsakis (Sep 27 2018 at 14:17, on Zulip):

for the long term plan, I've been thinking that maybe once the edition is out, I might embark on a project to revise compiletest and src/test/ more wholistically.

jfyi @qmx had also expressed some interest in this

nikomatsakis (Sep 27 2018 at 14:17, on Zulip):

I am definitely in favor

pnkfelix (Sep 27 2018 at 14:17, on Zulip):

jfyi @qmx had also expressed some interest in this

good to know

nikomatsakis (Sep 27 2018 at 14:17, on Zulip):

(my main point being: it might be something that merits a small WG)

qmx (Sep 27 2018 at 14:18, on Zulip):

yea, I've been trying to do piecemeal improvements there

pnkfelix (Sep 27 2018 at 14:18, on Zulip):

Yes a dedicated WG would be awesome here.

pnkfelix (Sep 27 2018 at 14:18, on Zulip):

next up: "Trait with HRTB blanket impl is implemented when it shouldn't be" #54302

nikomatsakis (Sep 27 2018 at 14:19, on Zulip):

has a pending fix in https://github.com/rust-lang/rust/pull/54401

nikomatsakis (Sep 27 2018 at 14:19, on Zulip):

@Ariel Ben-Yehuda was concerned about perf, but the perf run suggests there's no real hit

pnkfelix (Sep 27 2018 at 14:19, on Zulip):

okay

nikomatsakis (Sep 27 2018 at 14:19, on Zulip):

they were also concerned whether this was the best fix; I'd personally like to land it and address more holistically as part of work on revamping trait system

nikomatsakis (Sep 27 2018 at 14:19, on Zulip):

(work which I expect to be starting Any Day Now)

pnkfelix (Sep 27 2018 at 14:21, on Zulip):

next up: "Compiler panic using 'static_assertions'" #54327

nikomatsakis (Sep 27 2018 at 14:22, on Zulip):

sounds like it's not really a regression

nikomatsakis (Sep 27 2018 at 14:22, on Zulip):

but I'm not sure what @eddyb meant by "this ICE is correct" exactly

pnkfelix (Sep 27 2018 at 14:23, on Zulip):

So I want to understand the claims here

pnkfelix (Sep 27 2018 at 14:23, on Zulip):

we used to get an error, due to a use of size_of in a const-expr context... is that right?

pnkfelix (Sep 27 2018 at 14:23, on Zulip):

and now, since size_of is now a const fn, the code which previously errored for one reason is now ICE'ing for an entirely different reason...

pnkfelix (Sep 27 2018 at 14:23, on Zulip):

do I have all that right?

nikomatsakis (Sep 27 2018 at 14:24, on Zulip):

that is what I understood

nikomatsakis (Sep 27 2018 at 14:24, on Zulip):

but it seems like we should die a controlled death

nikomatsakis (Sep 27 2018 at 14:24, on Zulip):

if we're going to die?

varkor (Sep 27 2018 at 14:24, on Zulip):

the ICE is https://github.com/rust-lang/rust/issues/43408

pnkfelix (Sep 27 2018 at 14:24, on Zulip):

And finally, the point that @eddyb is making is that: If we do not have an example of a program that compiled successfully under version A and then ICE's under version B, then we should not be tagging as a regression?

varkor (Sep 27 2018 at 14:25, on Zulip):

so it is tracked elsewhere

pnkfelix (Sep 27 2018 at 14:25, on Zulip):

I think we all agree this is a bug

pnkfelix (Sep 27 2018 at 14:25, on Zulip):

just a question of whether to classify it as a regression, per se

nagisa (Sep 27 2018 at 14:25, on Zulip):

And finally, the point that @eddyb is making is that: If we do not have an example of a program that compiled successfully under version A and then ICE's under version B, then we should not be tagging as a regression?

Right that’s "just" an I-ICE

pnkfelix (Sep 27 2018 at 14:25, on Zulip):

my gut tells me that this reasoning is sound

varkor (Sep 27 2018 at 14:25, on Zulip):

does this even need its own issue?

nagisa (Sep 27 2018 at 14:26, on Zulip):

errors becoming an ICE seems like stretching our interpretation of regression slightly

eddyb (Sep 27 2018 at 14:26, on Zulip):

The "ICE is correct" bit is because this is an unimplemented feature

pnkfelix (Sep 27 2018 at 14:26, on Zulip):

@varkor it might need its own issue since I dont see ICE mentioned in title nor description of #43408

eddyb (Sep 27 2018 at 14:26, on Zulip):

this is only vaguely error -> ICE, because we stabilized const fn size_of (you needed a feature gate to get the ICE before)

eddyb (Sep 27 2018 at 14:26, on Zulip):

@pnkfelix #43408 is anything

nikomatsakis (Sep 27 2018 at 14:27, on Zulip):

the ICE is https://github.com/rust-lang/rust/issues/43408

so, that bug doesn't even look like an ICE?

eddyb (Sep 27 2018 at 14:27, on Zulip):

including ICEs

varkor (Sep 27 2018 at 14:27, on Zulip):

it's mentioned in a comment: https://github.com/rust-lang/rust/issues/43408#issuecomment-391628161

nikomatsakis (Sep 27 2018 at 14:27, on Zulip):

The "ICE is correct" bit is because this is an unimplemented feature

but a stable one?

eddyb (Sep 27 2018 at 14:27, on Zulip):

the compiler cannot support nor properly diagnose

eddyb (Sep 27 2018 at 14:27, on Zulip):

@nikomatsakis yuuppp

eddyb (Sep 27 2018 at 14:27, on Zulip):

this is why I keep asking for lazy normalization

nikomatsakis (Sep 27 2018 at 14:28, on Zulip):

for time being, can we not die in a nicer way?

eddyb (Sep 27 2018 at 14:28, on Zulip):

I'm not sure where to put it without breaking code that does work

pnkfelix (Sep 27 2018 at 14:28, on Zulip):

So it sounds like @nikomatsakis wants #43408 to be dedicating to implementing this feature correctly

nikomatsakis (Sep 27 2018 at 14:29, on Zulip):

at minimum, maybe we can change the ICE to redirect to a "canonical issue" and cleanup the description :)

nikomatsakis (Sep 27 2018 at 14:29, on Zulip):

to help avoid confusion

pnkfelix (Sep 27 2018 at 14:29, on Zulip):

and thus we may still want some bug dedicated to a controlled exit

eddyb (Sep 27 2018 at 14:29, on Zulip):

the ICE is just the compiler dying randomly

pnkfelix (Sep 27 2018 at 14:29, on Zulip):

which could be #54327, or some newly filed issue...

eddyb (Sep 27 2018 at 14:29, on Zulip):

it's not specific to this feature

nikomatsakis (Sep 27 2018 at 14:29, on Zulip):

the thing is...

nikomatsakis (Sep 27 2018 at 14:30, on Zulip):

ok, well, let's discuss somewhere else I guess.

nikomatsakis (Sep 27 2018 at 14:30, on Zulip):

I'd like you to spell out for me how it is that the lack of lazy norm is causing this particular ICE.

eddyb (Sep 27 2018 at 14:30, on Zulip):

the lack of lazy norm means we can't do the backwards-compatible fix which is to implement the feature

eddyb (Sep 27 2018 at 14:31, on Zulip):

the ICE is just a side-effect-at-a-distance of the feature not being implemented

eddyb (Sep 27 2018 at 14:32, on Zulip):

(but we can/should discuss this later/elsewhere)

pnkfelix (Sep 27 2018 at 14:33, on Zulip):

next up: "Tracking issue for RFC 2438, "Deny the overflowing_literals lint for the 2018 edition"" #54502

pnkfelix (Sep 27 2018 at 14:34, on Zulip):

does anyone know what documentation Centril is referring to / imagining?

pnkfelix (Sep 27 2018 at 14:35, on Zulip):

is it just transcribing the explanation(s?) from the RFC text?

pnkfelix (Sep 27 2018 at 14:36, on Zulip):

Well it sounds easy enough, I suppose. I'll assign it to myself.

nikomatsakis (Sep 27 2018 at 14:36, on Zulip):

I imagine something in the Rust 2018 guide?

varkor (Sep 27 2018 at 14:36, on Zulip):

I don't see how it could be documented — the only thing that's changed is the default level

varkor (Sep 27 2018 at 14:36, on Zulip):

I can't see anything in the guide about lint levels

pnkfelix (Sep 27 2018 at 14:36, on Zulip):

I'll ask Centril tonight

pnkfelix (Sep 27 2018 at 14:36, on Zulip):

(if I remember)

pnkfelix (Sep 27 2018 at 14:37, on Zulip):

okay so that's all the P-high issues

pnkfelix (Sep 27 2018 at 14:37, on Zulip):

lets move on

pnkfelix (Sep 27 2018 at 14:37, on Zulip):

stable to beta regressions

pnkfelix (Sep 27 2018 at 14:37, on Zulip):

holy crumb

nikomatsakis (Sep 27 2018 at 14:37, on Zulip):

not all T-compiler

pnkfelix (Sep 27 2018 at 14:38, on Zulip):

I'll start from the bottom, skipping issues assigned to non compiler teams

nikomatsakis (Sep 27 2018 at 14:38, on Zulip):

(I had a very broad query because people so often use the wrong T- tag)

pnkfelix (Sep 27 2018 at 14:38, on Zulip):

First: "New compiler error in beta: this constant cannot be used, attempted to read undefined bytes" #54387

nikomatsakis (Sep 27 2018 at 14:38, on Zulip):

that sounds like the new check that @Oli added

nikomatsakis (Sep 27 2018 at 14:38, on Zulip):

sure looks kind of wrong

nikomatsakis (Sep 27 2018 at 14:39, on Zulip):

is @RalfJ here?

pnkfelix (Sep 27 2018 at 14:39, on Zulip):

Hey @eddyb do you think you might have time to look at this?

eddyb (Sep 27 2018 at 14:39, on Zulip):

I guess

pnkfelix (Sep 27 2018 at 14:39, on Zulip):

(under assumption that @Oli and @RalfJ are not available to do so)

nikomatsakis (Sep 27 2018 at 14:39, on Zulip):

seems like it is failing to consider the "variant"?

pnkfelix (Sep 27 2018 at 14:39, on Zulip):

i'm going to tentatively assign to @eddyb

pnkfelix (Sep 27 2018 at 14:40, on Zulip):

oh, and its P-high, yeah?

nikomatsakis (Sep 27 2018 at 14:40, on Zulip):

seems like it, though we might just disable that layout check at the worst?

pnkfelix (Sep 27 2018 at 14:40, on Zulip):

sure, P-high bugs can have dumb solutions... :)

nikomatsakis (Sep 27 2018 at 14:40, on Zulip):

@eddyb is it possible that the "validator" is just looking at all the bits that might be important without knowing if they really are? (Is the relevant information even contained within the Layout?)

pnkfelix (Sep 27 2018 at 14:41, on Zulip):

Okay next up: "[1.30 beta] Macros recursion limit detection changed" #54464

eddyb (Sep 27 2018 at 14:41, on Zulip):

@nikomatsakis I am looking through the code right now

pnkfelix (Sep 27 2018 at 14:41, on Zulip):

okay I trust @Vadim Petrochenkov 's analysis of #54464

nikomatsakis (Sep 27 2018 at 14:42, on Zulip):

I've always worried about this happening with the recursion depth

pnkfelix (Sep 27 2018 at 14:42, on Zulip):

shall we just close as a "wontfix" ?

nikomatsakis (Sep 27 2018 at 14:42, on Zulip):

I'd like to find a better fix...

pnkfelix (Sep 27 2018 at 14:42, on Zulip):

one can override it locally, right?

nikomatsakis (Sep 27 2018 at 14:42, on Zulip):

well

nikomatsakis (Sep 27 2018 at 14:42, on Zulip):

you can

nikomatsakis (Sep 27 2018 at 14:42, on Zulip):

not for your dependencies but I guess (in this case) you don't care

pnkfelix (Sep 27 2018 at 14:42, on Zulip):

ah it won't apply if I do it in a downstream crate around the module that uses the macro?

pnkfelix (Sep 27 2018 at 14:43, on Zulip):

or I guess that's not even the issue

nagisa (Sep 27 2018 at 14:43, on Zulip):

crazy idea: increase default recursion depth by 1

nikomatsakis (Sep 27 2018 at 14:43, on Zulip):

I was considering that :)

nagisa (Sep 27 2018 at 14:43, on Zulip):

#problemsolved

pnkfelix (Sep 27 2018 at 14:43, on Zulip):

(since the upstream crate could be the one invoking the macro, of coursE)

nikomatsakis (Sep 27 2018 at 14:43, on Zulip):

or by a factor of 2

pnkfelix (Sep 27 2018 at 14:43, on Zulip):

I have no problem with changing the default depth

pnkfelix (Sep 27 2018 at 14:43, on Zulip):

but if our policy is to multiply by 2 every time this happens

nikomatsakis (Sep 27 2018 at 14:43, on Zulip):

(it's pretty arbitrary, to be sure)

pnkfelix (Sep 27 2018 at 14:43, on Zulip):

we're going to have a problem

Pietro Albini (Sep 27 2018 at 14:44, on Zulip):

also this is not a fix for people with a manually increased depth

pnkfelix (Sep 27 2018 at 14:44, on Zulip):

@Pietro Albini yeah but I dont' see how to reasonably avoid that

pnkfelix (Sep 27 2018 at 14:45, on Zulip):

well

pnkfelix (Sep 27 2018 at 14:45, on Zulip):

that's not true

nagisa (Sep 27 2018 at 14:45, on Zulip):

implicitly add 1 to all attributes that set the recursion limit too :P

pnkfelix (Sep 27 2018 at 14:45, on Zulip):

that was what I was about to suggest

pnkfelix (Sep 27 2018 at 14:45, on Zulip):

okay so

nagisa (Sep 27 2018 at 14:45, on Zulip):

I really dislike the idea of doing so tho

pnkfelix (Sep 27 2018 at 14:45, on Zulip):

lets maybe not try to decide on the final hack now

pnkfelix (Sep 27 2018 at 14:45, on Zulip):

(nor decide whether we're going to even do such a hack)

Pietro Albini (Sep 27 2018 at 14:45, on Zulip):

we could... ignore expansion of compiler macros in the recursion limit?

nikomatsakis (Sep 27 2018 at 14:45, on Zulip):

it feels like this is pretty minimal impact

pnkfelix (Sep 27 2018 at 14:46, on Zulip):

Instead: lets just quickly determine: Is this a WONTFIX, or are we going to investigate work-arounds in some manner?

pnkfelix (Sep 27 2018 at 14:46, on Zulip):

I think we should probably carry on discussion on the ticket

nikomatsakis (Sep 27 2018 at 14:46, on Zulip):

I'd probably be ok with calling this a WONTFIX for now

pnkfelix (Sep 27 2018 at 14:46, on Zulip):

(unless we all agree with @Vadim Petrochenkov that this is WONTFIX)

pnkfelix (Sep 27 2018 at 14:47, on Zulip):

does anyone feel strongly enough about this being not WONTFIX that they are willing to be assigned the issue?

pnkfelix (Sep 27 2018 at 14:47, on Zulip):

(where assignment here would be not necessarily implementing the solution , but rather driving the discussion )

pnkfelix (Sep 27 2018 at 14:48, on Zulip):

...

pnkfelix (Sep 27 2018 at 14:48, on Zulip):

well I could close it or I can leave it open until next week

pnkfelix (Sep 27 2018 at 14:49, on Zulip):

lets just do that, give people a chance to weigh in; I'll leave a note

pnkfelix (Sep 27 2018 at 14:50, on Zulip):

gotta speed up

pnkfelix (Sep 27 2018 at 14:51, on Zulip):

next up: "[1.30 beta] test attribute on methods cause errors" #54465

nikomatsakis (Sep 27 2018 at 14:52, on Zulip):

sounds expected

pnkfelix (Sep 27 2018 at 14:52, on Zulip):

yep.

pnkfelix (Sep 27 2018 at 14:53, on Zulip):

so wait

pnkfelix (Sep 27 2018 at 14:53, on Zulip):

is there a separate issue for each instance of this...?

Pietro Albini (Sep 27 2018 at 14:53, on Zulip):

uh? nope

Pietro Albini (Sep 27 2018 at 14:54, on Zulip):

maybe I opened a few too much, but there should be an issue for each different regression

pnkfelix (Sep 27 2018 at 14:54, on Zulip):

sorry I'm trying to make inferences

pnkfelix (Sep 27 2018 at 14:54, on Zulip):

based on text in descriptions

pnkfelix (Sep 27 2018 at 14:54, on Zulip):

and so I looked at "[1.30 beta] tester crate broken" #54466

nagisa (Sep 27 2018 at 14:54, on Zulip):

(Since at this speed we ain’t gonna get out off the beta regressions I want to point your attention to a stable-stable one that is probably unsoundness: https://github.com/rust-lang/rust/issues/54462)

pnkfelix (Sep 27 2018 at 14:54, on Zulip):

and couldn't tell if it was an instance of the same thing as #54465

Pietro Albini (Sep 27 2018 at 14:54, on Zulip):

nope, this is the crate that's overriding our own libtest

pnkfelix (Sep 27 2018 at 14:56, on Zulip):

ah, sorry, I didn't follow link to the comment

pnkfelix (Sep 27 2018 at 14:56, on Zulip):

(or rather, it didn't load fast enough for me to read it)

pnkfelix (Sep 27 2018 at 14:57, on Zulip):

okay.

pnkfelix (Sep 27 2018 at 14:57, on Zulip):

sounds like another WONTFIX

pnkfelix (Sep 27 2018 at 14:57, on Zulip):

in any case

pnkfelix (Sep 27 2018 at 14:59, on Zulip):

trying to move along

nagisa (Sep 27 2018 at 14:59, on Zulip):

@pnkfelix do you mind if I interrupt the agenda with #54462?

pnkfelix (Sep 27 2018 at 14:59, on Zulip):

though I understand @nagisa wanted some attention padid to the unsoundness issue

pnkfelix (Sep 27 2018 at 14:59, on Zulip):

okay lets discuss

Pietro Albini (Sep 27 2018 at 14:59, on Zulip):

(and also if you could check the backports in this meeting it would be awesome!)

pnkfelix (Sep 27 2018 at 14:59, on Zulip):

"Incorrect code generation for nalgebra's Matrix::swap_rows()" #54462

nagisa (Sep 27 2018 at 15:00, on Zulip):

I think all we should do is simply flip the noalias attribute back to disabled by default

nagisa (Sep 27 2018 at 15:00, on Zulip):

I can prepare a patch

pnkfelix (Sep 27 2018 at 15:00, on Zulip):

@Pietro Albini Agenda is here: https://public.etherpad-mozilla.org/p/rust-compiler-meeting

nagisa (Sep 27 2018 at 15:00, on Zulip):

the question is, do we want to backport to stable?

pnkfelix (Sep 27 2018 at 15:00, on Zulip):

@Pietro Albini we try to get to them

nikomatsakis (Sep 27 2018 at 15:00, on Zulip):

@nagisa you have verified that this fixes it?

nagisa (Sep 27 2018 at 15:01, on Zulip):

@nikomatsakis you can build with -Zmutable-noalias=no and it runs properly then

nikomatsakis (Sep 27 2018 at 15:01, on Zulip):

curious

nagisa (Sep 27 2018 at 15:01, on Zulip):

This flag AFAIU controls specifically that.

pnkfelix (Sep 27 2018 at 15:01, on Zulip):

Wait

nikomatsakis (Sep 27 2018 at 15:01, on Zulip):

do you think it's an LLVM bug?

pnkfelix (Sep 27 2018 at 15:01, on Zulip):

ther's not even a PR yet

nagisa (Sep 27 2018 at 15:01, on Zulip):

Definitely an LLVM bug.

pnkfelix (Sep 27 2018 at 15:01, on Zulip):

So you want us to discuss ... whether you shoud try to make your code in a manner that is backportable?

nagisa (Sep 27 2018 at 15:02, on Zulip):

(inlining the mem::swap, so no noalias annotations get introduced also fixes it)

nagisa (Sep 27 2018 at 15:02, on Zulip):

@pnkfelix I want to know if we are interested in backporting to stable at all

nagisa (Sep 27 2018 at 15:02, on Zulip):

yes.

nikomatsakis (Sep 27 2018 at 15:02, on Zulip):

So you want us to discuss ... whether you shoud try to make your code in a manner that is backportable?

I think the question is, if they make this PR to disable no-alias (which is trivial), would we want to backport it?

nikomatsakis (Sep 27 2018 at 15:02, on Zulip):

Definitely an LLVM bug.

and/or a misuse of no-alias I suppose

nikomatsakis (Sep 27 2018 at 15:02, on Zulip):

though it seems like the annotation is correct here

nikomatsakis (Sep 27 2018 at 15:02, on Zulip):

for any possible meaning

nagisa (Sep 27 2018 at 15:02, on Zulip):

the price we pay is probably only the loss of whatever performance wins we got by enabling noalias.

pnkfelix (Sep 27 2018 at 15:02, on Zulip):

The patch would be trivial, but the implications might not be, no?

pnkfelix (Sep 27 2018 at 15:03, on Zulip):

right, the perf issue was wht I was thinking of

nikomatsakis (Sep 27 2018 at 15:03, on Zulip):

perf impact

nikomatsakis (Sep 27 2018 at 15:03, on Zulip):

when this has come up before, we bit the bullet and did it

nikomatsakis (Sep 27 2018 at 15:03, on Zulip):

then re-enabled later once the relevant bug was fixed

nagisa (Sep 27 2018 at 15:03, on Zulip):

I can look into fixing the bug on LLVM side as well, but that will take significantly longer

nikomatsakis (Sep 27 2018 at 15:03, on Zulip):

@nagisa would you try to minimize something for LLVM?

nikomatsakis (Sep 27 2018 at 15:03, on Zulip):

I'd feel better if they wre tracking it so we had some idea when we could conceivably re-enable

nikomatsakis (Sep 27 2018 at 15:04, on Zulip):

@Adam Perry has been working on that lolbench stuff

nikomatsakis (Sep 27 2018 at 15:04, on Zulip):

so we could conceivably try to evaluate the perf impact

pnkfelix (Sep 27 2018 at 15:04, on Zulip):

I'm in favor of what @nikomatsakis outlines. In particular, I'm not sure we want @nagisa 's time spent on fixing LLVM itself...

pnkfelix (Sep 27 2018 at 15:04, on Zulip):

(unless we observe serious perf regression, of course)

nikomatsakis (Sep 27 2018 at 15:04, on Zulip):

I think the "backport to stable" question is one I can raise at core team mtg

nikomatsakis (Sep 27 2018 at 15:05, on Zulip):

typically that's where final call on a stable point release gets made

nagisa (Sep 27 2018 at 15:05, on Zulip):

that works for me, just ping me on IRC or here. I’ll most likely have the PR up for master/beta by saturday evening.

pnkfelix (Sep 27 2018 at 15:05, on Zulip):

okay

nikomatsakis (Sep 27 2018 at 15:05, on Zulip):

it's unclear how broad this impact is, but I definitely think we should fix for nightly + beta

pnkfelix (Sep 27 2018 at 15:05, on Zulip):

so technically we're out of time

pnkfelix (Sep 27 2018 at 15:05, on Zulip):

but I think we might as well try to get through the list

pnkfelix (Sep 27 2018 at 15:05, on Zulip):

with whomever can stick around

pnkfelix (Sep 27 2018 at 15:05, on Zulip):

and I'll just try to remember we don't necessarily have a quorum ...?

nikomatsakis (Sep 27 2018 at 15:06, on Zulip):

seems ok

nagisa (Sep 27 2018 at 15:06, on Zulip):

/me will stay for at least half an hour longer

pnkfelix (Sep 27 2018 at 15:06, on Zulip):

so continuing with stable-to-beta regressins

pnkfelix (Sep 27 2018 at 15:06, on Zulip):

next up is: "[1.30 beta] Trait bound is not satisfied" #54467

pnkfelix (Sep 27 2018 at 15:06, on Zulip):

ariel's assigned

pnkfelix (Sep 27 2018 at 15:07, on Zulip):

P-high, yeah?

pnkfelix (Sep 27 2018 at 15:07, on Zulip):

P-high; left note.

nikomatsakis (Sep 27 2018 at 15:07, on Zulip):

I suppose so; we should check in with @Ariel Ben-Yehuda, not sure how much time they have

nagisa (Sep 27 2018 at 15:07, on Zulip):

Seems like we can move on, ticket seems to be in right hands.

pnkfelix (Sep 27 2018 at 15:07, on Zulip):

Next up: "[1.30 beta] Ambiguous macro names" #54472

pnkfelix (Sep 27 2018 at 15:07, on Zulip):

@nikomatsakis ariel weighed n on ticket already saying they'd have a fix up

pnkfelix (Sep 27 2018 at 15:08, on Zulip):

appparently PR #54605 is a "partial " fix from @Vadim Petrochenkov

pnkfelix (Sep 27 2018 at 15:09, on Zulip):

but hten that PR was tagged as fixing #54472

pnkfelix (Sep 27 2018 at 15:09, on Zulip):

anyway seems P-high

pnkfelix (Sep 27 2018 at 15:09, on Zulip):

and assigned.

pnkfelix (Sep 27 2018 at 15:10, on Zulip):

so I'm removing nomination tag and tagging as P-hihg

pnkfelix (Sep 27 2018 at 15:10, on Zulip):

next: "[1.30 beta] Regression and bad diagnostics about macros" #54473

pnkfelix (Sep 27 2018 at 15:11, on Zulip):

I am trying to figure out what @Vadim Petrochenkov 's comment on this means

nagisa (Sep 27 2018 at 15:11, on Zulip):

I think they mean that the code was incorrect in the first place?

Pietro Albini (Sep 27 2018 at 15:11, on Zulip):

I think it's this expaination https://github.com/rust-lang/rust/issues/53464#issuecomment-414049821

pnkfelix (Sep 27 2018 at 15:11, on Zulip):

seems like local_inner_macros is misused by various crates...?

nagisa (Sep 27 2018 at 15:12, on Zulip):

and that export_inner_macros was buggy altogether.

pnkfelix (Sep 27 2018 at 15:13, on Zulip):

On August 19, local_inner_macros was in beta but not stable...

pnkfelix (Sep 27 2018 at 15:13, on Zulip):

okay so its sounds like the knowledgable people are all tagging this as a documentation issue .... ?

Pietro Albini (Sep 27 2018 at 15:13, on Zulip):

maybe also fixing the diagnostics

nikomatsakis (Sep 27 2018 at 15:14, on Zulip):

makes sense; the attribute is easy to misuse...

pnkfelix (Sep 27 2018 at 15:14, on Zulip):

either way all of that is documented on #53464

Pietro Albini (Sep 27 2018 at 15:14, on Zulip):

"use extern crate assert_eq;" is not the best message

pnkfelix (Sep 27 2018 at 15:14, on Zulip):

which means that I'm inclined to close #54473 as a duplicate of #53464

pnkfelix (Sep 27 2018 at 15:15, on Zulip):

the only question is whether T-compiler should be added to the tags on #53464, to track the work of fixing the diagnositcs

pnkfelix (Sep 27 2018 at 15:15, on Zulip):

that, or we open a fresh ticket (or repurpose #54473) for that subtask...

pnkfelix (Sep 27 2018 at 15:15, on Zulip):

I'll leave a note saying this.

pnkfelix (Sep 27 2018 at 15:16, on Zulip):

and add us to tags on #54364

pnkfelix (Sep 27 2018 at 15:16, on Zulip):

we can revisit next week what to do about that ticket

pnkfelix (Sep 27 2018 at 15:17, on Zulip):

next: "[1.30 beta] Multiple applicable items in scope" #54474

Pietro Albini (Sep 27 2018 at 15:17, on Zulip):

that's not T-compiler

pnkfelix (Sep 27 2018 at 15:18, on Zulip):

so it sounds like ... we shoud close as WONTFIX

pnkfelix (Sep 27 2018 at 15:18, on Zulip):

oh good point

pnkfelix (Sep 27 2018 at 15:18, on Zulip):

then i wont touch it

pnkfelix (Sep 27 2018 at 15:18, on Zulip):

next: "[1.30 beta] Test suite of the collection crate is failing" #54477

pnkfelix (Sep 27 2018 at 15:18, on Zulip):

well who knows what's up here

pnkfelix (Sep 27 2018 at 15:19, on Zulip):

I'll assign to self to investigate.

pnkfelix (Sep 27 2018 at 15:19, on Zulip):

not going to tag with P- label yet until I have more knoweldgfe of what's up with it though

pnkfelix (Sep 27 2018 at 15:20, on Zulip):

next: "[1.30 beta] Test suite of the jemalloc-ctl crate is failing" #54478

pnkfelix (Sep 27 2018 at 15:20, on Zulip):

I'll likewise assign to myself; I cannot tell how much sfackler managed to glean from their review

pnkfelix (Sep 27 2018 at 15:21, on Zulip):

next: "[1.30 beta] More chars considered alphanumeric in 1.30" #54481

pnkfelix (Sep 27 2018 at 15:21, on Zulip):

oops, also not us

pnkfelix (Sep 27 2018 at 15:21, on Zulip):

okay that's all the stable-to-beta regressins

pnkfelix (Sep 27 2018 at 15:22, on Zulip):

thank goodness, stable-to-nightly regressions is empty

pnkfelix (Sep 27 2018 at 15:22, on Zulip):

next up, beta nominations

nikomatsakis (Sep 27 2018 at 15:22, on Zulip):

next: "[1.30 beta] Test suite of the collection crate is failing" #54477

that one is kind of scary

pnkfelix (Sep 27 2018 at 15:22, on Zulip):

first beta-nom: "52985: cause cycle err on inf trait normalization" #53316

pnkfelix (Sep 27 2018 at 15:22, on Zulip):

I nominated this

pnkfelix (Sep 27 2018 at 15:22, on Zulip):

just to put it through bureaucracy

pnkfelix (Sep 27 2018 at 15:23, on Zulip):

which I am now regretting at the post 23 minute mark

nagisa (Sep 27 2018 at 15:23, on Zulip):

in terms of size, this definitely passes for a beta backport

pnkfelix (Sep 27 2018 at 15:23, on Zulip):

Does anyone here think we should backport?

nagisa (Sep 27 2018 at 15:24, on Zulip):

that being said what existential type is even

nagisa (Sep 27 2018 at 15:24, on Zulip):

if it is not stable or stabilised in beta, is there any reason to backport at all?

pnkfelix (Sep 27 2018 at 15:24, on Zulip):

true, that test tells us nothing

pnkfelix (Sep 27 2018 at 15:24, on Zulip):

my hypothesis is that it fixed an impl Trait bug too

nikomatsakis (Sep 27 2018 at 15:24, on Zulip):

they are impl'd in terms of the same underlying mechanisms

nikomatsakis (Sep 27 2018 at 15:25, on Zulip):

so that it is not unlikely

pnkfelix (Sep 27 2018 at 15:25, on Zulip):

namely : "infinite recursion ICE" #52701

nagisa (Sep 27 2018 at 15:25, on Zulip):

I’m willing to accept on condition that somebody confirms that this fixes that bug :slight_smile:

pnkfelix (Sep 27 2018 at 15:25, on Zulip):

but would we backport to stable too?

pnkfelix (Sep 27 2018 at 15:25, on Zulip):

its a stable-to-stable regression

pnkfelix (Sep 27 2018 at 15:25, on Zulip):

and if we're not going to backport to stable

pnkfelix (Sep 27 2018 at 15:25, on Zulip):

then I'm not sure we should bother with beta backport

nagisa (Sep 27 2018 at 15:26, on Zulip):

that’s for T-core to decide, right? I guess if we’re going to be backporting the noalias fix, then this could be a fairly simple thing to bundle with it

pnkfelix (Sep 27 2018 at 15:26, on Zulip):

@nikomatsakis can you raise this one at the T-core meeting then?

nikomatsakis (Sep 27 2018 at 15:26, on Zulip):

I can

pnkfelix (Sep 27 2018 at 15:26, on Zulip):

(this one seems like a more sizeable backport than the one that @nagisa was hypothesizing for that other bug)

pnkfelix (Sep 27 2018 at 15:26, on Zulip):

Okay

nikomatsakis (Sep 27 2018 at 15:26, on Zulip):

but I don't follow this logic of "if we don't backport to stable, why bother"

pnkfelix (Sep 27 2018 at 15:27, on Zulip):

@nikomatsakis because once you have to work around the issue in your stable crate

nagisa (Sep 27 2018 at 15:27, on Zulip):

well, with backport to beta, people would get their fix 6 weeks earlier

nagisa (Sep 27 2018 at 15:28, on Zulip):

(again, provided this fixes #52701 at all)

pnkfelix (Sep 27 2018 at 15:28, on Zulip):

to me, the primary purpose of the beta branch is to catch bugs before they hit stable. If we miss that window, then the calculus changes of how to prioritize fixes, especially to things like fixing ICE's

pnkfelix (Sep 27 2018 at 15:28, on Zulip):

(soundness fixes, those I could understand backporting to beta alone)

pnkfelix (Sep 27 2018 at 15:29, on Zulip):

of course if the ICE in question is only an ICE sometimes, and an unsoundness other times, then that would be a different calculation of prioritization

nikomatsakis (Sep 27 2018 at 15:29, on Zulip):

@pnkfelix do we have some kind of listing of what is fixed by https://github.com/rust-lang/rust/pull/53316 ?

pnkfelix (Sep 27 2018 at 15:29, on Zulip):

anyway that's just how I look at the question

nikomatsakis (Sep 27 2018 at 15:29, on Zulip):

I can see that logic; I think we tend to backport more lightly to beta though

pnkfelix (Sep 27 2018 at 15:30, on Zulip):

@pnkfelix do we have some kind of listing of what is fixed by https://github.com/rust-lang/rust/pull/53316 ?

... I linked #52701 in my comment ?

nikomatsakis (Sep 27 2018 at 15:30, on Zulip):

just to get the fix out earlier

nikomatsakis (Sep 27 2018 at 15:30, on Zulip):

ok, #52701 doesn't mention any crates or anything though

pnkfelix (Sep 27 2018 at 15:30, on Zulip):

oh, you mean like real code?

pnkfelix (Sep 27 2018 at 15:31, on Zulip):

its one of those things where I don't think we'd ever see the real code it fixes.

pnkfelix (Sep 27 2018 at 15:31, on Zulip):

but maybe I'm underestimating how often people write code that infinitely recurses in this manner

nagisa (Sep 27 2018 at 15:31, on Zulip):

/me repeats that they wouldn’t mind a beta backport provided this actually fixes #52701

pnkfelix (Sep 27 2018 at 15:31, on Zulip):

Okay so @nagisa voted in favor

pnkfelix (Sep 27 2018 at 15:32, on Zulip):

I'll assign to myself to make a backport and verify that it fixes #52701

nikomatsakis (Sep 27 2018 at 15:32, on Zulip):

I'd..probably be ok with beta either way. I hadn't seen that patch before but I can't immediately see the harm. But I also don't hear a lot of strong demand.

nikomatsakis (Sep 27 2018 at 15:32, on Zulip):

It's sort of mildly scary :)

nikomatsakis (Sep 27 2018 at 15:32, on Zulip):

in that it goes from Bug to .. not Bug.

nikomatsakis (Sep 27 2018 at 15:32, on Zulip):

/me ponders if it is correct

nikomatsakis (Sep 27 2018 at 15:33, on Zulip):

in particular I'm unconvinced that returning NoSolution is right

nikomatsakis (Sep 27 2018 at 15:33, on Zulip):

though it might be

pnkfelix (Sep 27 2018 at 15:33, on Zulip):

My assumption was it would diverge at runtime ... ?

nikomatsakis (Sep 27 2018 at 15:33, on Zulip):

anyway

pnkfelix (Sep 27 2018 at 15:33, on Zulip):

I guess I don't know what it does yet. :)

nikomatsakis (Sep 27 2018 at 15:34, on Zulip):

well, I guess only on Reveal::All...

pnkfelix (Sep 27 2018 at 15:34, on Zulip):

wait, it still fails to compile

pnkfelix (Sep 27 2018 at 15:34, on Zulip):

where is the "Not bug" you refer to ?

nikomatsakis (Sep 27 2018 at 15:34, on Zulip):

this example does

nikomatsakis (Sep 27 2018 at 15:35, on Zulip):

but other examples might not

nikomatsakis (Sep 27 2018 at 15:35, on Zulip):

they are propagating an error out, the caller could do anything

pnkfelix (Sep 27 2018 at 15:35, on Zulip):

okay

pnkfelix (Sep 27 2018 at 15:35, on Zulip):

I'll look later

nikomatsakis (Sep 27 2018 at 15:35, on Zulip):

also, I feel like this is getting reported at the wrong time

nikomatsakis (Sep 27 2018 at 15:35, on Zulip):

I'll break out a thread

pnkfelix (Sep 27 2018 at 15:35, on Zulip):

we have four other beta-nominated

pnkfelix (Sep 27 2018 at 15:36, on Zulip):

but I don't think I nor @nagisa can continue talking right now

pnkfelix (Sep 27 2018 at 15:36, on Zulip):

should I fire off asynchronous approvals?

pnkfelix (Sep 27 2018 at 15:36, on Zulip):

I feel like that protocol did not work out last time (or at least, I got the impression that @nikomatsakis said it was not what we do typically)

pnkfelix (Sep 27 2018 at 15:36, on Zulip):

but I don't know what else to do besides wait until next week again

Pietro Albini (Sep 27 2018 at 15:37, on Zulip):

two of those are simple beta regression fixes

nikomatsakis (Sep 27 2018 at 15:37, on Zulip):

usually I just go and make unilaterial decisions when this happens :)

nagisa (Sep 27 2018 at 15:37, on Zulip):

We have a fair amount of time before the next release. No need to hurry I think.

nikomatsakis (Sep 27 2018 at 15:37, on Zulip):

basically trying to clear out the "simple stuff"

pnkfelix (Sep 27 2018 at 15:37, on Zulip):

okay fine, I guess we'll just go through the list next week

pnkfelix (Sep 27 2018 at 15:38, on Zulip):

(unilateral decisions do not feel right to @pnkfelix for these matters, except in really obvious cases perhaps ...)

pnkfelix (Sep 27 2018 at 15:38, on Zulip):

There are also some I-nominated issues

pnkfelix (Sep 27 2018 at 15:39, on Zulip):

but I think we're just going o have to leave those for next week

nikomatsakis (Sep 27 2018 at 15:39, on Zulip):

seems like we won't get to them

nikomatsakis (Sep 27 2018 at 15:39, on Zulip):

I gotta run too

pnkfelix (Sep 27 2018 at 15:39, on Zulip):

I guess if everyone in @T-compiler could asynchronously skim over the I-nominated issues

pnkfelix (Sep 27 2018 at 15:39, on Zulip):

and if you see something that picques your interest, leave a comment about it

pnkfelix (Sep 27 2018 at 15:40, on Zulip):

then that would allow us to make some semblance of progress asyncrhonously...

pnkfelix (Sep 27 2018 at 15:40, on Zulip):

Okay, thanks everyone for joining!

pnkfelix (Sep 27 2018 at 15:40, on Zulip):

:wave:

Adam Perry (Sep 27 2018 at 16:55, on Zulip):

@nikomatsakis i don't yet have an easy way to do a trail run but I'd be happy for an opportunity to spike it out. right now I'm working on reducing a bunch of regressions from the backlog though

Adam Perry (Sep 27 2018 at 16:55, on Zulip):

and I don't know zulip well enough to set up the appropriate area to discuss, but I'm here and will receive pings properly now :)

RalfJ (Sep 30 2018 at 13:11, on Zulip):

First: "New compiler error in beta: this constant cannot be used, attempted to read undefined bytes" #54387

Fix submitted as https://github.com/rust-lang/rust/pull/54693

Last update: Nov 22 2019 at 04:30UTC