Commit graph

134435 commits

Author SHA1 Message Date
bors 4ae328bef4 Auto merge of #78296 - Aaron1011:fix/stmt-tokens, r=petrochenkov
Properly handle attributes on statements

We now collect tokens for the underlying node wrapped by `StmtKind`
nstead of storing tokens directly in `Stmt`.

`LazyTokenStream` now supports capturing a trailing semicolon after it
is initially constructed. This allows us to avoid refactoring statement
parsing to wrap the parsing of the semicolon in `parse_tokens`.

Attributes on item statements
(e.g. `fn foo() { #[bar] struct MyStruct; }`) are now treated as
item attributes, not statement attributes, which is consistent with how
we handle attributes on other kinds of statements. The feature-gating
code is adjusted so that proc-macro attributes are still allowed on item
statements on stable.

Two built-in macros (`#[global_allocator]` and `#[test]`) needed to be
adjusted to support being passed `Annotatable::Stmt`.
2020-11-28 07:48:56 +00:00
Rune Tynan a61c09a897
Update src/test/rustdoc/decl_macro_priv.rs
Co-authored-by: Joshua Nelson <joshua@yottadb.com>
2020-11-28 00:02:46 -05:00
bors f8e5209a21 Auto merge of #79353 - cjgillot:procmacro, r=petrochenkov
Setup proc-macro metadata at encoding instead of decoding

This should improve the common non-proc-macro case for metadata decoding.
2020-11-28 03:20:09 +00:00
Camelid a3cde636fc Update error to reflect that integer literals can have float suffixes
For example, `1` is parsed as an integer literal, but it can be turned
into a float with the suffix `f32`. Now the error calls them "numeric
literals" and notes that you can add a float suffix since they can be
either integers or floats.
2020-11-27 19:08:24 -08:00
Camelid 1b846bfbcc Slightly improve code samples in E0591
* Improve formatting
* Don't hide `unsafe` block - it's important!
2020-11-27 19:07:14 -08:00
Rune Tynan 949b72e9d9
Update decl_macro test, add decl_macro_priv test for --document-private-items 2020-11-27 21:59:21 -05:00
Rune Tynan c007f4354d
Add test, fix pub macro impl, compile error 2020-11-27 21:59:20 -05:00
Rune Tynan 18276b2dbd
Apply review: use from_hir, add macro source fix. 2020-11-27 21:59:20 -05:00
Rune Tynan ccb9cc1200
Remove doctree::Macro 2020-11-27 21:58:54 -05:00
bors 650d9d33f2 Auto merge of #79469 - rust-lang:revert-77467-query-docs, r=jyn514
Revert "Normalize `<X as Y>::T` for rustdoc"

Reverts rust-lang/rust#77467 by disabling normalization. See https://github.com/rust-lang/rust/issues/79459; I intend to reland normalization once that's fixed.

r? `@Aaron1011`
cc `@oli-obk` `@GuillaumeGomez`
2020-11-28 00:53:02 +00:00
bors fd6b5376b7 Auto merge of #79284 - Nadrieril:constructor-module, r=varkor
Split match exhaustiveness into two files

I feel the constructor-related things in the `_match` module make enough sense on their own so I split them off. It makes `_match` feel less like a complicated mess. I'm not aware of PRs in progress against this module apart from my own so hopefully I'm not annoying too many people.
I have a lot of questions about the conventions in naming and modules around the compiler. Like, why is the module named `_match`? Could I rename it to `usefulness` maybe? Should `deconstruct_pat` be a submodule of `_match` since only `_match` uses it? Is it ok to move big piles of code around even if it makes git blame more difficult?

r? `@varkor`
`@rustbot` modify labels: +A-exhaustiveness-checking
2020-11-27 22:34:59 +00:00
Sreehari S 7e00222aab add enable-full-tools to freebsd builds to prevent occasional link errors when compiling rust programs 2020-11-27 14:21:23 -08:00
Lukas Lueg 08ec201c72 Expand docs on Peekable::peek_mut 2020-11-27 22:50:22 +01:00
Santiago Pastorino ada7c1f429
Return FxIndexSet instead of FxHashSet to avoid order errors on different platforms 2020-11-27 18:45:34 -03:00
Aaron Hill 92bfa05b07
Bump recursion_limit in rustc_ast_passes
When cfg(parallel_compiler) is enabled, we end up trying to prove
Send/Sync bounds for some deeply nested types (at least when rustdoc is
run).
2020-11-27 15:47:58 -05:00
bjorn3 477aa67802 Merge commit '5988bbd24aa87732bfa1d111ba00bcdaa22c481a' into sync_cg_clif-2020-11-27 2020-11-27 20:48:53 +01:00
Camille GILLOT 9dd32e177e Encode proc_macro directly.
Encode proc_macro name directly.

Do not store None values.
2020-11-27 20:39:49 +01:00
bors 6a889570e4 Auto merge of #79372 - jyn514:more-cleanup, r=GuillaumeGomez
Cleanup more of rustdoc

-  Use `Item::from_def_id` for StructField
- Use `from_def_id_and_parts` for primitives and keywords
- Take `String` instead of `Symbol` in `from_def_id` - this avoids having to intern then immediately stringify the existing string.
- Remove unused `get_stability` and `get_deprecation`
- Remove unused `attrs` field from `primitives`
- Remove unused `attrs` field from `keywords`

This will probably conflict with https://github.com/rust-lang/rust/pull/79335 and I would prefer for that PR to land first - I'm anxious for https://github.com/rust-lang/rust/pull/77467 to land :)

