summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2016-07-03Don't translate vtable methods with Self: Sized bounds.Eduard Burtescu-1/+34
2016-07-03Revert "skip double negation in const eval"Alex Crichton-45/+39
This reverts commit 735c018974e5570ea13fd887aa70a011a5b8e7b8.
2016-07-03fail obligations that depend on erroring obligationsAriel Ben-Yehuda-8/+87
Fix a bug where an obligation that depend on an erroring obligation would be regarded as successful, leading to global cache pollution and random lossage. Fixes #33723. Fixes #34503.
2016-07-02fix test falloutAriel Ben-Yehuda-9/+9
2016-07-02add a encoding version to the actual metadataAriel Ben-Yehuda-18/+59
previously, only .so files included a metadata encoding version, *outside* of the zlib compressed area. This adds an encoding version inside the metadata itself, in both .so and .rlib files. Fixes #33778.
2016-07-02make the metadata lock more robust and bump the metadata encoding versionAriel Ben-Yehuda-31/+38
check the metadata lock when loading rather than afterwards Fixes #33733 Fixes #33015
2016-06-27trans: always use a memcpy for ABI argument/return casts.Eduard Burtescu-128/+123
2016-05-31std: Use memalign, not posix_memalign, on AndroidAlex Crichton-7/+34
We've gotten requests to move our Android support as far back as API level 9 where unfortunately the `posix_memalign` API wasn't implemented yet. Thankfully, however, the `memalign` API was and it appears to be usable with `free` on the Android platform (see comments included in commit). This should help fix some of the last few test failures when compiling against API level 9.
2016-05-31test: Use `set sysroot` for more NDK compatibilityAlex Crichton-5/+6
Recent versions of the Android NDK no longer ship debuggers like `arm-linux-androideabi-gdb`, but instead one prebuilt binary `gdb`. We can symlink this into place at least to get our detection still working, but it now needs to be told what the sysroot is so it can correctly do... something. Long story short, tests didn't pass with this change and after this change they pass.
2016-05-26Fix stores codegen passSimonas Kazlauskas-4/+4
2016-05-26Do not forget to schedule the drop for the argumentSimonas Kazlauskas-2/+3
2016-05-26Fix nit/Refine the datum constructionSimonas Kazlauskas-3/+1
2016-05-26Fix the fix/hack interaction with debuginfoSimonas Kazlauskas-10/+13
2016-05-26Add a regression testSimonas Kazlauskas-0/+29
2016-05-26Fix handling of C argumentsSimonas Kazlauskas-20/+34
Fixes #33868
2016-05-26std: Stabilize APIs for the 1.10 releaseAlex Crichton-494/+567
This commit applies the FCP decisions made by the libs team for the 1.10 cycle, including both new stabilizations and deprecations. Specifically, the list of APIs is: Stabilized: * `os::windows::fs::OpenOptionsExt::access_mode` * `os::windows::fs::OpenOptionsExt::share_mode` * `os::windows::fs::OpenOptionsExt::custom_flags` * `os::windows::fs::OpenOptionsExt::attributes` * `os::windows::fs::OpenOptionsExt::security_qos_flags` * `os::unix::fs::OpenOptionsExt::custom_flags` * `sync::Weak::new` * `Default for sync::Weak` * `panic::set_hook` * `panic::take_hook` * `panic::PanicInfo` * `panic::PanicInfo::payload` * `panic::PanicInfo::location` * `panic::Location` * `panic::Location::file` * `panic::Location::line` * `ffi::CStr::from_bytes_with_nul` * `ffi::CStr::from_bytes_with_nul_unchecked` * `ffi::FromBytesWithNulError` * `fs::Metadata::modified` * `fs::Metadata::accessed` * `fs::Metadata::created` * `sync::atomic::Atomic{Usize,Isize,Bool,Ptr}::compare_exchange` * `sync::atomic::Atomic{Usize,Isize,Bool,Ptr}::compare_exchange_weak` * `collections::{btree,hash}_map::{Occupied,Vacant,}Entry::key` * `os::unix::net::{UnixStream, UnixListener, UnixDatagram, SocketAddr}` * `SocketAddr::is_unnamed` * `SocketAddr::as_pathname` * `UnixStream::connect` * `UnixStream::pair` * `UnixStream::try_clone` * `UnixStream::local_addr` * `UnixStream::peer_addr` * `UnixStream::set_read_timeout` * `UnixStream::set_write_timeout` * `UnixStream::read_timeout` * `UnixStream::write_Timeout` * `UnixStream::set_nonblocking` * `UnixStream::take_error` * `UnixStream::shutdown` * Read/Write/RawFd impls for `UnixStream` * `UnixListener::bind` * `UnixListener::accept` * `UnixListener::try_clone` * `UnixListener::local_addr` * `UnixListener::set_nonblocking` * `UnixListener::take_error` * `UnixListener::incoming` * RawFd impls for `UnixListener` * `UnixDatagram::bind` * `UnixDatagram::unbound` * `UnixDatagram::pair` * `UnixDatagram::connect` * `UnixDatagram::try_clone` * `UnixDatagram::local_addr` * `UnixDatagram::peer_addr` * `UnixDatagram::recv_from` * `UnixDatagram::recv` * `UnixDatagram::send_to` * `UnixDatagram::send` * `UnixDatagram::set_read_timeout` * `UnixDatagram::set_write_timeout` * `UnixDatagram::read_timeout` * `UnixDatagram::write_timeout` * `UnixDatagram::set_nonblocking` * `UnixDatagram::take_error` * `UnixDatagram::shutdown` * RawFd impls for `UnixDatagram` * `{BTree,Hash}Map::values_mut` * `<[_]>::binary_search_by_key` Deprecated: * `StaticCondvar` - this, and all other static synchronization primitives below, are usable today through the lazy-static crate on stable Rust today. Additionally, we'd like the non-static versions to be directly usable in a static context one day, so they're unlikely to be the final forms of the APIs in any case. * `CONDVAR_INIT` * `StaticMutex` * `MUTEX_INIT` * `StaticRwLock` * `RWLOCK_INIT` * `iter::Peekable::is_empty` Closes #27717 Closes #27720 cc #27784 (but encode methods still exist) Closes #30014 Closes #30425 Closes #30449 Closes #31190 Closes #31399 Closes #31767 Closes #32111 Closes #32281 Closes #32312 Closes #32551 Closes #33018
2016-05-23mk: Bootstrap from the 1.9.0 stable releaseAlex Crichton-2/+2
2016-05-23Auto merge of #33098 - raphlinus:master, r=alexcrichtonbors-1134/+1383
Efficient trie lookup for boolean Unicode properties Replace binary search of ranges with trie lookup using leaves of 64-bit bitmap chunks. Benchmarks suggest this is approximately 10x faster than the bsearch approach.
2016-05-22Auto merge of #31457 - lambda:rtabort-use-libc-abort, r=alexcrichtonbors-4/+25
Use libc::abort, not intrinsics::abort, in rtabort! intrinsics::abort compiles down to an illegal instruction, which on Unix-like platforms causes the process to be killed with SIGILL. A more appropriate way to kill the process would be SIGABRT; this indicates better that the runtime has explicitly aborted, rather than some kind of compiler bug or architecture mismatch that SIGILL might indicate. For rtassert!, replace this with libc::abort. libc::abort raises SIGABRT, but is defined to do so in such a way that it will terminate the process even if SIGABRT is currently masked or caught by a signal handler that returns. On non-Unix platforms, retain the existing behavior. On Windows we prefer to avoid depending on the C runtime, and we need a fallback for any other platforms that may be defined. An alternative on Windows would be to call TerminateProcess, but this seems less essential than switching to using SIGABRT on Unix-like platforms, where it is common for the process-killing signal to be printed out or logged. This is a [breaking-change] for any code that depends on the exact signal raised to abort a process via rtabort! cc #31273 cc #31333
2016-05-23Use libc::abort, not intrinsics::abort, in rtabort!Brian Campbell-4/+25
intrinsics::abort compiles down to an illegal instruction, which on Unix-like platforms causes the process to be killed with SIGILL. A more appropriate way to kill the process would be SIGABRT; this indicates better that the runtime has explicitly aborted, rather than some kind of compiler bug or architecture mismatch that SIGILL might indicate. For rtassert!, replace this with libc::abort. libc::abort raises SIGABRT, but is defined to do so in such a way that it will terminate the process even if SIGABRT is currently masked or caught by a signal handler that returns. On non-Unix platforms, retain the existing behavior. On Windows we prefer to avoid depending on the C runtime, and we need a fallback for any other platforms that may be defined. An alternative on Windows would be to call TerminateProcess, but this seems less essential than switching to using SIGABRT on Unix-like platforms, where it is common for the process-killing signal to be printed out or logged. This is a [breaking-change] for any code that depends on the exact signal raised to abort a process via rtabort! cc #31273 cc #31333
2016-05-21Auto merge of #33765 - alex-ozdemir:master, r=Manishearthbors-3/+11
Added a `rustdoc` shortcut for collapse/expand all Now when the user presses the "+" key all sections will collapse/expand. Also added a note to the help screen which describes this behavior. This required increasing the height of the help screen.
2016-05-21Auto merge of #33752 - mrhota:internal_docs, r=steveklabnikbors-29/+54
Internal docs This PR is a rebase of #30621. That PR can be closed. CC @ticki @Aatch @cyplo
2016-05-21Auto merge of #33767 - sfackler:panic-hook-docs, r=alexcrichtonbors-5/+6
Mention that the panic hook will always run r? @alexcrichton cc @tomaka
2016-05-21Improve internal documentation and code styleTicki-29/+54
Fix some code layout, remove some unnecessary returns, fix typos, punctuation, and comment consistency.
2016-05-21Auto merge of #33768 - Manishearth:rollup, r=Manishearthbors-39/+81
Rollup of 7 pull requests - Successful merges: #33578, #33679, #33743, #33746, #33747, #33750, #33757 - Failed merges:
2016-05-21Rollup merge of #33757 - GuillaumeGomez:simd, r=steveklabnikManish Goregaokar-4/+4
Update simd syntax r? @steveklabnik
2016-05-21Rollup merge of #33750 - alx741:fix_typo, r=ManishearthManish Goregaokar-1/+1
book: ownership: fix typo The sentence ends there, so a comma is required. See: http://english.stackexchange.com/questions/1469/when-ending-a-list-with-etc-should-there-be-a-comma-before-etc
2016-05-21Rollup merge of #33747 - postmodern:patch-2, r=ManishearthManish Goregaokar-4/+5
Clarify the English translation of `?Sized` * It wasn't clear whether `?Sized` meant "not `Sized`" or "`Sized` or not `Sized`". According to #rust IRC, it does indeed mean "`Sized` or not `Sized`". * Use the same language as [Trait std::marker::Sized](https://doc.rust-lang.org/std/marker/trait.Sized.html) about how `Sized` is implicitly bound. * Refer to the syntax as `?Sized`, since it's currently the only allowed trait that can follow `?`.
2016-05-21Rollup merge of #33746 - dns2utf8:doc_sort_memory, r=steveklabnikManish Goregaokar-7/+4
Clarify docs for sort(&mut self) I documented the memory usage like noted in this issue: * Document memory usage of sort() family of functions #33419
2016-05-21Rollup merge of #33743 - royalstream:royalstream-stack-doc, r=steveklabnikManish Goregaokar-2/+2
Book: small improvement to a table to make it clearer This table is used as an example of four heap values where two of them got deallocated leaving a gap. It also has stack variables. Instead of four stack variables I propose three, that way there's no misleading connection between the number of stack variables and heap variables. But more importantly: three of the four stack variables had the same name (**y**) which could be confusing to a beginner, I changed this as well.
2016-05-21Rollup merge of #33679 - Manishearth:rustdoc-readmore-impls, r=alexcrichtonManish Goregaokar-18/+62
rustdoc: Add doc snippets for trait impls, with a read more link The read more link only appears if the documentation is more than one line long. ![screenshot from 2016-05-17 06 54 14](https://cloud.githubusercontent.com/assets/1617736/15308544/4c2ba0ce-1bfc-11e6-9add-29de8dc7ac6e.png) It currently does not appear on non-defaulted methods, since you can document them directly. I could make it so that default documentation gets forwarded if regular docs don't exist. Fixes #33672 r? @alexcrichton cc @steveklabnik
2016-05-21Rollup merge of #33578 - durka:patch-21, r=alexcrichtonManish Goregaokar-3/+3
update tracking issue for once_poison The tracking issue for once_poison was noted as #31688 which was closed, so it now points to the new #33577.
2016-05-20Auto merge of #33625 - alexcrichton:rustbuild-moar-tests, r=aturonbors-67/+225
rustbuild: Touch up some test suites This adds in some missing test suites, primarily a few pretty suites. It also starts optimizing tests by default as the current test suite does, but also recognizes `--disable-optimize-tests`. Currently the optimization of tests isn't recognized by crate tests because Cargo doesn't support the ability to compile an unoptimized test suite against an optimized library. Perhaps a feature to add, though!
2016-05-20Added a `rustdoc` shortcut for collapse/expand allAlex Ozdemir-3/+11
Now when the user presses the "+" key all sections will collapse/expand. Also added a note to the help screen which describes this behavior.
2016-05-20Wording changesPostmodern-3/+3
* Use "special bound syntax" instead of "special syntax". `?Sized` is technically a "bound", but `?Sized` is specialized syntax that _only_ works with `Sized`, and no other Trait. * Replace "constant size" with "sized".
2016-05-20update tracking issue for once_poisonAlex Burka-3/+3
The tracking issue for once_poison was noted as #31688 which was closed, so it now points to the new #33577.
2016-05-20Auto merge of #33758 - GuillaumeGomez:rollup, r=Manishearthbors-25/+415
Rollup of 6 pull requests - Successful merges: #33668, #33676, #33683, #33734, #33739, #33745 - Failed merges: #33578
2016-05-20rustc: Fix again order-dependence in extern crateAlex Crichton-49/+143
Originally fixed in #29961 the bug was unfortunately still present in the face of crates using `#[macro_use]`. This commit refactors for the two code paths to share common logic to ensure that they both pick up the same bug fix. Closes #33762
2016-05-20Auto merge of #33318 - alexcrichton:hashmap-seed, r=aturonbors-2/+27
std: Cache HashMap keys in TLS This is a rebase and extension of #31356 where we not only cache the keys in thread local storage but we also bump each key every time a new `HashMap` is created. This should give us a nice speed bost in creating hash maps along with retaining the property that all maps have a nondeterministic iteration order. Closes #27243
2016-05-20Auto merge of #33378 - oli-obk:fix/registry_args, r=Manishearthbors-3/+6
fix Registry::args for plugins loaded with --extra-plugins r? @Manishearth
2016-05-20Clarify docs for sort(&mut self)Stefan Schindler-7/+4
2016-05-20Rollup merge of #33745 - postmodern:patch-1, r=steveklabnikGuillaume Gomez-2/+2
Clarify wording in `transmute` example * Change "four eights" to "four u8s" * Change "a 32" to "a u32"
2016-05-20Rollup merge of #33739 - GuillaumeGomez:error-code-tests, r=ManishearthGuillaume Gomez-0/+284
Add new error code tests r? @steveklabnik
2016-05-20Rollup merge of #33734 - luqmana:33387-mir_fat_ptr_coerce, r=arielb1Guillaume Gomez-4/+68
[MIR] Add PointerCast for Unsize casts of fat pointers. Fixes #33387. r? @eddyb
2016-05-20Rollup merge of #33683 - sanxiyn:paren-span, r=nikomatsakisGuillaume Gomez-5/+40
Preserve span when lowering ExprKind::Paren Fix #33681.
2016-05-20Rollup merge of #33676 - rkruppe:e0509-exact-words, r=sanxiynGuillaume Gomez-11/+13
Reword the short diagnostic for E0509 Saying that a type *implements* a trait is much more idiomatic than saying it *defines* the trait.
2016-05-20Rollup merge of #33668 - dns2utf8:catch_thread, r=steveklabnikGuillaume Gomez-3/+8
Catch thread in example Since this is an example, the code will be copied by many people and should be over correct. ?r @steveklabnik
2016-05-20Update simd syntaxggomez-4/+4
2016-05-20Update testsManish Goregaokar-21/+36
2016-05-20Auto merge of #33729 - alexcrichton:patch-libbacktrace, r=sfacklerbors-4/+31
std: Backport a libbacktrace soundness fix This is a backport of gcc-mirror/gcc@047a1c2f which is a soundness fix for when a backtrace is generated on executables that do not have debug information.