File tree 1 file changed +6
-17
lines changed
1 file changed +6
-17
lines changed Original file line number Diff line number Diff line change @@ -158,36 +158,25 @@ impl &Sem<~[mut Waitqueue]> {
158
158
159
159
// FIXME(#3588) should go inside of access()
160
160
#[ doc( hidden) ]
161
- struct SemRelease {
162
- sem : & Sem < ( ) > ,
163
- }
161
+ type SemRelease = SemReleaseGeneric < ( ) > ;
162
+ type SemAndSignalRelease = SemReleaseGeneric < ~ [ mut Waitqueue ] > ;
163
+ struct SemReleaseGeneric < Q : Send > { sem : & Sem < Q > }
164
164
165
- impl SemRelease : Drop {
165
+ impl < Q : Send > SemReleaseGeneric < Q > : Drop {
166
166
fn finalize ( & self ) {
167
167
self . sem . release ( ) ;
168
168
}
169
169
}
170
170
171
171
fn SemRelease ( sem : & r/Sem < ( ) > ) -> SemRelease /& r {
172
- SemRelease {
172
+ SemReleaseGeneric {
173
173
sem : sem
174
174
}
175
175
}
176
176
177
- #[ doc( hidden) ]
178
- struct SemAndSignalRelease {
179
- sem : & Sem < ~[ mut Waitqueue ] > ,
180
- }
181
-
182
- impl SemAndSignalRelease : Drop {
183
- fn finalize ( & self ) {
184
- self . sem . release ( ) ;
185
- }
186
- }
187
-
188
177
fn SemAndSignalRelease ( sem : & r/Sem < ~[ mut Waitqueue ] > )
189
178
-> SemAndSignalRelease /& r {
190
- SemAndSignalRelease {
179
+ SemReleaseGeneric {
191
180
sem : sem
192
181
}
193
182
}
You can’t perform that action at this time.
0 commit comments