- 19 1月, 2016 5 次提交
-
-
由 Manish Goregaokar 提交于
I'm using clang 7.2 which works just fine to compile Rust with, but was disallowed.
-
由 Manish Goregaokar 提交于
Fix spacing style of `T: Bound` in docs The space between `T` and `Bound` is the typical style used in code and produced by rustdoc's rendering. Fixed first in Reflect's docs and then I fixed all occurrences in docs I could find.
-
由 Manish Goregaokar 提交于
Sorry for nitpicking, but I think the example of the expanded macro should be wrapped inside a pair of curly braces to match the macro definition. Also the current example triggers a variable redefinition error.
-
由 Manish Goregaokar 提交于
Original: #30968 (My first PR was targeting the wrong branch)
-
由 bors 提交于
Restore indexed formulation of clone_from_slice For good codegen here, we need a lock step iteration where the loop bound is only checked once per iteration; .zip() unfortunately does not optimize this way. If we use a counted loop, and make sure that llvm sees that the bounds check condition is the same as the loop bound condition, the bounds checks are optimized out. For this reason we need to slice `from` (apparently) redundantly. This commit restores the old formulation of clone_from_slice. In this shape, clone_from_slice will again optimize into calling memcpy where possible (for example for &[u8] or &[i32]).
-
- 18 1月, 2016 16 次提交
-
-
由 Martin 提交于
-
由 Ulrik Sverdrup 提交于
For good codegen here, we need a lock step iteration where the loop bound is only checked once per iteration; .zip() unfortunately does not optimize this way. If we use a counted loop, and make sure that llvm sees that the bounds check condition is the same as the loop bound condition, the bounds checks are optimized out. For this reason we need to slice `from` (apparently) redundantly. This commit restores the old formulation of clone_from_slice. In this shape, clone_from_slice will again optimize into calling memcpy where possible (for example for &[u8] or &[i32]).
-
由 bors 提交于
Encountered while I was trying to work on #28518. Please let me know whether this is a correct move.
-
由 bors 提交于
it makes no sense here, accidentally introduced in #30931 r? @dotdash
-
由 Oliver Schneider 提交于
it makes no sense here, accidentally introduced in #30931
-
由 bors 提交于
-
由 kalita.alexey 提交于
-
由 Martin 提交于
I'm using clang 7.2 which works just fine to compile Rust with, but was disallowed.
-
由 bors 提交于
This takes the approach of making `NodeRef` universally covariant. Fixes #30979.
-
由 bors 提交于
I don’t understand what the "flow information" of an IPv6 address is, but it looks separate from the scope ID. This was probably a copy/paste error.
-
由 bors 提交于
r? @Manishearth
-
由 Ulrik Sverdrup 提交于
The space between `T` and `Bound` is the typical style used in code and produced by rustdoc's rendering. Fixed first in Reflect's docs and then I fixed all occurrences in docs I could find.
-
由 Stephen (Ziyun) Li 提交于
-
由 Jonathan S 提交于
Expand the macro in variance-btree-invariant-types.rs to make compiletest recognize that it should error
-
由 bors 提交于
r? @aturon
-
由 Jonathan S 提交于
-
- 17 1月, 2016 19 次提交
-
-
由 Keith Yeung 提交于
-
由 Guillaume Gomez 提交于
-
由 bors 提交于
- Successful merges: #30938, #30940, #30943, #30949, #30952, #30957, #30959 - Failed merges:
-
由 Niko Matsakis 提交于
-
由 Manish Goregaokar 提交于
test: Increase resolution of MB/s stat for bench runs close to 1 second MB/s was based on the number of iterations performed in a second, when the iteration duration nears 1 second (1e9 ns), the resolution of the MB/s stat decreases.
-
由 Manish Goregaokar 提交于
r? @Manishearth
-
由 Manish Goregaokar 提交于
* Moved semicolon to the right place in the `let` statement in the ZST section. * Fixed the missing ZST additions for `RawValIter<T>` from this section in the final code section.
-
由 Manish Goregaokar 提交于
▲ ▲ ▲
-
由 Manish Goregaokar 提交于
This commit stabilizes and deprecates the FCP (final comment period) APIs for the upcoming 1.7 beta release. The specific APIs which changed were: Stabilized * `Path::strip_prefix` (renamed from `relative_from`) * `path::StripPrefixError` (new error type returned from `strip_prefix`) * `Ipv4Addr::is_loopback` * `Ipv4Addr::is_private` * `Ipv4Addr::is_link_local` * `Ipv4Addr::is_multicast` * `Ipv4Addr::is_broadcast` * `Ipv4Addr::is_documentation` * `Ipv6Addr::is_unspecified` * `Ipv6Addr::is_loopback` * `Ipv6Addr::is_unique_local` * `Ipv6Addr::is_multicast` * `Vec::as_slice` * `Vec::as_mut_slice` * `String::as_str` * `String::as_mut_str` * `<[T]>::clone_from_slice` - the `usize` return value is removed * `<[T]>::sort_by_key` * `i32::checked_rem` (and other signed types) * `i32::checked_neg` (and other signed types) * `i32::checked_shl` (and other signed types) * `i32::checked_shr` (and other signed types) * `i32::saturating_mul` (and other signed types) * `i32::overflowing_add` (and other signed types) * `i32::overflowing_sub` (and other signed types) * `i32::overflowing_mul` (and other signed types) * `i32::overflowing_div` (and other signed types) * `i32::overflowing_rem` (and other signed types) * `i32::overflowing_neg` (and other signed types) * `i32::overflowing_shl` (and other signed types) * `i32::overflowing_shr` (and other signed types) * `u32::checked_rem` (and other unsigned types) * `u32::checked_shl` (and other unsigned types) * `u32::saturating_mul` (and other unsigned types) * `u32::overflowing_add` (and other unsigned types) * `u32::overflowing_sub` (and other unsigned types) * `u32::overflowing_mul` (and other unsigned types) * `u32::overflowing_div` (and other unsigned types) * `u32::overflowing_rem` (and other unsigned types) * `u32::overflowing_neg` (and other unsigned types) * `u32::overflowing_shl` (and other unsigned types) * `u32::overflowing_shr` (and other unsigned types) * `ffi::IntoStringError` * `CString::into_string` * `CString::into_bytes` * `CString::into_bytes_with_nul` * `From<CString> for Vec<u8>` * `From<CString> for Vec<u8>` * `IntoStringError::into_cstring` * `IntoStringError::utf8_error` * `Error for IntoStringError` Deprecated * `Path::relative_from` - renamed to `strip_prefix` * `Path::prefix` - use `components().next()` instead * `os::unix::fs` constants - moved to the `libc` crate * `fmt::{radix, Radix, RadixFmt}` - not used enough to stabilize * `IntoCow` - conflicts with `Into` and may come back later * `i32::{BITS, BYTES}` (and other integers) - not pulling their weight * `DebugTuple::formatter` - will be removed * `sync::Semaphore` - not used enough and confused with system semaphores Closes #23284 cc #27709 (still lots more methods though) Closes #27712 Closes #27722 Closes #27728 Closes #27735 Closes #27729 Closes #27755 Closes #27782 Closes #27798
-
由 Manish Goregaokar 提交于
-
由 Manish Goregaokar 提交于
The only way to get a value for a zero-sized type is `undef`, so there's really no point in actually having a return type other than void for such types. Also, while the comment in return_type_is_void mentioned something about aiding C ABI support, @EddyB correctly pointed out on IRC that there is no such thing as a zero-sized type in C. And even with clang, which allows empty structs, those get translated as void return types as well. Fixes #28766
-
由 bors 提交于
This is groundwork for #30587 (typestrong constant integrals), but imo it's a change that in itself is good, too, since we don't just juggle `u64`s around anymore. `ty::Disr` will be changed to a `ConstInt` in #30587
-
由 Simon Sapin 提交于
I don’t understand what the "flow information" of an IPv6 address is, but it looks separate from the scope ID. This was probably a copy/paste error.
-
由 bors 提交于
This is a bit weird since unsized types can't be used in trait objects, but Any is *also* used as pure marker trait since Reflect isn't stable. There are many cases (e.g. TypeMap) where all you need is a TypeId. r? @aturon
-
由 bors 提交于
Despite being over 700 lines shorter, this implementation should use less memory than the previous one and is faster on at least insertions and iteration, the latter improving approximately 5x. Technically a [breaking-change] due to removal of deprecated functions. cc @apasel422 @Gankro @goyox86 Fixes #27865. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/rust-lang/rust/30426) <!-- Reviewable:end -->
-
由 Jonathan S 提交于
-
由 Jonathan S 提交于
-
由 Jørn Lode 提交于
-
由 bors 提交于
Add support to use functions exported using vectorcall. This essentially only allows to pass a new LLVM calling convention from rust to LLVM. ```rust extern "vectorcall" fn abc(param: c_void); ``` references ---- http://llvm.org/docs/doxygen/html/CallingConv_8h_source.html https://msdn.microsoft.com/en-us/library/dn375768.aspx
-