Equals and Hash
This page discusses the operator==
(equals) and hashCode
of the automatically generated Dart class.
Default
The default for non-freezed
classes is field-by-field comparison.
You can use #[frb(non_hash, non_eq)]
to disable such generated code.
The default for freezed
classes: Usually field-by-field comparison (see freezed
's doc for more details).
Custom (arbitrary)
Arbitrary equals/hash function can also be implemented by using the extra Dart code
feature.
For example, #[frb(dart_code = "int get hashCode { arbitrary_code_calling_whatever_Rust_and_Dart_things }")]
.