We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent dc6d9ed commit 4dd462dCopy full SHA for 4dd462d
tests/codegen/issues/issue-110797-enum-jump-same.rs
@@ -0,0 +1,27 @@
1
+//@ compile-flags: -O
2
+// XXX: The x86-64 assembly get optimized correclty. But llvm-ir output is not until llvm 18?
3
+//@ min-llvm-version: 18
4
+
5
+#![crate_type = "lib"]
6
7
+pub enum K{
8
+ A(Box<[i32]>),
9
+ B(Box<[u8]>),
10
+ C(Box<[String]>),
11
+ D(Box<[u16]>),
12
+}
13
14
+#[no_mangle]
15
+// CHECK-LABEL: @get_len
16
+// CHECK: getelementptr inbounds
17
+// CHECK-NEXT: load
18
+// CHECK-NEXT: ret i64
19
+// CHECK-NOT: switch
20
+pub fn get_len(arg: &K)->usize{
21
+ match arg {
22
+ K::A(ref lst)=>lst.len(),
23
+ K::B(ref lst)=>lst.len(),
24
+ K::C(ref lst)=>lst.len(),
25
+ K::D(ref lst)=>lst.len(),
26
+ }
27
0 commit comments