Enet4 / dicom-rs

Rust implementation of the DICOM standard
https://dicom-rs.github.io
Apache License 2.0
402 stars 75 forks source link

Can't set_transfer_syntax in some cases #409

Closed Enet4 closed 3 months ago

Enet4 commented 10 months ago

This code won't work in v0.6:

obj.meta_mut().set_transfer_syntax(&dicom_transfer_syntax_registry::entries::IMPLICIT_VR_LITTLE_ENDIAN);

This is because the setter is only generic over 2 of the 3 type parameters in TransferSyntax (they were redesigned in #361).

The user needs to type-erase the transfer syntax explicitly.

obj.meta_mut().set_transfer_syntax(&dicom_transfer_syntax_registry::entries::IMPLICIT_VR_LITTLE_ENDIAN.erased());

Unfortunately, it is considered a breaking change to update this now, considering that there may be method calls with a turbo fish to specify these type parameters.