yum-mirror/slang

Making it easier to work with shaders

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

Tim FoleyFix front-end handling of generic static methods (#1319)cbdee1b18

master
559 B30 linesraw
1// generic-static-method.slang
2
3// Confirm that the compiler can handle a generic
4// `static` method declaration and call.
5
6//TEST:SIMPLE:
7
8interface IFrobnicator
9{
10    float frobnicate(float value);
11}
12
13struct Doubler : IFrobnicator
14{
15    float frobnicate(float value) { return 2.0f * value; }
16}
17
18struct FrobnicateHelpers
19{
20    static float doubleFrobnicate<F : IFrobnicator>(F f, float value)
21    {
22        return f.frobnicate(f.frobnicate(value));
23    }
24}
25
26float test(float value)
27{
28    Doubler d;
29    return FrobnicateHelpers.doubleFrobnicate(d, value);
30}