[Webkit-unassigned] [Bug 176707] New: WSL IntLiteralType should become int32 if unified with a type variable

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Sep 11 10:08:52 PDT 2017


https://bugs.webkit.org/show_bug.cgi?id=176707

            Bug ID: 176707
           Summary: WSL IntLiteralType should become int32 if unified with
                    a type variable
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: All
                OS: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebGPU
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: fpizlo at apple.com

This requires two changes:

- TypeVariable in parameter position needs to be happy about being unified with an IntLiteralType.  It probably already is.
- IntLiteralType in argument position needs to be happy with being unified with a TypeVariable or with itself.  In either case, it needs to just become an int32.

Tricky case: if IntLiteralType is unified with a TypeVariable, it needs to check that this type variable is in parameter position.  Otherwise it means this:

void foo<U>(U, U);
void bar<T>(T x) { foo(42, x); } 

Here, 42 will get unified with T.  This is invalid.  If T is the root of the equivalence set then we need to rely on 42's argument position validation to observe that it got unified with a TypeVariable in argument position, which means constraint failure.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20170911/8aee0875/attachment-0001.html>


More information about the webkit-unassigned mailing list