@@ -446,12 +446,8 @@ pub fn get_column_type(column_type: &ColumnType) -> CassDataType {
446
446
CassDataType :: new ( inner)
447
447
}
448
448
449
- // Changed return type to const ptr - ArcFFI::into_ptr is const.
450
- // It's probably not a good idea - but cppdriver doesn't guarantee
451
- // thread safety apart from CassSession and CassFuture.
452
- // This comment also applies to other functions that create CassDataType.
453
449
#[ no_mangle]
454
- pub unsafe extern "C" fn cass_data_type_new ( value_type : CassValueType ) -> * const CassDataType {
450
+ pub unsafe extern "C" fn cass_data_type_new ( value_type : CassValueType ) -> * mut CassDataType {
455
451
let inner = match value_type {
456
452
CassValueType :: CASS_VALUE_TYPE_LIST => CassDataTypeInner :: List {
457
453
typ : None ,
@@ -472,29 +468,29 @@ pub unsafe extern "C" fn cass_data_type_new(value_type: CassValueType) -> *const
472
468
t if t < CassValueType :: CASS_VALUE_TYPE_LAST_ENTRY => CassDataTypeInner :: Value ( t) ,
473
469
_ => return ptr:: null_mut ( ) ,
474
470
} ;
475
- ArcFFI :: into_ptr ( CassDataType :: new_arced ( inner) )
471
+ ArcFFI :: into_ptr ( CassDataType :: new_arced ( inner) ) as * mut _
476
472
}
477
473
478
474
#[ no_mangle]
479
475
pub unsafe extern "C" fn cass_data_type_new_from_existing (
480
476
data_type : * const CassDataType ,
481
- ) -> * const CassDataType {
477
+ ) -> * mut CassDataType {
482
478
let data_type = ArcFFI :: as_ref ( data_type) ;
483
- ArcFFI :: into_ptr ( CassDataType :: new_arced ( data_type. get_unchecked ( ) . clone ( ) ) )
479
+ ArcFFI :: into_ptr ( CassDataType :: new_arced ( data_type. get_unchecked ( ) . clone ( ) ) ) as * mut _
484
480
}
485
481
486
482
#[ no_mangle]
487
- pub unsafe extern "C" fn cass_data_type_new_tuple ( item_count : size_t ) -> * const CassDataType {
483
+ pub unsafe extern "C" fn cass_data_type_new_tuple ( item_count : size_t ) -> * mut CassDataType {
488
484
ArcFFI :: into_ptr ( CassDataType :: new_arced ( CassDataTypeInner :: Tuple (
489
485
Vec :: with_capacity ( item_count as usize ) ,
490
- ) ) )
486
+ ) ) ) as * mut _
491
487
}
492
488
493
489
#[ no_mangle]
494
- pub unsafe extern "C" fn cass_data_type_new_udt ( field_count : size_t ) -> * const CassDataType {
490
+ pub unsafe extern "C" fn cass_data_type_new_udt ( field_count : size_t ) -> * mut CassDataType {
495
491
ArcFFI :: into_ptr ( CassDataType :: new_arced ( CassDataTypeInner :: UDT (
496
492
UDTDataType :: with_capacity ( field_count as usize ) ,
497
- ) ) )
493
+ ) ) ) as * mut _
498
494
}
499
495
500
496
#[ no_mangle]
@@ -540,15 +536,15 @@ pub unsafe extern "C" fn cass_data_type_type_name(
540
536
541
537
#[ no_mangle]
542
538
pub unsafe extern "C" fn cass_data_type_set_type_name (
543
- data_type : * const CassDataType ,
539
+ data_type : * mut CassDataType ,
544
540
type_name : * const c_char ,
545
541
) -> CassError {
546
542
cass_data_type_set_type_name_n ( data_type, type_name, strlen ( type_name) )
547
543
}
548
544
549
545
#[ no_mangle]
550
546
pub unsafe extern "C" fn cass_data_type_set_type_name_n (
551
- data_type_raw : * const CassDataType ,
547
+ data_type_raw : * mut CassDataType ,
552
548
type_name : * const c_char ,
553
549
type_name_length : size_t ,
554
550
) -> CassError {
@@ -584,15 +580,15 @@ pub unsafe extern "C" fn cass_data_type_keyspace(
584
580
585
581
#[ no_mangle]
586
582
pub unsafe extern "C" fn cass_data_type_set_keyspace (
587
- data_type : * const CassDataType ,
583
+ data_type : * mut CassDataType ,
588
584
keyspace : * const c_char ,
589
585
) -> CassError {
590
586
cass_data_type_set_keyspace_n ( data_type, keyspace, strlen ( keyspace) )
591
587
}
592
588
593
589
#[ no_mangle]
594
590
pub unsafe extern "C" fn cass_data_type_set_keyspace_n (
595
- data_type : * const CassDataType ,
591
+ data_type : * mut CassDataType ,
596
592
keyspace : * const c_char ,
597
593
keyspace_length : size_t ,
598
594
) -> CassError {
@@ -628,15 +624,15 @@ pub unsafe extern "C" fn cass_data_type_class_name(
628
624
629
625
#[ no_mangle]
630
626
pub unsafe extern "C" fn cass_data_type_set_class_name (
631
- data_type : * const CassDataType ,
627
+ data_type : * mut CassDataType ,
632
628
class_name : * const :: std:: os:: raw:: c_char ,
633
629
) -> CassError {
634
630
cass_data_type_set_class_name_n ( data_type, class_name, strlen ( class_name) )
635
631
}
636
632
637
633
#[ no_mangle]
638
634
pub unsafe extern "C" fn cass_data_type_set_class_name_n (
639
- data_type : * const CassDataType ,
635
+ data_type : * mut CassDataType ,
640
636
class_name : * const :: std:: os:: raw:: c_char ,
641
637
class_name_length : size_t ,
642
638
) -> CassError {
@@ -740,7 +736,7 @@ pub unsafe extern "C" fn cass_data_type_sub_type_name(
740
736
741
737
#[ no_mangle]
742
738
pub unsafe extern "C" fn cass_data_type_add_sub_type (
743
- data_type : * const CassDataType ,
739
+ data_type : * mut CassDataType ,
744
740
sub_data_type : * const CassDataType ,
745
741
) -> CassError {
746
742
let data_type = ArcFFI :: as_ref ( data_type) ;
@@ -755,7 +751,7 @@ pub unsafe extern "C" fn cass_data_type_add_sub_type(
755
751
756
752
#[ no_mangle]
757
753
pub unsafe extern "C" fn cass_data_type_add_sub_type_by_name (
758
- data_type : * const CassDataType ,
754
+ data_type : * mut CassDataType ,
759
755
name : * const c_char ,
760
756
sub_data_type : * const CassDataType ,
761
757
) -> CassError {
@@ -764,7 +760,7 @@ pub unsafe extern "C" fn cass_data_type_add_sub_type_by_name(
764
760
765
761
#[ no_mangle]
766
762
pub unsafe extern "C" fn cass_data_type_add_sub_type_by_name_n (
767
- data_type_raw : * const CassDataType ,
763
+ data_type_raw : * mut CassDataType ,
768
764
name : * const c_char ,
769
765
name_length : size_t ,
770
766
sub_data_type_raw : * const CassDataType ,
@@ -786,7 +782,7 @@ pub unsafe extern "C" fn cass_data_type_add_sub_type_by_name_n(
786
782
787
783
#[ no_mangle]
788
784
pub unsafe extern "C" fn cass_data_type_add_sub_value_type (
789
- data_type : * const CassDataType ,
785
+ data_type : * mut CassDataType ,
790
786
sub_value_type : CassValueType ,
791
787
) -> CassError {
792
788
let sub_data_type = CassDataType :: new_arced ( CassDataTypeInner :: Value ( sub_value_type) ) ;
@@ -795,7 +791,7 @@ pub unsafe extern "C" fn cass_data_type_add_sub_value_type(
795
791
796
792
#[ no_mangle]
797
793
pub unsafe extern "C" fn cass_data_type_add_sub_value_type_by_name (
798
- data_type : * const CassDataType ,
794
+ data_type : * mut CassDataType ,
799
795
name : * const c_char ,
800
796
sub_value_type : CassValueType ,
801
797
) -> CassError {
@@ -805,7 +801,7 @@ pub unsafe extern "C" fn cass_data_type_add_sub_value_type_by_name(
805
801
806
802
#[ no_mangle]
807
803
pub unsafe extern "C" fn cass_data_type_add_sub_value_type_by_name_n (
808
- data_type : * const CassDataType ,
804
+ data_type : * mut CassDataType ,
809
805
name : * const c_char ,
810
806
name_length : size_t ,
811
807
sub_value_type : CassValueType ,
0 commit comments