Dandandan commented on code in PR #23430:
URL: https://github.com/apache/datafusion/pull/23430#discussion_r3555119381
##########
datafusion/physical-expr/src/partitioning.rs:
##########
Review Comment:
Codex explanation:
```
• Needed specifically for Rust 1.97:
> Rust 1.97 changed the internal MarkerEq implementation from impl<T: Eq>
to impl<T: ?Sized + Eq>, so it now applies to dyn PhysicalExpr. This enables
Arc’s pointer-equality shortcut for Arc<dyn PhysicalExpr>. Because
UnKnownColumn deliberately compares unequal even to itself,
> reusing the same Arc incorrectly returned Exact instead of NotSatisfied.
Comparing as_ref() forces the underlying PhysicalExpr equality implementation.
The test passes on Rust 1.96 and fails on 1.97 without this change.
See the MarkerEq change
(https://github.com/rust-lang/rust/blob/1.97.0/library/alloc/src/rc.rs#L2613-L2618)
and Arc identity shortcut
(https://github.com/rust-lang/rust/blob/1.97.0/library/alloc/src/sync.rs#L3540-L3550).
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]