<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/diagnostics/implicit-cast-lvalue.slang.expected, 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-30T02:26:52+00:00</updated>
<entry>
<title>Fix ICE when immutable value is passed to a bwd_diff function. (#7973)</title>
<updated>2025-07-30T02:26:52+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2025-07-30T02:26:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=b8663a5d93e6e73d5e2d7e737cffd1efac055719'/>
<id>urn:sha1:b8663a5d93e6e73d5e2d7e737cffd1efac055719</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Emit additional diagnostic for invalid pointer taking operations (#7663)</title>
<updated>2025-07-15T23:39:22+00:00</updated>
<author>
<name>Gangzheng Tong</name>
<email>tonggangzheng@gmail.com</email>
</author>
<published>2025-07-15T23:39:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=21a66267c661a55c8ad27248c0765276dd6f72ea'/>
<id>urn:sha1:21a66267c661a55c8ad27248c0765276dd6f72ea</id>
<content type='text'>
* Emit special diagnostic for invalid pointer taking operations

* Update source/slang/slang-diagnostic-defs.h

Co-authored-by: ArielG-NV &lt;159081215+ArielG-NV@users.noreply.github.com&gt;

* Add OperatorAddressOf KnownBuiltin modifier

* update error message for non-l-value assignment

* update the diagnostics in the tests

* Use enum based KnownBuiltinDeclName

* format code (#7772)

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

---------

Co-authored-by: ArielG-NV &lt;159081215+ArielG-NV@users.noreply.github.com&gt;
Co-authored-by: slangbot &lt;ellieh+slangbot@nvidia.com&gt;
Co-authored-by: slangbot &lt;186143334+slangbot@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Disable l-value coercion for ref types (#2960)</title>
<updated>2023-07-05T18:24:05+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2023-07-05T18:24:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=93948b564d04eda555bf96025e89853be86cff8a'/>
<id>urn:sha1:93948b564d04eda555bf96025e89853be86cff8a</id>
<content type='text'>
* Make lvalue coercion not work for ref, to stop problem with atomics (for GLSL output).

* Improve some comments.</content>
</entry>
<entry>
<title>Fix for operator assignment issue (#2951)</title>
<updated>2023-06-30T19:25:59+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2023-06-30T19:25:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=c5b0708ead5de2d90ef14f20b5b8e3ed4f576373'/>
<id>urn:sha1:c5b0708ead5de2d90ef14f20b5b8e3ed4f576373</id>
<content type='text'>
* WIP handling LValue coercion via LValueImplicitCast

* Need to have the ptr type for the cast.

* Casting conversion working on C++.

* Make the LValue casts record if in or in/out as we can produce better code if we know the difference.

* WIP LValueCast pass

* Fix tests so we don't fail because downstream compilers detect use of uninitialized variable.

* Do conversions through through tmp for l-value scenarios that can't work other ways.

* Fix a typo.

* Change diagnostic implicit-cast-lvalue for a type that still exhibits the issue.

* Add matrix test.

* Added a bit more clarity around LValue casting choices.

* Small comment improvements.
Improvements based on comments on PR.

* Use findOuterGeneric.</content>
</entry>
<entry>
<title>Diagnostic location highlighting (#1700)</title>
<updated>2021-02-12T19:31:56+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2021-02-12T19:31:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=369279e91dde1b056d8d0e3bb83e7ba3f96321af'/>
<id>urn:sha1:369279e91dde1b056d8d0e3bb83e7ba3f96321af</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* WIP: First pass in supporting output of line error information.

* Add support for lexing to better be able to indicate SourceLocation information.

* Fix lexer usage in DiagnosticSink in C++ extractor.

* Update diagnostics tests to have line location info.

* Fixed test expected output that now have source location information in them.

* Better handling of tab.

* Fix test expected results for tabbing change.

* DiagnosticLexer -&gt; DiagnosticSink::SourceLocationLexer
Added line continuation tests.

* Fix typo.

* Added String::appendRepeatedChar

* Change to rerun tests.

Co-authored-by: Tim Foley &lt;tfoleyNV@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Diagnose use of an implicit cast as an argument for an `out` parameter (#516)</title>
<updated>2018-04-20T23:56:33+00:00</updated>
<author>
<name>Tim Foley</name>
<email>tfoleyNV@users.noreply.github.com</email>
</author>
<published>2018-04-20T23:56:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=2f782d403ae5729b6c93fbe92577ee01f7a8d608'/>
<id>urn:sha1:2f782d403ae5729b6c93fbe92577ee01f7a8d608</id>
<content type='text'>
Work on #499

Two big fixes here:

* The logic for checking constraints on `out` arguments wasn't actually triggering because it relied on function parameters being given an `OutType` if they are marked `out`, but the code wasn't actually doing that. Fixing the computation of types for functions resolved that issue.

* Next, I added a specific diagnostic to follow up the "expected an l-value" error to let the user know that their argument was implicitly converted, and that is why it doesn't count as an l-value in Slang's rules.

I've added a test case to ensure that we retain this diagnostic until we can do a true fix for the issue.

The right long-term fix is to have an AST representation of all the implicit casts involved (e.g., in both directions for an `inout` parameter), and then have the IR generate explicit code for the conversions in each direction (the `LoweredVal` representation can handle this sort of thing).</content>
</entry>
</feed>
