mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 12:58:12 +00:00
AK: Use direct-list-initialization for Vector::empend() (#4564)
clang trunk with -std=c++20 doesn't seem to properly look for an aggregate initializer here when the type being constructed is a simple aggregate (e.g. `struct Thing { int a; int b; };`). This template fails to compile in a usage added 12/16/2020 in `AK/Trie.h`. Both forms of initialization are supposed to call the aggregate-initializers but direct-list-initialization delegating to aggregate initializers is a new addition in c++20 that might not be implemented yet.
This commit is contained in:
parent
1867c928a9
commit
d1891f67ac
4 changed files with 6 additions and 6 deletions
|
@ -398,7 +398,7 @@ public:
|
||||||
void empend(Args&&... args)
|
void empend(Args&&... args)
|
||||||
{
|
{
|
||||||
grow_capacity(m_size + 1);
|
grow_capacity(m_size + 1);
|
||||||
new (slot(m_size)) T(forward<Args>(args)...);
|
new (slot(m_size)) T { forward<Args>(args)... };
|
||||||
++m_size;
|
++m_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1433,8 +1433,8 @@ KResult Ext2FS::create_directory(InodeIdentifier parent_id, const String& name,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Vector<Ext2FSDirectoryEntry> entries;
|
Vector<Ext2FSDirectoryEntry> entries;
|
||||||
entries.empend(".", inode->identifier(), EXT2_FT_DIR);
|
entries.empend(".", inode->identifier(), static_cast<u8>(EXT2_FT_DIR));
|
||||||
entries.empend("..", parent_id, EXT2_FT_DIR);
|
entries.empend("..", parent_id, static_cast<u8>(EXT2_FT_DIR));
|
||||||
|
|
||||||
bool success = static_cast<Ext2FSInode&>(*inode).write_directory(entries);
|
bool success = static_cast<Ext2FSInode&>(*inode).write_directory(entries);
|
||||||
ASSERT(success);
|
ASSERT(success);
|
||||||
|
|
|
@ -191,7 +191,7 @@ public:
|
||||||
ByteCode bytecode;
|
ByteCode bytecode;
|
||||||
|
|
||||||
bytecode.empend(static_cast<ByteCodeValueType>(OpCodeId::Compare));
|
bytecode.empend(static_cast<ByteCodeValueType>(OpCodeId::Compare));
|
||||||
bytecode.empend(1); // number of arguments
|
bytecode.empend(static_cast<u64>(1)); // number of arguments
|
||||||
|
|
||||||
ByteCode arguments;
|
ByteCode arguments;
|
||||||
|
|
||||||
|
@ -209,7 +209,7 @@ public:
|
||||||
ByteCode bytecode;
|
ByteCode bytecode;
|
||||||
|
|
||||||
bytecode.empend(static_cast<ByteCodeValueType>(OpCodeId::Compare));
|
bytecode.empend(static_cast<ByteCodeValueType>(OpCodeId::Compare));
|
||||||
bytecode.empend(1); // number of arguments
|
bytecode.empend(static_cast<u64>(1)); // number of arguments
|
||||||
|
|
||||||
ByteCode arguments;
|
ByteCode arguments;
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#define C_IN 1
|
const u16 C_IN = 1;
|
||||||
|
|
||||||
DNSRequest::DNSRequest()
|
DNSRequest::DNSRequest()
|
||||||
: m_id(arc4random_uniform(UINT16_MAX))
|
: m_id(arc4random_uniform(UINT16_MAX))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue