Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 13 pull requests #50686

Merged
merged 25 commits into from
May 12, 2018
Merged

Rollup of 13 pull requests #50686

merged 25 commits into from
May 12, 2018

Conversation

Mark-Simulacrum
Copy link
Member

Successful merges:

Failed merges:

Eijebong and others added 18 commits May 8, 2018 20:55
This removes the last dependency on syn 0.12
This removes skeptic from the dependency tree which in turn removes
quite a few other dependencies
added rustc_const_unstable attribute

extended tests

added conversion test

fixed tidy test

added feature attribute
Made some functions in time module const

They may be const, or i missed something?
use fmt::Result where applicable

This is a quite boring PR, but I think the type alias improves readability, so why not use it?
…ster

Remove all reference to DepGraph::work_products

This is an attempt at fixing rust-lang#50500. It will remove the `work_products` key from `DepGraphData` completely, in favour of just passing the relevant data around. I went in a little blindly; everything appears to work just fine but I'd appreciate any additional advice people.

I didn't want to remove too much of what was already there, so I kept the structure pretty much the same (aside from some naming tweaks) - if anyone has suggestions on how to streamline it a little better, happy to follow up.

r? @michaelwoerister
…cs, r=cramertj

Update canonicalize docs

I was recently working with file-paths in Rust, and I felt let down by the `std::fs::canonicalize` docs, so I figured I should submit a PR with some suggestions.

I was looking for a method to turn a relative path into an absolute path. The `canonicalize` docs didn't mention the words "relative" or "absolute", but they did mention resolving symlinks (which is a kind of canonicalisation and does not imply converting to absolute), so I assumed that's all it did. To remedy this, I've added the word "absolute" to the description of both `std::fs::canonicalize` and `std::path::Path::canonicalize`.

After calling `canonicalize` on Windows, I ran into a bunch of other problems I would not have expected from the function's behaviour on Linux. Specifically, if you call `canonicalize` on a path:

  - it's allowed to be much longer than it otherwise would
  - `.join("a/slash/delimited/path")` gives you a broken path that Windows can't use, where the same operation would have worked perfectly without `canonicalize` (if the path were short enough)
  - the resulting path may confuse other Windows programs if you pass it to them on the command-line, or write it to a config file that they read, etc.

...so I tried to summarize those behaviours too.

If I understand correctly, those behaviours are a side-effect of calling `GetFinalPathNameByHandle`, and the documentation says `canonicalize` might not call that function in future, so maybe those side-effects shouldn't be part of the function's documentation. However, I bet there's a lot of applications deliberately calling `canonicalize` just for the path-length-extension alone, so that particular side-effect is de-facto part of the `canonicalize` interface.
Allocate Symbol strings from an arena

This is an alternative to rust-lang#50549

cc @nnethercote

r? @michaelwoerister
@rust-highfive
Copy link
Collaborator

r? @michaelwoerister

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

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label May 12, 2018
@Mark-Simulacrum
Copy link
Member Author

@bors r+ p=10

@bors
Copy link
Contributor

bors commented May 12, 2018

📌 Commit c556b4e has been approved by Mark-Simulacrum

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 12, 2018
@kennytm
Copy link
Member

kennytm commented May 12, 2018

@Mark-Simulacrum could you take out #50613? There's some permission problem.

@bors
Copy link
Contributor

bors commented May 12, 2018

⌛ Testing commit c556b4e232bea2da9ffa08d86cc81720d2735cea with merge 1403eacb9c8d897d3243004cf84ccf272bacdbf3...

tbu- and others added 6 commits May 12, 2018 08:39
Generate an IO error if the offset is out of bounds for the system call.
Previously, any file would be read, which is both unnecessary, and causes issues if irrelevant non-Unicode files were read (e.g. `.DS_STORE`).
This commit fixes a hard error where the `#![feature(rust_2018_preview)]`
feature was forbidden to be mentioned when the `--edition 2018` flag was passed.
This instead silently accepts that feature gate despite it not being necessary.
It's intended that this will help ease the transition into the 2018 edition as
users will, for the time being, start off with the `rust_2018_preview` feature
and no longer immediately need to remove it.

