Skip to content

Conversation

@aleksamilisavljevic
Copy link
Contributor

Closes #316

@anyzelman anyzelman added the bug Something isn't working label Oct 17, 2025
@anyzelman anyzelman added this to the v0.8 milestone Oct 17, 2025
Copy link
Member

@anyzelman anyzelman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks almost correct, but also looks like there are some changes to existing unit tests that seem erroneously pushed here and should be reverted prior to merge. Should also scan if one of the changes actually tested for the case raised in the issue.

bool ret = assigned;
// check whether we should return the inverted value
if( descriptor & descriptors::invert_mask ) {
if( ( descriptor & descriptors::structural_complement ) == descriptors::structural_complement ) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is almost correct -- mask inversion should also still be in here.

Copy link
Collaborator

@GiovaGa GiovaGa Nov 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a bit weird, since structural_complement is defined as structural | invert_mask.

Using only the invert_mask descriptor with a void mask can only mean a structural_complement.
So only checking invert_mask should be enough, since structural is the only possible interpretation of a void mask (we have no value)

If this reasoning is correct, I would say that the change should be reverted and we're fine

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree

@GiovaGa
Copy link
Collaborator

GiovaGa commented Nov 25, 2025

Looks almost correct, but also looks like there are some changes to existing unit tests that seem erroneously pushed here and should be reverted prior to merge. Should also scan if one of the changes actually tested for the case raised in the issue.

The changes in the unit tests have all something to do with masks. I think they are wrong tests that expected the old wrong behavior of masking

I will try to revert them and run them, just to be sure

@GiovaGa
Copy link
Collaborator

GiovaGa commented Nov 25, 2025

I can confirm that the changes in the tests are due to the change in behavior of masking fixed in this commit

@anyzelman
Copy link
Member

I can confirm that the changes in the tests are due to the change in behavior of masking fixed in this commit

to make sure though - is that with our without the change from structural_complement to invert_mask?

@GiovaGa
Copy link
Collaborator

GiovaGa commented Nov 25, 2025

I tested with the original code, so with structural_complement. I have now changed to just check invert_mask and I will run the tests on the internal pipeline

@GiovaGa
Copy link
Collaborator

GiovaGa commented Nov 25, 2025

The failed CI seems to be an issue with github. Compiles fine locally and on GitLab. I will retry to build tomorrow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

invert_mask descriptor inverts return value to true for unassigned elements

4 participants