Commit Graph

122083 Commits

Author SHA1 Message Date
Matthew Jasper
aa117047f0 Add helper method for reusing an existing interned region 2020-06-18 18:09:18 +01:00
Aaron Hill
e9b0ce8afa Add test for overflow when finding auto-trait impls in Rustdoc 2020-06-18 17:54:14 +01:00
Ivan Tham
111c2d27f5 Rearrange liballoc __impl_slice_eq1 2020-06-19 00:34:49 +08:00
Ivan Tham
ec8ff1cc24 Liballoc clean up macro_rules style 2020-06-19 00:34:20 +08:00
Ivan Tham
8aecafe8e8 Fix liballoc doc spelling 2020-06-19 00:33:24 +08:00
Eric Huss
abb5800dd5 Ensure std benchmarks get tested. 2020-06-18 09:11:15 -07:00
Jake Degen
721facf29c Removed trailing whitespace 2020-06-18 11:45:52 -04:00
Jake Degen
b805f2c4dc Added tooltip for should_panic code examples.
Previously, compile_fail and ignore code examples displayed a tooltip
indicating this in the documentation. This tooltip has now also been
added to should_panic examples.
2020-06-18 11:12:36 -04:00
qy3u
d134870bd4 Document format correction 2020-06-18 17:46:27 +08:00
bors
e55d3f9c52 Auto merge of #73384 - petrochenkov:gnulink, r=cuviper
linker: Never pass `-no-pie` to non-gnu linkers

Fixes https://github.com/rust-lang/rust/issues/73370
2020-06-18 04:29:23 +00:00
Lzu Tao
e5c5df8f9c Add specialization of ToString for char 2020-06-18 02:54:35 +00:00
Lzu Tao
4e77214583 Improve document for Result::as_deref(_mut) 2020-06-18 02:09:53 +00:00
Charles Lew
f633dd385f Implement crate level only lints checking. 2020-06-18 09:53:12 +08:00
bors
7d16c1d5f5 Auto merge of #73065 - Amanieu:tls-fix, r=oli-obk
Fix link error with #[thread_local] introduced by #71192

r? @oli-obk
2020-06-18 00:29:10 +00:00
David Tolnay
2da9ca72bc
Remove duplicate sentence fragment from mem::zeroed doc 2020-06-17 17:17:07 -07:00
Josh Stone
a7c2cf8f51 Reduce pointer casts in Box::into_boxed_slice
We only need to cast the pointer once to change `Box<T>` to an array
`Box<[T; 1]>`, then we can let unsized coercion return `Box<[T]>`.
2020-06-17 16:30:27 -07:00
Esteban Küber
8d1a3801fa review comments 2020-06-17 16:29:03 -07:00
Tomasz Miąsko
f488dfc2b6 Use alloc::Layout in DroplessArena API 2020-06-18 01:19:04 +02:00
Rich Kadel
36c9014ddd removed try config to test mac & windows (passed)
https://dev.azure.com/rust-lang/rust/_build/results?buildId=32224&view=results
2020-06-17 14:50:28 -07:00
matthewjasper
ba2ef58ae6 Unify region variables when projecting associated types
This is required to avoid cycles when evaluating auto trait
predicates.
2020-06-17 19:46:15 +01:00
Rich Kadel
b9f0304af8 temporarily enable mac and windows tests on bors try
testing platform-specific changes
2020-06-17 11:39:35 -07:00
Rich Kadel
c3387293d4
Update src/libcore/intrinsics.rs
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
2020-06-17 10:29:00 -07:00
erikdesjardins
6351850d8f
ignore-debug: debug assertions in slice indexing prevent the optimization 2020-06-17 13:10:49 -04:00
Dylan MacKenzie
3a1207f688 Add issue number to novel violation warning 2020-06-17 10:05:07 -07:00
Dylan MacKenzie
38e921b2c1 Add regression test for #73431 2020-06-17 09:55:08 -07:00
Dylan MacKenzie
c9dc73d757 Make novel structural match violations a warning 2020-06-17 09:29:33 -07:00
Joshua Nelson
936ecadcec Add src/librustdoc as an alias for src/tools/rustdoc
No one actually works with src/tools/librustdoc, it's almost empty.
2020-06-17 09:33:27 -04:00
Guillaume Gomez
bde1ccfcb2 Clean up E0670 explanation 2020-06-17 14:07:34 +02:00
bors
2935d294ff Auto merge of #69890 - lenary:lenary/riscv-frame-pointers, r=hanna-kruppe,Mark-Simulacrum
[RISC-V] Do not force frame pointers

We have been seeing some very inefficient code that went away when using
`-Cforce-frame-pointers=no`. For instance `core::ptr::drop_in_place` at
`-Oz` was compiled into a function which consisted entirely of saving
registers to the stack, then using the frame pointer to restore the same
registers (without any instructions between the prolog and epilog).

The RISC-V LLVM backend supports frame pointer elimination, so it makes
sense to allow this to happen when using Rust. It's not clear to me that
frame pointers have ever been required in the general case.

