profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/RReverser/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Ingvar Stepanyan RReverser Google London, UK https://rreverser.com/ Obsessed D2D (tools & specs) programmer, speaker and performance engineer.

emscripten-core/emscripten 20780

Emscripten: An LLVM-to-WebAssembly Compiler

acornjs/acorn 7342

A small, fast, JavaScript-based JavaScript parser

fkling/astexplorer 3951

A web tool to explore the ASTs generated by various parsers.

inikulin/parse5 2666

HTML parsing/serialization toolset for Node.js. WHATWG HTML Living Standard (aka HTML5)-compliant.

emscripten-core/emsdk 1676

Emscripten SDK

acornjs/acorn-jsx 530

Alternative, faster React.js JSX parser

binast/binjs-ref 400

Reference implementation for the JavaScript Binary AST format

dherman/esprit 291

A JavaScript parser written in Rust

GoogleChromeLabs/wasm-feature-detect 221

A small library to detect which features of WebAssembly are supported.

cloudflare/serde-wasm-bindgen 192

Native integration of Serde with wasm-bindgen

startedsantiontanon/microrts

started time in 2 hours

PR opened eqrion/cbindgen

parser: force proc macro fallback

Incorporate https://github.com/alexcrichton/proc-macro2/pull/220 to fix the case where a binary which is built with panic = "abort" aborts when calling into cbindgen functionality.

Addresses https://github.com/eqrion/cbindgen/issues/569.

While there is a test included that covers both additions I haven't made any changes to documentation. If there is desire to have these changes land in some form I'd just be looking for guidance on what doc changes would be appropriate, if any, in addition to any feedback on the overall direction of this change. Thanks!

+70 -0

0 comment

5 changed files

pr created time in 2 hours

release dtolnay/db-dump

0.3.1

released time in 10 hours

startedxandjiji/exevo-pan

started time in 12 hours

push eventeqrion/cbindgen

Kendall Koning

commit sha 63c1043dfb92fcac0bf3073c2d71e9e4ac69c943

Simplify Pin<T> to T cbindgen already simplifies `MaybeUninit<T>` and `ManuallyDrop<T>` to `T`. This adds `Pin<T>` as well.

view details

push time in 12 hours

PR merged eqrion/cbindgen

Simplify Pin<T> to T

cbindgen already simplifies MaybeUninit<T> and ManuallyDrop<T> to T. This adds Pin<T> as well.

+308 -1

1 comment

13 changed files

kkoning

pr closed time in 12 hours

pull request commenteqrion/cbindgen

Simplify Pin<T> to T

This is another one-liner, but this time treating Pin<T> the same way as MaybeUninit<T> and ManuallyDrop<T>, and with a new test.

Given this source:

#[repr(C)]
struct PinTest {
    pinned_box: Pin<Box<i32>>,
    pinned_ref: Pin<&mut i32>
}

#[no_mangle]
pub extern "C" fn root(s: Pin<&mut i32>, p: PinTest) {}

the binding created is:

typedef struct {
  int32_t *pinned_box;
  int32_t *pinned_ref;
} PinTest;

void root(int32_t *s, PinTest p);
kkoning

comment created time in 15 hours

PR opened eqrion/cbindgen

Simplify Pin<T> to T

cbindgen already simplifies MaybeUninit<T> and ManuallyDrop<T> to T. This adds Pin<T> as well.

+308 -1

0 comment

13 changed files

pr created time in 15 hours

startedartichoke/cactusref

started time in 17 hours

MemberEvent

startedsveltejs/kit

started time in 20 hours

PR opened eqrion/cbindgen

Fix some clippy lints.
+38 -40

0 comment

15 changed files

pr created time in a day

push eventeqrion/cbindgen

Joel Dice

commit sha ccd1f0e9ec2369735b9481c85057b9c65b6b0908

add `Builder::with_using_namespaces`

view details

Emilio Cobos Álvarez

commit sha 9774cfeac9594041bebda431614cb91dfe0782e2

Fix some clippy lints.

view details

push time in a day

create barncheqrion/cbindgen

branch : clippy

created branch time in a day

push eventeqrion/cbindgen

Joel Dice

commit sha ccd1f0e9ec2369735b9481c85057b9c65b6b0908

add `Builder::with_using_namespaces`

view details

push time in a day

PR merged eqrion/cbindgen

add `Builder::with_using_namespaces`
+11 -0

1 comment

1 changed file

dicej

pr closed time in a day

pull request commenteqrion/cbindgen

add `Builder::with_using_namespaces`

There are some CI failures but they're unrelated to your patch (clippy version update looks like). So will merge as-is and address the clippy things separately.

dicej

comment created time in a day

startedWebReflection/uce-helpers

started time in a day

created repositoryWebReflection/uce-helpers

Common helpers for uce related projects.

created time in a day

pull request commenteqrion/cbindgen

Ignore PhantomPinned

Thanks! rustfmt was complaining so I merged your change manually with the formatting fix.

kkoning

comment created time in a day

push eventeqrion/cbindgen

Kendall Koning

commit sha 4e394493d63c2348a08d486562dc2082cbdfe306

Ignore PhantomPinned cbindgen already ignores `PhantomData`. It should ignore `PhantomPinned` for the same reasons. Closes #695 Fixes #694

view details

push time in a day

issue closedeqrion/cbindgen

PhantomPinned should be ignored just like PhantomData<T>

cbindgen already ignores any item of type PhantomData. It should also ignore anything that's PhantomPinned for the same reason.

