<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/initializer-list, 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-09-02T23:43:48+00:00</updated>
<entry>
<title>render-test: Change D3D12 default to sm_6_5 (#8320)</title>
<updated>2025-09-02T23:43:48+00:00</updated>
<author>
<name>James Helferty (NVIDIA)</name>
<email>jhelferty@nvidia.com</email>
</author>
<published>2025-09-02T23:43:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=f02b08490aa905f42a8d90381db84b1f8e409c0c'/>
<id>urn:sha1:f02b08490aa905f42a8d90381db84b1f8e409c0c</id>
<content type='text'>
Changes default for render-test to sm_6_5.
Since sm_6_5 is the new default, remove the -use-dxil option, add
-use-dxcb option
Remove -use-dxil option from all test cases.
Add -use-dxcb to two tests that needed it.

Fixes #7611</content>
</entry>
<entry>
<title>Diagnose on use of struct inheritance. (#7419)</title>
<updated>2025-06-12T14:57:42+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2025-06-12T14:57:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=4ae6e9d8b7790d827ca9edd729ad94f38a0c73de'/>
<id>urn:sha1:4ae6e9d8b7790d827ca9edd729ad94f38a0c73de</id>
<content type='text'>
* Diagnose on use of struct inheritance.

* fix test.

* Fix tests.

* fix.

---------

Co-authored-by: ArielG-NV &lt;159081215+ArielG-NV@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Make interface types non c-style in Slang2026. (#7260)</title>
<updated>2025-06-04T20:05:58+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2025-06-04T20:05:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=812e478989e27983b8dea7ab11964de751654ba2'/>
<id>urn:sha1:812e478989e27983b8dea7ab11964de751654ba2</id>
<content type='text'>
* Make interface types non c-style.

* Make Optional&lt;T&gt; work with autodiff and existential types.

* Fix.

* patch behind slang 2026.

* Fix warnings.

* cleanup.

* Fix tests.

* Fix.

* Fix com interface lowering.

* Add comment to test.

* regenerate command line reference

* Add test for passing `none` to autodiff function.

* Fix recording of `getDynamicObjectRTTIBytes`.

* Fix nested Optional types.

---------

Co-authored-by: slangbot &lt;186143334+slangbot@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Implement default initializer list for C-Style type member (#7079)</title>
<updated>2025-05-23T02:29:06+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2025-05-23T02:29:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=3072cfea95aad2a9ddab0f517c8f18f634442a27'/>
<id>urn:sha1:3072cfea95aad2a9ddab0f517c8f18f634442a27</id>
<content type='text'>
* Implement default initializer list for C-Style type member

Close #6189.

Previsouly, for the C-Style member in a struct, if it doesn't have any initialize
expression, when we synthesize the ctor, we will not associate the
default value for the parameter corresponding to that member.

This bring some trouble that existing slang users has to add '= {}' to
every struct fields in order to make all the parameters in the synthesized ctor having
a default value, so people can still use `Struct a = {}` to create a
struct.

To make this use case convenience, we will automatically associated a
'= {}' as the default value for this case.

This PR also add support for empty initializing link-time sized vector/matrix by "= {}".
In addition, this PR also fix a bug in auto diff where we should not report error when proccessing
transpose on an empty struct.

</content>
</entry>
<entry>
<title>Implement C++ style default member initializer (#7087)</title>
<updated>2025-05-15T17:00:50+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2025-05-15T17:00:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=d961f4438ef865028d289148d22e0fb5c0d8319a'/>
<id>urn:sha1:d961f4438ef865028d289148d22e0fb5c0d8319a</id>
<content type='text'>
close #7069.

We just insert the assignment expression to the beginning of the user-defined ctor, where the assignee is the member with init expression.</content>
</entry>
<entry>
<title>Support Array Sizes using Generic arguments to be initialized via {} (#6720)</title>
<updated>2025-05-13T05:39:23+00:00</updated>
<author>
<name>Sruthik P</name>
<email>spatibandlla@nvidia.com</email>
</author>
<published>2025-05-13T05:39:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=6c262bc5c9a364cd8c6a4026dbb9f8034c500f11'/>
<id>urn:sha1:6c262bc5c9a364cd8c6a4026dbb9f8034c500f11</id>
<content type='text'>
* Add support for Array Sizes using Generic arguments to be initialized via {}

Fixes one subissue of #6138

This change adds support for initializing Arrays with Generic size arguments via {}
and adds a test to verify it.

The change checks for an array whose size parameter is a GenericParamIntVal
and since the size of such an array will be known at link time, is not considered
as a case of the size not being known statically.

* Add support for Array Sizes using Generic arguments to be initialized via {}

Fixes one subissue of #6138.
Fixes the issue #6958.

This change adds support for initializing Arrays with Generic size arguments via {}
and adds a test to verify it.

Support is added by means of adding a new AST Expr node that lowers down to the IR MakeArrayFromElement
and the emission of a diagnostic is replaced with the creation of this new AST Expr node.

* format code

---------

Co-authored-by: slangbot &lt;186143334+slangbot@users.noreply.github.com&gt;
Co-authored-by: Ellie Hermaszewska &lt;ellieh@nvidia.com&gt;</content>
</entry>
<entry>
<title>Fix a bug in default ctor synthesizing (#6527)</title>
<updated>2025-03-07T04:38:28+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2025-03-07T04:38:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=e1952dc8cf8f5b62d00ce114e353c5390cc6c37a'/>
<id>urn:sha1:e1952dc8cf8f5b62d00ce114e353c5390cc6c37a</id>
<content type='text'>
* Fix a bug in default ctor synthesizing

- This is fix for the implementation bug, when a struct has explicit ctor
  we should not synthesize the default ctor anymore.

- When invoke the synthesized ctor converted from initializer list, we should
  check if the struct is a c-style type if it struct has no synthesized ctor. In this
  case we should report error because it's invalid to use initializer list here.

- The only exception is the unsized array, we still have to fall back to use the
  legacy initializer list logic to initialize the unsized array until we formalize a
  proper solution.

- update test.</content>
</entry>
<entry>
<title>Allow tuples to work with initializer list. (#6301)</title>
<updated>2025-02-06T06:35:36+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2025-02-06T06:35:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=6b63ff0265ee9bdb8229bb12c71c223c00de0ffa'/>
<id>urn:sha1:6b63ff0265ee9bdb8229bb12c71c223c00de0ffa</id>
<content type='text'>
* Allow tuples to work with initiailizer list.

* Update definition of C-Style types.</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>
</feed>
