Hi Paul, First your patch has been committed with wrong entry: 65667 instead of 65677.
Second, I suspect it is responsible of the following ICE: % gfc pr72755.f90 -fno-range-check pr72755.f90:1485:0: 1485 | this%buffer = transfer( c(start:iend), this%buffer ) | internal compiler error: in gfc_dep_resolver, at fortran/dependency.c:2257 and % gfc pr64125_db.f90 pr64125_db.f90:20:0: 20 | left%chars = transfer( right, left%chars ) | internal compiler error: in gfc_dep_resolver, at fortran/dependency.c:2257 for module test type t_string private character(len=:), allocatable :: chars end type t_string contains pure subroutine string_assign_from_array( left, right ) ! The target string type(t_string), intent(out) :: left ! The source string character, dimension(:), intent(in) :: right ! Copy memory allocate( character(len=size(right)) :: left%chars ) left%chars = transfer( right, left%chars ) end subroutine string_assign_from_array end module test Cheers, Dominique