Nathaniel Hamovitz
d8bacf078a
All five has_repr_attr
agree + are correct
2021-10-18 15:33:11 -07:00
Tomasz Miąsko
915a581bcb
Do not promote values with const drop that need to be dropped
...
Changes from #88558 allowed using `~const Drop` in constants by
introducing a new `NeedsNonConstDrop` qualif.
The new qualif was also used for promotion purposes, and allowed
promotion to happen for values that needs to be dropped but which
do have a const drop impl.
Since for promoted the drop implementation is never executed,
this lead to observable change in behaviour. For example:
```rust
struct Panic();
impl const Drop for Panic {
fn drop(&mut self) {
panic!();
}
}
fn main() {
let _ = &Panic();
}
```
Restore the use of `NeedsDrop` qualif during promotion to avoid the issue.
2021-10-18 21:56:57 +02:00
bors
bd41e09da3
Auto merge of #89124 - cjgillot:owner-info, r=michaelwoerister
...
Index and hash HIR as part of lowering
Part of https://github.com/rust-lang/rust/pull/88186
~Based on https://github.com/rust-lang/rust/pull/88880 (see merge commit).~
Once HIR is lowered, it is later indexed by the `index_hir` query and hashed for `crate_hash`. This PR moves those post-processing steps to lowering itself. As a side objective, the HIR crate data structure is refactored as an `IndexVec<LocalDefId, Option<OwnerInfo<'hir>>>` where `OwnerInfo` stores all the relevant information for an HIR owner.
r? `@michaelwoerister`
cc `@petrochenkov`
2021-10-18 19:53:05 +00:00
Tomasz Miąsko
171cbc01ef
Rename needs_drop
to needs_non_const_drop
2021-10-18 20:51:22 +02:00
Yuki Okushi
101a81b807
Add a regression test for #89935
2021-10-19 02:43:54 +09:00
Yuki Okushi
e2453dc2ff
Revert "Rollup merge of #86011 - tlyu:correct-sized-bound-spans, r=estebank"
...
This reverts commit 36a1076d24
, reversing
changes made to e1e9319d93
.
2021-10-19 02:33:38 +09:00
Noah Lev
90986897c5
rustdoc: Box ty
field of GenericParamDefKind::Const
...
This cuts the size of `GenericParamDef` in half, from 104 bytes to 56
bytes. I think the extra indirection should be worth the size savings.
2021-10-18 10:16:01 -07:00
Noah Lev
9b52a633e4
rustdoc: Box default
fields of GenericParamDefKind
...
This reduces the size of `GenericParamDef` a bit, but some of the size
savings are hidden because of the `ty` field of the `Const` variant.
I will box that in the next commit.
2021-10-18 10:14:59 -07:00
Oli Scherer
4413f8c709
Member constraints already covered all of E0482 already, so that error never occurred anymore
2021-10-18 15:50:56 +00:00
Oli Scherer
2220fafa8c
Guarding a loop with a check that it never runs is useless
2021-10-18 15:50:56 +00:00
Oli Scherer
2431540b62
Remove unused enum variant
2021-10-18 15:50:56 +00:00
Oli Scherer
b02f2982e7
Remove regionck member constraint handling and leave it to mir borrowck
2021-10-18 15:50:56 +00:00
Guillaume Gomez
77c29294be
Add test to ensure that the docblock elements left margin is as expected
2021-10-18 16:50:31 +02:00
Guillaume Gomez
20c286e268
Add GUI overflow tests for constant and typedef
2021-10-18 16:15:09 +02:00
Nathaniel Hamovitz
3a41f226c5
Exploring emitting other sorts of span
s
2021-10-18 07:02:00 -07:00
Guillaume Gomez
809330bda6
Prevent documentation page title to grow too big
2021-10-18 15:30:03 +02:00
Guillaume Gomez
8b7a2dd462
* Remove left margin on items declaration at the top of their documentation page
...
* Rename "type-decl" into "item-decl" to reflect the change of usage
2021-10-18 15:06:38 +02:00
Nathaniel Hamovitz
ab9fa25e82
Better testcase names
2021-10-18 04:59:03 -07:00
Nathaniel Hamovitz
d25b4eeefb
One more test
2021-10-18 04:22:43 -07:00
Hans Kratz
4a37b9cbff
Avoid overflow in VecDeque::with_capacity_in()
.
2021-10-18 13:18:12 +02:00
Nathaniel Hamovitz
5b78907be7
Still renaming lmao
2021-10-18 03:56:49 -07:00
Nathaniel Hamovitz
a54dbf6445
Improve doc and span messages
2021-10-18 03:52:57 -07:00
Nathaniel Hamovitz
a6aa9864a3
Rename stderr
2021-10-18 03:52:37 -07:00
Nathaniel Hamovitz
7f84e3d791
Rename lint
2021-10-18 03:45:08 -07:00
woppopo
7936ecff48
Make more From
impls const
2021-10-18 19:19:28 +09:00
Nathaniel Hamovitz
149b372873
run rustfmt
2021-10-18 03:16:10 -07:00
Nathaniel Hamovitz
6377fb2fe7
Tidy import + update expected stderr
2021-10-18 03:13:48 -07:00
Nathaniel Hamovitz
cd6862283e
Tidy imports
2021-10-18 03:05:19 -07:00
Nathaniel Hamovitz
9f402b370c
Check for tuple structs
2021-10-18 03:05:19 -07:00
Nathaniel Hamovitz
2a5a4f07cf
Refactor ZS array detection again and this one seems great 👍
2021-10-18 03:05:19 -07:00
Nathaniel Hamovitz
c5d3167a23
update testsuite and expand if_chain
2021-10-18 03:05:19 -07:00
Nathaniel Hamovitz
a3420f7004
Tidy comments + tests; revert 'size-is-zero' detection
2021-10-18 03:05:19 -07:00
Nathaniel Hamovitz
9b3f55ee61
tried to simplify but it doesn't work :/
2021-10-18 03:05:19 -07:00
Nathaniel Hamovitz
5fdf93415b
intermediate step
2021-10-18 03:05:19 -07:00
Nathaniel Hamovitz
003972f428
add multiple get_attrs
and includes_repr
and they all work!
2021-10-18 03:05:18 -07:00
Nathaniel Hamovitz
b9948c4be6
Ran dev bless
!
2021-10-18 03:05:18 -07:00
Nathaniel Hamovitz
4b4db59772
output looks fantastic
2021-10-18 03:05:18 -07:00
Nathaniel Hamovitz
e53a4da4a1
it works i think (incl some dbg
s)
2021-10-18 03:05:18 -07:00
Nathaniel Hamovitz
523b013161
Implement getting an array of attributes!
2021-10-18 03:05:18 -07:00
Nathaniel Hamovitz
7ee8e7a9b8
Implement detecting trailing zero-sized array
2021-10-18 03:05:18 -07:00
Nathaniel Hamovitz
92d3b775bd
ayy it compiles! ship it, right? 😎 /s
...
why was `rustc_lint_defs` not already externed in `lib.rs`?
and how was r-a able to find it but cargo wasn't? 🤔
2021-10-18 03:05:18 -07:00
Nathaniel Hamovitz
c69387a0d5
Well it builds
2021-10-18 03:05:18 -07:00
Nathaniel Hamovitz
797507c583
Add boilerplate and basic tests
2021-10-18 03:05:18 -07:00
Konrad Borowski
86c309c27f
Inline CStr::from_ptr
2021-10-18 11:38:51 +02:00
Krasimir Georgiev
e3c3f4a09c
RustWrapper: adapt for an LLVM API change
...
No functional changes intended.
The LLVM commit
89b57061f7
moved TargetRegistry.(h|cpp) from Support to MC.
This adapts RustWrapper accordingly.
2021-10-18 09:48:47 +02:00
Vadim Petrochenkov
c1e8fc8c97
resolve: Use NameBinding
for local variables and generic parameters
2021-10-18 10:42:39 +03:00
cameron
f8b2f91c48
add test for issue 84957
2021-10-18 08:41:18 +01:00
bors
389a74b31a
Auto merge of #7835 - mikerite:unneeded-allow-20211018, r=xFrednet
...
Remove unneeded allow
Remove unneeded allow
changelog: none
2021-10-18 07:25:12 +00:00
Laurențiu Nicola
72ca6cd990
⬆️ rust-analyzer
2021-10-18 10:23:58 +03:00
Michael Wright
63d715209e
Remove unneeded allow
2021-10-18 08:46:11 +02:00