summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gdc.test/compilable/testsctreturn.d
blob: 7826cd4894d2aed152d5fadb8f942d9976914877 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* REQUIRED_ARGS: -preview=dip1000
 * This case winds up calling buildScopeRef() with stc having only STC.return_ set.
 */

struct PackedPtrImpl(size_t bits)
{
pure nothrow:
    this(inout(size_t)* ptr) inout @safe @nogc
    {
        origin = ptr;
    }
    size_t* origin;
}

void test()
{
    size_t* p;
    const ppi = const(PackedPtrImpl!(3))(p);
}

/************************************************/

// issues.dlang.org/show_bug.cgi?id=22541

struct S
{
    int i;
    int* ptr;

    int* wannabeReturnRef() scope return
    {
        return &i;
    }
}