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

Rolling up PRs in the queue #24967

Merged
merged 84 commits into from
Apr 30, 2015
Merged

Rolling up PRs in the queue #24967

merged 84 commits into from
Apr 30, 2015

Conversation

alexcrichton
Copy link
Member

No description provided.

tari and others added 30 commits April 25, 2015 19:41
These new intrinsics are comparable to `atomic_signal_fence` in C++,
ensuring the compiler will not reorder memory accesses across the
barrier, nor will it emit any machine instructions for it.

Closes rust-lang#24118, implementing RFC 888.
The error in the Brief Introduction shows the problematic line as "x.push(4)", while the example code uses a vector of strings.
Also, remove the other brackets, because they make the whole sentence
look awkward.
This commit is an implementation of [RFC 1044][rfc] which adds additional
surface area to the `std::fs` module. All new APIs are `#[unstable]` behind
assorted feature names for each one.

[rfc]: rust-lang/rfcs#1044

The new APIs added are:

* `fs::canonicalize` - bindings to `realpath` on unix and
  `GetFinalPathNameByHandle` on windows.
* `fs::symlink_metadata` - similar to `lstat` on unix
* `fs::FileType` and accessor methods as `is_{file,dir,symlink}`
* `fs::Metadata::file_type` - accessor for the raw file type
* `fs::DirEntry::metadata` - acquisition of metadata which is free on Windows
  but requires a syscall on unix.
* `fs::DirEntry::file_type` - access the file type which may not require a
  syscall on most platforms.
* `fs::DirEntry::file_name` - access just the file name without leading
  components.
* `fs::PathExt::symlink_metadata` - convenience method for the top-level
  function.
* `fs::PathExt::canonicalize` - convenience method for the top-level
  function.
* `fs::PathExt::read_link` - convenience method for the top-level
  function.
* `fs::PathExt::read_dir` - convenience method for the top-level
  function.
* `std::os::raw` - type definitions for raw OS/C types available on all
  platforms.
* `std::os::$platform` - new modules have been added for all currently supported
  platforms (e.g. those more specific than just `unix`).
* `std::os::$platform::raw` - platform-specific type definitions. These modules
  are populated with the bare essentials necessary for lowing I/O types into
  their raw representations, and currently largely consist of the `stat`
  definition for unix platforms.

This commit also deprecates `Metadata::{modified, accessed}` in favor of
inspecting the raw representations via the lowering methods of `Metadata`.
This error indicates that a constant references itself.
All constants need to resolve to a value in an acyclic manner.

For example, neither of the following can be sensibly compiled:

```
const X: u32 = X;
```

```
const X: u32 = Y;
const Y: u32 = X;
```
This is served by stability markers.
This is the last remaining portion of rust-lang#24796
The "unchecked_" div and rem functions will give UB in case of rhs == 0, or,
in the signed versions, lhs == INT::min and rhs == -1
…24687-test

Add `-g` (to testcase) that I should have included in PR rust-lang#24932.

Note it is safe, with respect to autobuilds, to land before rust-lang#24945.

(In other words, landing this sooner won't break things for anyone any
worse than they were already broken, since there are *other* tests
that also add `-g` to their flags via `compile-flags: -g`.)
This is OK to do given:
  - PIE is supported on Android starting with API 16.
  - The bots are running API 18.
  - API < 16 now has a 12.5% market share[0] as of 2015-04-29.

Closes rust-lang#17437.

[0] https://developer.android.com/about/dashboards/index.html

r? @alexcrichton
Changes made include adding missing punctuation, adding missing words, and converting uses of "Gets" to "Returns" in libstd/net/addr.rs to make it more consistent with the other documentation.

Fixes rust-lang#24925.
r? @alexcrichton I've tested these locally, so they should all be good to go.
Conflicts:
	src/libstd/sys/windows/fs2.rs
@alexcrichton
Copy link
Member Author

@bors: r+ 2edb643 p=10

@rust-highfive
Copy link
Collaborator

r? @pnkfelix

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

@alexcrichton
Copy link
Member Author

@bors: force

@bors
Copy link
Contributor

bors commented Apr 29, 2015

⌛ Testing commit 2edb643 with merge a981d1e...

@bors
Copy link
Contributor

bors commented Apr 29, 2015

💔 Test failed - auto-win-32-nopt-t

@alexcrichton
Copy link
Member Author

@bors: r+ 1b34c09

@alexcrichton
Copy link
Member Author

@bors: force

@bors
Copy link
Contributor

bors commented Apr 30, 2015

⌛ Testing commit 1b34c09 with merge 5449f5d...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.