1
Fork 0
Commit graph

300 commits

Author SHA1 Message Date
León Orell Valerian Liehr
5b32681db1
Offset args of trait object types when cleaning 2024-01-09 17:07:33 +01:00
León Orell Valerian Liehr
f141a524e8
Rename rustc_middle path cleaning functions
The new names are consistent with the other rustc_middle cleaning functions.
Regarding the local variable `ty_args`, it's used throughout the function and
personally speaking its name isn't very legible, I trip up on it.
2024-01-09 17:03:46 +01:00
zetanumbers
24f009c5e5 Move some methods from tcx.hir() to tcx
Renamings:
- find -> opt_hir_node
- get -> hir_node
- find_by_def_id -> opt_hir_node_by_def_id
- get_by_def_id -> hir_node_by_def_id

Fix rebase changes using removed methods

Use `tcx.hir_node_by_def_id()` whenever possible in compiler

Fix clippy errors

Fix compiler

Apply suggestions from code review

Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com>

Add FIXME for `tcx.hir()` returned type about its removal

Simplify with with `tcx.hir_node_by_def_id`
2023-12-12 06:40:29 -08:00
Nadrieril
a3838c8550 Add never_patterns feature gate 2023-11-29 03:58:29 +01:00
Michael Goulet
63b2f55e83 is_{some,ok}_and for rustdoc 2023-11-25 17:18:33 +00:00
Mark Rousskov
917f6540ed Re-format code with new rustfmt 2023-11-15 21:45:48 -05:00
Matthias Krüger
ba7ec56639
Rollup merge of #117531 - fmease:rustdoc-effects-properly-elide-x-crate-host-args, r=GuillaumeGomez
rustdoc: properly elide cross-crate host effect args

Fixes FIXMEs introduced in #116670.
2023-11-08 11:25:54 +01:00
Nicholas Nethercote
e8cf29b584 rustdoc: minor changes suggested by clippy perf lints. 2023-11-08 09:35:35 +11:00
León Orell Valerian Liehr
1dcdf83927
rustdoc: properly elide cross-crate host effect args 2023-11-05 00:56:54 +01:00
León Orell Valerian Liehr
58a80c85b9
rustdoc: elide cross-crate default generic arguments 2023-10-30 16:44:52 +01:00
Oli Scherer
16f8396f6d Add some FIXMEs for remaining issues that we need to fix before using more const trait things in libcore 2023-10-13 11:04:01 +00:00
Oli Scherer
6724f9926c hide host param from generic parameter list of ~const bounds 2023-10-12 17:14:19 +00:00
Guillaume Gomez
4b6fc8b70f Improve code 2023-10-09 14:26:52 +02:00
Guillaume Gomez
a576dfd0c6 Show enum variant value if it is a C-like variant 2023-09-25 15:01:13 +02:00
Guillaume Gomez
208f6ed95c
Rollup merge of #115972 - RalfJung:const-consistency, r=oli-obk
rename mir::Constant -> mir::ConstOperand, mir::ConstKind -> mir::Const

Also, be more consistent with the `to/eval_bits` methods... we had some that take a type and some that take a size, and then sometimes the one that takes a type is called `bits_for_ty`.

Turns out that `ty::Const`/`mir::ConstKind` carry their type with them, so we don't need to even pass the type to those `eval_bits` functions at all.

However this is not properly consistent yet: in `ty` we have most of the methods on `ty::Const`, but in `mir` we have them on `mir::ConstKind`. And indeed those two types are the ones that correspond to each other. So `mir::ConstantKind` should actually be renamed to `mir::Const`. But what to do with `mir::Constant`? It carries around a span, that's really more like a constant operand that appears as a MIR operand... it's more suited for `syntax.rs` than `consts.rs`, but the bigger question is, which name should it get if we want to align the `mir` and `ty` types? `ConstOperand`? `ConstOp`? `Literal`? It's not a literal but it has a field called `literal` so it would at least be consistently wrong-ish...

``@oli-obk`` any ideas?
2023-09-21 13:25:39 +02:00
Ralf Jung
c94410c145 rename mir::Constant -> mir::ConstOperand, mir::ConstKind -> mir::Const 2023-09-21 08:12:30 +02:00
bors
bdb0fa3ee5 Auto merge of #113955 - cjgillot:name-apit, r=WaffleLapkin
Pretty-print argument-position impl trait to name it.

This removes a corner case.

RPIT and TAIT keep having no name, and it would be wrong to use the one in HIR (Ident::empty), so I make this case ICE.
2023-09-19 21:23:39 +00:00
Ralf Jung
5a0a1ff0cd move ConstValue into mir
this way we have mir::ConstValue and ty::ValTree as reasonably parallel
2023-09-19 11:11:02 +02:00
bors
1fb6947abc Auto merge of #115286 - saethlin:detangler, r=petrochenkov
Skip rendering metadata strings from include_str!/include_bytes!

The const rendering code in rustdoc completely ignores consts from expansions, but the compiler was rendering all consts. So some consts (namely those from `include_bytes!`) were rendered then ignored.

