<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/diagnostics/interfaces, 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-07-24T07:47:26+00:00</updated>
<entry>
<title>Fix confusing error messages for interface return type mismatches (#7854)</title>
<updated>2025-07-24T07:47:26+00:00</updated>
<author>
<name>Copilot</name>
<email>198982749+Copilot@users.noreply.github.com</email>
</author>
<published>2025-07-24T07:47:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=2d23a962766a97cbb11bcee5483a66aec923da49'/>
<id>urn:sha1:2d23a962766a97cbb11bcee5483a66aec923da49</id>
<content type='text'>
* Initial plan

* Add improved diagnostic for interface return type mismatches

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Complete fix for interface return type mismatch error reporting

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Move diagnostic to synthesis phase for better interface return type mismatch errors

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Remove extraneous test file and update .gitignore

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Add diagnostic test for interface return type mismatch and apply formatting

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Address feedback: restore whitespace and use filecheck for diagnostic test

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Fix logic error in return type mismatch detection

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Remove unnecessary flag by using out parameter for diagnostic tracking

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Refactor witness synthesis failure reporting to use structured approach

Replace ad-hoc `outSpecificDiagnosticEmitted` parameter with `WitnessSynthesisFailureReason` enum and `MethodWitnessSynthesisFailureDetails` struct as requested in code review. This provides:

- Clear taxonomy of failure reasons (General, MethodResultTypeMismatch, MethodParameterMismatch)
- Centralized diagnostic emission in findWitnessForInterfaceRequirement
- Better extensibility for future failure types
- Improved maintainability by removing state tracking flags

The return type mismatch diagnostic continues to work correctly, showing error 38106 with precise location information.

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Remove unused MethodParameterMismatch enum and duplicate code

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Remove redundant requiredMethod field from MethodWitnessSynthesisFailureDetails

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Address feedback: add outFailureDetails guard and remove unnecessary hasReturnTypeError variable

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Fix regression: restore original diagnostic message for mutating method mismatch

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Fix.

* Fix.

* Remove `innerSink`.

* Print candidates considered  for interface match upon error.

* Fix tests.

---------

Co-authored-by: copilot-swe-agent[bot] &lt;198982749+Copilot@users.noreply.github.com&gt;
Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;
Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>LanguageServer: Enhance auto completion for override. (#7465)</title>
<updated>2025-06-18T04:36:10+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2025-06-18T04:36:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=4d517794eaac7dfe6196e9a36d709d66c5720492'/>
<id>urn:sha1:4d517794eaac7dfe6196e9a36d709d66c5720492</id>
<content type='text'>
* Add additional completion keywords.

* LanguageServer: Enhance auto completion for `override`.</content>
</entry>
<entry>
<title>Allow partial specialization of existential arguments. (#6487)</title>
<updated>2025-03-01T06:46:56+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2025-03-01T06:46:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=dd9d24d29c4a9e05a4510eb9959fafa0ed36618b'/>
<id>urn:sha1:dd9d24d29c4a9e05a4510eb9959fafa0ed36618b</id>
<content type='text'>
* Allow partial specialization of existential arguments.

* Fix.

* Add test case for improved diagnostics.

* Fix compile error.

* Fix tests.

* Fix.

* Fix test.

* Fix compile issue.

* Fix typo.

* Address comment.</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>Check mismatching method parameter direction against interface declaration. (#5964)</title>
<updated>2024-12-31T07:39:07+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-12-31T07:39:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=cc1b96d91d8875bf727079d58fbf78af1135f505'/>
<id>urn:sha1:cc1b96d91d8875bf727079d58fbf78af1135f505</id>
<content type='text'>
</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>Warnings function parameters (#4626)</title>
<updated>2024-07-16T21:54:53+00:00</updated>
<author>
<name>venkataram-nv</name>
<email>vedavamadath@nvidia.com</email>
</author>
<published>2024-07-16T21:54:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=05547e25353dd797791c2937679468d529d832d5'/>
<id>urn:sha1:05547e25353dd797791c2937679468d529d832d5</id>
<content type='text'>
* Handle out/inout functions with separate consideration

* Fixing bug with passing aliasable instructions

* Handle autodiff functions (fwd and rev) in warning system

* Handling interface methods

* Handling ref parameters like out/inout

* Temporary fix to remaining bugs

* Refactoring methods and tests

* Recursive check for empty structs

* Using default initializable interface in tests

* Resolving CI fail</content>
</entry>
<entry>
<title>Fix ICE when lowering an associatedtype declref from an derived interface. (#3312)</title>
<updated>2023-11-06T22:40:38+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-11-06T22:40:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=46529df2c4f73a4655bdd79d48004f29374a99a8'/>
<id>urn:sha1:46529df2c4f73a4655bdd79d48004f29374a99a8</id>
<content type='text'>
* Fix ICE when lowering an associatedtype declref from an derived interface.

* Fixes.

* Fix test.

* Fix GLSL/SPIRV image subscript swizzle store regression.

* Fix.

---------

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>Fix erroneous error claiming variable is being used before its declaration (#2958)</title>
<updated>2023-07-06T19:52:00+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2023-07-06T19:52:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=cdfea42f1b28c6ec7b13500a64be823f67bf8e0a'/>
<id>urn:sha1:cdfea42f1b28c6ec7b13500a64be823f67bf8e0a</id>
<content type='text'>
* Simplify type of diagnoseImpl

* Show source line for Note diagnostics, opting out of this where appropriate

* Make declared after use diagnostic clearer

* Fix erroneous error claiming variable is being used before its declaration

Closes https://github.com/shader-slang/slang/issues/2936

* Fix build on msvc

---------

Co-authored-by: jsmall-nvidia &lt;jsmall@nvidia.com&gt;</content>
</entry>
<entry>
<title>More control flow simplifications. (#2673)</title>
<updated>2023-02-24T18:01:47+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-02-24T18:01:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=bd6306cdaa4a49344658bd026721b6532e103d09'/>
<id>urn:sha1:bd6306cdaa4a49344658bd026721b6532e103d09</id>
<content type='text'>
* More control flow and Phi param simplifications.

* Fix.

* Fix gcc error.

* Fix.

* More IR cleanup.

* Fix bug in phi param dce + ifelse simplify.

* Propagate and DCE side-effect-free functions.

* Enhance CFG simplifcation to remove loops with no side effects.

* Fix.

* Fixes.

* Fix tests. Add [__AlwaysFoldIntoUseSite] for rayPayloadLocation.

* More cleanup.

* Fixes.

* Fix.

---------

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
</feed>
