about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/Linker.cpp
diff options
context:
space:
mode:
authorJubilee Young <workingjubilee@gmail.com>2024-03-05 20:04:24 -0800
committerJubilee Young <workingjubilee@gmail.com>2024-03-05 21:15:56 -0800
commit23623a08d6a181864a7b8609682eee27534b12f4 (patch)
tree55d0d32ba1a20de225cf017178d3794afcf97a2e /compiler/rustc_llvm/llvm-wrapper/Linker.cpp
parent3c029725f5a198f4ccb1332bece98c2b50dbce01 (diff)
downloadrust-23623a08d6a181864a7b8609682eee27534b12f4.tar.gz
rust-23623a08d6a181864a7b8609682eee27534b12f4.zip
Explicitly assign constructed C++ classes
C++ style guides I am aware of recommend specifically preferring = syntax
for any classes with fairly obvious constructors[^0] that do not perform
any complicated logic in their constructor. I contend that all constructors
that the `rustc_llvm` code uses qualify. This has only become more common
since C++ 17 guaranteed many cases of copy initialization elision.

The other detail is that I tried to ask another contributor with
infinitely more C++ experience than me (i.e. any) what this constructor
syntax was, and they thought it was a macro. I know of no other language
that has adopted this same syntax. As the rustc codebase features many
contributors experienced in many other languages, using a less...
unique... style has many other benefits in making this code more
lucid and maintainable, which is something it direly needs.

[^0]: e.g. https://abseil.io/tips/88
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/Linker.cpp')
0 files changed, 0 insertions, 0 deletions