Skip to content

Rolling up PRs in the queue #21872

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

Merged
merged 63 commits into from
Feb 3, 2015
Merged

Rolling up PRs in the queue #21872

merged 63 commits into from
Feb 3, 2015

Conversation

alexcrichton
Copy link
Member

No description provided.

lucab and others added 30 commits January 22, 2015 15:45
valgrind files moved and modpath.iss deleted. Both entries updated in
COPYRIGHT file.

Signed-off-by: Luca Bruno <[email protected]>
Previously if --extern was specified it would not override crates in the
standard distribution, leading to issues like rust-lang#21771. This commit alters the
behavior such that if --extern is passed then it will always override any other
choice of crates and no previous match will be used (unless it is the same path
as --extern).

Closes rust-lang#21771
These missing calls lead to miscompilations with more recent LLVM
versions.
These methods were intended to be stable as of rust-lang#16258 but the tags have since
been lost in various refactorings. This commit re-adds the `#[stable]`
attributes to each of these functions.
When it was un*known*_features it was reasonably to by deny by default.

cc rust-lang#21798
For "symmetric" binary operators, meaning the types of two side must be
equal, if the type of LHS doesn't know yet but RHS does, use that as an
hint to infer LHS' type.

Closes rust-lang#21634
Unicode escapes were changed in [this
RFC](https://github.com/rust-lang/rfcs/blob/28aeb3c391c9afd344f124d3a69bdc2a420638b2/text/0446-es6-unicode-escapes.md)
to use the ES6 \u{00FFFF} syntax with a variable number of digits from
1-6, eliminating the need for two different syntaxes for unicode
literals.
- consolidate target_record_sp_limit and target_get_sp_limit functions
  for aarch64, powerpc, arm-ios and openbsd as there are all without
  segmented stacks (no need to duplicate functions).

- rename __load_self function to rust_load_self

- use a mutex inner load_self() as underline implementation is not thread-safe
This code is in a block (libc::consts::os) that openbsd don't include
This one is for freebsd and dragonfly. There is another block for openbsd below.

Remove the unneed declaration.
- the specific block for dl* function isn't need for openbsd if libdl
  isn't marked to be linked here. remove them.

- remove the linkage for libdl: it should already specified in `rtdeps.rs`.

the code of `dynamic_lib.rs` include libdl for:
 - linux (already defined in rtdeps.rs)
 - android (already defined in rtdeps.rs)
 - macos (not needed for macos)
 - ios (probably the same as macos)
 - freebsd (libdl is a stub)
 - dragonfly (libdl is a stub)
- incoporate changes introduced by rust-lang#21678
This is an implementation of [RFC 578][rfc] which adds a new `std::env` module
to replace most of the functionality in the current `std::os` module. More
details can be found in the RFC itself, but as a summary the following methods
have all been deprecated:

[rfc]: rust-lang/rfcs#578

* `os::args_as_bytes`   => `env::args`
* `os::args`            => `env::args`
* `os::consts`          => `env::consts`
* `os::dll_filename`    => no replacement, use `env::consts` directly
* `os::page_size`       => `env::page_size`
* `os::make_absolute`   => use `env::current_dir` + `join` instead
* `os::getcwd`          => `env::current_dir`
* `os::change_dir`      => `env::set_current_dir`
* `os::homedir`         => `env::home_dir`
* `os::tmpdir`          => `env::temp_dir`
* `os::join_paths`      => `env::join_paths`
* `os::split_paths`     => `env::split_paths`
* `os::self_exe_name`   => `env::current_exe`
* `os::self_exe_path`   => use `env::current_exe` + `pop`
* `os::set_exit_status` => `env::set_exit_status`
* `os::get_exit_status` => `env::get_exit_status`
* `os::env`             => `env::vars`
* `os::env_as_bytes`    => `env::vars`
* `os::getenv`          => `env::var` or `env::var_string`
* `os::getenv_as_bytes` => `env::var`
* `os::setenv`          => `env::set_var`
* `os::unsetenv`        => `env::remove_var`

Many function signatures have also been tweaked for various purposes, but the
main changes were:

* `Vec`-returning APIs now all return iterators instead
* All APIs are now centered around `OsString` instead of `Vec<u8>` or `String`.
  There is currently on convenience API, `env::var_string`, which can be used to
  get the value of an environment variable as a unicode `String`.

All old APIs are `#[deprecated]` in-place and will remain for some time to allow
for migrations. The semantics of the APIs have been tweaked slightly with regard
to dealing with invalid unicode (panic instead of replacement).

The new `std::env` module is all contained within the `env` feature, so crates
must add the following to access the new APIs:

    #![feature(env)]

[breaking-change]
Now that associated types are fully implemented the iterator adaptors only need
type parameters which are associated with actual storage. All other type
parameters can either be derived from these (e.g. they are an associated type)
or can be bare on the `impl` block itself.

This is a breaking change due to the removal of type parameters on these
iterator adaptors, but code can fairly easily migrate by just deleting the
relevant type parameters for each adaptor. Other behavior should not be
affected.

Closes rust-lang#21839
[breaking-change]
There [have been reports][issue] of an unconditional warning causing tooling to
go awry. This isn't actually a warning per se, it's more of a note anyway!

[issue]: rust-lang/cargo#1260

Closes rust-lang/cargo#1260
The existence of these two functions is at odds with our current [error
conventions][conventions] which recommend that panicking and `Result`-like
variants should not be provided together.

[conventions]: https://github.com/rust-lang/rfcs/blob/master/text/0236-error-conventions.md#do-not-provide-both-result-and-fail-variants

This commit adds a new `borrow_state` function returning a `BorrowState` enum to
`RefCell` which serves as a replacemnt for the `try_borrow` and `try_borrow_mut`
functions.
See PR # 21378 for context
@alexcrichton
Copy link
Member Author

@bors: r+ f3969c1 p=100

@bors
Copy link
Collaborator

bors commented Feb 2, 2015

⌛ Testing commit f3969c1 with merge 18d3762...

@bors
Copy link
Collaborator

bors commented Feb 2, 2015

💔 Test failed - auto-linux-64-x-android-t

@alexcrichton
Copy link
Member Author

@bors: r+ af76798 p=100

@bors
Copy link
Collaborator

bors commented Feb 2, 2015

⌛ Testing commit af76798 with merge 986ccdc...

@bors
Copy link
Collaborator

bors commented Feb 3, 2015

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

@alexcrichton
Copy link
Member Author

@bors: r+ 8221d64 p=100

@bors
Copy link
Collaborator

bors commented Feb 3, 2015

⌛ Testing commit 8221d64 with merge 83d1433...

@bors
Copy link
Collaborator

bors commented Feb 3, 2015

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

@alexcrichton
Copy link
Member Author

@bors: r+ 9ece22e p=100

@alexcrichton
Copy link
Member Author

@bors: retry

@bors
Copy link
Collaborator

bors commented Feb 3, 2015

⌛ Testing commit 9ece22e with merge 616b69f...

@bors
Copy link
Collaborator

bors commented Feb 3, 2015

💔 Test failed - auto-mac-64-nopt-t

@alexcrichton
Copy link
Member Author

@bors: retry

@bors
Copy link
Collaborator

bors commented Feb 3, 2015

⌛ Testing commit 9ece22e with merge 7858cb4...

1 similar comment
@bors bors merged commit 9ece22e into rust-lang:master Feb 3, 2015
@alexcrichton alexcrichton deleted the rollup branch February 3, 2015 06:44
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.