Nikita
Ioann_
Alexey
Так в асм коде можно
кстати, а с чем связана эта привязка именно к строкам кода? символьная информация в бинарях древняя как мир и к строкам привязаная?
kitsu
Ioann_
Alexey
kitsu
По вызовам call весьма легко догадаться где очередной вызов
🦥Alex Fails
Constantine
Constantine
кроме того, не очень понятно, что имеет в виду функция, возвращая derived2
Constantine
кажется, она в данном случае автоматически internal может помечаться 😆
Constantine
как и derived2 😆
🐙 Antony
Хм........
🐙 Antony
Похоже что да
Constantine
вообще, утверждение: потомок internal linkage класса может автоматически получать internal linkage
Constantine
хотя стооп. это неверно, можно форвардить derived2
Constantine
можно только все его методы, видимо, как inline помечать, независимо от
🐙 Antony
Хм, а typeid от forward declared ведь нельзя же брать
🐙 Antony
И dynamic_cast нельзя
🐙 Antony
получается что RTTI для derived2 тоже можно выкидывать
Constantine
в данном случае derived2 должен получить internal linkage с точностью до того, что он может быть forward declared
Constantine
со всеми последствиями
🐙 Antony
Ага, разница есть https://godbolt.org/g/Z4zcSp
Igor
#offtop кто там недавно обсуждал предел на количество аргументов в argv?)
gcc-master.zip - Can't run the archiver executable: Failed to execute child process “/usr/bin/unzip” (Argument list too long)
Alexey
у меня такое было при попытке удалить МНОГО файлов.
rm *
Светомеч
Igor
а чёрт его знает, с этим сообщением xarchiver вылетел) просто сразу вспомнился краем глаза виденный дебат
Дмитрий ⬡
Alexander
Интроверт 🇺🇦
Кто-то чет по AndroidStudio
Интроверт 🇺🇦
Знает?
Alexander "SonnySlave"
не оффтопь, пожалуйста
Alexey
Alexey
Alexey
как бы информацию про это загуглить?
Alexey
ну, это немного другая задача. вроде можно было сделать и чтобы в информации о исключении стектрейс был.
Артур
Привет всем
Egor
Кто-нибудь уже смотрел https://github.com/tdlib/td ?
🦥Alex Fails
Arseny
🦥Alex Fails
А как видно?
внешний интерфейс немного похож, но я не считаю это недостатком
Anton
Прикольно, что с Бустовой лицензией
🦥Alex Fails
да, я тоже оценил
🦥Alex Fails
🦥Alex Fails
Anton , сложно будет вкрутить в шланг подобную диагностику для упоротых символов?
Anton
🦥Alex Fails
ок
Anton
🦥Alex Fails
можно pre-commit hook сделать с каким-н /s/;/;/g+
Evgenii
Anton
Я боюсь что много подобной фигни существует
🦥Alex Fails
да, там есть такая наркомания в юникоде, наверное, имеет смысл что-то пораспространённее ловить
kitsu
проще по какому-нибудь вайтлисту чекать
Alexander "SonnySlave"
https://bintray.com/morwenn/cpp-sort/cpp-sort%3Amorwenn
Alexander "SonnySlave"
https://www.cppdepend.com/
Anonymous
Ned
Г-да, а как сейчас принято печатать отладочные сообщения в debug сборках?
Ned
И как с точки зрения кода отличить дебажную сборку от не дебажной?
🦥Alex Fails
Ned
А почему не просто DEBUG?
🦥Alex Fails
или просто DEBUG
Anonymous
Системы сборки определяют макрос NDEBUG в релиз-сборках обычно, не вижу причин не переиспользовать это вместо введения своего макроса.
Anonymous
Особенно если речь идёт не о либе т.е. не требуется отдельно от остального кода включать/выключать дебаг-ветки.
Ned
Anonymous
std::cerr и всё.
Anonymous
Ну и __FILE__, __LINE__, __PRETTY_FUNCTION__ всяких вывести для красоты.
Igor
на прошлой работе в проекте с AngularJS лицезрел в хтмлке директиву ng-їf вместо ng-if
поскольку она была спрятана под ещё один ng-if, который практически никогда не срабатывал, то в DOM она не попадала и ошибок не вызывала - ЧСХ нашёл я её случайно, скрольнув экран слишком далеко, а не потому что у меня что-то не работало
если правильно помню, то по логам чудо это лежало в проекте примерно год
Ignat
Хорошая работа, и проекты интересные
Vitaliy
Всем привет. Подскажите как избежать дублирования в частичной специализации класса A:
template <int... Ints>
struct IntList {};
template <int head, int... tail>
struct IntList<head, tail...> {
static const int Head = head;
using Tail = IntList<tail...>;
};
template <typename T>
class A;
template <int... ints>
class A <IntList<ints...>> {
using type T = IntList<ints...>;
};
Vitaliy
То есть не писать два раза
IntList<ints...>
Vitaliy
Я пробовал делать так:
template <int... ints, typename T = IntList<ints...>>
class A <T> {
};
Vitaliy
Но получаю ошибку о том, что второй параметр может быть не введен