- 12 7月, 2016 3 次提交
-
-
由 Jeffrey Seyfried 提交于
-
由 Jeffrey Seyfried 提交于
-
由 Jeffrey Seyfried 提交于
-
- 11 7月, 2016 3 次提交
-
-
由 bors 提交于
Improve slice docs Fixes #29337. r? @steveklabnik
-
由 bors 提交于
Demangle curly braces They show up in things like fn(&std..panic..PanicInfo<'_>) $u7b$hook$u7d$::fn_pointer_shim.8352::h01f889b2277c719d r? @alexcrichton
-
由 Steven Fackler 提交于
They show up in things like fn(&std..panic..PanicInfo<'_>) $u7b$hook$u7d$::fn_pointer_shim.8352::h01f889b2277c719d
-
- 10 7月, 2016 9 次提交
-
-
由 bors 提交于
don't const eval constants during MIR creation this didn't work very well anyway, because const_eval can't eval all kinds of constants.
-
由 bors 提交于
Check for data in Receiver::try_recv before reporting disconnect Fixes #34711 r? @alexcrichton
-
由 bors 提交于
make docs for clone_from_slice consistent with copy_from_slice What 'this slice' refers to is not intuitive, given this method can appear in other places, e.g. in docs for Vec.
-
由 Alexander Merritt 提交于
What 'this slice' refers to is not intuitive (we're in the docs for Vec).
-
由 bors 提交于
Remove useless doc comment for slice r? @steveklabnik This doc comment isn't useful so I removed it. It also "fixes" the weird rustdoc output. Before: ![screenshot from 2016-07-08 02-04-59](https://cloud.githubusercontent.com/assets/3050060/16688164/fbb321d6-451c-11e6-8d98-53346bc6eb1e.png) After: ![screenshot from 2016-07-08 02-05-31](https://cloud.githubusercontent.com/assets/3050060/16688166/00b174e4-451d-11e6-83dd-93ab2509f647.png)
-
由 bors 提交于
Some more pattern cleanup and bugfixing The next part of https://github.com/rust-lang/rust/pull/34095 The most significant fixed mistake is definitions for partially resolved associated types not being updated after full resolution. ``` fn f<T: Fn()>(arg: T::Output) { .... } // <- the definition of T::Output was not updated in def_map ``` For this reason unstable associated types of stable traits, like `FnOnce::Output`, could be used in stable code when written in unqualified form. Now they are properly checked, this is a **[breaking-change]** (pretty minor one, but a crater run would be nice). The fix is not to use unstable library features in stable code, alternatively `FnOnce::Output` can be stabilized. Besides that, paths in struct patterns and expressions `S::A { .. }` are now fully resolved as associated types. Such types cannot be identified as structs at the moment, i.e. the change doesn't make previously invalid code valid, but it improves error diagnostics. Other changes: `Def::Err` is supported better (less chances for ICEs for erroneous code), some incorrect error messages are corrected, some duplicated error messages are not reported, ADT definitions are now available through constructor IDs, everything else is cleanup and code audit. Fixes https://github.com/rust-lang/rust/issues/34209 Closes https://github.com/rust-lang/rust/issues/22933 (adds tests) r? @EddyB
-
由 bors 提交于
Remove unnecessarily mutable reference in doc example. None
-
由 bors 提交于
trans: Make sure that closures only get translated once. Fixes #34569.
-
由 Michael Woerister 提交于
-
- 09 7月, 2016 8 次提交
-
-
由 bors 提交于
Improve primitive integers documentation Fixes #29335. r? @steveklabnik
-
由 Guillaume Gomez 提交于
-
由 bors 提交于
doc: Correct char::escape_unicode documentation. A quick fix for documentation.
-
由 bors 提交于
Update jemalloc to include a fix for startup issues on OSX 10.12 This fixes jemalloc/jemalloc#140 in the version used by the rust compiler. Fixes #34674
-
由 Andrew 提交于
-
由 bors 提交于
Use hints with getaddrinfo() in std::net::lookup_host() As noted in #24250, `std::net::lookup_host()` repeats each IPv[46] address in the result set. The number of repetitions is OS-dependent; e.g., Linux and FreeBSD give three copies, OpenBSD gives two. Filtering the duplicates can be done by the user if `lookup_host()` is used explicitly, but not with functions like `TcpStream::connect()`. What happens with the latter is that any unsuccessful connection attempt will be repeated as many times as there are duplicates of the address. The program: ```rust use std::net::TcpStream; fn main() { let _stream = TcpStream::connect("localhost:4444").unwrap(); } ``` results in the following capture: [capture-before.txt](https://github.com/rust-lang/rust/files/352004/capture-before.txt) assuming that "localhost" resolves both to ::1 and 127.0.0.1, and that the listening program opens just an IPv4 socket (e.g., `nc -l 127.0.0.1 4444`.) The reason for this behavior is explained in [this comment](https://github.com/rust-lang/rust/issues/24250#issuecomment-92240152): `getaddrinfo()` is not constrained. Various OSS projects (I checked out Postfix, OpenLDAP, Apache HTTPD and BIND) which use `getaddrinfo()` generally constrain the result set by using a non-NULL `hints` parameter and setting at least `ai_socktype` to `SOCK_STREAM`. `SOCK_DGRAM` would also work. Other parameters are unnecessary for pure name resolution. The patch in this PR initializes a `hints` struct and passes it to `getaddrinfo()`, which eliminates the duplicates. The same test program as above with this change produces: [capture-after.txt](https://github.com/rust-lang/rust/files/352042/capture-after.txt) All `libstd` tests pass with this patch.
-
由 bors 提交于
Clarify rustbuild + msvc + vcvars in README The invocation of vcvars is only needed for versions of Visual Studio that rustbuild or cmake doesn't understand, but if older versions are installed then there's no need to call vcvars. Closes #34576
-
由 Guillaume Gomez 提交于
-
- 08 7月, 2016 17 次提交
-
-
由 bors 提交于
Drive trans from the output of the translation item collector This PR changes the way how translation works above the item level. Instead of walking the HIR and calling `trans_item()` on everything encountered (while instantiating monomorphizations on-demand), we now just process the list of translation items generated by the `trans::collector`. Using the collector has the benefit of being able to know the exact set of monomorphizations and symbols before actually running translation, something that is crucial for incremental compilation (but also has [other benefits](https://github.com/rust-lang/rust/pull/33602)). The collector has existed for quite a while now, but so far it's output was only used for running some auto-tests. With this PR it becomes the only source of truth about what gets translated. One modification we had to make, compared to the initial approach, is that closures are not represented as their own `TransItems`. Doing so, while still supporting non-MIR-based translation, would have been prohibitively complex, and not worth the trouble since legacy-trans will disappear sooner or later. Once there is solely MIR-trans, it would be a good idea to make closures `TransItems` again. This PR removes the most obvious functions and tables that are not needed anymore, but there's definitely still more cleanup possible later on (e.g. `monomorphize::monomorphic_fn()` does very little at this point). Since there are already more than 10 commits in here, doing this in a separate PR seems to be a better idea. These changes definitely warrant a crater run. Thanks @Aatch, for taking on one of the more tedious tasks during the dev-sprint! Thanks @EddyB, for doing some nice refactorings to symbol name generation and making sure these landed so I could use them! cc @rust-lang/compiler cc @rust-lang/tools
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
The data tracked here was meant to compare the output of the translation item collector to the set of translation items found by the on-demand translator.
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
See issue #34151 for more information.
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-