Commit Graph

108111 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
43079147f4
Rollup merge of #69373 - tspiteri:const_int_conversion, r=oli-obk
Stabilize const for integer {to,from}_{be,le,ne}_bytes methods

All of these functions can be implemented simply and naturally as const functions, e.g. `u32::from_le_bytes` can be implemented as
```rust
(bytes[0] as u32)
    | (bytes[1] as u32) << 8
    | (bytes[2] as u32) << 16
    | (bytes[3] as u32) << 24
```
So stabilizing the constness will not expose that internally they are implemented using transmute which is not const in stable.
2020-03-11 10:36:18 +01:00
Mazdak Farrokhzad
a7c2eef2ae
Rollup merge of #66059 - RalfJung:panic-on-non-zero, r=eddyb
mem::zeroed/uninit: panic on types that do not permit zero-initialization

r? @eddyb @oli-obk

Cc https://github.com/rust-lang/rust/issues/62825

Also see [this summary comment](https://github.com/rust-lang/rust/pull/66059#issuecomment-586734747)
2020-03-11 10:36:16 +01:00
Tomasz Miąsko
1106579c78 librustc_codegen_llvm: Use slices instead of 0-terminated strings
Changed functions:
* LLVMRustGetOrInsertFunction
* LLVMRustGetNamedValue
* LLVMRustBuildCall (removed unused name argument)
* LLVMRustInlineAsm
* LLVMRustInlineAsmVerify
* LLVMRustAppendModuleInlineAsm
2020-03-11 08:10:21 +01:00
Esteban Küber
29be741c9c review comments 2020-03-10 17:59:32 -07:00
Wesley Wiser
5357f83ee8 [Miri] Use a session variable instead of checking for an env var always
In CTFE heavy code, checking the env var everytime is inefficient. We
can do a lot better by using a `Session` variable instead.
2020-03-10 18:18:04 -04:00
Santiago Pastorino
b3b32b74bc
rust-lang.github.io/rustc-dev-guide -> rustc-dev-guide.rust-lang.org 2020-03-10 17:08:18 -03:00
Santiago Pastorino
d00b2696d8
Rename Rustc Guide to Rustc Dev Guide 2020-03-10 17:08:18 -03:00
Santiago Pastorino
1ddcea3422
Rename rustc_guide to rustc_dev_guide 2020-03-10 17:08:17 -03:00
Santiago Pastorino
9d4fdba8be
Rename rustc guide to rustc dev guide 2020-03-10 17:08:16 -03:00
Santiago Pastorino
0037f4e37c
Rename rustc-guide to rustc-dev-guide 2020-03-10 17:08:10 -03:00
Vadim Petrochenkov
6b27e8d2a6 parse: Tweak the function parameter edition check
Move anon-params tests to ui/anon-params.
2020-03-10 22:35:01 +03:00
bors
1581278534 Auto merge of #66364 - Centril:cleanup-macro-def, r=petrochenkov,eddyb
Cleanup `rmeta::MacroDef`

Avoid using rountrip parsing in the encoder and in `fn load_macro_untracked`.

The main reason I was interested in this was to remove `rustc_parse` as a dependency of `rustc_metadata` but it seems like this had other benefits as well.

Fixes #49511.

r? @eddyb
cc @matthewjasper @estebank @petrochenkov
2020-03-10 17:12:48 +00:00
Florian Gilcher
69aaed872c Make Point Copy in arithmetic documentation
Small composite types like `Point { x: i32, y: i32}` are plain
old data and we should encourage users to derive `Copy` on them.

This changes the semantics of the edited examples slightly: instead
of consuming the operands during addition, it will copy them. This
is desired behaviour.

Co-Authored-By: Jake Goulding <shepmaster@mac.com>
2020-03-10 18:11:36 +01:00
Mazdak Farrokhzad
4d16c217b8 Matrix::push: recursively expand or-patterns 2020-03-10 17:46:19 +01:00
Bastian Kauschke
7b3e3ff39a explain the use of a custom identity function 2020-03-10 12:46:22 +01:00
Lena Wildervanck
88f8b88160 Remove deprecated description function of TryReserveError 2020-03-10 11:19:40 +01:00
Ralf Jung
0b2329da9a also make panic_fmt track_caller 2020-03-10 10:31:03 +01:00
Mazdak Farrokhzad
458383dd33 parse_if_expr: recover on attributes 2020-03-10 08:55:18 +01:00
Mazdak Farrokhzad
ba3ae46de9 trait-object-lifetime-parens: improve recovery. 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
d1822b3dcf use check_path more 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
c0b073bc62 simplify & improve parse_ty_tuple_or_parens 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
25cd01b863 issue 68890: add more minimal repro 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
09997e7227 error_block_no_opening_brace: handle closures better 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
c01b3e6996 block-no-opening-brace: add another statement 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
65b7ba5129 parser: add note for 'label expr. 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
83be689b94 parser/attr: adjust indentation. 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
e72df7edad parse_labeled_expr: add a suggestion on missing colon. 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
fe848b44fe parse_block_tail: reduce visibility 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
addbc5b9df unify/improve/simplify attribute parsing 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
be86b2d37b parse: recover on fn foo() = expr; 2020-03-10 08:32:34 +01:00
Mazdak Farrokhzad
379f3181de parse: simplify parse_fn_body 2020-03-10 08:32:34 +01:00
Mazdak Farrokhzad
055733f3b3 parse: recover on &'lt $expr / 'lt $expr. 2020-03-10 08:32:34 +01:00
Mazdak Farrokhzad
8ee220c447 more reuse in block parsing & improve diagnostics. 2020-03-10 08:32:34 +01:00
Mazdak Farrokhzad
883e90dd81 simplify parse_inner_attributes 2020-03-10 08:32:34 +01:00
Mazdak Farrokhzad
c303c4463c use error_block_no_opening_brace more 2020-03-10 08:32:34 +01:00
Mazdak Farrokhzad
9596dc2a47 parse_labeled_expr: simplify 2020-03-10 08:32:34 +01:00
Mazdak Farrokhzad
bafa5cc9ba macros/unknown-builtin: use hack for musl problems 2020-03-10 08:30:07 +01:00
Mazdak Farrokhzad
87b6bc3518 span-api-tests: leave FIXME 2020-03-10 07:26:27 +01:00
Ana-Maria Mihalache
4809be0137 rustc_errors: Use ensure_source_file_source_present where necessary. 2020-03-10 07:26:27 +01:00
Mazdak Farrokhzad
cf2d4236eb --bless some tests 2020-03-10 07:26:27 +01:00
Mazdak Farrokhzad
b3bc427228 adjust span-api-tests.rs 2020-03-10 07:26:27 +01:00
Mazdak Farrokhzad
192d134e80 pacify rustdoc by using better url 2020-03-10 07:26:27 +01:00
Mazdak Farrokhzad
fd302f46dc Store TokenStream in rmeta::MacroDef.
This removes a hack from `load_macro_untracked` in which parsing is used.
2020-03-10 07:26:27 +01:00
bors
dd155df0a6 Auto merge of #69879 - Centril:rollup-ryea91j, r=Centril
Rollup of 10 pull requests

Successful merges:

 - #69475 (Remove the `no_force` query attribute)
 - #69514 (Remove spotlight)
 - #69677 (rustc_metadata: Give decoder access to whole crate store)
 - #69714 (Make PlaceRef take just one lifetime)
 - #69799 (Allow ZSTs in `AllocRef`)
 - #69817 (test(patterns): add patterns feature tests to borrowck test suite)
 - #69836 (Check if output is immediate value)
 - #69847 (clean up E0393 explanation)
 - #69861 (Add note about localization to std::fmt docs)
 - #69877 (Vec::new is const stable in 1.39 not 1.32)

Failed merges:

r? @ghost
2020-03-10 05:48:27 +00:00
Mazdak Farrokhzad
3e9efbd8b4
Rollup merge of #69877 - CAD97:patch-1, r=dtolnay
Vec::new is const stable in 1.39 not 1.32

Changelog: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1390-2019-11-07

This really surprised me when a MSRV check for 1.35 failed with `Vec::new is not yet stable as a const fn` and the docs said that it was const stabilized in 1.32.
2020-03-10 06:47:59 +01:00
Mazdak Farrokhzad
20361bd2bf
Rollup merge of #69861 - Dylnuge:dylnuge/locale-doc, r=Mark-Simulacrum
Add note about localization to std::fmt docs

Closes #69681
2020-03-10 06:47:58 +01:00
Mazdak Farrokhzad
6f1db996c1
Rollup merge of #69847 - GuillaumeGomez:cleanup-e0393, r=Dylan-DPC
clean up E0393 explanation

r? @Dylan-DPC
2020-03-10 06:47:56 +01:00
Mazdak Farrokhzad
436f2ec58c
Rollup merge of #69836 - JohnTitor:immediate-outputs, r=nagisa
Check if output is immediate value

Fixes #62046

r? @nagisa
2020-03-10 06:47:55 +01:00
Mazdak Farrokhzad
08095f4978
Rollup merge of #69817 - thekuom:test/borrow-checking-pattern-features, r=Centril
test(patterns): add patterns feature tests to borrowck test suite

Addresses request here: https://github.com/rust-lang/rust/pull/69690#issuecomment-595763571

Fixes https://github.com/rust-lang/rust/issues/67311.

r? @Centril
2020-03-10 06:47:53 +01:00
Mazdak Farrokhzad
6ad5e69b5a
Rollup merge of #69799 - TimDiekmann:zst, r=Amanieu
Allow ZSTs in `AllocRef`

Allows ZSTs in all `AllocRef` methods. The implementation of `AllocRef` for `Global` and `System` were adjusted to reflect those changes.

This is the second item on the roadmap to support ZSTs in `AllocRef`: https://github.com/rust-lang/wg-allocators/issues/38#issuecomment-595861542
After this has landed, I will adapt `RawVec`, but since this will be a pretty big overhaul, it makes sense to do a different PR for it.

~~Requires #69794 to land first~~

r? @Amanieu
2020-03-10 06:47:52 +01:00