! RUN: %python %S/test_errors.py %s %flang_fc1 ! "Same type" checking for intrinsic assignment module m1 type :: nonSeqType integer :: n1 end type type :: seqType sequence integer :: n2 end type type, bind(c) :: bindCType integer :: n3 end type end module program test use m1, modNonSeqType => nonSeqType, modSeqType => seqType, modBindCType => bindCType type :: nonSeqType integer :: n1 end type type :: seqType sequence integer :: n2 end type type, bind(c) :: bindCType integer :: n3 end type type(modNonSeqType) :: mns1, mns2 type(modSeqType) :: ms1, ms2 type(modBindCType) :: mb1, mb2 type(nonSeqType) :: ns1, ns2 type(seqType) :: s1, s2 type(bindCType) :: b1, b2 ! These are trivially ok mns1 = mns2 ms1 = ms2 mb1 = mb2 ns1 = ns2 s1 = s2 b1 = b2 ! These are ok per 7.5.2.4 ms1 = s1 mb1 = b1 !ERROR: No intrinsic or user-defined ASSIGNMENT(=) matches operand types TYPE(modnonseqtype) and TYPE(nonseqtype) mns1 = ns1 !ERROR: No intrinsic or user-defined ASSIGNMENT(=) matches operand types TYPE(nonseqtype) and TYPE(modnonseqtype) ns1 = mns1 end