- 07 1月, 2018 12 次提交
-
-
由 Malo Jaffré 提交于
Upgrade `log` to `0.4` in multiple crates.
-
由 bors 提交于
Auto merge of #47177 - michaelwoerister:erase-invalid-spans-during-metadata-encoding, r=alexcrichton Map invalid Spans to DUMMY_SP during crate metadata encoding. This mirrors what we do for stabilizing the incr. comp. cache and is necessary for reproducible builds. For the incr. comp. cache, we *have* to do this because the encoding there cannot represent broken Spans. Metadata encoding has to be in sync with that as not to get unexpected interactions when compiling incrementally. This should help with fixing issue https://github.com/rust-lang/rust/issues/47066. r? @alexcrichton
-
由 bors 提交于
ci: use a shared script to build musl The dist-x86_64-musl, dist-various-1 and dist-i586-gnu-i686-musl builders had different scripts to build musl. This PR creates an unified script, which makes it easier to add new musl targets and update musl and libunwind (used in the musl targets). The libunwind is update from 3.7 to 3.9 for dist-x86_64-musl and dist-i586-gnu-i686-musl (dist-various-1 already used 3.9 version).
-
由 bors 提交于
Support `extern` in paths Implement the primary alternative to https://github.com/rust-lang/rust/pull/46613 + https://github.com/rust-lang/rust/pull/45771, achieving the same effect without requiring changes to other imports. Both need to be experimentally evaluated before making further progress. The PR also adds docs for all these related features into the unstable book. cc https://github.com/rust-lang/rust/issues/44660 r? @nikomatsakis
-
由 bors 提交于
Rollup of 7 pull requests - Successful merges: #46947, #47170, #47190, #47205, #47217, #47220, #47230 - Failed merges: #47233
-
由 kennytm 提交于
Debuginfo Shadowed Variable test: fix check numbering Appears to be a simple fix to restore this test. Ref issue #47163, CC @arielb1
-
由 kennytm 提交于
Use name-discarding LLVM context This is only applicable when neither of --emit=llvm-ir or --emit=llvm-bc are not requested. In case either of these outputs are wanted, but the benefits of such context are desired as well, -Zfewer_names option provides the same functionality regardless of the outputs requested. Should be a viable fix for https://github.com/rust-lang/rust/issues/46449
-
由 kennytm 提交于
Write examples for {BTree,Hash}Set::{get,replace,take}
-
由 kennytm 提交于
miri: use AllocId instead of u64. This makes @alexreg's miri allocation -> LLVM global translation more straight-forward. r? @oli-obk
-
由 kennytm 提交于
Port libpanic_abort and libpanic_unwind to CloudABI This change ports both the libpanic* libraries to CloudABI. The most interesting part of this pull request, however, is that it imports the CloudABI system call API into the Rust tree through a Git submodule. These will also be used by my port of libstd to CloudABI extensively, as that library obviously needs to invoke system calls to implement its primitives. I have taken the same approach as libc: `src/libcloudabi` + `src/rustc/cloudabi_shim`. If some other naming scheme is preferred, feel free to let me know! As `libcloudabi` is pretty small, maybe it makes sense to copy, instead of using a submodule?
-
由 kennytm 提交于
rustc: use {U,I}size instead of {U,I}s shorthands. `Us`/`Is` come from a time when `us` and `is` were the literal suffixes that are now `usize` / `isize`. r? @nikomatsakis
-
由 kennytm 提交于
doc: improve None condition doc for `checked_div` and `checked_rem` This commit improves the condition mentioned in the docs for which `checked_div` and `checked_rem` return `None`. For signed division, the commit changes "the operation results in overflow" to "the division results in overflow", otherwise there is room for misinterpretation for `checked_rem`: Without considering overflow, `MIN % -1` would be simply zero, allowing the misinterpretation that "the operation" does not result in overflow in this case. This ambiguity is removed using "when the division results in overflow". For unsigned division, the condition for `None` should be simply when `rhs == 0`, as no other overflow is possible.
-
- 06 1月, 2018 14 次提交
-
-
由 bors 提交于
Bump to 1.25.0 * Bump the release version to 1.25 * Bump the bootstrap compiler to the recent beta * Allow using unstable rustdoc features on beta - this fix has been applied to the beta branch but needed to go to the master branch as well.
-
由 bors 提交于
Add 'Span::parent()' and 'Span::source()' to proc_macro API. As the title suggests: a couple of useful methods for `proc_macro`.
-
由 Sam 提交于
-
由 bors 提交于
Issue 46976 ICE is due to an empty path segments, so I set the path to be the same as the in band ty params symbol. (I think this is how regular generics end up being handled?) Pinging @cramertj, this is your code I'm editing here.
-
由 bors 提交于
Restore working debuginfo tests by trimming comments from non-header directive lines I noticed when adding a debuginfo test that nothing I did caused the test to fail. Tracing back this seems to have been caused by 3e6c83de which broke parsing of the command/check lines, leaving all tests passing without any checking. This commit provides a basic (although still not very robust) restoration of tests and a should-fail test which checks the parser is running
-
由 bors 提交于
Rollup of 5 pull requests - Successful merges: #46987, #47165, #47173, #47202, #47216 - Failed merges:
-
由 Guillaume Gomez 提交于
Clarify appending behavior of 'io::Read::read_to_string()'. A simple doc clarification.
-
由 Guillaume Gomez 提交于
Fix search bar defocus Fixes #47134. r? @QuietMisdreavus
-
由 Guillaume Gomez 提交于
Remove some outdated LLVM-related code Ticks two boxes on #46437
-
由 Guillaume Gomez 提交于
[unix] Don't clone command-line args on startup Fixes part of #47164 and simplifies the `args` code on non-Apple Unix platforms. Note: This could change behavior for programs that use both `std::env::args` *and* unsafe code that mutates `argv` directly. However, these programs already behave differently on different platforms. The new behavior on non-Apple platforms is closer to the existing behavior on Apple platforms.
-
由 Guillaume Gomez 提交于
Minor rewrite of env::current_exe docs; clarify symlinks. - Update example in ‘security’ section to use hard links, like the linked securityvulns.com example. - Weaken language on symbolic links – indicate behavior is platform-specific Fixes https://github.com/rust-lang/rust/issues/43617.
-
由 Ed Schouten 提交于
Ideally, we should make use of CloudABI's internal proc_raise(SIGABRT) system call. POSIX abort() requires things like flushing of stdios, which may not be what we want under panic conditions. Invoking the raw CloudABI system call would have prevented that. Unfortunately, we have to make use of the "cloudabi" crate to invoke raw CloudABI system calls. This is undesired, as discussed in the pull request (#47190).
-
由 Alex Crichton 提交于
This showed up on the Windows bot for testing this PR, and this pr allows `mark_incr_comp_session_as_invalid` ok if it's already invalid, hopefully avoiding scary ICEs and instead leaving the nicely printed errors
-
由 Simonas Kazlauskas 提交于
This is only applicable when neither of --emit=llvm-ir or --emit=llvm-bc are not requested. In case either of these outputs are wanted, but the benefits of such context are desired as well, -Zfewer_names option provides the same functionality regardless of the outputs requested.
-
- 05 1月, 2018 14 次提交
-
-
由 bors 提交于
Implement TrustedRandomAccess for slice::{Chunks, ChunksMut, Windows} As suggested by @bluss in https://github.com/rust-lang/rust/issues/47115#issuecomment-354888334
-
由 Stjepan Glavina 提交于
-
由 Sergio Benitez 提交于
-
由 Sam 提交于
-
由 bors 提交于
Rollup of 10 pull requests - Successful merges: #47030, #47033, #47110, #47149, #47150, #47160, #47162, #47182, #47198, #47199 - Failed merges:
-
由 kennytm 提交于
rustbuild: Don't allow stable bootstrap from dev I forgot to update the bootstrap compiler for the 1.23.0 release so let's make sure it doesn't happen again!
-
由 kennytm 提交于
Fix an error in std::process documentation
-
由 kennytm 提交于
Equivalent example for ? operator The example with the ? operator in the documentation for try! macro was missing file.write_all. Now all three examples are consistent.
-
由 kennytm 提交于
Remove `T: Ord` bound from `BTreeSet::{is_empty, len}` This change makes the API for `BTreeSet` more consistent with `BTreeMap`, where `BTreeMap::{is_empty, len}` don't require `T: Ord` either. Also, it reduces the number of `impl`s for `BTreeSet`, making the generated documentation look much cleaner. Closes #47138. cc @rust-lang/libs
-
由 kennytm 提交于
This isn't in Rust 1.23 r? @alexcrichton
-
由 kennytm 提交于
Return None from Span::join if in different files Fixes #47148. r? @abonander
-
由 kennytm 提交于
Span::resolved_at and Span::located_at to combine behavior of two spans Proc macro spans serve two mostly unrelated purposes: controlling name resolution and controlling error messages. It can be useful to mix the name resolution behavior of one span with the line/column error message locations of a different span. In particular, consider the case of a trait brought into scope within the def_site of a custom derive. I want to invoke trait methods on the fields of the user's struct. If the field type does not implement the right trait, I want the error message to underline the corresponding struct field. Generating the method call with the def_site span is not ideal -- it compiles and runs but error messages sadly always point to the derive attribute like we saw with Macros 1.1. ``` | 4 | #[derive(HeapSize)] | ^^^^^^^^ ``` Generating the method call with the same span as the struct field's ident or type is not correct -- it shows the right underlines but fails to resolve to the trait in scope at the def_site. ``` | 7 | bad: std::thread::Thread, | ^^^^^^^^^^^^^^^^^^^^^^^^ ``` The correct span for the method call is one that combines the def_site's name resolution with the struct field's line/column. ```rust field.span.resolved_at(Span::def_site()) // equivalently Span::def_site().located_at(field.span) ``` Adding both because which one is more natural will depend on context. Addresses https://github.com/rust-lang/rust/issues/38356#issuecomment-354947143. r? @jseyfried
-
由 kennytm 提交于
Use the right TLS model for CloudABI. CloudABI doesn't do dynamic linking. For this reason, there is no need to handle any other TLS model than local-exec. CloudABI's C library doesn't provide a __tls_get_addr() function to do Dynamic TLS. By forcing local-exec to be used here, we ensure that we don't generate function calls to __tls_get_addr().
-
由 kennytm 提交于
Disable printing of error message on file descriptor 2 on CloudABI. As CloudABI is a capability-based runtime environment, file descriptors are the mechanism that grants rights to a process. These file descriptors may be passed into processes on startup using a utility called cloudabi-run. Unlike the POSIX shell, cloudabi-run does not follow the UNIX model where file descriptors 0, 1 and 2 represent stdin, stdout and stderr. There can be arbitrary many (or few) file descriptors that can be provided. For this reason, CloudABI's C library also doesn't define STD*_FILENO. liblibc should also not declare these. Disable the code in liballoc_system that tries to print error messages over file descriptor 2. For now, let's keep this function quiet. We'll see if we can think of some other way to log this in the future.
-