diff options
Diffstat (limited to 'source/slang/slang-check-expr.cpp')
| -rw-r--r-- | source/slang/slang-check-expr.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/slang/slang-check-expr.cpp b/source/slang/slang-check-expr.cpp index 5233008fd..1b9725a8c 100644 --- a/source/slang/slang-check-expr.cpp +++ b/source/slang/slang-check-expr.cpp @@ -2274,10 +2274,14 @@ namespace Slang expr->left = maybeOpenRef(expr->left); auto type = expr->left->type; + if (auto atomicType = as<AtomicType>(type)) + { + type = atomicType->getElementType(); + } auto right = maybeOpenRef(expr->right); expr->right = coerce(CoercionSite::Assignment, type, right); - if (!type.isLeftValue) + if (!expr->left->type.isLeftValue) { if (as<ErrorType>(type)) { |
