Skip to content

Instantly share code, notes, and snippets.

@jplatte
jplatte / memcheck.txt
Last active July 1, 2022 14:24
valgrind'ing matrix-sdk-crypto node bindings
jplatte@jp-desktop ..-sdk/bindings/matrix-sdk-crypto-nodejs (git)-[jplatte/valgrind] % valgrind --trace-children=yes node node_modules/.bin/jest --verbose --testTimeout 1000000
==19597== Memcheck, a memory error detector
==19597== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==19597== Using Valgrind-3.19.0 and LibVEX; rerun with -h for copyright info
==19597== Command: node node_modules/.bin/jest --verbose --testTimeout 1000000
==19597==
==19804==
==19804== HEAP SUMMARY:
==19804== in use at exit: 4,979,697 bytes in 12,575 blocks
==19804== total heap usage: 118,588 allocs, 106,013 frees, 160,485,438 bytes allocated
// Recursive expansion of pin_project! macro
// ==========================================
pub(crate)enum Either<A,B>{
A {
inner:A
},B {
inner:B
}
}
@jplatte
jplatte / examples_breakit.rs
Created October 22, 2020 19:38
Rust ICE could not fully normalize
use my_crate::{Const, Trait};
fn main() {
let _ = Const::<1>::assoc_fn();
}
use actix_service::{Service, Transform};
use futures_util::future::{self, FutureExt as _, LocalBoxFuture};
use std::{cell::RefCell, future::Future, rc::Rc};
#[derive(Clone, Debug)]
pub struct Preprocess<F>(pub F);
pub struct PreprocessService<S, F> {
service: Rc<RefCell<S>>,
f: F,
@jplatte
jplatte / ruma-events.md
Last active October 11, 2019 17:51
ruma-events notes

ruma-events

Overview

  • There is a hierarchy of event traits: Event > RoomEvent > StateEvent
  • There is a Rust type for each kind of event (each allowed value for the 'type' field of the json representation), including custom [room / state] events
  • There is also a content type for each event type
  • In addition, there are "special" event types:
  • the Event, RoomEvent and StateEvent enums from collections::all contain every event type
@jplatte
jplatte / gist:21e45bf90b77dd8a35084bafec167f79
Created March 6, 2019 16:43
sway: get focused output
swaymsg -t get_tree | jq -r '.nodes[] | select([recurse(.nodes[]?, .floating_nodes[]?) | .focused] | any) | .name'
@jplatte
jplatte / keybase.md
Created October 15, 2017 21:21
keybase.md

Keybase proof

I hereby claim:

  • I am jplatte on github.
  • I am jplatte (https://keybase.io/jplatte) on keybase.
  • I have a public key ASCw2BYUeQV-zliaUjaXzxRVVInsM9e0JG8EhDTe6XYd1Qo

To claim this, I am signing this object:

@jplatte
jplatte / named_params.hpp
Last active February 3, 2016 15:57
Named parameters with C++14 (mandatory ones only, to keep the code short)
// Based on https://gist.github.com/ilpropheta/7576dce4c3249df89f85
// Works with:
// * g++ (since 4.9.2, potentially before)
// * clang (since 3.5, potentially before)
// * Visual C++ (since version 14 / 2015)
#ifndef _NAMED_PARAMS_HPP_
#define _NAMED_PARAMS_HPP_
#include <type_traits> // std::is_same