Skip to content

Commit 5b15fbb

Browse files
committed
Add rules for get<0> and get<1>
1 parent 4d95373 commit 5b15fbb

3 files changed

Lines changed: 48 additions & 0 deletions

File tree

‎rules/pair/src.cpp‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,19 @@ template <typename T1, typename T2> const T2 &f15(const std::pair<T1, T2> &a0) {
4848
template <typename T1, typename T2> const T1 &f16(const std::pair<T1, T2> &a0) {
4949
return a0.first;
5050
}
51+
52+
template <typename T1, typename T2> T1 &f17(std::pair<T1, T2> &a0) {
53+
return std::get<0>(a0);
54+
}
55+
56+
template <typename T1, typename T2> T2 &f18(std::pair<T1, T2> &a0) {
57+
return std::get<1>(a0);
58+
}
59+
60+
template <typename T1, typename T2> const T1 &f19(const std::pair<T1, T2> &a0) {
61+
return std::get<0>(a0);
62+
}
63+
64+
template <typename T1, typename T2> const T2 &f20(const std::pair<T1, T2> &a0) {
65+
return std::get<1>(a0);
66+
}

‎rules/pair/tgt_refcount.rs‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,19 @@ fn f15<T1, T2>(a0: (Value<T1>, Value<T2>)) -> Value<T2> {
6868
fn f16<T1, T2>(a0: (Value<T1>, Value<T2>)) -> Value<T1> {
6969
a0.0
7070
}
71+
72+
fn f17<T1, T2>(a0: (Value<T1>, Value<T2>)) -> Value<T1> {
73+
a0.0
74+
}
75+
76+
fn f18<T1, T2>(a0: (Value<T1>, Value<T2>)) -> Value<T2> {
77+
a0.1
78+
}
79+
80+
fn f19<T1, T2>(a0: (Value<T1>, Value<T2>)) -> Value<T1> {
81+
a0.0
82+
}
83+
84+
fn f20<T1, T2>(a0: (Value<T1>, Value<T2>)) -> Value<T2> {
85+
a0.1
86+
}

‎rules/pair/tgt_unsafe.rs‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,19 @@ unsafe fn f15<T1, T2>(a0: (T1, T2)) -> T2 {
3737
unsafe fn f16<T1, T2>(a0: (T1, T2)) -> T1 {
3838
a0.0
3939
}
40+
41+
unsafe fn f17<T1, T2>(a0: (T1, T2)) -> T1 {
42+
a0.0
43+
}
44+
45+
unsafe fn f18<T1, T2>(a0: (T1, T2)) -> T2 {
46+
a0.1
47+
}
48+
49+
unsafe fn f19<T1, T2>(a0: (T1, T2)) -> T1 {
50+
a0.0
51+
}
52+
53+
unsafe fn f20<T1, T2>(a0: (T1, T2)) -> T2 {
54+
a0.1
55+
}

0 commit comments

Comments
 (0)