mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-19 14:00:35 +00:00
micro improvements (#15849)
This commit is contained in:
@@ -522,7 +522,7 @@ a form of copy elision.
|
||||
|
||||
To see how and when we can do that, think about this question: In `dest = src` when
|
||||
do we really have to *materialize* the full copy? - Only if `dest` or `src` are mutated
|
||||
afterward. If `dest` is a local variable that is simple to analyze. And if `src` is a
|
||||
afterwards. If `dest` is a local variable that is simple to analyze. And if `src` is a
|
||||
location derived from a formal parameter, we also know it is not mutated! In other
|
||||
words, we do a compile-time copy-on-write analysis.
|
||||
|
||||
|
||||
@@ -554,7 +554,8 @@ proc nimFrame(s: PFrame) {.compilerRtl, inl, raises: [].} =
|
||||
|
||||
when defined(cpp) and appType != "lib" and not gotoBasedExceptions and
|
||||
not defined(js) and not defined(nimscript) and
|
||||
hostOS != "standalone" and hostOS != "any" and not defined(noCppExceptions):
|
||||
hostOS != "standalone" and hostOS != "any" and not defined(noCppExceptions) and
|
||||
not defined(nimQuirky):
|
||||
|
||||
type
|
||||
StdException {.importcpp: "std::exception", header: "<exception>".} = object
|
||||
|
||||
Reference in New Issue
Block a user