// Code generated by convertFourslash; DO NOT EDIT.
// To modify this test, run "npm run makemanual genericCombinatorWithConstraints1"

package fourslash_test

import (
	"testing"

	"github.com/microsoft/typescript-go/internal/fourslash"
	"github.com/microsoft/typescript-go/internal/testutil"
)

func TestGenericCombinatorWithConstraints1(t *testing.T) {
	fourslash.SkipIfFailing(t)
	t.Parallel()
	defer testutil.RecoverAndFail(t, "Panic on fourslash test")
	const content = `function apply<T, U extends Date>(source: T[], selector: (x: T) => U) {
    var /*1*/xs = source.map(selector); // any[]
    var /*2*/xs2 = source.map((x: T, a, b): U => { return null }); // any[] 
}`
	f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content)
	defer done()
	f.VerifyQuickInfoAt(t, "1", "(local var) xs: U[]", "")
	f.VerifyQuickInfoAt(t, "2", "(local var) xs2: U[]", "")
}
