@@ -213,7 +213,8 @@ impl<T: fmt::UpperHex> fmt::UpperHex for Saturating<T> {
213
213
macro_rules! saturating_impl {
214
214
( $( $t: ty) * ) => ( $(
215
215
#[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
216
- impl Add for Saturating <$t> {
216
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ]
217
+ impl const Add for Saturating <$t> {
217
218
type Output = Saturating <$t>;
218
219
219
220
#[ inline]
@@ -222,30 +223,39 @@ macro_rules! saturating_impl {
222
223
}
223
224
}
224
225
forward_ref_binop! { impl Add , add for Saturating <$t>, Saturating <$t>,
225
- #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ] }
226
+ #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
227
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ] ,
228
+ const }
226
229
227
230
#[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
228
- impl AddAssign for Saturating <$t> {
231
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ]
232
+ impl const AddAssign for Saturating <$t> {
229
233
#[ inline]
230
234
fn add_assign( & mut self , other: Saturating <$t>) {
231
235
* self = * self + other;
232
236
}
233
237
}
234
238
forward_ref_op_assign! { impl AddAssign , add_assign for Saturating <$t>, Saturating <$t>,
235
- #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ] }
239
+ #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
240
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ] ,
241
+ const }
236
242
237
243
#[ stable( feature = "saturating_int_assign_impl" , since = "1.74.0" ) ]
238
- impl AddAssign <$t> for Saturating <$t> {
244
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ]
245
+ impl const AddAssign <$t> for Saturating <$t> {
239
246
#[ inline]
240
247
fn add_assign( & mut self , other: $t) {
241
248
* self = * self + Saturating ( other) ;
242
249
}
243
250
}
244
251
forward_ref_op_assign! { impl AddAssign , add_assign for Saturating <$t>, $t,
245
- #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ] }
252
+ #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
253
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ] ,
254
+ const }
246
255
247
256
#[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
248
- impl Sub for Saturating <$t> {
257
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ]
258
+ impl const Sub for Saturating <$t> {
249
259
type Output = Saturating <$t>;
250
260
251
261
#[ inline]
@@ -254,30 +264,39 @@ macro_rules! saturating_impl {
254
264
}
255
265
}
256
266
forward_ref_binop! { impl Sub , sub for Saturating <$t>, Saturating <$t>,
257
- #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ] }
267
+ #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
268
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ] ,
269
+ const }
258
270
259
271
#[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
260
- impl SubAssign for Saturating <$t> {
272
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ]
273
+ impl const SubAssign for Saturating <$t> {
261
274
#[ inline]
262
275
fn sub_assign( & mut self , other: Saturating <$t>) {
263
276
* self = * self - other;
264
277
}
265
278
}
266
279
forward_ref_op_assign! { impl SubAssign , sub_assign for Saturating <$t>, Saturating <$t>,
267
- #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ] }
280
+ #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
281
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ] ,
282
+ const }
268
283
269
284
#[ stable( feature = "saturating_int_assign_impl" , since = "1.74.0" ) ]
270
- impl SubAssign <$t> for Saturating <$t> {
285
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ]
286
+ impl const SubAssign <$t> for Saturating <$t> {
271
287
#[ inline]
272
288
fn sub_assign( & mut self , other: $t) {
273
289
* self = * self - Saturating ( other) ;
274
290
}
275
291
}
276
292
forward_ref_op_assign! { impl SubAssign , sub_assign for Saturating <$t>, $t,
277
- #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ] }
293
+ #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
294
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ] ,
295
+ const }
278
296
279
297
#[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
280
- impl Mul for Saturating <$t> {
298
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ]
299
+ impl const Mul for Saturating <$t> {
281
300
type Output = Saturating <$t>;
282
301
283
302
#[ inline]
@@ -286,27 +305,35 @@ macro_rules! saturating_impl {
286
305
}
287
306
}
288
307
forward_ref_binop! { impl Mul , mul for Saturating <$t>, Saturating <$t>,
289
- #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ] }
308
+ #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
309
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ] ,
310
+ const }
290
311
291
312
#[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
292
- impl MulAssign for Saturating <$t> {
313
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ]
314
+ impl const MulAssign for Saturating <$t> {
293
315
#[ inline]
294
316
fn mul_assign( & mut self , other: Saturating <$t>) {
295
317
* self = * self * other;
296
318
}
297
319
}
298
320
forward_ref_op_assign! { impl MulAssign , mul_assign for Saturating <$t>, Saturating <$t>,
299
- #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ] }
321
+ #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
322
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ] ,
323
+ const }
300
324
301
325
#[ stable( feature = "saturating_int_assign_impl" , since = "1.74.0" ) ]
302
- impl MulAssign <$t> for Saturating <$t> {
326
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ]
327
+ impl const MulAssign <$t> for Saturating <$t> {
303
328
#[ inline]
304
329
fn mul_assign( & mut self , other: $t) {
305
330
* self = * self * Saturating ( other) ;
306
331
}
307
332
}
308
333
forward_ref_op_assign! { impl MulAssign , mul_assign for Saturating <$t>, $t,
309
- #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ] }
334
+ #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
335
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ] ,
336
+ const }
310
337
311
338
/// # Examples
312
339
///
@@ -324,7 +351,8 @@ macro_rules! saturating_impl {
324
351
#[ doc = concat!( "let _ = Saturating(0" , stringify!( $t) , ") / Saturating(0);" ) ]
325
352
/// ```
326
353
#[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
327
- impl Div for Saturating <$t> {
354
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ]
355
+ impl const Div for Saturating <$t> {
328
356
type Output = Saturating <$t>;
329
357
330
358
#[ inline]
@@ -333,30 +361,39 @@ macro_rules! saturating_impl {
333
361
}
334
362
}
335
363
forward_ref_binop! { impl Div , div for Saturating <$t>, Saturating <$t>,
336
- #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ] }
364
+ #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
365
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ] ,
366
+ const }
337
367
338
368
#[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
339
- impl DivAssign for Saturating <$t> {
369
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ]
370
+ impl const DivAssign for Saturating <$t> {
340
371
#[ inline]
341
372
fn div_assign( & mut self , other: Saturating <$t>) {
342
373
* self = * self / other;
343
374
}
344
375
}
345
376
forward_ref_op_assign! { impl DivAssign , div_assign for Saturating <$t>, Saturating <$t>,
346
- #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ] }
377
+ #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
378
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ] ,
379
+ const }
347
380
348
381
#[ stable( feature = "saturating_int_assign_impl" , since = "1.74.0" ) ]
349
- impl DivAssign <$t> for Saturating <$t> {
382
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ]
383
+ impl const DivAssign <$t> for Saturating <$t> {
350
384
#[ inline]
351
385
fn div_assign( & mut self , other: $t) {
352
386
* self = * self / Saturating ( other) ;
353
387
}
354
388
}
355
389
forward_ref_op_assign! { impl DivAssign , div_assign for Saturating <$t>, $t,
356
- #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ] }
390
+ #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
391
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ] ,
392
+ const }
357
393
358
394
#[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
359
- impl Rem for Saturating <$t> {
395
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ]
396
+ impl const Rem for Saturating <$t> {
360
397
type Output = Saturating <$t>;
361
398
362
399
#[ inline]
@@ -365,27 +402,35 @@ macro_rules! saturating_impl {
365
402
}
366
403
}
367
404
forward_ref_binop! { impl Rem , rem for Saturating <$t>, Saturating <$t>,
368
- #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ] }
405
+ #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
406
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ] ,
407
+ const }
369
408
370
409
#[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
371
- impl RemAssign for Saturating <$t> {
410
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ]
411
+ impl const RemAssign for Saturating <$t> {
372
412
#[ inline]
373
413
fn rem_assign( & mut self , other: Saturating <$t>) {
374
414
* self = * self % other;
375
415
}
376
416
}
377
417
forward_ref_op_assign! { impl RemAssign , rem_assign for Saturating <$t>, Saturating <$t>,
378
- #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ] }
418
+ #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
419
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ] ,
420
+ const }
379
421
380
422
#[ stable( feature = "saturating_int_assign_impl" , since = "1.74.0" ) ]
381
- impl RemAssign <$t> for Saturating <$t> {
423
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ]
424
+ impl const RemAssign <$t> for Saturating <$t> {
382
425
#[ inline]
383
426
fn rem_assign( & mut self , other: $t) {
384
427
* self = * self % Saturating ( other) ;
385
428
}
386
429
}
387
430
forward_ref_op_assign! { impl RemAssign , rem_assign for Saturating <$t>, $t,
388
- #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ] }
431
+ #[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
432
+ #[ rustc_const_unstable( feature = "const_arith_ops" , issue = "143802" ) ] ,
433
+ const }
389
434
390
435
#[ stable( feature = "saturating_int_impl" , since = "1.74.0" ) ]
391
436
impl Not for Saturating <$t> {
0 commit comments