- 20 7月, 2017 8 次提交
-
-
由 bors 提交于
Add empty MIR pass for non-lexical lifetimes This is the first step for #43234.
-
由 bors 提交于
Fix checking for missing stability annotations This was a regression from https://github.com/rust-lang/rust/pull/37676 causing "unmarked API" ICEs like https://github.com/rust-lang/rust/issues/43027. r? @alexcrichton
-
由 bors 提交于
explanatory error on `--print target-spec-json` without unstable options ![unstable_target_spec](https://user-images.githubusercontent.com/1076988/28243342-9731a45c-697a-11e7-9852-bad7ca1802b7.png) Resolves #41683.
-
由 bors 提交于
Reorder span suggestions to appear below main labels A fix to #41698 r? @nikomatsakis
-
由 bors 提交于
Tidy: allow common lang+lib features This allows changes to the Rust language that have both library and language components share one feature gate. The feature gates need to be "about the same change", so that both library and language components must either be both unstable, or both stable, and share the tracking issue. Removes the ugly "proc_macro" exception added by #40939. Closes #43089
-
由 Zack M. Davis 提交于
Resolves #41683.
-
由 bors 提交于
suggest one-argument enum variant to fix type mismatch when applicable Following @est31's [suggestion](https://github.com/rust-lang/rust/issues/42764#issuecomment-309680886). ![some_suggestion](https://user-images.githubusercontent.com/1076988/28101064-ee83f51e-667a-11e7-9e4f-d8f9eb2fb6c3.png) Resolves #42764.
-
由 bors 提交于
Implement const fn {size,align}_of. Fixes #34078. r? @nikomatsakis
-
- 19 7月, 2017 8 次提交
-
-
由 bors 提交于
Attempt to fix appveyor This will fix the problem, I think, but I don't know that this is a good idea (potentially leaving ourselves open to attackers, I guess, if a cert was revoked...). Of course, it may not. I don't actually have windows to check on.. r? @alexcrichton
-
由 Mark Simulacrum 提交于
-
由 Paul Faria 提交于
-
由 Eduard-Mihai Burtescu 提交于
-
由 bors 提交于
Add support for full RELRO This commit adds support for full RELRO, and enables it for the platforms I know have support for it. Full RELRO makes the PLT+GOT data read-only on startup, preventing it from being overwritten. http://tk-blog.blogspot.com/2009/02/relro-not-so-well-known-memory.html Fixes rust-lang/rust#29877. --- I'm not entirely certain if this is the best way to do it, but I figured mimicking the way it's done for PIE seemed like a good start at least. I'm not sure whether we want to have it enabled by default globally and then disabling it explicitly for targets that don't support it though. I'm also not sure whether the `full_relro` function should call `bug!()` or something like it for linkers that don't support it rather than no-opping.
-
由 bors 提交于
Slew of builtin-attribute gating tests Slew of builtin-attribute "gating" tests for issue #43106. Some stray observations: * I don't know if its a good thing that so many attributes allow inputs which are silently discarded. (I made heavy use of that in writing my tests, but that was more out of curiosity than necessity.) * The difference between crate-level and non-crate-level behavior is quite significant in some cases. Definitely worth making sure one has tests for both cases. (Not as clear whether it was worthwhile trying the various other AST forms like `fn f()` vs `struct S;`) * `#[no_builtins]` and `#[no_mangle]` occur twice on the `BUILTIN_ATTRIBUTES` list. Thats almost certainly a bug. (Filed as #43148) * We are maximally liberal in what we allow for `#[test]` and `#[bench]` when one compiles without `--test`. * We allow `#[no_mangle]` on arbitrary AST nodes, but only warn about potential misuse on `fn` * We allow `#[cold]`, `#[must_use]`, `#[windows_subsystem]`, and `#[no_builtins]` on arbitrary AST nodes. I don't know off-hand what the semantics are for e.g. a `#[cold] type T = ...;` * We allow crate-level `#![inline]`. That's probably a bug since its otherwise restricted to `fn` items
-
由 bors 提交于
Unify rules about commas in match arms and semicolons in expressions Original discussion: https://internals.rust-lang.org/t/syntax-of-block-like-expressions-in-match-arms/5025/7. Currently, rust uses different rules to determine if `,` is needed after an expression in a match arm and if `;` is needed in an expression statement: ```Rust fn stmt() { # no need for semicolons { () } if true { () } else { () } loop {} while true {} } fn match_arm(n: i32) { match n { 1 => { () } # can omit comma here 2 => if true { () } else { () }, # but all other cases do need commas. 3 => loop { }, 4 => while true {}, _ => () } } ``` This seems weird: why would you want to require `,` after and `if`? This PR unifies the rules. It is backwards compatible because it allows strictly more programs.
-
由 bors 提交于
Rollup of 11 pull requests - Successful merges: #42837, #43282, #43287, #43290, #43292, #43294, #43304, #43310, #43312, #43314, #43315 - Failed merges:
-
- 18 7月, 2017 24 次提交
-
-
由 Mark Simulacrum 提交于
float_bits_conv made it into 1.20 It seems that my PR to stabilize the `float_bits_conv` feature got merged before beta branched, which means I'm lucky, and the stabilization makes it into Rust 1.20. As it was against my expectations, the version number has to be corrected from 1.21 to 1.20. Please also apply this PR to the beta branch.
-
由 Mark Simulacrum 提交于
travis: Switch `curl -s` to `curl -f` I seem to have been a little too tired when I fixed up the container scripts, applying the wrong flag!
-
由 Mark Simulacrum 提交于
powerpc: Ignore the stack-probes test One little step further to have the test working fine on power8 :)
-
由 Mark Simulacrum 提交于
Fix erroneous reference to Arc instead of Rc in rc::Weak documentation The docs for `rc::Weak` refer to `Arc` in one place, where they should obviously be referring to `Rc`; presumably this was erroneously copied over from the `arc::Weak` docs.
-
由 Mark Simulacrum 提交于
redox: handle multiple paths in PATH
-
由 Mark Simulacrum 提交于
`std::time::Duration`: improve _precision_ of terminology in docs Changed wording of docs on `std::time::Duration` for better clarity w.r.t. the contents of the type and the purpose of its methods. (Specifically, removed the use of the word "precision" to describe the fractional part of the `Duration` because "precision" is more properly used to describe how _precise_ a value is, i.e. its granularity in this case.)
-
由 Mark Simulacrum 提交于
Workaround "Quasi-quoting is inefficient" warning in incremental rustbuild introduced in #43252. After #43252 is merged, building stage0 libcore with `-i` (`--incremental`) flag will cause 17 "Quasi-quoting might make incremental compilation very inefficient: NtExpr(..)" warnings, as in #40946. ``` warning: Quasi-quoting might make incremental compilation very inefficient: NtExpr(..) --> src/libcore/default.rs:133:21 | 133 | #[doc = $doc] | ^^^^ ... 139 | default_impl! { (), (), "Returns the default value of `()`" } | ------------------------------------------------------------- in this macro invocation (× 17) ``` True fix for #40946 will take at least 12 weeks from now to make into the next stage0, so it is quicker to workaround it in libcore instead. cc @vbrandl @jseyfried
-
由 Mark Simulacrum 提交于
libstd: remove redundant & from &Path::new(...) ```rust fn Path::new<S: AsRef ...>(s: &S) -> &Path ``` * https://doc.rust-lang.org/std/path/struct.Path.html#method.new
-
由 Mark Simulacrum 提交于
Change Travis CI job order. Reorder the job matrix to take advantage of the order how Travis CI starts them in rust-lang/rust. Plus other refactoring of `.travis.yml`. 1. Move the `$ALLOW_PR` image to the top, so pull requests will start testing as immediately after the build is started. Previously the `$ALLOW_PR` image starts 6 minutes after the build was scheduled. 2. Move the slow macOS images near the top, so they share more time with the rest of the faster Linux builds, which should shorten total test time (actually not much, about 7 minutes at most if this change does work). 3. Merged the `install` section of both Linux and macOS to make the `env:` section a bit shorter, and enable change 4 below. 4. Do not download or install anything if `$SKIP_BUILD == true`, which further reduces chance of spurious failure in the PR-CI stage (avoid the red cross appearing even if CI passed). (IMO `$SKIP_BUILD` should not even exist: those irrelevant jobs should not start at all, but that would require travis-ci/travis-ci#2778 which has been rejected)
-
由 Mark Simulacrum 提交于
Update merge queue link in CONTRIBUTING.md
-
由 Mark Simulacrum 提交于
Update docs on Error struct. #29355 This adds a pretty contrived example of the usage of fmt::Error. I am very open to suggestions for a better one. I have also highlighted the fmt::Error vs std::error::Error. r? @steveklabnik
-
由 Alex Crichton 提交于
I seem to have been a little too tired when I fixed up the container scripts, applying the wrong flag!
-
由 Aleksey Kladov 提交于
-
由 bors 提交于
Support generic lifetime arguments in method calls Fixes https://github.com/rust-lang/rust/issues/42403 Fixes https://github.com/rust-lang/rust/issues/42115 Lifetimes in a method call `x.f::<'a, 'b, T, U>()` are treated exactly like lifetimes in the equivalent UFCS call `X::f::<'a, 'b, T, U>`. In addition, if the method has late bound lifetime parameters (explicit or implicit), then explicitly specifying lifetime arguments is not permitted (guarded by a compatibility lint). [breaking-change] because previously lifetimes in method calls were accepted unconditionally. r? @EddyB
-
由 Lynn 提交于
-
由 Luca Barbato 提交于
-
由 kennytm 提交于
Reorder the job matrix to take advantage of the order how Travis CI starts them in rust-lang/rust. Plus other refactoring of `.travis.yml`. 1. Move the `$ALLOW_PR` image to the top, so users' PRs will start testing immediately. Previously the `$ALLOW_PR` image starts 6 minutes after the build was scheduled. 2. Move the slow macOS images near the top, so they share more time with the rest of the faster Linux builds, which should shorten total test time (actually not much, about 7 minutes at most if this change does work). 3. Merged the `install` section of both Linux and macOS to make the `env:` section a bit shorter, and enable change 4 below. 4. Do not download or install anything if `$SKIP_BUILD == true`, which further reduces chance of spurious failure in the PR-CI stage (avoid the red cross appearing even if CI passed).
-
由 bors 提交于
travis: Make a few `curl` invocations more resilient Use the `-f` flag to indicate that, for example, a 500 response code is to be considered a failure, triggering the normal retry logic. Also ignore errors where we check the date from google.com, as a failure there shouldn't fail the build.
-
由 est31 提交于
-
由 Alex Crichton 提交于
Use the `-f` flag to indicate that, for example, a 500 response code is to be considered a failure, triggering the normal retry logic. Also ignore errors where we check the date from google.com, as a failure there shouldn't fail the build.
-
由 Ian Douglas Scott 提交于
-
由 Aleksey Kladov 提交于
-
由 Aleksey Kladov 提交于
-
由 Johannes Löthberg 提交于
Signed-off-by: NJohannes Löthberg <johannes@kyriasis.com>
-