- 27 1月, 2016 8 次提交
-
-
由 bors 提交于
Changes error message from displaying first found missing constructor witness to showing up to 10, if necessary. Fixes issue #16884.
-
由 bors 提交于
This explicitly adds an option telling the linker on these platforms to make the stack and heap non-executable (should already be the case for Windows, and likely OS X). Without this option there is some risk of accidentally losing NX protection, as the linker will not enable NX if any of the binary's constituent objects don't contain the .note.GNU-stack header. We're not aware of any users who would want a binary with executable stack or heap, but in future this could be made possible by passing a flag to disable the protection, which would also help document the fact to the crate's users. Edit: older discussion of previous quickfix to add a .note.GNU-stack header to libunwind's assembly: Short term solution for issue #30824 to ensure that object files generated from assembler contain the .note.GNU-stack header. When this header is not present in any constituent object files, the linker refrains from making the stack NX in the final executable. Further actions: I'll try to get this change merged in with upstream too, and then update these instructions to just compile the fixed version. It seems a good idea to use issue #30824 or some other issue to add a test that similar security regressions can be automatically caught in future.
-
由 bors 提交于
`LateContext` already does this, looks like this was just forgotten in #29850. Found while investigating #30326 (but doesn't fix it)
-
由 bors 提交于
This commit removes the `-D warnings` flag being passed through the makefiles to all crates to instead be a crate attribute. We want these attributes always applied for all our standard builds, and this is more amenable to Cargo-based builds as well. Note that all `deny(warnings)` attributes are gated with a `cfg(stage0)` attribute currently to match the same semantics we have today
-
由 bors 提交于
This commit implements the stabilization of the custom hasher support intended for 1.7 but left out due to some last-minute questions that needed some decisions. A summary of the actions done in this PR are: Stable * `std::hash::BuildHasher` * `BuildHasher::Hasher` * `BuildHasher::build_hasher` * `std::hash::BuildHasherDefault` * `HashMap::with_hasher` * `HashMap::with_capacity_and_hasher` * `HashSet::with_hasher` * `HashSet::with_capacity_and_hasher` * `std::collections::hash_map::RandomState` * `RandomState::new` Deprecated * `std::collections::hash_state` * `std::collections::hash_state::HashState` - this trait was also moved into `std::hash` with a reexport here to ensure that we can have a blanket impl to prevent immediate breakage on nightly. Note that this is unstable in both location. * `HashMap::with_hash_state` - renamed * `HashMap::with_capacity_and_hash_state` - renamed * `HashSet::with_hash_state` - renamed * `HashSet::with_capacity_and_hash_state` - renamed Closes #27713
-
由 Alex Crichton 提交于
The deny(warnings) attribute is now enabled for tests so we need to weed out these warnings as well.
-
由 bors 提交于
This splits the output of panics into two lines as proposed in #15239 and adds a note about how to get a backtrace. Because the default panic message consists of multiple lines now, this changes the test runner's failure output to not indent the first line anymore. Fixes #15239 and fixes #11704.
-
由 Alex Crichton 提交于
This commit implements the stabilization of the custom hasher support intended for 1.7 but left out due to some last-minute questions that needed some decisions. A summary of the actions done in this PR are: Stable * `std::hash::BuildHasher` * `BuildHasher::Hasher` * `BuildHasher::build_hasher` * `std::hash::BuildHasherDefault` * `HashMap::with_hasher` * `HashMap::with_capacity_and_hasher` * `HashSet::with_hasher` * `HashSet::with_capacity_and_hasher` * `std::collections::hash_map::RandomState` * `RandomState::new` Deprecated * `std::collections::hash_state` * `std::collections::hash_state::HashState` - this trait was also moved into `std::hash` with a reexport here to ensure that we can have a blanket impl to prevent immediate breakage on nightly. Note that this is unstable in both location. * `HashMap::with_hash_state` - renamed * `HashMap::with_capacity_and_hash_state` - renamed * `HashSet::with_hash_state` - renamed * `HashSet::with_capacity_and_hash_state` - renamed Closes #27713
-
- 26 1月, 2016 31 次提交
-
-
由 bors 提交于
- Successful merges: #31172, #31177, #31211 - Failed merges:
-
由 Manish Goregaokar 提交于
r? @EddyB or @nrc
-
由 Manish Goregaokar 提交于
On all platforms, reading from stdin where the actual stdin isn't present should return 0 bytes as having been read rather than the entire buffer. On Windows, handle the case where we're inheriting stdio handles but one of them isn't present. Currently the behavior is to fail returning an I/O error but instead this commit corrects it to detecting this situation and propagating the non-set handle. Closes #31167
-
由 Manish Goregaokar 提交于
The previous example did not do what its description said. In it panicked on integer overflow in debug mode, and went into an infinite loop in release mode (wrapping back to 0 after printing 254).
-
由 Simon Sapin 提交于
The previous example did not do what its description said. In it panicked on integer overflow in debug mode, and went into an infinite loop in release mode (wrapping back to 0 after printing 254).
-
由 bors 提交于
This fixes #23880, a scoping bug in which items in a block are shadowed by local variables and type parameters that are in scope. After this PR, an item in a block will shadow any local variables or type parameters above the item in the scope hierarchy. Items in a block will continue to be shadowed by local variables in the same block (even if the item is defined after the local variable). This is a [breaking-change]. For example, the following code breaks: ```rust fn foo() { let mut f = 1; { fn f() {} f += 1; // This will resolve to the function instead of the local variable } }
-
由 Johannes Oertel 提交于
The note will only be shown on the first panic.
-
由 Manish Goregaokar 提交于
-
由 Manish Goregaokar 提交于
-
由 bors 提交于
- Successful merges: #31152, #31184, #31189, #31192, #31197, #31199, #31201 - Failed merges:
-
由 Manish Goregaokar 提交于
Fixes #30633
-
由 Manish Goregaokar 提交于
Fixes #31181
-
由 Manish Goregaokar 提交于
Closes #31195 r? @steveklabnik
-
由 Manish Goregaokar 提交于
-
由 Manish Goregaokar 提交于
r? @steveklabnik
-
由 Manish Goregaokar 提交于
it is pre-RFC1214 junk and completely useless. r? @nikomatsakis
-
由 Manish Goregaokar 提交于
cc #31135 rust-lang/rfcs#1462 #30923 @retep998 r? @pnkfelix
-
由 Jeffrey Seyfried 提交于
This fixes a bug in which items in a block are shadowed by local variables and type parameters that are in scope. It is a [breaking-change]. For example, the following code breaks: ```rust fn foo() { let mut f = 1; { fn f() {} f += 1; // This will now resolve to the function instead of the local variable } } ``` Any breakage can be fixed by renaming the item that is no longer shadowed.
-
由 Steve Klabnik 提交于
Fixes #30633
-
由 Steve Klabnik 提交于
Fixes #31181
-
由 Andrew Paseltiner 提交于
Closes #31195
-
由 Alex Crichton 提交于
On all platforms, reading from stdin where the actual stdin isn't present should return 0 bytes as having been read rather than the entire buffer. On Windows, handle the case where we're inheriting stdio handles but one of them isn't present. Currently the behavior is to fail returning an I/O error but instead this commit corrects it to detecting this situation and propagating the non-set handle. Closes #31167
-
由 bors 提交于
This PR adds some minor error correction to the parser - if there is a missing ident, we recover and carry on. It also makes compilation more robust so that non-fatal errors (which is still most of them, unfortunately) in parsing do not cause us to abort compilation. The effect is that a program with a missing or incorrect ident can get all the way to type checking.
-
由 Corey Farwell 提交于
-
由 bors 提交于
Also altered the format_args! syntax extension, and \#[derive(debug)], to maintain compatability. r? @ nrc
-
由 Oliver Middleton 提交于
It was removed in #30595. Also delete the old learn-rust.md.
-
由 Oliver Middleton 提交于
It was moved in #29538.
-
由 Nick Cameron 提交于
-
由 bors 提交于
Also got rid of some code repetition in `const_eval`
-
由 nxnfufunezn 提交于
-
- 25 1月, 2016 1 次提交
-
-
由 Daan Sprenkels 提交于
error, by moving unexpected let check into the proper if-else clause
-