This looks like it's just as simple as adding a one-liner in src/bindgen/ir/ty.rs at line 401 extending the predicate to include PhantomPinned. Or, at least, that worked for me. But perhaps it also should be added to some tests?

closed time in a day

kkoning

PR closed eqrion/cbindgen

Ignore PhantomPinned

cbindgen already ignores PhantomData. It should ignore PhantomPinned for the same reasons.

+4 -1

0 comment

3 changed files

kkoning

pr closed time in a day

startedvwxyzjn/gym-microrts

started time in a day

release ljharb/tc39-ci

0.3.14

released time in a day

PR opened eqrion/cbindgen

Ignore PhantomPinned

cbindgen already ignores PhantomData. It should ignore PhantomPinned for the same reasons.

+4 -1

0 comment

3 changed files

pr created time in a day

Pull request review commentestree/estree

add pattern matching

+# [Pattern Matching](proposal-pattern-matching)++See also [AST examples](ast-examples) for this proposal.++## MatchExpression++```js+interface MatchExpression <: Expression {+    type: "MatchExpression";+    discriminant: Expression;+    id: Pattern | null;+    clause: [ MatchClause ]+}+```++## WhenClause+```js+interface MatchClause <: Node {+    type: "MatchClause";+    test: MatchPattern | null;+    guard: Expression | null;+    id: Pattern | null;+    consequent: BlockStatement+}+```++If `test` is `null`, `id` must be `null`.++## MatchPattern+```js+interface MatchPattern <: Node {}+```++## ArrayMatchPattern+```js+interface ArrayMatchPattern <: MatchPattern {+    type: "ArrayMatchPattern";+    elements: [ MatchPattern ];+}+```++## ObjectMatchPattern+```js+interface AssignmentMatchProperty <: Property {+    type: "Property"; // inherited+    value: MatchPattern;+    kind: "init";+    method: false;+}++interface ObjectMatchPattern <: MatchPattern {+    type: "ObjectMatchPattern";+    properties: [ AssignmentMatchProperty ];+}+```++## RestMatchElement+```js+interface RestMatchElement <: MatchPattern {+    type: "RestMatchElement";+    argument: MatchPattern;+}+```++## BinaryMatchPattern+```js+interface BinaryMatchPattern <: MatchPattern {+    type: "BinaryPattern";+    operator: "and" | "or" | "with";+    left: MatchPattern;+    right: MatchPattern;+}+```++## AsMatchPattern+```js+interface AsMatchPattern <: MatchPattern {+    type: "AsMatchPattern";+    test: MatchPattern;+    id: Pattern;+}+```++## ExpressionMatchPattern+```js+interface ExpressionMatchPattern <: MatchPattern {+    type: "ExpressionMatchPattern";+    expression: Expression;+}+```

Yes; any expression can be in parens, but only a specific limited set of forms can omit them.

JLHwung

comment created time in a day

issue commenteqrion/cbindgen

PhantomPinned should be ignored just like PhantomData<T>

Yeah, that seems fine. I'd totally take that one-liner with at least a test tweaked (there aren't that many test that use PhantomData so just tweaking them to also use PhantomPinned seems good enough).

Thanks!

kkoning

comment created time in a day

issue openedeqrion/cbindgen

PhantomPinned should be ignored just like PhantomData<T>

cbindgen already ignores any item of type PhantomData. It should also ignore anything that's PhantomPinned for the same reason.

This looks like it's just as simple as adding a one-liner in src/bindgen/ir/ty.rs at line 401 extending the predicate to include PhantomPinned. Or, at least, that worked for me. But perhaps it also should be added to some tests?

created time in a day

Pull request review commentestree/estree

add pattern matching

+# [Pattern Matching](proposal-pattern-matching)++See also [AST examples](ast-examples) for this proposal.++## MatchExpression++```js+interface MatchExpression <: Expression {+    type: "MatchExpression";+    discriminant: Expression;+    id: Pattern | null;+    clause: [ MatchClause ]+}+```++## WhenClause+```js+interface MatchClause <: Node {+    type: "MatchClause";+    test: MatchPattern | null;+    guard: Expression | null;+    id: Pattern | null;+    consequent: BlockStatement+}+```++If `test` is `null`, `id` must be `null`.++## MatchPattern+```js+interface MatchPattern <: Node {}+```++## ArrayMatchPattern+```js+interface ArrayMatchPattern <: MatchPattern {+    type: "ArrayMatchPattern";+    elements: [ MatchPattern ];+}+```++## ObjectMatchPattern+```js+interface AssignmentMatchProperty <: Property {+    type: "Property"; // inherited+    value: MatchPattern;+    kind: "init";+    method: false;+}++interface ObjectMatchPattern <: MatchPattern {+    type: "ObjectMatchPattern";+    properties: [ AssignmentMatchProperty ];+}+```++## RestMatchElement+```js+interface RestMatchElement <: MatchPattern {+    type: "RestMatchElement";+    argument: MatchPattern;+}+```++## BinaryMatchPattern+```js+interface BinaryMatchPattern <: MatchPattern {+    type: "BinaryPattern";+    operator: "and" | "or" | "with";+    left: MatchPattern;+    right: MatchPattern;+}+```++## AsMatchPattern+```js+interface AsMatchPattern <: MatchPattern {+    type: "AsMatchPattern";+    test: MatchPattern;+    id: Pattern;+}+```++## ExpressionMatchPattern+```js+interface ExpressionMatchPattern <: MatchPattern {+    type: "ExpressionMatchPattern";+    expression: Expression;+}+```

does it matter if there are parentheses or not?

JLHwung

comment created time in a day