Dylan DPC
314b78c550
Rollup merge of #71284 - JOE1994:serialize_id, r=petrochenkov
...
fix -Zast-json to output correct JSON form
fixes #71086 (Reverts some of the changes made in #70215 )
JSON output (from an empty library) after fix has something for **"id"** field
```shell
lonelyjoe@lonelyjoe-desktop:~/workspace/empty_lib/src$ rustc lib.rs -Zast-json
```
```json
{
"module":{
"inner":{
"lo":0,
"hi":94
},
"items":[
{
"attrs":[
{
"kind":{
"variant":"Normal",
"fields":[
{
"path":{
"span":{
"lo":0,
"hi":0
},
"segments":[
{
"ident":{
"name":"prelude_import",
"span":{
"lo":0,
"hi":0
}
},
"id":3,
"args":null
}
]
},
"args":"Empty"
}
]
},
"id":null,
"style":"Outer",
"span":{
"lo":0,
"hi":0
}
}
],
"id":4,
"span":{
"lo":0,
"hi":0
},
"vis":{
"node":"Inherited",
"span":{
"lo":0,
"hi":0
}
},
"ident":{
"name":"",
"span":{
"lo":0,
"hi":0
}
},
"kind":{
"variant":"Use",
"fields":[
{
"prefix":{
"span":{
"lo":0,
"hi":0
},
"segments":[
{
"ident":{
"name":"{{root}}",
"span":{
"lo":0,
"hi":0
}
},
"id":5,
"args":null
},
{
"ident":{
"name":"std",
"span":{
"lo":0,
"hi":0
}
},
"id":6,
"args":null
},
{
"ident":{
"name":"prelude",
"span":{
"lo":0,
"hi":0
}
},
"id":7,
"args":null
},
{
"ident":{
"name":"v1",
"span":{
"lo":0,
"hi":0
}
},
"id":8,
"args":null
}
]
},
"kind":"Glob",
"span":{
"lo":0,
"hi":0
}
}
]
},
"tokens":null
},
{
"attrs":[
{
"kind":{
"variant":"Normal",
"fields":[
{
"path":{
"span":{
"lo":0,
"hi":0
},
"segments":[
{
"ident":{
"name":"macro_use",
"span":{
"lo":0,
"hi":0
}
},
"id":9,
"args":null
}
]
},
"args":"Empty"
}
]
},
"id":null,
"style":"Outer",
"span":{
"lo":0,
"hi":0
}
}
],
"id":10,
"span":{
"lo":0,
"hi":0
},
"vis":{
"node":"Inherited",
"span":{
"lo":0,
"hi":0
}
},
"ident":{
"name":"std",
"span":{
"lo":0,
"hi":0
}
},
"kind":{
"variant":"ExternCrate",
"fields":[
null
]
},
"tokens":null
}
],
"inline":true
},
"attrs":[
],
"span":{
"lo":0,
"hi":94
},
"proc_macros":[
]
}
```
2020-04-20 18:07:09 +02:00
JOE1994
b469d2db6d
check '-Zast-json' & '-Zast-json-noexpand' to output legal JSON
2020-04-19 22:24:42 -04:00
bors
9b2f8dbba3
Auto merge of #71007 - Amanieu:deprecate_asm, r=Mark-Simulacrum
...
Deprecate the asm! macro in favor of llvm_asm!
Since we will be changing the syntax of `asm!` soon, deprecate it and encourage people to use `llvm_asm!` instead (which preserves the old syntax). This will avoid breakage when `asm!` is changed.
RFC: https://github.com/rust-lang/rfcs/pull/2843
2020-04-20 02:18:00 +00:00
Dylan DPC
9fc24430e2
Rollup merge of #71324 - petrochenkov:passcheck2, r=RalfJung
...
Fix some tests failing in `--pass check` mode
r? @RalfJung
2020-04-19 21:11:29 +02:00
Dylan DPC
b20bd73673
Rollup merge of #71317 - RalfJung:unleash-inline-asm, r=ecstatic-morse
...
miri-unleash test for llvm_asm
r? @oli-obk @ecstatic-morse
2020-04-19 21:11:28 +02:00
Dylan DPC
ab44c7701e
Rollup merge of #71310 - JohnTitor:dont-did, r=estebank
...
Do not show DefId in diagnostics
Fixes #71222
r? @estebank cc @eddyb
2020-04-19 21:11:24 +02:00
Dylan DPC
9c5da9afa9
Rollup merge of #71026 - seiyab:issue-64362-adhoc, r=varkor
...
Fix false "never constructed" warnings for `Self::` variant paths
Closes #64362 .
2020-04-19 21:11:22 +02:00
Ralf Jung
f6adbc3a26
Fix comment
2020-04-19 20:23:28 +02:00
Vadim Petrochenkov
1c77e20aba
Fix some tests failing in --pass check mode
2020-04-19 17:19:28 +03:00
Dylan DPC
36791dabe8
Rollup merge of #71188 - Duddino:fix, r=matthewjasper
...
Fixed missing trait method suggests incorrect code (self parameter not named "self").
fixes #71150
2020-04-19 15:12:38 +02:00
jakubadamw
f742afaca4
test for false "never constructed" warnings for Self:: variant paths
2020-04-19 21:57:35 +09:00
Ralf Jung
56884581ec
miri-unleash test for llvm_asm
2020-04-19 12:13:54 +02:00
bors
36b1a9296c
Auto merge of #70015 - jonas-schievink:gen-needs-drop, r=matthewjasper
...
Make `needs_drop` less pessimistic on generators
Generators only have non-trivial drop logic when they may store (in upvars or across yields) a type that does.
This prevents generation of some unnecessary MIR in simple generators. There might be some impact on compile times, but this is probably limited in real-world applications.
~~This builds off of https://github.com/rust-lang/rust/pull/69814 since that contains some fixes that are made relevant by *this* PR (see https://github.com/rust-lang/rust/pull/69814#issuecomment-599147269 ).~~ (this has been merged)
2020-04-19 10:01:16 +00:00
bors
e7497a8ccb
Auto merge of #69793 - estebank:predicate-obligations-4, r=nikomatsakis
...
Maintain chain of derived obligations
When evaluating the derived obligations from super traits, maintain a
reference to the original obligation in order to give more actionable
context in the output.
Continuation (and built on) #69745 , subset of #69709 .
r? @eddyb
2020-04-19 06:42:51 +00:00
Yuki Okushi
e171cdaada
Do not show DefId in diagnostics
2020-04-19 12:31:37 +09:00
Esteban Küber
d9a5419ef4
Add label to item source of bound obligation
2020-04-18 17:19:53 -07:00
Esteban Küber
ce936e9336
Do not emit note for projected derived obligations
2020-04-18 16:37:08 -07:00
Esteban Küber
6bc55c701f
Remove AssocTypeBound and propagate bound Spans
2020-04-18 16:37:08 -07:00
Esteban Küber
ad1c23c993
Maintain chain of derived obligations
...
When evaluating the derived obligations from super traits, maintain a
reference to the original obligation in order to give more actionable
context in the output.
2020-04-18 16:37:08 -07:00
Dylan DPC
404e06785b
Rollup merge of #71276 - RalfJung:miri-unleash-box, r=ecstatic-morse
...
miri-unleashed: test that we detect heap allocations
This removes the second-to-last use of `IS_SUPPORTED_IN_MIRI = false`.
r? @ecstatic-morse @oli-obk
2020-04-19 01:04:49 +02:00
bors
52fa23add6
Auto merge of #71218 - eddyb:a-lifetime-stranded-in-fn-def, r=nikomatsakis
...
outlives: ignore lifetimes shallowly found in `ty::FnDef`s.
Fixes #70917 by restoring the pre-#70164 behavior for now.
r? @nikomatsakis
2020-04-18 14:15:31 +00:00
Ralf Jung
cf3470a5fc
miri-unleashed: test that we detect heap allocations
2020-04-18 11:38:25 +02:00
bors
28742a1146
Auto merge of #71147 - cuviper:min-llvm8, r=Mark-Simulacrum
...
Update the minimum external LLVM to 8
LLVM 8 was released on March 20, 2019, over a year ago.
2020-04-18 01:37:27 +00:00
Dylan DPC
4b9eeca5c5
Rollup merge of #71243 - Duddino:Fix2, r=estebank
...
Account for use of `try!()` in 2018 edition and guide users in the right direction
fixes #71155
2020-04-17 23:56:04 +02:00
Dylan DPC
d30292caa7
Rollup merge of #71239 - JohnTitor:llvm-asm, r=Amanieu
...
Rename `asm` test directory in favor of `llvm_asm`
r? @Amanieu
2020-04-17 20:35:21 +02:00
Dylan DPC
a12d42ba86
Rollup merge of #69642 - ecstatic-morse:issue-69615, r=oli-obk
...
Use query to determine whether function needs const checking
Resolves #69615 .
The HIR const-checker was checking the `constness` of a function's `fn_sig` to determine whether a function needed const-checking. Now that const trait impls are a thing, this is no longer enough. All code should use the `is_const_fn_raw` query instead, which takes the constness of the impl block into account.
r? @oli-obk
2020-04-17 20:35:19 +02:00
Jonas Schievink
50c1c295ee
Make needs_drop less pessimistic on generators
2020-04-17 20:30:23 +02:00
Duddino
ba61fe432a
Account for use of try!() in 2018 edition and guide users in the right direction
2020-04-17 14:08:08 +02:00
bors
8d67f576b5
Auto merge of #71049 - eddyb:const-err, r=oli-obk
...
Add `ConstKind::Error` and convert `ErrorHandled::Reported` to it.
By replicating the `ty::Error` approach to encoding "an error has occurred", all of the mechanisms that skip redundant/downstream errors are engaged and help out (see the reduction in test output).
This PR also adds `ErrorHandled::Linted` for the lint case because using `ErrorHandled::Reported` *without* having emitted an error that is *guaranteed* to stop compilation, is incorrect now.
r? @oli-obk cc @rust-lang/wg-const-eval @varkor @yodaldevoid
2020-04-17 11:52:01 +00:00
Yuki Okushi
af442d964d
Rename asm test directory in favor of llvm_asm
2020-04-17 18:36:16 +09:00
bors
b2c1a606fe
Auto merge of #70629 - anyska:fields-variant, r=oli-obk
...
rustc_target::abi: add Primitive variant to FieldsShape.
Originally suggested by @eddyb.
2020-04-17 08:42:51 +00:00
Dylan DPC
b2e4d4836f
Rollup merge of #71206 - RalfJung:dont-try, r=oli-obk
...
Miri error messages: avoid try terminology
r? @oli-obk
2020-04-17 03:05:18 +02:00
Dylan DPC
b347097e4d
Rollup merge of #71182 - JohnTitor:regression-tests, r=Mark-Simulacrum
...
Add some regression tests
Closes #24843
Closes #28575
Closes #54067
Closes #66868
Closes #67893
Closes #68813
2020-04-17 03:05:16 +02:00
Dylan DPC
5280d15d62
Rollup merge of #71164 - RalfJung:uninit-not-undef, r=oli-obk
...
reword Miri validity errors: undefined -> uninitialized
I don't think we say "undefined value" or anything like that anywhere in the docs or so, but we do use the term "uninitialized memory", so I think we should do the same here.
Longer-term, I think we should also internally rename "undef" to "uninit".
r? @oli-obk
2020-04-17 03:05:15 +02:00
Dylan DPC
abd72f7fc2
Rollup merge of #70578 - PankajChaudhary5:master, r=GuillaumeGomez
...
Add long error explanation for E0657
Added proper error explanation for issue E0657 in the Rust compiler.
Part of #61137
r? @GuillaumeGomez
2020-04-17 03:05:11 +02:00
Dylan DPC
c68c71e24e
Rollup merge of #70611 - pawanbisht62:doc/61137-add-long-error-code-e0708, r=GuillaumeGomez
...
Add long error explanation for E0708 #61137
Add long explanation for the E0708 error code
Part of #61137
r? @GuillaumeGomez
2020-04-16 23:34:41 +02:00
Yuki Okushi
a6855b918b
Avoid emitting stderr for now
2020-04-17 06:16:15 +09:00
Yuki Okushi
0b85356387
Add test for issue-67893
2020-04-17 06:16:15 +09:00
Yuki Okushi
119bbbe31a
Add test for issue-54067
2020-04-17 06:16:15 +09:00
Yuki Okushi
077a7f741f
Add test for issue-28575
2020-04-17 06:16:14 +09:00
Yuki Okushi
9fb3f55211
Add test for issue-24843
2020-04-17 06:16:14 +09:00
Eduard-Mihai Burtescu
f86f03263c
outlives: ignore lifetimes shallowly found in ty::FnDefs.
2020-04-16 23:18:44 +03:00
Ralf Jung
250b27d996
bikeshed
2020-04-16 18:47:05 +02:00
Eduard-Mihai Burtescu
77f38dc284
ty: convert ErrorHandled::Reported to ConstKind::Error.
2020-04-16 19:00:30 +03:00
Ralf Jung
18d0907dcc
Miri error messages: avoid try terminology
2020-04-16 17:41:28 +02:00
Ana-Maria Mihalache
8f081d5b2b
rustc_target::abi: add Primitive variant to FieldsShape.
2020-04-16 15:15:51 +00:00
Dylan DPC
e4ec7965ef
Rollup merge of #71141 - Duddino:master, r=estebank
...
Provide better compiler output when using `?` on `Option` in fn returning `Result` and vice-versa
Fixes #71089
2020-04-16 16:34:27 +02:00
Dylan DPC
33500a2bbf
Rollup merge of #70566 - jumbatm:exceeding-bitshifts-constprop, r=RalfJung
...
Don't bail out before linting in generic contexts.
Fixes #69021 .
cc #70017
r? @RalfJung
2020-04-16 16:34:23 +02:00
Duddino
f36f78f571
Fixed issue with self: &Box<Self>
2020-04-16 14:05:57 +02:00
Duddino
da59b8ff65
fixed missing trait method suggests incorrect code (self parameter not named self)
2020-04-16 13:23:01 +02:00