Makes https://github.com/rust-lang/rust/issues/76998 easier to add.

r? `@GuillaumeGomez`
2020-11-27 19:30:58 +00:00
Joshua Nelson 2d39c09cc2 Change comments on types to doc-comments 2020-11-27 14:17:25 -05:00
Nadrieril 941c6ac1a2 Rename _match to usefulness 2020-11-27 18:43:28 +00:00
Nadrieril 2de0475826 Rename pat_constructor to Constructor::from_pat 2020-11-27 18:22:19 +00:00
Nadrieril ba3c419a43 Move the definitions of the two Ctxts to the top 2020-11-27 18:22:19 +00:00
Nadrieril 2184a1444c Extract everything related to pattern deconstruction to a new module 2020-11-27 18:22:17 +00:00
Nadrieril 3715f1ed00 No need to expose Matrix internals 2020-11-27 18:20:30 +00:00
Nadrieril d447bdff9b Disentangle Fields and PatStack 2020-11-27 18:20:30 +00:00
Nadrieril b59792128c Move Constructor::apply to Fields 2020-11-27 18:20:30 +00:00
oli 8b81bb8715 Revert the effect of #77467 by disabling normalization in rustdoc 2020-11-27 17:08:49 +00:00
bjorn3 5988bbd24a Revert "Use the new component dependency option of the rust-toolchain file"
This reverts commit 648caced6e.

Rustup on github actions isn't yet updated
2020-11-27 18:05:05 +01:00
bjorn3 de4ce8c05f Sync from rust c922857066 2020-11-27 18:01:29 +01:00
bjorn3 aef656aee8 Rustup to rustc 1.50.0-nightly (72da5a9d8 2020-11-26) 2020-11-27 18:01:01 +01:00
Guillaume Gomez 482b3accdd Remove unused is_doc_keyword function 2020-11-27 17:54:28 +01:00
Guillaume Gomez af2040ff95 Add tests for doc_keyword feature extension 2020-11-27 17:54:28 +01:00
Jakob Schikowski 470c059e69 libtest: Print the total time taken to execute a test suite 2020-11-27 17:53:59 +01:00
bjorn3 648caced6e Use the new component dependency option of the rust-toolchain file 2020-11-27 17:53:55 +01:00
Guillaume Gomez f663093222 Allow to have any valid ident used as keyword in doc_keyword feature 2020-11-27 17:38:11 +01:00
bors 774bce7f5e Auto merge of #77484 - terhechte:support-ios-catalyst-macabi-arm64-target-triple, r=nikomatsakis
Add support for Arm64 Catalyst on ARM Macs

This is an iteration on https://github.com/rust-lang/rust/pull/63467 which was merged a while ago. In the aforementioned PR, I added support for the `X86_64-apple-ios-macabi` target triple, which is Catalyst, iOS apps running on macOS.

Very soon, Apple will launch ARM64 based Macs which will introduce `aarch64_apple_darwin.rs`, macOS apps using the Darwin ABI running on ARM. This PR adds support for Catalyst apps on ARM Macs: iOS apps compiled for the darwin ABI.

I don't have access to a Apple Developer Transition Kit (DTK), so I can't really test if the generated binaries work correctly. I'm vaguely hopeful that somebody with access to a DTK could give this a spin.
2020-11-27 15:58:26 +00:00
Santiago Pastorino 504d27cb0c
Make super_traits_of return an iterator 2020-11-27 11:55:17 -03:00
Aaron Hill 772292fa51
Don't lint on redundant semicolons after item statements
This preserves the current lint behavior for now.

Linting after item statements currently prevents the compiler from bootstrapping.
Fixing this is blocked on fixing this upstream in Cargo, and bumping the Cargo
submodule.
2020-11-27 09:37:49 -05:00
Santiago Pastorino 35bf466a27
Remove super_traits_of query, just leave a helper function 2020-11-27 11:23:53 -03:00
Santiago Pastorino a6136d8b83
Simplify super_traits_of 2020-11-27 11:23:53 -03:00
Santiago Pastorino b02a905d93
Add test to check that we handle predicates that can define assoc types correctly 2020-11-27 11:23:53 -03:00
Santiago Pastorino 67ea9b227f
Make super_traits_of return Lrc for cheaper clone 2020-11-27 11:23:52 -03:00
Santiago Pastorino 1895e52505
Fix super_traits_of API doc 2020-11-27 11:23:52 -03:00
Santiago Pastorino ac1845a6f0
Fix super_predicates_that_define_assoc_type API doc 2020-11-27 11:23:52 -03:00
Santiago Pastorino 28446ef19e
Inline elaborate_trait_refs_that_define_assoc_type into transitive_bounds_that_define_assoc_type 2020-11-27 11:23:52 -03:00
Santiago Pastorino 9e0538bd07
Document elaborate_trait_refs_that_define_assoc_type 2020-11-27 11:23:51 -03:00
Santiago Pastorino a175f36c95
Document compute_bounds_that_match_assoc_type 2020-11-27 11:23:51 -03:00
Santiago Pastorino af38d71b17
Add super_traits_of docs 2020-11-27 11:23:51 -03:00
Santiago Pastorino b916ac6322
adjust super_predicates_that_define_assoc_type query description 2020-11-27 11:23:51 -03:00
Santiago Pastorino 6ab8fe223e
Bless tests 2020-11-27 11:23:50 -03:00