Manish Goregaokar
c8a73e438a
Rollup merge of #48752 - alexcrichton:fix-target-feature, r=michaelwoerister
...
rustc: Fix ICE with `#[target_feature]` on module
This commit fixes an ICE in rustc when `#[target_feature]` was applied to items
other than functions due to the way the feature was validated.
2018-03-08 11:25:59 -08:00
Manish Goregaokar
d7f44ac52c
Rollup merge of #48682 - spastorino:make_causal_lazy, r=nikomatsakis
...
[NLL] Make causal tracking lazy
Close #46590
cc @nikomatsakis
2018-03-08 11:25:56 -08:00
Oliver Schneider
b5ace9a906
Unify the const folding errors
...
before they differed depending on whether optimizations were on or not
2018-03-08 08:35:39 +01:00
Oliver Schneider
aedd4c61ea
Regenerate tests
2018-03-08 08:35:38 +01:00
Oliver Schneider
208d764833
Adjust test which differs between 32 bit and 64 bit
...
The differences are not part of what the test is testing, so they were simply removed.
2018-03-08 08:35:38 +01:00
Oliver Schneider
df283df887
Don't use the undefined bytes of PrimVal::Bytes
2018-03-08 08:34:18 +01:00
Oliver Schneider
7218836500
Fix mozjs crater failure
2018-03-08 08:34:18 +01:00
Oliver Schneider
b63c6bbfee
Add regression test
2018-03-08 08:34:17 +01:00
Oliver Schneider
d98a2b90b2
Rebase fallout
2018-03-08 08:34:17 +01:00
Oliver Schneider
2f0e077300
Report tcx errors with the span of the currently evaluating statement
2018-03-08 08:34:17 +01:00
Oliver Schneider
f363e08c9d
Update compile-fail tests
2018-03-08 08:34:17 +01:00
Oliver Schneider
f68dc0190a
Add a test for transmuting via unions in constants
2018-03-08 08:34:17 +01:00
Oliver Schneider
5b698a1040
Unregress error spans in constant errors
2018-03-08 08:34:17 +01:00
Oliver Schneider
421622d8f7
Stage 2 doesn't see suggestion_approximate
2018-03-08 08:34:16 +01:00
Oliver Schneider
f5cc5ca8c7
Remove dead code
2018-03-08 08:34:16 +01:00
Oliver Schneider
8c53d54b98
Update tests
2018-03-08 08:34:16 +01:00
Oliver Schneider
a678044c77
Add regression test for const prop
2018-03-08 08:34:15 +01:00
Oliver Schneider
05a03d7537
Update tests
2018-03-08 08:34:15 +01:00
Oliver Schneider
ceb634a732
Update tests
2018-03-08 08:34:14 +01:00
Oliver Schneider
e093ab0df4
Adjust tests to changed const err lints
2018-03-08 08:34:13 +01:00
Oliver Schneider
d57a109203
Adjust tests to more aggressive const err linting
2018-03-08 08:34:13 +01:00
Oliver Schneider
5b247b9bbe
Report errors in statics during collecting instead of translating
2018-03-08 08:34:12 +01:00
Oliver Schneider
df6b40e342
Add regression tests
2018-03-08 08:34:12 +01:00
Oliver Schneider
b75a828e2b
Reduce noise in error reporting
2018-03-08 08:34:11 +01:00
Oliver Schneider
9857eaa4df
Nuke ConstInt and Const*size
2018-03-08 08:34:10 +01:00
Oliver Schneider
790d131ac2
Add test for #45044
2018-03-08 08:34:09 +01:00
Oliver Schneider
cf056615a8
Add test for attempting to use array indexing for conditional const eval
2018-03-08 08:34:09 +01:00
Oliver Schneider
7d2d4e3202
Add InterpretInterner to StableHashingContext for AllocId serialization
2018-03-08 08:34:08 +01:00
Oliver Schneider
e0045ab891
Add tests for fixed issues
2018-03-08 08:34:08 +01:00
Oliver Schneider
0595ff1009
Codegen tests
2018-03-08 08:34:08 +01:00
Oliver Schneider
b33e4e784e
Fully use miri in trans
2018-03-08 08:34:05 +01:00
Oliver Schneider
28572d2c1f
Nuke the entire ctfe from orbit, it's the only way to be sure
2018-03-08 08:08:14 +01:00
Oliver Schneider
918b6d7633
Produce instead of pointers
2018-03-08 08:08:14 +01:00
Alex Crichton
4bde92c176
rustc: Fix ICE with #[target_feature] on module
...
This commit fixes an ICE in rustc when `#[target_feature]` was applied to items
other than functions due to the way the feature was validated.
2018-03-07 17:09:09 -08:00
Alex Crichton
0e6df533d4
Rollup merge of #48778 - sinkuu:rls_crash_tuple_struct, r=nrc
...
Fix save-analysis generation crash with invalid tuple access
Reproduction:
```rust
fn invalid_tuple_struct_accessing() {
bar.0;
}
```
```
error[E0425]: cannot find value `bar` in this scope
--> test.rs:2:5
|
2 | bar.0;
| ^^^ not found in this scope
error[E0601]: main function not found
error: internal compiler error: librustc_save_analysis/dump_visitor.rs:1678: Expected struct or tuple type, found TyError
--> test.rs:2:5
|
2 | bar.0;
| ^^^^^
thread 'rustc' panicked at 'Box<Any>', librustc_errors/lib.rs:482:9
note: Run with `RUST_BACKTRACE=1` for a backtrace.
```
This should fix a crash in RLS when editing such code. cc @nrc
2018-03-07 07:09:52 -08:00
Alex Crichton
de3a63d663
Rollup merge of #48618 - scottmcm:elaborate-exitcode, r=alexcrichton
...
Better docs and associated SUCCESS/FAILURE for process::ExitCode
Follow-up to https://github.com/rust-lang/rust/pull/48497#discussion_r170676525 , since that PR was the minimal thing to unblock https://github.com/rust-lang/rust/issues/48453#issuecomment-368155082 .
r? @nikomatsakis
2018-03-06 23:38:06 -08:00
Shotaro Yamada
f5a3efee88
Do not panic on tuple struct access out of bounds
2018-03-07 08:48:36 +09:00
Shotaro Yamada
c92630a04a
Fix save-analysis generation panic with invalid tuple access
2018-03-07 08:22:31 +09:00
Santiago Pastorino
c85c5a0423
Make causal tracking lazy
2018-03-06 18:03:05 -03:00
Santiago Pastorino
ec761903ec
Remove nll-dump-cause flag and always track causes
2018-03-06 10:34:46 -03:00
kennytm
8e3493d459
Rollup merge of #47463 - bluss:fused-iterator, r=alexcrichton
...
Stabilize FusedIterator
FusedIterator is a marker trait that promises that the implementing
iterator continues to return `None` from `.next()` once it has returned
`None` once (and/or `.next_back()`, if implemented).
The effects of FusedIterator are already widely available through
`.fuse()`, but with stable `FusedIterator`, stable Rust users can
implement this trait for their iterators when appropriate.
Closes #35602
2018-03-06 20:52:37 +08:00
kennytm
178b2c4b48
Rollup merge of #48732 - debris:remove_powerpc64, r=alexcrichton
...
Remove useless powerpc64 entry from ARCH_TABLE
Hope, I understood the scope of the fix correctly. closes #47737
2018-03-06 20:52:30 +08:00
kennytm
fe77f5d764
Rollup merge of #48573 - Amanieu:bitreverse2, r=sfackler
...
Add functions for reversing the bit pattern in an integer
I'm reviving PR #32798 now that the LLVM issues have been resolved.
> This adds the bitreverse intrinsic and adds a reverse_bits function to all integer types.
2018-03-06 16:25:32 +08:00
kennytm
e3451f8cd7
Rollup merge of #48546 - GuillaumeGomez:raw-string-error-note, r=estebank
...
Raw string error note
Fixes #48395 .
I think this note should be helpful enough to solve the issue.
2018-03-06 16:25:31 +08:00
kennytm
813ac2c36b
Rollup merge of #48432 - flip1995:lit_diag, r=oli-obk
...
Suggest type for overflowing bin/hex-literals
Fixes #48073
For hexadecimal and binary literals, which overflow, it gives an additional note to the warning message, like in this [comment](https://github.com/rust-lang/rust/issues/48073#issuecomment-365370113 ).
Additionally it will suggest a type (`X < Y`):
- `iX`: if literal fits in `uX` => `uX`, else => `iY`
- `-iX` => `iY`
- `uX` => `uY`
Exceptions: `isize`, `usize`. I don't think you can make a good suggestion here. The programmer has to figure it out on it's own in this case.
r? @oli-obk
2018-03-06 16:25:30 +08:00
kennytm
43de95ca5b
Rollup merge of #48403 - lukaslueg:casted, r=steveklabnik
...
Fix spelling s/casted/cast/
r? @GuillaumeGomez
2018-03-06 16:25:28 +08:00
Amanieu d'Antras
88aec91017
Add i128 tests for intrinsics
2018-03-06 03:31:56 +00:00
Michael Woerister
17b72bc1ea
Fix procedural_mbe_matching test case after libsyntax change.
2018-03-05 11:05:01 +01:00
Michael Woerister
9f8b9a0d3e
incr.comp.: Add regression test for detecting feature gate changes.
2018-03-05 11:05:01 +01:00
bors
259e4a6784
Auto merge of #48592 - spastorino:borrowed_value_error, r=nikomatsakis
...
[NLL] Avoid borrowed value must be valid for lifetime '_#2r..." in errors
Closes #48428
- [x] If NLL is enabled, [do not invoke `note_and_explain_region`](https://github.com/rust-lang/rust/issues/48428#issuecomment-367691123 )
- [x] Modify `-Zdump-nll-cause` to not print [the overwhelming debug output here](https://github.com/rust-lang/rust/blob/master/src/librustc_mir/borrow_check/nll/region_infer/mod.rs#L1288-L1299 ). This way we should I believe at least get nice-ish output for [our original example](https://github.com/rust-lang/rust/issues/48428#issue-299364536 ).
- [x] Extend `explain_why_borrow_contains_point` to also work for "universal lifetimes" like the `'a` in [the example at the end of this comment](https://github.com/rust-lang/rust/issues/48428#issuecomment-367691123 ).
- [ ] Figure out how to enable causal information all the time (but that is https://github.com/rust-lang/rust/issues/46590 ).
2018-03-04 18:16:43 +00:00