diff options
| author | Eugen Wissner <belka@caraus.de> | 2026-10-03 10:08:05 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2026-10-03 10:08:05 +0200 |
| commit | 5d808dd4c4003968bbdf180e1e1193231db5d43b (patch) | |
| tree | 6391fc8990790288e76dc8eb6ff7b1a6872dab26 /boot/symbol.cc | |
| parent | 2ea84997ae37517729c3c8ed3af8a000bdc632df (diff) | |
| download | elna-5d808dd4c4003968bbdf180e1e1193231db5d43b.tar.gz | |
Strip outmost constness on infered arguments
Diffstat (limited to 'boot/symbol.cc')
| -rw-r--r-- | boot/symbol.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/boot/symbol.cc b/boot/symbol.cc index 2293275..e247bdb 100644 --- a/boot/symbol.cc +++ b/boot/symbol.cc @@ -572,6 +572,17 @@ namespace elna::boot } } + type unqualify(const type& subject) + { + type current = subject; + + while (const auto constant = resolve_aliases(current).get<constant_type>()) + { + current = constant->unqualified; + } + return current; + } + type unwrap_aliases(const type& checked) { if (const auto alias = checked.get<alias_type>()) |
