yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Yong HeFix crash when private ctor is used for coercion. (#7858)52a45890b

master
902 B43 linesraw
1//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK):
2
3struct MyType
4{
5    private int member;
6    private int func()
7    {
8        return member;
9    }
10    struct SubType
11    {
12        int member2;
13        int func2(MyType m)
14        {
15            return m.member + member2; // OK.
16        }
17    }
18    int func1() { return member; }
19
20    private __init() { member = 0; }
21    
22    private __subscript(int i)->int
23    {
24        get { return member; }
25        set { member = newValue; }
26    }
27    // CHECK:{{.*}}([[# @LINE+1]]): error 30601:
28    public void publicMethod() {} // ERROR.
29}
30
31void test()
32{
33    MyType t; // should leave uninitialized.
34    // CHECK-NOT:{{.*}}error
35    t.func1(); // OK.
36    // CHECK:{{.*}}([[# @LINE+1]]): error 30600:
37    t.func(); // ERROR.
38    // CHECK:{{.*}}([[# @LINE+1]]): error 30600:
39    t[0] = 1; // ERROR.
40
41    // CHECK:{{.*}}([[# @LINE+1]]): error 30600:
42    t.member = 2;
43}