In rust-lang/rust#61675 it was pointed out that this made reassembling
stack traces easier, which is true, but there is a code generation
option for forcing frame pointers, and I feel the default should not be
to require frame pointers, given it demonstrably makes code size worse
(around 10% in some embedded applications).

The kinds of targets mentioned in rust-lang/rust#61675 are popular, but
should not dictate that code generation should be worse for all RISC-V
targets, especially as there is a way to use CFI information to
reconstruct the stack when the frame pointer is eliminated. It is also
a misconception that `fp` is always used for the frame pointer. `fp` is
an ABI name for `x8` (aka `s0`), and if no frame pointer is required,
`x8` may be used for other callee-saved values.

---

I am partly posting this to get feedback from @fintelia who introduced the change to require frame pointers, and @hanna-kruppe who had issues with the original PR. I would understand if we wanted to remove this setting on only a subset of RISC-V targets, but my preference would be to remove this setting everywhere.

There are more details on the code size savings seen in Tock here: https://github.com/tock/tock/pull/1660
2020-06-17 11:30:56 +00:00
Ayaz Hafiz
7a89a33823
fixup! Note numeric literals that can never fit in an expected type 2020-06-16 23:10:41 -07:00
asrar
caffb28ece
add blank line bw sections
Separate target features from rust ones with a blank line

Co-authored-by: Josh Stone <cuviper@gmail.com>
2020-06-17 10:31:46 +05:30
Ayaz Hafiz
d7277df3ac
fixup! Note numeric literals that can never fit in an expected type 2020-06-16 20:05:55 -07:00
Rich Kadel
1db44afecd Ensure profiling runtime for -Zinstrument-coverage
If config.toml `profiler = false`, the test/mir-opt/instrument_coverage
test is ignored. Otherwise, this patch ensures the profiler_runtime is
loaded when -Zinstrument-coverage is enabled. Confirmed that this works
for MacOS.
2020-06-16 18:48:46 -07:00
Poliorcetics
e75fa896ba
Don't imply function pointers are references
Co-authored-by: David Tolnay <dtolnay@gmail.com>
2020-06-17 03:30:41 +02:00
pierwill
9f2e8adc35
Fix typo in librustc_ast docs
Fixed sentence by removing a word.
2020-06-16 18:11:47 -07:00
Esteban Küber
af45d8a5bb Suggest new type param on single char ident
Suggest new type parameter on single char uppercase ident even if it
doesn't appear in a field's type parameter.

Address comment in #72641.
2020-06-16 17:36:55 -07:00
Esteban Küber
aa84b0fa37 Provide help when T: ?Sized can't be suggested 2020-06-16 17:24:16 -07:00
Gary Guo
2b7d858866 Add some comments related to place op typeck 2020-06-16 22:50:21 +01:00
Alexis Bourget
15cd51af5e Mention functions pointers in the documentation 2020-06-16 23:39:03 +02:00
bors
e8ff4bcbd0 Auto merge of #73322 - Amanieu:asm-srcloc-llvm, r=cuviper
Update LLVM submodule

Only includes one commit:
- [D80759](https://reviews.llvm.org/D80759): Fix FastISel dropping srcloc metadata from InlineAsm

Fixes #40555
2020-06-16 20:40:22 +00:00
Hanif Bin Ariffin
5a9df8406f Added some more documentations to unsafety blocks in slice/sort.rs 2020-06-16 16:19:49 -04:00
Ralf Jung
81c7ebd544 we can enable one more codegen test in debug mode now 2020-06-16 16:01:30 -04:00
Ralf Jung
f0a42332b8 memory access sanity checks: abort instead of panic 2020-06-16 16:01:30 -04:00
root
457acbd5a8 trim whitespace 2020-06-16 18:53:30 +00:00
root
9f50f84ef1 break long line for formatting 2020-06-16 18:14:32 +00:00
root
4506a358ca add header for rust specific feature 2020-06-16 17:36:04 +00:00
bors
a647c0cd68 Auto merge of #73402 - Dylan-DPC:rollup-8udzpfu, r=Dylan-DPC
Rollup of 8 pull requests

Successful merges:

 - #73237 (Check for overflow in DroplessArena and align returned memory)
 - #73339 (Don't run generator transform when there's a TyErr)
 - #73372 (Re-order correctly the sections in the sidebar)
 - #73373 (Use track caller for bug! macro)
 - #73380 (Add more info to `x.py build --help` on default value for `-j JOBS`.)
 - #73381 (Fix typo in docs of std::mem)
 - #73389 (Use `Ipv4Addr::from<[u8; 4]>` when possible)
 - #73400 (Fix forge-platform-support URL)

Failed merges:

r? @ghost
2020-06-16 14:58:14 +00:00
Who? Me?!
cfdbbb5600
format derives
Co-authored-by: lzutao <taolzu@gmail.com>
2020-06-16 09:41:05 -05:00
Brian Cain
7a9f29d305 Add initial asm!() support for hexagon
GPRs only
2020-06-16 08:58:13 -05:00
Ayaz Hafiz
f0d36891b6
fixup! Note numeric literals that can never fit in an expected type 2020-06-16 06:55:24 -07:00