summaryrefslogtreecommitdiffstats
path: root/src/tools/rustfmt/tests/source/configs/indent_style
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:02:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:02:58 +0000
commit698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch)
tree173a775858bd501c378080a10dca74132f05bc50 /src/tools/rustfmt/tests/source/configs/indent_style
parentInitial commit. (diff)
downloadrustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz
rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/tools/rustfmt/tests/source/configs/indent_style')
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/block_args.rs26
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/block_array.rs6
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/block_call.rs133
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/block_chain.rs6
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/block_generic.rs6
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/block_struct_lit.rs6
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/block_trailing_comma_call/one.rs9
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/block_trailing_comma_call/two.rs9
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/block_where_pred.rs6
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/default.rs6
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/rfc_where.rs6
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/visual_args.rs32
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/visual_array.rs6
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/visual_call.rs6
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/visual_chain.rs6
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/visual_generics.rs6
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/visual_struct_lit.rs6
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/visual_trailing_comma.rs7
-rw-r--r--src/tools/rustfmt/tests/source/configs/indent_style/visual_where_pred.rs6
19 files changed, 294 insertions, 0 deletions
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/block_args.rs b/src/tools/rustfmt/tests/source/configs/indent_style/block_args.rs
new file mode 100644
index 000000000..4d2d280a1
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/block_args.rs
@@ -0,0 +1,26 @@
+// rustfmt-indent_style: Block
+// Function arguments layout
+
+fn lorem() {}
+
+fn lorem(ipsum: usize) {}
+
+fn lorem(ipsum: usize, dolor: usize, sit: usize, amet: usize, consectetur: usize, adipiscing: usize, elit: usize) {
+ // body
+}
+
+// #1441
+extern "system" {
+ pub fn GetConsoleHistoryInfo(console_history_info: *mut ConsoleHistoryInfo) -> Boooooooooooooool;
+}
+
+// rustfmt should not add trailing comma for variadic function. See #1623.
+extern "C" {
+ pub fn variadic_fn(first_parameter: FirstParameterType,
+ second_parameter: SecondParameterType,
+ ...);
+}
+
+// #1652
+fn deconstruct(foo: Bar) -> (SocketAddr, Header, Method, RequestUri, HttpVersion, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) {
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/block_array.rs b/src/tools/rustfmt/tests/source/configs/indent_style/block_array.rs
new file mode 100644
index 000000000..8404f65f4
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/block_array.rs
@@ -0,0 +1,6 @@
+// rustfmt-indent_style: Block
+// Array layout
+
+fn main() {
+ let lorem = vec!["ipsum","dolor","sit","amet","consectetur","adipiscing","elit"];
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/block_call.rs b/src/tools/rustfmt/tests/source/configs/indent_style/block_call.rs
new file mode 100644
index 000000000..c82b6b8e3
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/block_call.rs
@@ -0,0 +1,133 @@
+// rustfmt-indent_style: Block
+// Function call style
+
+fn main() {
+ lorem("lorem", "ipsum", "dolor", "sit", "amet", "consectetur", "adipiscing", "elit");
+ // #1501
+ let hyper = Arc::new(Client::with_connector(HttpsConnector::new(TlsClient::new())));
+
+ // chain
+ let x = yooooooooooooo.fooooooooooooooo.baaaaaaaaaaaaar(hello, world);
+
+ // #1380
+ {
+ {
+ let creds = self.client
+ .client_credentials(&self.config.auth.oauth2.id, &self.config.auth.oauth2.secret)?;
+ }
+ }
+
+ // nesting macro and function call
+ try!(foo(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx));
+ try!(foo(try!(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)));
+}
+
+// #1521
+impl Foo {
+ fn map_pixel_to_coords(&self, point: &Vector2i, view: &View) -> Vector2f {
+ unsafe {
+ Vector2f::from_raw(ffi::sfRenderTexture_mapPixelToCoords(self.render_texture, point.raw(), view.raw()))
+ }
+ }
+}
+
+fn issue1420() {
+ given(
+ r#"
+ # Getting started
+ ...
+ "#,
+ )
+ .running(waltz)
+}
+
+// #1563
+fn query(conn: &Connection) -> Result<()> {
+ conn.query_row(
+ r#"
+ SELECT title, date
+ FROM posts,
+ WHERE DATE(date) = $1
+ "#,
+ &[],
+ |row| {
+ Post {
+ title: row.get(0),
+ date: row.get(1),
+ }
+ },
+ )?;
+
+ Ok(())
+}
+
+// #1449
+fn future_rayon_wait_1_thread() {
+ // run with only 1 worker thread; this would deadlock if we couldn't make progress
+ let mut result = None;
+ ThreadPool::new(Configuration::new().num_threads(1))
+ .unwrap()
+ .install(
+ || {
+ scope(
+ |s| {
+ use std::sync::mpsc::channel;
+ let (tx, rx) = channel();
+ let a = s.spawn_future(lazy(move || Ok::<usize, ()>(rx.recv().unwrap())));
+ // ^^^^ FIXME: why is this needed?
+ let b = s.spawn_future(a.map(|v| v + 1));
+ let c = s.spawn_future(b.map(|v| v + 1));
+ s.spawn(move |_| tx.send(20).unwrap());
+ result = Some(c.rayon_wait().unwrap());
+ },
+ );
+ },
+ );
+ assert_eq!(result, Some(22));
+}
+
+// #1494
+impl Cursor {
+ fn foo() {
+ self.cur_type()
+ .num_template_args()
+ .or_else(|| {
+ let n: c_int = unsafe { clang_Cursor_getNumTemplateArguments(self.x) };
+
+ if n >= 0 {
+ Some(n as u32)
+ } else {
+ debug_assert_eq!(n, -1);
+ None
+ }
+ })
+ .or_else(|| {
+ let canonical = self.canonical();
+ if canonical != *self {
+ canonical.num_template_args()
+ } else {
+ None
+ }
+ });
+ }
+}
+
+fn issue1581() {
+ bootstrap.checks.register(
+ "PERSISTED_LOCATIONS",
+ move || if locations2.0.inner_mut.lock().poisoned {
+ Check::new(
+ State::Error,
+ "Persisted location storage is poisoned due to a write failure",
+ )
+ } else {
+ Check::new(State::Healthy, "Persisted location storage is healthy")
+ },
+ );
+}
+
+fn issue1651() {
+ {
+ let type_list: Vec<_> = try_opt!(types.iter().map(|ty| ty.rewrite(context, shape)).collect());
+ }
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/block_chain.rs b/src/tools/rustfmt/tests/source/configs/indent_style/block_chain.rs
new file mode 100644
index 000000000..41d914691
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/block_chain.rs
@@ -0,0 +1,6 @@
+// rustfmt-indent_style: Block
+// Chain indent
+
+fn main() {
+ let lorem = ipsum.dolor().sit().amet().consectetur().adipiscing().elite();
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/block_generic.rs b/src/tools/rustfmt/tests/source/configs/indent_style/block_generic.rs
new file mode 100644
index 000000000..2cf17be56
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/block_generic.rs
@@ -0,0 +1,6 @@
+// rustfmt-indent_style: Block
+// Generics indent
+
+fn lorem<Ipsum: Eq = usize, Dolor: Eq = usize, Sit: Eq = usize, Amet: Eq = usize, Adipiscing: Eq = usize, Consectetur: Eq = usize, Elit: Eq = usize>(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet, adipiscing: Adipiscing, consectetur: Consectetur, elit: Elit) -> T {
+ // body
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/block_struct_lit.rs b/src/tools/rustfmt/tests/source/configs/indent_style/block_struct_lit.rs
new file mode 100644
index 000000000..47a6994f4
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/block_struct_lit.rs
@@ -0,0 +1,6 @@
+// rustfmt-indent_style: Block
+// Struct literal-style
+
+fn main() {
+ let lorem = Lorem { ipsum: dolor, sit: amet };
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/block_trailing_comma_call/one.rs b/src/tools/rustfmt/tests/source/configs/indent_style/block_trailing_comma_call/one.rs
new file mode 100644
index 000000000..6d48ea742
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/block_trailing_comma_call/one.rs
@@ -0,0 +1,9 @@
+// rustfmt-version: One
+// rustfmt-error_on_line_overflow: false
+// rustfmt-indent_style: Block
+
+// rustfmt should not add trailing comma when rewriting macro. See #1528.
+fn a() {
+ panic!("this is a long string that goes past the maximum line length causing rustfmt to insert a comma here:");
+ foo(a, oooptoptoptoptptooptoptoptoptptooptoptoptoptptoptoptoptoptpt());
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/block_trailing_comma_call/two.rs b/src/tools/rustfmt/tests/source/configs/indent_style/block_trailing_comma_call/two.rs
new file mode 100644
index 000000000..7a62d722c
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/block_trailing_comma_call/two.rs
@@ -0,0 +1,9 @@
+// rustfmt-version: Two
+// rustfmt-error_on_line_overflow: false
+// rustfmt-indent_style: Block
+
+// rustfmt should not add trailing comma when rewriting macro. See #1528.
+fn a() {
+ panic!("this is a long string that goes past the maximum line length causing rustfmt to insert a comma here:");
+ foo(a, oooptoptoptoptptooptoptoptoptptooptoptoptoptptoptoptoptoptpt());
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/block_where_pred.rs b/src/tools/rustfmt/tests/source/configs/indent_style/block_where_pred.rs
new file mode 100644
index 000000000..450491f02
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/block_where_pred.rs
@@ -0,0 +1,6 @@
+// rustfmt-indent_style: Block
+// Where predicate indent
+
+fn lorem<Ipsum, Dolor, Sit, Amet>() -> T where Ipsum: Eq, Dolor: Eq, Sit: Eq, Amet: Eq {
+ // body
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/default.rs b/src/tools/rustfmt/tests/source/configs/indent_style/default.rs
new file mode 100644
index 000000000..f08f5c644
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/default.rs
@@ -0,0 +1,6 @@
+// rustfmt-indent_style: Visual
+// Where style
+
+fn lorem<Ipsum, Dolor, Sit, Amet>() -> T where Ipsum: Eq, Dolor: Eq, Sit: Eq, Amet: Eq {
+ // body
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/rfc_where.rs b/src/tools/rustfmt/tests/source/configs/indent_style/rfc_where.rs
new file mode 100644
index 000000000..012840be2
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/rfc_where.rs
@@ -0,0 +1,6 @@
+// rustfmt-indent_style: Block
+// Where style
+
+fn lorem<Ipsum, Dolor, Sit, Amet>() -> T where Ipsum: Eq, Dolor: Eq, Sit: Eq, Amet: Eq {
+ // body
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/visual_args.rs b/src/tools/rustfmt/tests/source/configs/indent_style/visual_args.rs
new file mode 100644
index 000000000..5aa28a62b
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/visual_args.rs
@@ -0,0 +1,32 @@
+// rustfmt-indent_style: Visual
+// Function arguments layout
+
+fn lorem() {}
+
+fn lorem(ipsum: usize) {}
+
+fn lorem(ipsum: usize, dolor: usize, sit: usize, amet: usize, consectetur: usize, adipiscing: usize, elit: usize) {
+ // body
+}
+
+// #1922
+extern "C" {
+ pub fn LAPACKE_csytrs_rook_work(matrix_layout: c_int,
+ uplo: c_char,
+ n: lapack_int,
+ nrhs: lapack_int,
+ a: *const lapack_complex_float,
+ lda: lapack_int, ipiv: *const lapack_int,
+ b: *mut lapack_complex_float,
+ ldb: lapack_int
+ )-> lapack_int;
+
+ pub fn LAPACKE_csytrs_rook_work(matrix_layout: c_int,
+ uplo: c_char,
+ n: lapack_int,
+ nrhs: lapack_int,
+ lda: lapack_int, ipiv: *const lapack_int,
+ b: *mut lapack_complex_float,
+ ldb: lapack_int
+ ) -> lapack_int;
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/visual_array.rs b/src/tools/rustfmt/tests/source/configs/indent_style/visual_array.rs
new file mode 100644
index 000000000..05bbf00b1
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/visual_array.rs
@@ -0,0 +1,6 @@
+// rustfmt-indent_style: Visual
+// Array layout
+
+fn main() {
+ let lorem = vec!["ipsum","dolor","sit","amet","consectetur","adipiscing","elit"];
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/visual_call.rs b/src/tools/rustfmt/tests/source/configs/indent_style/visual_call.rs
new file mode 100644
index 000000000..9a679d6bb
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/visual_call.rs
@@ -0,0 +1,6 @@
+// rustfmt-indent_style: Visual
+// Function call style
+
+fn main() {
+ lorem("lorem", "ipsum", "dolor", "sit", "amet", "consectetur", "adipiscing", "elit");
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/visual_chain.rs b/src/tools/rustfmt/tests/source/configs/indent_style/visual_chain.rs
new file mode 100644
index 000000000..b74948753
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/visual_chain.rs
@@ -0,0 +1,6 @@
+// rustfmt-indent_style: Visual
+// Chain indent
+
+fn main() {
+ let lorem = ipsum.dolor().sit().amet().consectetur().adipiscing().elite();
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/visual_generics.rs b/src/tools/rustfmt/tests/source/configs/indent_style/visual_generics.rs
new file mode 100644
index 000000000..1f910d32d
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/visual_generics.rs
@@ -0,0 +1,6 @@
+// rustfmt-indent_style: Visual
+// Generics indent
+
+fn lorem<Ipsum: Eq = usize, Dolor: Eq = usize, Sit: Eq = usize, Amet: Eq = usize, Adipiscing: Eq = usize, Consectetur: Eq = usize, Elit: Eq = usize>(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet, adipiscing: Adipiscing, consectetur: Consectetur, elit: Elit) -> T {
+ // body
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/visual_struct_lit.rs b/src/tools/rustfmt/tests/source/configs/indent_style/visual_struct_lit.rs
new file mode 100644
index 000000000..45538e704
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/visual_struct_lit.rs
@@ -0,0 +1,6 @@
+// rustfmt-indent_style: Visual
+// Struct literal-style
+
+fn main() {
+ let lorem = Lorem { ipsum: dolor, sit: amet };
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/visual_trailing_comma.rs b/src/tools/rustfmt/tests/source/configs/indent_style/visual_trailing_comma.rs
new file mode 100644
index 000000000..9738d397d
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/visual_trailing_comma.rs
@@ -0,0 +1,7 @@
+// rustfmt-error_on_line_overflow: false
+// rustfmt-indent_style: Visual
+
+// rustfmt should not add trailing comma when rewriting macro. See #1528.
+fn a() {
+ panic!("this is a long string that goes past the maximum line length causing rustfmt to insert a comma here:");
+}
diff --git a/src/tools/rustfmt/tests/source/configs/indent_style/visual_where_pred.rs b/src/tools/rustfmt/tests/source/configs/indent_style/visual_where_pred.rs
new file mode 100644
index 000000000..055806b68
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/indent_style/visual_where_pred.rs
@@ -0,0 +1,6 @@
+// rustfmt-indent_style: Visual
+// Where predicate indent
+
+fn lorem<Ipsum, Dolor, Sit, Amet>() -> T where Ipsum: Eq, Dolor: Eq, Sit: Eq, Amet: Eq {
+ // body
+}