1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

checker: obey [ref_only] tag, allow embedding in other ref struct (#8707)

This commit is contained in:
Uwe Krüger
2021-02-13 00:47:37 +01:00
committed by GitHub
parent aa548f45ea
commit 40066a5daa
12 changed files with 161 additions and 15 deletions

View File

@ -31,10 +31,12 @@ fn C.pthread_cond_timedwait(voidptr, voidptr, voidptr) int
fn C.pthread_cond_destroy(voidptr) int
// [init_with=new_mutex] // TODO: implement support for this struct attribute, and disallow Mutex{} from outside the sync.new_mutex() function.
[ref_only]
pub struct Mutex {
mutex C.pthread_mutex_t
}
[ref_only]
pub struct RwMutex {
mutex C.pthread_rwlock_t
}
@ -49,6 +51,7 @@ struct CondAttr {
/* MacOSX has no unnamed semaphores and no `timed_wait()` at all
so we emulate the behaviour with other devices */
[ref_only]
struct Semaphore {
mtx C.pthread_mutex_t
cond C.pthread_cond_t