<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/language-feature/modules/error-in-nested-import/error-in-nested-import.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-06-12T05:33:16+00:00</updated>
<entry>
<title>Fix intermittent debug failures with Debug build (#7369)</title>
<updated>2025-06-12T05:33:16+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2025-06-12T05:33:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=7dad68f869502e5c0ab32c12cbf8db866e020713'/>
<id>urn:sha1:7dad68f869502e5c0ab32c12cbf8db866e020713</id>
<content type='text'>
This PR replaces enable/disable style C function calls with C++ RAII style code.

In debug build, when an assertion failed in between enable and disable functions, an exception is thrown and the disable function is not called. RAII style code is safer for an exception</content>
</entry>
<entry>
<title>Disable 23 tests failing assertions (#7317)</title>
<updated>2025-06-04T01:41:26+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2025-06-04T01:41:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=7f6b683a623ee434e6c720b5bf6c298f389d4b82'/>
<id>urn:sha1:7f6b683a623ee434e6c720b5bf6c298f389d4b82</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Language server robustness fix. (#3607)</title>
<updated>2024-02-21T07:13:29+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-02-21T07:13:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=2e2c7943da89b0100db3bba4b11267b5a857ca92'/>
<id>urn:sha1:2e2c7943da89b0100db3bba4b11267b5a857ca92</id>
<content type='text'>
* Language server robustness fix.

* Allow parameter name to be the same as its type.

* fix

* Fix test.</content>
</entry>
<entry>
<title>Include a "stack trace" with nested-import errors (#1872)</title>
<updated>2021-06-06T16:27:19+00:00</updated>
<author>
<name>T. Foley</name>
<email>tfoleyNV@users.noreply.github.com</email>
</author>
<published>2021-06-06T16:27:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=688d5fa6eb2c7f5281e50ace1401737479911ebc'/>
<id>urn:sha1:688d5fa6eb2c7f5281e50ace1401737479911ebc</id>
<content type='text'>
* Include a "stack trace" with nested-import errors

When errors occur in nested `#include` files it is often helpful to have a "stack trace" / traceback of the `#include` chain that led from a root translation unit to the file with an error.

This change implements a similar feature for `import`s.

It is worth noting that `import`s don't really *require* this kind of compiler support the way `#include`s do because the intention is that the meaning of an `import`ed file does not depend on the order or nesting of `import`s. As such, when trying to *fix* an error in an `import`ed file, you usually don't care how it came to be `import`ed into your shaders.

The use case here is somebody adapting a large body of Slang code to use in a different codebase, such that they have certain `.slang` files they don't actually intend to have compile correctly, and they want to be able to diagnose how they came to include those files when/if they cause problems.

The actual feature implementation is pretty simple because we already track a stack of active `import`s so that we can detect and diagnose recursive `import`s. This change simply changes the disagnostics when there is an error in imported code so that instead of just noting the inner-most `import` site it lists all the `import` sites that were active at the time.

The change includes a test case to confirm that the behavior works (at least for the case of a parse error).

* fixup: test outputs

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;
Co-authored-by: jsmall-nvidia &lt;jsmall@nvidia.com&gt;</content>
</entry>
</feed>
