Существует вариант из withUnsafePointer(to:,_:)
, который принимает аргумент non-inout в качестве первого входного аргумента.
let immutableValue = 1
withUnsafePointer(to: immutableValue, { pointer -> Void in
print(pointer)
})
Как указывал MartinR, этот указатель действителен толькодля вызова замыкания.
Также важно отметить, что при значениях, известных во время компиляции, компилятор может заменить значение вместо переменной, поэтому переменная может даже не существовать в памяти во время выполнения.