Closes rust-lang#50662
This commit updates one of the edition lints to only suggest deleting `extern
crate` if it actually works. Otherwise this can yield some confusing behavior
with rustfix specifically where if you accidentally deny the `rust_2018_idioms`
lint in the 2015 edition it's suggesting features that don't work!
@Mark-Simulacrum
Copy link
Member Author

@bors retry

Removed #50613

@Mark-Simulacrum
Copy link
Member Author

@bors r+ p=10

@bors
Copy link
Contributor

bors commented May 12, 2018

📌 Commit da79ff3 has been approved by Mark-Simulacrum

@bors
Copy link
Contributor

bors commented May 12, 2018

⌛ Testing commit da79ff3 with merge 39f2934b5b444333791070c0db248207cd2ba5da...

@bors
Copy link
Contributor

bors commented May 12, 2018

💔 Test failed - status-appveyor

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels May 12, 2018
@kennytm
Copy link
Member

kennytm commented May 12, 2018

@bors retry

A homu bug (feature?) has interrupted this PR. @Manishearth is this an intended design on the servo side?

Timeline:

  1. 2018-05-12T12:55:47Z: Set PrepareForThinLTO flag when using ThinLTO #50684 is r+'ed. It was originally at the 10th place of the queue.
  2. 2018-05-12T14:35:31Z: A try build requested for Set PrepareForThinLTO flag when using ThinLTO #50684 for a perf run, which starts immediately.
  3. 2018-05-12T15:30:03Z: This PR started to test.
  4. 2018-05-12T16:23:12Z: try build of Set PrepareForThinLTO flag when using ThinLTO #50684 succeeded.
  5. 2018-05-12T16:23:22Z: Immediately, Set PrepareForThinLTO flag when using ThinLTO #50684's real test begins. This is the bug.
  6. 2018-05-12T16:24:17Z: As a result, the CI test for this PR got canceled by cancelbot.

Moral of the story: Do not run @bors try after it has been r+'ed.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 12, 2018
@Manishearth
Copy link
Member

Nah bors just can't track more than one state per PR

@kennytm
Copy link
Member

kennytm commented May 12, 2018

@Manishearth OK I'll see what can we do to prevent this scenario in the future. Perhaps just deny @bors try if the PR is already queued.

@bors
Copy link
Contributor

bors commented May 12, 2018

⌛ Testing commit da79ff3 with merge ff2ac35...

bors added a commit that referenced this pull request May 12, 2018
Rollup of 13 pull requests

Successful merges:

 - #50544 (Cleanup some dependencies)
 - #50545 (Made some functions in time module const)
 - #50550 (use fmt::Result where applicable)
 - #50558 (Remove all reference to DepGraph::work_products)
 - #50602 (Update canonicalize docs)
 - #50607 (Allocate Symbol strings from an arena)
 - #50613 (Migrate the toolstate update bot to rust-highfive)
 - #50624 (fs::write: Add example writing a &str)
 - #50634 (Do not silently truncate offsets for `read_at`/`write_at` on emscripten)
 - #50644 (AppVeyor: Read back trace from crash dump on failure.)
 - #50661 (Ignore non .rs files for tidy libcoretest)
 - #50663 (rustc: Allow an edition's feature on that edition)
 - #50667 (rustc: Only suggest deleting `extern crate` if it works)

Failed merges:
@bors
Copy link
Contributor

bors commented May 12, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: Mark-Simulacrum
Pushing ff2ac35 to master...

@bors bors merged commit da79ff3 into rust-lang:master May 12, 2018
@Centril Centril added the rollup A PR which is a rollup label Oct 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.