Skip to content

Commit 169a896

Browse files
authored
Merge pull request #322 from image-rs/deprecate-big-rational-types
Deprecate unofficial value types
2 parents 923df5f + 082a35a commit 169a896

File tree

1 file changed

+22
-8
lines changed

1 file changed

+22
-8
lines changed

src/decoder/ifd.rs

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ use crate::tags::{IfdPointer, Tag, Type};
1010
use crate::{TiffError, TiffFormatError, TiffResult};
1111

1212
use self::Value::{
13-
Ascii, Byte, Double, Float, Ifd, IfdBig, List, Rational, RationalBig, SRational, SRationalBig,
14-
Short, Signed, SignedBig, SignedByte, SignedShort, Unsigned, UnsignedBig,
13+
Ascii, Byte, Double, Float, Ifd, IfdBig, List, Rational, SRational, Short, Signed, SignedBig,
14+
SignedByte, SignedShort, Unsigned, UnsignedBig,
1515
};
1616

1717
#[allow(unused_qualifications)]
@@ -30,8 +30,16 @@ pub enum Value {
3030
Double(f64),
3131
List(Vec<Value>),
3232
Rational(u32, u32),
33+
#[deprecated(
34+
note = "Not implemented in BigTIFF with a standard tag value",
35+
since = "0.11.1"
36+
)]
3337
RationalBig(u64, u64),
3438
SRational(i32, i32),
39+
#[deprecated(
40+
note = "Not implemented in BigTIFF with a standard tag value",
41+
since = "0.11.1"
42+
)]
3543
SRationalBig(i64, i64),
3644
Ascii(String),
3745
Ifd(u32),
@@ -170,7 +178,8 @@ impl Value {
170178
Unsigned(val) => Ok(vec![val]),
171179
UnsignedBig(val) => Ok(vec![u32::try_from(val)?]),
172180
Rational(numerator, denominator) => Ok(vec![numerator, denominator]),
173-
RationalBig(numerator, denominator) => {
181+
#[expect(deprecated)]
182+
Value::RationalBig(numerator, denominator) => {
174183
Ok(vec![u32::try_from(numerator)?, u32::try_from(denominator)?])
175184
}
176185
Ifd(val) => Ok(vec![val]),
@@ -220,7 +229,8 @@ impl Value {
220229
new_vec.push(numerator);
221230
new_vec.push(denominator);
222231
}
223-
SRationalBig(numerator, denominator) => {
232+
#[expect(deprecated)]
233+
Value::SRationalBig(numerator, denominator) => {
224234
new_vec.push(i32::try_from(numerator)?);
225235
new_vec.push(i32::try_from(denominator)?);
226236
}
@@ -234,7 +244,8 @@ impl Value {
234244
Signed(val) => Ok(vec![val]),
235245
SignedBig(val) => Ok(vec![i32::try_from(val)?]),
236246
SRational(numerator, denominator) => Ok(vec![numerator, denominator]),
237-
SRationalBig(numerator, denominator) => {
247+
#[expect(deprecated)]
248+
Value::SRationalBig(numerator, denominator) => {
238249
Ok(vec![i32::try_from(numerator)?, i32::try_from(denominator)?])
239250
}
240251
_ => Err(TiffError::FormatError(TiffFormatError::InvalidTypeForTag)),
@@ -283,7 +294,8 @@ impl Value {
283294
Unsigned(val) => Ok(vec![val.into()]),
284295
UnsignedBig(val) => Ok(vec![val]),
285296
Rational(numerator, denominator) => Ok(vec![numerator.into(), denominator.into()]),
286-
RationalBig(numerator, denominator) => Ok(vec![numerator, denominator]),
297+
#[expect(deprecated)]
298+
Value::RationalBig(numerator, denominator) => Ok(vec![numerator, denominator]),
287299
Ifd(val) => Ok(vec![val.into()]),
288300
IfdBig(val) => Ok(vec![val]),
289301
Ascii(val) => Ok(val.chars().map(u32::from).map(u64::from).collect()),
@@ -301,7 +313,8 @@ impl Value {
301313
new_vec.push(numerator.into());
302314
new_vec.push(denominator.into());
303315
}
304-
SRationalBig(numerator, denominator) => {
316+
#[expect(deprecated)]
317+
Value::SRationalBig(numerator, denominator) => {
305318
new_vec.push(numerator);
306319
new_vec.push(denominator);
307320
}
@@ -315,7 +328,8 @@ impl Value {
315328
Signed(val) => Ok(vec![val.into()]),
316329
SignedBig(val) => Ok(vec![val]),
317330
SRational(numerator, denominator) => Ok(vec![numerator.into(), denominator.into()]),
318-
SRationalBig(numerator, denominator) => Ok(vec![numerator, denominator]),
331+
#[expect(deprecated)]
332+
Value::SRationalBig(numerator, denominator) => Ok(vec![numerator, denominator]),
319333
_ => Err(TiffError::FormatError(TiffFormatError::InvalidTypeForTag)),
320334
}
321335
}

0 commit comments

Comments
 (0)