Skip to content

Trait Object Failed Check: Reached unstable vtable comparison 'Eq' #139

Answered by celinval
QinyuanWu asked this question in Q&A
Discussion options

You must be logged in to vote

Just to clarify, comparing wide pointers of trait objects is not a well defined operation, thus, in Kani we fail the verification. We could improve our handling by only rejecting cases where the data pointers are the same but the vtable pointers are not. I think that would cover this case.

The workaround would be something like this:

#[ensures(|(data_ptr, _)| self.as_ptr() as *const ())]

Replies: 1 comment 4 replies

Comment options

You must be logged in to vote
4 replies
@QinyuanWu
Comment options

@QinyuanWu
Comment options

@celinval
Comment options

Answer selected by celinval
@QinyuanWu
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants