summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-07-03 23:25:24 +0000
committerbors <bors@rust-lang.org>2024-07-03 23:25:24 +0000
commitb45401283fad51849dbb37d78f0b2093a21fb58f (patch)
tree947158ee85298fa325157580e8dc74bf94a16b2d /src
parentaa1d4f6826de006b02fed31a718ce4f674203721 (diff)
parent79bdb89a4a12f1a968b3fe025eb808f128dece13 (diff)
Auto merge of #127296 - matthiaskrgr:rollup-1t1isa7, r=matthiaskrgr
Rollup of 6 pull requests Successful merges: - #127092 (Change return-type-notation to use `(..)`) - #127184 (More refactorings to rustc_interface) - #127190 (Update LLVM submodule) - #127253 (Fix incorrect suggestion for extra argument with a type error) - #127280 (Disable rmake test rustdoc-io-error on riscv64gc-gnu) - #127294 (Less magic number for corountine) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'src')
-rw-r--r--src/librustdoc/clean/types.rs2
m---------src/llvm-project0
-rw-r--r--src/tools/rustfmt/src/types.rs34
-rw-r--r--src/tools/rustfmt/tests/target/return-type-notation.rs10
4 files changed, 30 insertions, 16 deletions
diff --git a/src/librustdoc/clean/types.rs b/src/librustdoc/clean/types.rs
index 9050a1c1207..3b1a8830e1c 100644
--- a/src/librustdoc/clean/types.rs
+++ b/src/librustdoc/clean/types.rs
@@ -2557,7 +2557,7 @@ pub(crate) struct ProcMacro {
/// * the `A: Bound` in `Trait<A: Bound>`
/// * the `RetTy` in `Trait(ArgTy, ArgTy) -> RetTy`
/// * the `C = { Ct }` in `Trait<C = { Ct }>` (feature `associated_const_equality`)
-/// * the `f(): Bound` in `Trait<f(): Bound>` (feature `return_type_notation`)
+/// * the `f(..): Bound` in `Trait<f(..): Bound>` (feature `return_type_notation`)
#[derive(Clone, PartialEq, Eq, Debug, Hash)]
pub(crate) struct AssocItemConstraint {
pub(crate) assoc: PathSegment,
diff --git a/src/llvm-project b/src/llvm-project
-Subproject 5a5152f653959d14d68613a3a8a033fb65eec02
+Subproject e6a6470d1eb4c88fee4b1ea98cd8e0ac4a181c1
diff --git a/src/tools/rustfmt/src/types.rs b/src/tools/rustfmt/src/types.rs
index c0bf9482b11..c826547e9d0 100644
--- a/src/tools/rustfmt/src/types.rs
+++ b/src/tools/rustfmt/src/types.rs
@@ -484,21 +484,25 @@ fn rewrite_generic_args(
span: Span,
) -> Option<String> {
match gen_args {
- ast::GenericArgs::AngleBracketed(ref data) if !data.args.is_empty() => {
- let args = data
- .args
- .iter()
- .map(|x| match x {
- ast::AngleBracketedArg::Arg(generic_arg) => {
- SegmentParam::from_generic_arg(generic_arg)
- }
- ast::AngleBracketedArg::Constraint(constraint) => {
- SegmentParam::Binding(constraint)
- }
- })
- .collect::<Vec<_>>();
+ ast::GenericArgs::AngleBracketed(ref data) => {
+ if data.args.is_empty() {
+ Some("".to_owned())
+ } else {
+ let args = data
+ .args
+ .iter()
+ .map(|x| match x {
+ ast::AngleBracketedArg::Arg(generic_arg) => {
+ SegmentParam::from_generic_arg(generic_arg)
+ }
+ ast::AngleBracketedArg::Constraint(constraint) => {
+ SegmentParam::Binding(constraint)
+ }
+ })
+ .collect::<Vec<_>>();
- overflow::rewrite_with_angle_brackets(context, "", args.iter(), shape, span)
+ overflow::rewrite_with_angle_brackets(context, "", args.iter(), shape, span)
+ }
}
ast::GenericArgs::Parenthesized(ref data) => format_function_type(
data.inputs.iter().map(|x| &**x),
@@ -508,7 +512,7 @@ fn rewrite_generic_args(
context,
shape,
),
- _ => Some("".to_owned()),
+ ast::GenericArgs::ParenthesizedElided(..) => Some("(..)".to_owned()),
}
}
diff --git a/src/tools/rustfmt/tests/target/return-type-notation.rs b/src/tools/rustfmt/tests/target/return-type-notation.rs
new file mode 100644
index 00000000000..0f26e7e272b
--- /dev/null
+++ b/src/tools/rustfmt/tests/target/return-type-notation.rs
@@ -0,0 +1,10 @@
+fn rtn()
+where
+ T: Trait<method(..): Send + 'static>,
+ T::method(..): Send + 'static,
+{
+}
+
+fn test() {
+ let x: T::method(..);
+}