]> git.proxmox.com Git - rustc.git/blobdiff - src/tools/rustfmt/tests/target/const_generics.rs
New upstream version 1.52.1+dfsg1
[rustc.git] / src / tools / rustfmt / tests / target / const_generics.rs
diff --git a/src/tools/rustfmt/tests/target/const_generics.rs b/src/tools/rustfmt/tests/target/const_generics.rs
new file mode 100644 (file)
index 0000000..b30b7b5
--- /dev/null
@@ -0,0 +1,37 @@
+struct Message {
+    field2: Vec<"MessageEntity">,
+    field3: Vec<1>,
+    field4: Vec<2, 3>,
+}
+
+struct RectangularArray<T, const WIDTH: usize, const HEIGHT: usize> {
+    array: [[T; WIDTH]; HEIGHT],
+}
+
+fn main() {
+    const X: usize = 7;
+    let x: RectangularArray<i32, 2, 4>;
+    let y: RectangularArray<i32, X, { 2 * 2 }>;
+}
+
+fn foo<const X: usize>() {
+    const Y: usize = X * 2;
+    static Z: (usize, usize) = (X, X);
+
+    struct Foo([i32; X]);
+}
+
+type Foo<const N: usize> = [i32; N + 1];
+
+pub trait Foo: Bar<{ Baz::COUNT }> {
+    const ASD: usize;
+}
+
+// #4263
+fn const_generics_on_params<
+    // AAAA
+    const BBBB: usize,
+    /* CCCC */
+    const DDDD: usize,
+>() {
+}