<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/language-feature/extensions, branch master</title>
<subtitle>Making it easier to work with shaders</subtitle>
<id>https://git.yummers.dev/slang.git/atom?h=master</id>
<link rel='self' href='https://git.yummers.dev/slang.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/'/>
<updated>2025-08-04T03:35:08+00:00</updated>
<entry>
<title>fix overload in extension issue (#7999)</title>
<updated>2025-08-04T03:35:08+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2025-08-04T03:35:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=34840bb69fd6b124e772535ffb3f223743870467'/>
<id>urn:sha1:34840bb69fd6b124e772535ffb3f223743870467</id>
<content type='text'>
close #7931.

For a generic callable, we have two passes overload resolution, in first pass, we will resolve
the generic by only checking the generic parameters, while in the second pass, we will resolve
the function signature to resolve the overload.

But in our candidate comparison logic, we pick a preferred generic even two generics are equally
good. However, we should not make this decision in the first pass, because we don't know about
the function arguments in this pass yet. So we just return OverloadEpxr2 in this case, and let the
function overload resolution to break the tie.</content>
</entry>
<entry>
<title>Ensure generic constraints are checked before inner extension. (#7685)</title>
<updated>2025-07-11T04:14:16+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2025-07-11T04:14:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=90c34e3db4fdc7be79c62bd91905a2a84bbd673e'/>
<id>urn:sha1:90c34e3db4fdc7be79c62bd91905a2a84bbd673e</id>
<content type='text'>
* Ensure generic constraints are checked before inner extension.

* Add warning for non-standard generic extension.

* Fix tests.

* Fix test.

* Ban interface types from equality constraints.

* Fix.</content>
</entry>
<entry>
<title>Fix `extension` incorrectly interacting with `equality` and `type-coercion` constraints (#7578)</title>
<updated>2025-07-09T00:18:02+00:00</updated>
<author>
<name>ArielG-NV</name>
<email>159081215+ArielG-NV@users.noreply.github.com</email>
</author>
<published>2025-07-09T00:18:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=e036c7f38e3b8b1f0b0e0ac1b4ef22fc6f16963b'/>
<id>urn:sha1:e036c7f38e3b8b1f0b0e0ac1b4ef22fc6f16963b</id>
<content type='text'>
* fix problem

* cleanup comment

* format code

* make change more restrictive

* format code

* push logic update

* format code

* push test fix

* make test more general

---------

Co-authored-by: slangbot &lt;186143334+slangbot@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Fix an issue in extension override. (#7402)</title>
<updated>2025-06-11T19:12:53+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2025-06-11T19:12:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=45560483447dd737a63efc236b2be07fd0fc4347'/>
<id>urn:sha1:45560483447dd737a63efc236b2be07fd0fc4347</id>
<content type='text'>
* Fix an issue in extension override.

* Fix typo in comment.</content>
</entry>
<entry>
<title>Fixed name mangling of generic extensions (#6671)</title>
<updated>2025-05-09T19:34:08+00:00</updated>
<author>
<name>Ronan</name>
<email>ro.cailleau@gmail.com</email>
</author>
<published>2025-05-09T19:34:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=dbf05f8dca79d7bb166038652d968554d486c9fd'/>
<id>urn:sha1:dbf05f8dca79d7bb166038652d968554d486c9fd</id>
<content type='text'>
* Fixed name mangling of generic extensions

* Added tests for generic extensions linking.

- Disabled bugs/gh-6331.slang since it now triggers an assertion error revealed by the new version of the mangler.

* Re-enabled test gh-6331 (fixed by a5efbb1b775afb2f6b29b37d39947c41744bb005)

---------

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>Feature/initialize list side branch (#6058)</title>
<updated>2025-02-05T18:37:03+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2025-02-05T18:37:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=9ec6b91686b651d959fd9ffbec283845bd725dd6'/>
<id>urn:sha1:9ec6b91686b651d959fd9ffbec283845bd725dd6</id>
<content type='text'>
* SP004: implement initialize list translation to ctor

- We synthesize a member-wise constructor for each struct follow
   the rules described in SP004.
- Add logic to translate the initialize list to constructor invoke
- Add cuda-host decoration for the synthesized constructor
- Remove the default constructor when we have a valid member init constructor
- Disable -zero-initialize option, will re-implement it in followup (#6109).
- Fix the overload lookup issue
    When creating invoke expression for ctor, we need to call
    ResolveInvoke() to find us the best candidates, however
    the existing lookup logic could find us the base constructor
    for child struct, we should eliminate this case by providing
    the LookupOptions::IgnoreInheritance to lookup, this requires
    us to create a subcontext on SemanticsVisitor to indicate that
    we only want to use this option on looking the constructor.
- Do not implicit initialize a struct that doesn't have explicit default
   constructor.

Co-authored-by: slangbot &lt;186143334+slangbot@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Fix extension override behavior, and disallow extension on interface types. (#4977)</title>
<updated>2024-09-04T20:25:37+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-09-04T20:25:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=ddd29057e48a5b309726750e3daf78bfd073038e'/>
<id>urn:sha1:ddd29057e48a5b309726750e3daf78bfd073038e</id>
<content type='text'>
* Add a test to ensure extension does not override existing conformance.

* Fix doc.

* Update documentation.

* Fix doc.

* Add diagnostic test.</content>
</entry>
<entry>
<title>Support extension on generic type. (#4968)</title>
<updated>2024-08-30T23:32:34+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-08-30T23:32:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=24df5515d6c2f8537683d0e48d27a161c394e7cd'/>
<id>urn:sha1:24df5515d6c2f8537683d0e48d27a161c394e7cd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>enable more metal tests (#4326)</title>
<updated>2024-06-10T20:28:36+00:00</updated>
<author>
<name>skallweitNV</name>
<email>64953474+skallweitNV@users.noreply.github.com</email>
</author>
<published>2024-06-10T20:28:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=712ce653d4c3d7284dd71389f31540d0da7f144e'/>
<id>urn:sha1:712ce653d4c3d7284dd71389f31540d0da7f144e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Metal compute tests (#4292)</title>
<updated>2024-06-07T07:28:16+00:00</updated>
<author>
<name>skallweitNV</name>
<email>64953474+skallweitNV@users.noreply.github.com</email>
</author>
<published>2024-06-07T07:28:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=004fe27a52b7952111ad7e749397aeff499de7ed'/>
<id>urn:sha1:004fe27a52b7952111ad7e749397aeff499de7ed</id>
<content type='text'>
</content>
</entry>
</feed>
