@@ -1496,7 +1496,7 @@ fn type_kind(cx: ctxt, ty: t) -> kind {
1496
1496
ty_nil | ty_bot | ty_bool | ty_int( _) | ty_uint( _) | ty_float( _) |
1497
1497
ty_ptr( _) { kind_implicitly_sendable( ) | kind_const( ) }
1498
1498
// Implicit copyability of strs is configurable
1499
- ty_str {
1499
+ ty_str | ty_estr ( vstore_uniq ) {
1500
1500
if cx. vecs_implicitly_copyable {
1501
1501
kind_implicitly_sendable( ) | kind_const( )
1502
1502
} else { kind_sendable( ) | kind_const( ) }
@@ -1526,7 +1526,7 @@ fn type_kind(cx: ctxt, ty: t) -> kind {
1526
1526
remove_implicit( mutable_type_kind( cx, tm) )
1527
1527
}
1528
1528
// Implicit copyability of vecs is configurable
1529
- ty_vec( tm) {
1529
+ ty_vec( tm) | ty_evec ( tm , vstore_uniq ) {
1530
1530
if cx. vecs_implicitly_copyable {
1531
1531
mutable_type_kind( cx, tm)
1532
1532
} else { remove_implicit( mutable_type_kind( cx, tm) ) }
@@ -1544,17 +1544,13 @@ fn type_kind(cx: ctxt, ty: t) -> kind {
1544
1544
kind_implicitly_copyable( )
1545
1545
}
1546
1546
}
1547
- ty_evec( tm, vstore_uniq) {
1548
- remove_implicit( mutable_type_kind( cx, tm) )
1549
- }
1550
1547
ty_evec( tm, vstore_fixed( _) ) {
1551
1548
mutable_type_kind( cx, tm)
1552
1549
}
1553
1550
1554
1551
// All estrs are copyable; uniques and interiors are sendable.
1555
1552
ty_estr( vstore_box) |
1556
1553
ty_estr( vstore_slice( _) ) { kind_implicitly_copyable( ) | kind_const( ) }
1557
- ty_estr( vstore_uniq) { kind_sendable( ) | kind_const( ) }
1558
1554
ty_estr( vstore_fixed( _) ) { kind_implicitly_sendable( ) | kind_const( ) }
1559
1555
1560
1556
// Records lower to the lowest of their members.
0 commit comments