Most of the diff here is from moving `print_const_expr` from rustdoc into `rustc_hir_pretty` so that it can be used in rustdoc and when building rmeta files.
2023-09-02 04:53:19 +00:00
Ben Kimock
159ad5fb0d Reuse const rendering from rustdoc in rmeta encoding 2023-09-01 17:22:48 -04:00
León Orell Valerian Liehr
f5a68f63aa
rustdoc: correctly deal with self ty params when eliding default object lifetimes 2023-09-01 16:17:53 +02:00
Camille GILLOT
832a2a18e7 Do not ICE in rustdoc. 2023-08-30 18:01:25 +00:00
Guillaume Gomez
16b34bfae3 Use more named format args 2023-08-16 16:35:23 +02:00
Guillaume Gomez
a1a94b1c0f Improve code readability by moving fmt args directly into the string 2023-08-16 16:35:23 +02:00
León Orell Valerian Liehr
5468336d6b
Store the laziness of type aliases in the DefKind 2023-08-07 15:54:31 +02:00
Nilstrieb
0475873813
Rollup merge of #114321 - SparrowLii:parallel_test, r=oli-obk
get auto traits for parallel rustc

test for #106930
#[Edit] Since this doesn't block try build now, we can close https://github.com/rust-lang/rust/issues/106930

fixes #106930
2023-08-02 13:46:55 +02:00
SparrowLii
90db1132c7 get auto traits for parallel rustc
Signed-off-by: SparrowLii <liyuan179@huawei.com>
2023-08-02 16:21:45 +08:00
Guillaume Gomez
82bf232245 Move inherits_doc_hidden and should_ignore_res into clean/utils.rs 2023-07-29 14:39:10 +02:00
Lukas Markeffsky
bb98f3ad4d fix doc links on extern crate items 2023-07-22 12:27:25 +02:00
Mahdi Dibaiee
e55583c4b8 refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00
Mark Rousskov
cc907f80b9 Re-format let-else per rustfmt update 2023-07-12 21:49:27 -04:00
Guillaume Gomez
2f1939ab8b Link to the corresponding channel in the help popover 2023-06-23 16:32:55 +02:00
León Orell Valerian Liehr
3490a510d5
rustdoc: re-elide cross-crate default trait object lifetime bounds 2023-06-07 13:29:36 +02:00
Guillaume Gomez
b7db3de8d5 Clean up usage of cx.tcx when tcx is already set into a variable 2023-05-27 14:46:54 +02:00
Caleb Cartwright
00c3f7552e refactor: add chunks method to TokenStream to obviate rustdoc clones 2023-05-13 16:59:28 -05:00
Camille GILLOT
b275d2c30b Remove WithOptconstParam. 2023-04-20 17:48:32 +00:00
Vadim Petrochenkov
d3a5541939 rustdoc: Cleanup parent module tracking for doc links
Keep ids of the documented items themselves, not their parent modules.
Parent modules can be retreived from those ids when necessary.
2023-03-21 17:36:57 +04:00
Vadim Petrochenkov
c83553da31 rustc_middle: Remove trait DefIdTree
This trait was a way to generalize over both `TyCtxt` and `Resolver`, but now `Resolver` has access to `TyCtxt`, so this trait is no longer necessary.
2023-03-02 23:46:44 +04:00
Guillaume Gomez
953a71a328 Allow disabling of auto and blanket trait impls retrieval in rustdoc when in parallel_compiler mode. 2023-02-21 11:51:56 +11:00
bors
9556b56dbd Auto merge of #107753 - kylematsuda:type-of, r=BoxyUwU
Switch to `EarlyBinder` for `type_of` query

Part of the work to finish #105779 and implement https://github.com/rust-lang/types-team/issues/78.

Several queries `X` have a `bound_X` variant that wraps the output in `EarlyBinder`. This adds `EarlyBinder` to the return type of the `type_of` query and removes `bound_type_of`.

r? `@lcnr`
2023-02-17 04:45:15 +00:00
Kyle Matsuda
c183110cc2 remove bound_type_of query; make type_of return EarlyBinder; change type_of in metadata 2023-02-16 17:05:56 -07:00
Kyle Matsuda
d822b97a27 change usages of type_of to bound_type_of 2023-02-16 17:01:52 -07:00
Matthias Krüger
a1a6588162 don't into self
don't into()-convert types to themselves
2023-02-16 18:30:25 +01:00
Guillaume Gomez
86fd5a1b44 Use more let chain 2023-02-15 12:00:03 +01:00
Vadim Petrochenkov
957bc606dd rustdoc: Collect rustdoc-reachable items during early doc link resolution 2023-01-25 23:14:09 +04:00
Oli Scherer
21917b0866 Round 3: require binders for substs 2022-12-12 13:20:36 +00:00
Oli Scherer
8b098325ec Round 2: make clean_middle_ty take a binder 2022-12-12 12:55:47 +00:00
Dylan DPC
f90484df8a
Rollup merge of #104732 - WaffleLapkin:from_def_idn't, r=compiler-errors
Refactor `ty::ClosureKind` related stuff

I've tried to fix all duplication and weirdness, but if I missed something do tell :p

r? `@compiler-errors`
2022-11-28 15:42:10 +05:30
Guillaume Gomez
5856e40885 Remove Crate::primitives field 2022-11-27 16:31:34 +01:00
Maybe Waffle
881862ecb7 Rename fn_trait_kind_from_{from_lang=>def_id} to better convey meaning 2022-11-27 07:14:49 +00:00