<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/initializer-list/explicit-ctor-diagnostic.slang, 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-03-07T04:38:28+00:00</updated>
<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>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>
