mod common;
#[test]
fn multiple_static_args() {
common::verify_both(
r#"int intfn();
int fnReturnsOne() { return 1; }
int fnReturnsTwo() { return 2; }
int fnTemplate(intfn cb1, intfn cb2) { return cb1() + cb2(); }
void main() {
fnTemplate(fnReturnsOne, fnReturnsTwo);
}"#,
r#"int fnReturnsOne() { return 1; }
int fnReturnsTwo() { return 2; }
int _glslt_fnTemplate_0() { return fnReturnsOne() + fnReturnsTwo(); }
void main() {
_glslt_fnTemplate_0();
}"#,
"main",
);
}
#[test]
fn multiple_lambdas() {
common::verify_both(
r#"int intfn();
int fnTemplate(intfn cb1, intfn cb2) { return cb1() + cb2(); }
void main() {
fnTemplate(1, 2);
}"#,
r#"int _glslt_fnTemplate_0() { return 1 + 2; }
void main() {
_glslt_fnTemplate_0();
}"#,
"main",
);
}