Skip to content

Commit d4d1108

Browse files
committed
add tests
1 parent c3d52b4 commit d4d1108

File tree

2 files changed

+52
-1
lines changed

2 files changed

+52
-1
lines changed

tests/test/generators.rs

+8-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ fn generator_test() {
3232
witnesses exists<'a, 'b> [SendAnyLifetime<'a, 'b, T>; u8]
3333
}
3434

35-
3635
generator not_send_resume_yield<>[resume = NotSend, yield = NotSend] {
3736
upvars []
3837
witnesses []
@@ -85,5 +84,13 @@ fn generator_test() {
8584
} yields {
8685
"Unique; substitution [], lifetime constraints []"
8786
}
87+
88+
goal {
89+
forall<T> {
90+
send_any_lifetime<T>: Send
91+
}
92+
} yields {
93+
"No possible solution"
94+
}
8895
}
8996
}

tests/test/unpin.rs

+44
Original file line numberDiff line numberDiff line change
@@ -84,3 +84,47 @@ fn unpin_overwrite() {
8484
}
8585
}
8686
}
87+
88+
#[test]
89+
fn generator_unpin() {
90+
test! {
91+
program {
92+
#[auto] #[lang(unpin)] trait Unpin { }
93+
struct A { }
94+
impl !Unpin for A {}
95+
96+
generator static static_gen<>[resume = (), yield = ()] {
97+
upvars []
98+
witnesses []
99+
}
100+
101+
generator movable_gen<>[resume = (), yield = ()] {
102+
upvars []
103+
witnesses []
104+
}
105+
106+
generator movable_with_pin<>[resume = (), yield = ()] {
107+
upvars [A]
108+
witnesses []
109+
}
110+
}
111+
112+
goal {
113+
static_gen: Unpin
114+
} yields {
115+
"No possible solution"
116+
}
117+
118+
goal {
119+
movable_gen: Unpin
120+
} yields {
121+
"Unique"
122+
}
123+
124+
goal {
125+
movable_with_pin: Unpin
126+
} yields {
127+
"Unique"
128+
}
129+
}
130+
}

0 commit comments

Comments
 (0)