bors
a5fb9ae5b2
Auto merge of #70404 - Dylan-DPC:rollup-iikcm6r, r=Dylan-DPC
...
Rollup of 5 pull requests
Successful merges:
- #70226 (use checked casts and arithmetic in Miri engine)
- #70319 (correctly normalize constants)
- #70352 (Add long error explanation for E0710 )
- #70366 (Implement Fuse with Option)
- #70379 (fix incorrect type name in doc comments)
Failed merges:
- #70375 (avoid catching InterpError)
r? @ghost
2020-03-25 19:42:22 +00:00
Dylan DPC
9a9cb2d372
Rollup merge of #70379 - JOE1994:patch-2, r=petrochenkov
...
fix incorrect type name in doc comments
Change : `InterpCtx` => `InterpCx`
(`rustc_mir::interpret::InterpCx`)
2020-03-25 19:28:14 +01:00
Dylan DPC
530c320e75
Rollup merge of #70366 - cuviper:option-fuse, r=dtolnay
...
Implement Fuse with Option
The former `done` flag was roughly similar to an `Option` tag, but left
the possibity of misuse. By using a real `Option`, we can set `None`
when the iterator is exhausted, removing any way to call it again. We
also allow niche layout this way, so the `Fuse` may be smaller.
The `FusedIterator` specialization does want to ignore the possibility
of exhaustion though, so it uses `unsafe { intrinsics::unreachable() }`
to optimize that branch away. The entire `Fuse` implementation is now
isolated in its own module to contain that unsafety.
r? @scottmcm
2020-03-25 19:28:12 +01:00
Dylan DPC
3586ab615e
Rollup merge of #70352 - bishtpawan:doc/61137-add-long-error-code-e0710, r=Dylan-DPC
...
Add long error explanation for E0710
Add long explanation for the E0710 error code
Part of #61137
r? @GuillaumeGomez
2020-03-25 19:28:11 +01:00
Dylan DPC
1154023118
Rollup merge of #70319 - lcnr:issue63695, r=eddyb
...
correctly normalize constants
closes #70317
implements https://github.com/rust-lang/rust/issues/70125#issuecomment-602133708
r? eddyb cc @varkor
2020-03-25 19:28:09 +01:00
Dylan DPC
97f0a9ef8d
Rollup merge of #70226 - RalfJung:checked, r=oli-obk
...
use checked casts and arithmetic in Miri engine
This is unfortunately pretty annoying because we have to cast back and forth between `u64` and `usize` more often that should be necessary, and that cast is considered fallible.
For example, should [this](https://doc.rust-lang.org/nightly/nightly-rustc/rustc/mir/interpret/value/enum.ConstValue.html ) really be `usize`?
Also, `LayoutDetails` uses `usize` for field indices, but in Miri we use `u64` to be able to also handle array indexing. Maybe methods like `mplace_field` should be suitably generalized to accept both `u64` and `usize`?
r? @oli-obk Cc @eddyb
2020-03-25 19:28:08 +01:00
Josh Stone
4f429c074b
impl TrustedRandomAccess for Fuse without FusedIterator
2020-03-25 11:09:00 -07:00
Eric Huss
21ecb0d573
Update cargo.
2020-03-25 09:03:01 -07:00
Thomas Bächler
a9484d4647
Make x.py compatible with python 3.8.
...
Python 3.8 removes the time.clock() function, use time.perf_counter() instead.
2020-03-25 16:11:46 +01:00
Bastian Kauschke
f8e3da5ea2
run test only on 64bit
2020-03-25 16:07:36 +01:00
Ana-Maria Mihalache
0f7840b89b
Rename LayoutDetails to just Layout.
2020-03-25 15:06:48 +00:00
Ralf Jung
7400955e94
add usize methods for Size getters
2020-03-25 15:53:53 +01:00
Ralf Jung
b7db7320ad
go back to infix ops for Size
2020-03-25 15:53:53 +01:00
Ralf Jung
1d67ca00a1
add helper method for ptr ops on Scalar; reduce unnecessary large operand of overflowing_signed_offset
2020-03-25 15:53:53 +01:00
Ralf Jung
afcb6342fa
use Size addition instead of checked int addition
2020-03-25 15:53:52 +01:00
Ralf Jung
0bc108a13b
make Size::from* methods generic in the integer type they accept
2020-03-25 15:53:52 +01:00
Ralf Jung
f16b491015
remove unnecessary cast
2020-03-25 15:53:52 +01:00
Ralf Jung
d7e2650db2
miri: avoid a bunch of casts by offering usized-based field indexing
2020-03-25 15:53:52 +01:00
Ralf Jung
cd15b659c7
avoid double-cast in mplace_field
2020-03-25 15:53:52 +01:00
Ralf Jung
9de600892d
make bit_width return u64, consistently with other sizes in the compiler
2020-03-25 15:53:52 +01:00
Ralf Jung
1ddbdc6269
use checked casts and arithmetic in Miri engine
2020-03-25 15:53:52 +01:00
Ralf Jung
5be304b0b4
miri: simplify shift operator overflow checking
2020-03-25 15:48:53 +01:00
bors
3c1d9adb3c
Auto merge of #70297 - nnethercote:clean-up-debugging-options, r=michaelwoerister
...
Clean up debugging options
I found various sub-optimal things when I was looking at option handling.
2020-03-25 14:46:51 +00:00
Mazdak Farrokhzad
c70aa344e4
borrowck: prefer "value" over "_
".
2020-03-25 11:42:25 +01:00
Mazdak Farrokhzad
bd3482632e
simplify check_pat_tuple_struct
2020-03-25 09:32:39 +01:00
Ralf Jung
b5343d6baa
rename def_id -> static_def_id
2020-03-25 08:47:59 +01:00
Ralf Jung
4920a3371f
better explain GLOBAL_KIND choice
2020-03-25 08:46:58 +01:00
Mazdak Farrokhzad
bd156846fa
improve non-exhaustive struct pat error
2020-03-25 08:35:17 +01:00
Mazdak Farrokhzad
58fee523cf
is_union() instead of string comparsion
2020-03-25 07:02:30 +01:00
bishtpawan
5c65568f0b
update tool_lints
2020-03-25 11:32:23 +05:30
bors
cdb50c6f25
Auto merge of #70383 - Centril:rollup-hmfft3y, r=Centril
...
Rollup of 7 pull requests
Successful merges:
- #70331 (Increase verbosity when using update syntax with private fields)
- #70349 (move `hir_id_validation` to `rustc_passes` + simplify `hir::map` code)
- #70361 (Update backtrace crate to 0.3.46)
- #70364 (resolve: Remove `rustc_attrs` as a standalone feature gate)
- #70369 (Fix smaller issues with invalid placeholder type errors)
- #70373 (normalize some imports & prefer direct ones)
- #70376 (Add test for #66312 )
Failed merges:
r? @ghost
2020-03-25 05:46:43 +00:00
Mazdak Farrokhzad
83fc855d03
Rollup merge of #70376 - tmandry:issue-66312, r=Centril
...
Add test for #66312
Closes #66312 . This issue was fixed by #68884 .
r? @Zoxc
2020-03-25 06:45:38 +01:00
Mazdak Farrokhzad
d894f5eaf5
Rollup merge of #70373 - Centril:canon-imports, r=Mark-Simulacrum
...
normalize some imports & prefer direct ones
r? @Mark-Simulacrum
2020-03-25 06:45:36 +01:00
Mazdak Farrokhzad
cb17049b36
Rollup merge of #70369 - estebank:bad-placeholder-in-where, r=Centril
...
Fix smaller issues with invalid placeholder type errors
Follow up to #70294 .
- Fix placement of suggested generic param when bounds are present.
- Reduce error duplication for invalid placeholder types in `fn` types.
r? @Centril
2020-03-25 06:45:35 +01:00
Mazdak Farrokhzad
3d0976a91b
Rollup merge of #70364 - petrochenkov:nofrustc, r=Centril
...
resolve: Remove `rustc_attrs` as a standalone feature gate
Now it only gates specific built-in attributes.
So if you want to make a rustc attribute, make it a built-in (this was already the case in practice for some time).
2020-03-25 06:45:33 +01:00
Mazdak Farrokhzad
3cced917ff
Rollup merge of #70361 - tmiasko:backtrace, r=Mark-Simulacrum
...
Update backtrace crate to 0.3.46
* Support line-tables-only when using libbacktrace
* Update libbacktrace to latest master
* Define HAVE_KERN_PROC on FreeBSD to fix rust-lang/rust#54434
2020-03-25 06:45:32 +01:00
Mazdak Farrokhzad
8aafb8a51f
Rollup merge of #70349 - Centril:hir-outa-rustc, r=Zoxc
...
move `hir_id_validation` to `rustc_passes` + simplify `hir::map` code
r? @Zoxc
2020-03-25 06:45:30 +01:00
Mazdak Farrokhzad
d03c02a589
Rollup merge of #70331 - jeremystucki:privacy, r=estebank
...
Increase verbosity when using update syntax with private fields
Resolves #70323
2020-03-25 06:45:27 +01:00
Nicholas Nethercote
e1d1db790f
Remove TargetOptions::embed_bitcode
.
...
It's unused by any existing targets, and soon we'll be embedding full
bitcode by default anyway.
2020-03-25 14:09:27 +11:00
Youngsuk Kim
bedc3587ce
fix type name typo in doc comments
...
InterpCtx => InterpCx
(rustc_mir::interpret::InterpCx)
2020-03-24 21:34:36 -04:00
Esteban Küber
7534efa0ef
Reduce error duplication for invalid placeholder types in fn types
2020-03-24 18:01:37 -07:00
Tyler Mandry
1a21c28e39
Add test for #66312
...
Closes #66312 . This issue was fixed by #68884 .
2020-03-24 16:44:45 -07:00
Mazdak Farrokhzad
917289907d
normalize some imports, prefer direct ones.
2020-03-24 22:47:23 +01:00
bors
02046a5d40
Auto merge of #70371 - Centril:rollup-ywi1vo3, r=Centril
...
Rollup of 8 pull requests
Successful merges:
- #70023 (clean up E0436 explanation)
- #70234 (#[track_caller] on core::ops::{Index, IndexMut}.)
- #70241 (Miri: move ModifiedStatic to ConstEval errors)
- #70342 (IoSlice/IoSliceMut should be Send and Sync)
- #70350 (Request "-Z unstable-options" for unstable options)
- #70355 (Clean up E0454)
- #70359 (must_use on split_off)
- #70368 (Mark hotplug_codegen_backend as ignore-stage1)
Failed merges:
r? @ghost
2020-03-24 20:33:53 +00:00
Mazdak Farrokhzad
bf1ad2229f
Rollup merge of #70368 - bjorn3:patch-2, r=jonas-schievink
...
Mark hotplug_codegen_backend as ignore-stage1
Suggested by @eddyb in https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/do.20we.20really.20need.20stage2.2E.2E.3F/near/191659846 .
2020-03-24 21:32:37 +01:00
Mazdak Farrokhzad
db2c70bf4e
Rollup merge of #70359 - kornelski:mustsplit, r=Dylan-DPC
...
must_use on split_off
A couple more for #70194
2020-03-24 21:32:36 +01:00
Mazdak Farrokhzad
dc29016299
Rollup merge of #70355 - GuillaumeGomez:cleanup-e0454, r=Dylan-DPC
...
Clean up E0454
r? @Dylan-DPC
2020-03-24 21:32:34 +01:00
Mazdak Farrokhzad
f8ec23f2c0
Rollup merge of #70350 - workingjubilee:patch-1, r=Dylan-DPC
...
Request "-Z unstable-options" for unstable options
Explicitly requests the "-Z unstable-options" flag if someone attempts to use
a cargo option gated by it. This enhances discoverability, particularly in the
instance where the user is on the nightly compiler but isn't using the flag.
This relates to, but does not end with or resolve, issue #65770 .
2020-03-24 21:32:32 +01:00
Mazdak Farrokhzad
8d4b5ff121
Rollup merge of #70342 - withoutboats:io-slice-send-sync, r=Mark-Simulacrum
...
IoSlice/IoSliceMut should be Send and Sync
Closes #70308
2020-03-24 21:32:31 +01:00
Mazdak Farrokhzad
b8093bad58
Rollup merge of #70241 - RalfJung:global-mem, r=oli-obk
...
Miri: move ModifiedStatic to ConstEval errors
Also generally adjust terminology from "static" to "global" where appropriate (to avoid confusion with specifically `static` items).
2020-03-24 21:32:29 +01:00