1! { dg-do compile }
2!
3! PR fortran/51948
4!
5  type :: t
6  end type t
7contains
8  function func(x, y)
9    class(t) :: y
10    type(t), allocatable :: func
11    type(t), allocatable :: x
12
13    select type (y)
14      type is(t)
15        call move_alloc (x, func)
16    end select
17  end function
18
19  function func2(x, y)
20    class(t) :: y
21    class(t), allocatable :: func2
22    class(t), allocatable :: x
23
24    block
25    block
26    select type (y)
27      type is(t)
28        call move_alloc (x, func2)
29    end select
30    end block
31    end block
32  end function
33end
34