profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/Manishearth/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.
Manish Goregaokar Manishearth @google Berkeley, CA http://manishearth.github.io/ @rust-lang core team, internationalization @google

immersive-web/webxr 2244

Repository for the WebXR Device API Specification.

Manishearth/absolution 104

"Freedom from syn": Proc macro tools for operating on token trees

lobaro/FreeRTOS-rust 89

Rust crate for FreeRTOS

immersive-web/webxr-hand-input 77

A feature repo for working on hand input support in WebXR. Feature lead: Manish Goregaokar

Manishearth/array-init 49

Safe wrapper for initializing arrays

Manishearth/AnnoTabe 12

Annotations for tabs in Chrome

immersive-web/webxr-test-api 7

WPT testing API for WebXR

ByteCommander/ChatExchange6 5

Python2&3 API for talking to the StackExchange chat

Deependra-Patel/cs733 2

Distributed file system using Raft Consensus protocol

izgzhen/gsoc-file-support 2

Meta-tracker for my GSoC 2016 project

push eventrust-lang/team

Daniel Egger

commit sha d7c4603904f8399a47090c4c471d5d3c93f239ff

Jonas Schievink left the Embedded WG, let's make him an alumni cf. https://github.com/rust-embedded/wg/pull/576 Signed-off-by: Daniel Egger <daniel@eggers-club.de>

view details

Manish Goregaokar

commit sha ddf38dcf391a4eb0f4c1a6d2f9bbdecb319a5368

Merge pull request #633 from therealprof/move-jschievink-to-alumni Jonas Schievink left the Embedded WG, let's make him an alumni

view details

push time in 11 hours

PR merged rust-lang/team

Jonas Schievink left the Embedded WG, let's make him an alumni

cf. https://github.com/rust-embedded/wg/pull/576

Signed-off-by: Daniel Egger daniel@eggers-club.de

+1 -1

0 comment

1 changed file

therealprof

pr closed time in 11 hours

PullRequestReviewEvent

startedunicode-org/icu4x

started time in 11 hours

startedrust-lang/rust

started time in 11 hours

delete branch Manishearth/icu4x

delete branch : nostd-zv

delete time in 11 hours

push eventunicode-org/icu4x

Manish Goregaokar

commit sha d821987ada3f86d2fbba8777c81184ba3fe71aa6

Move zerovec to no_std (#1094) Make zerovec no_std

view details

push time in 11 hours

PR merged unicode-org/icu4x

Move zerovec to no_std

Turns out we never did this. Oops.

Unblocks #922 CI

<!-- Thank you for your pull request to ICU4X!

Reminder: try to use Conventional Comments to make comments clearer.

Please see https://github.com/unicode-org/icu4x/blob/main/CONTRIBUTING.md for general information on contributing to ICU4X. -->

+44 -27

1 comment

16 changed files

Manishearth

pr closed time in 11 hours

pull request commentunicode-org/icu4x

Move zerovec to no_std

Yeah I forgot to apply rustfmt :)

Manishearth

comment created time in 11 hours

push eventManishearth/icu4x

Manish Goregaokar

commit sha 1616374cfb9f8f649a840b1a076111c4808b2479

fmt

view details

push time in 11 hours

PR opened unicode-org/icu4x

Reviewers
Move zerovec to no_std

Turns out we never did this. Oops.

Unblocks #922 CI

<!-- Thank you for your pull request to ICU4X!

Reminder: try to use Conventional Comments to make comments clearer.

Please see https://github.com/unicode-org/icu4x/blob/main/CONTRIBUTING.md for general information on contributing to ICU4X. -->

+56 -27

0 comment

17 changed files

pr created time in 11 hours

create barnchManishearth/icu4x

branch : nostd-zv

created branch time in 11 hours

PullRequestReviewEvent

Pull request review commentunicode-org/icu4x

Add benches for ZeroMap::get, also litemap/HashMap for comparison

+// This file is part of ICU4X. For terms of use, please see the file+// called LICENSE at the top level of the ICU4X source tree+// (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ).++// #[cfg(feature = "bench")]+use std::collections::HashMap;++use criterion::{criterion_group, criterion_main, Criterion};++use zerovec::ZeroMap;++const DATA: [(&str, &str); 16] = [+    ("ar", "Arabic"),+    ("bn", "Bangla"),+    ("ccp", "Chakma"),+    ("chr", "Cherokee"),+    ("el", "Greek"),+    ("en", "English"),+    ("eo", "Esperanto"),+    ("es", "Spanish"),+    ("fr", "French"),+    ("iu", "Inuktitut"),+    ("ja", "Japanese"),+    ("ru", "Russian"),+    ("sr", "Serbian"),+    ("th", "Thai"),+    ("tr", "Turkish"),+    ("zh", "Chinese"),+];++fn overview_bench(c: &mut Criterion) {+    let mut map: ZeroMap<String, String> = ZeroMap::new();+    for (key, value) in DATA.iter() {+        map.insert(key.to_string(), value.to_string());+    }+    c.bench_function("zeromap/read", |b| {+        b.iter(|| {+            assert_eq!(map.get("iu"), Some("Inuktitut"));+            assert_eq!(map.get("zz"), None);+        });+    });++    map.clear();+    for (key, value) in DATA.iter() {+        for n in 0..65536 {+            map.insert(format!("{}{}", key, n), value.to_string());+        }+    }+    c.bench_function("zeromap/read/1m", |b| {+        b.iter(|| {+            assert_eq!(map.get("iu33333"), Some("Inuktitut"));+            assert_eq!(map.get("zz"), None);+        });+    });++    // #[cfg(feature = "bench")]+    {+        hashmap_benches(c);+    }+}++// #[cfg(feature = "bench")]

Yeah I would just remove these. I don't know why we have them in that file.

poulsbo

comment created time in 15 hours

push eventrust-lang/www.rust-lang.org

Pure White

commit sha 8c48de8e80014945b5bf96b2557363219f53dfbf

add nomicon translate for zh-CN

view details

Manish Goregaokar

commit sha 4e86ec0e6b82d9b2a3c5ce9d4fb40991c699f930

Merge pull request #1593 from PureWhiteWu/translate_nomicon add nomicon translate for zh-CN

view details

push time in 16 hours

PR merged rust-lang/www.rust-lang.org

add nomicon translate for zh-CN

Hi, I've translated the nomicon into zh-CN, and would like to add it to the website like trpl did.

+3 -0

0 comment

2 changed files

PureWhiteWu

pr closed time in 16 hours

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentrust-lang/www.rust-lang.org

add nomicon translate for zh-CN

 learn-reference-button = 阅读《参考手册》 learn-nomicon-alt = 双手捧火 learn-nomicon = 《Rust 秘典》是 Unsafe Rust 的黑魔法指南。它有时被称作“死灵书”。 learn-nomicon-button = 阅读《Rust 秘典》+translated-nomicon = https://nomicon.purewhite.io/+translated-nomicon-button = 阅读非官方翻译

你写了“非官方”, 很好

PureWhiteWu

comment created time in 16 hours

pull request commentrust-lang/rust-clippy

Don't lint `suspicious_else_formatting` inside proc-macros

@bors r+

thanks!

Jarcho

comment created time in 17 hours

PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent

issue commentrust-lang/rust

HRTB bounds not resolving correctly, but they do work if you introduce a reference.

Refiled as https://github.com/rust-lang/rust/issues/89196

Manishearth

comment created time in a day

issue openedrust-lang/rust

HRTB bounds not resolving correctly (take 2)

This is similar to the resolved issue https://github.com/rust-lang/rust/issues/85636 , but details a newer iteration of that problem that has not yet been fixed.

<details><summary>Code example</summary>

trait MiniYokeable<'a> {
    type Output;
}

struct MiniYoke<Y: for<'a> MiniYokeable<'a>> {
    pub yokeable: Y,
}

impl<Y> Clone for MiniYoke<Y>
where
    Y: for<'a> MiniYokeable<'a>,
    for<'a> <Y as MiniYokeable<'a>>::Output: Clone
{
    fn clone(&self) -> Self {
        todo!()
    }
}

trait MiniDataMarker {
    type Yokeable: for<'a> MiniYokeable<'a>;
}

trait MiniDataProvider<M>
where
    M: MiniDataMarker
{
    fn mini_load_payload(&self) -> MiniYoke<M::Yokeable>;
}

struct MiniStructProvider<M>
where
    M: MiniDataMarker,
{
    pub yoke: MiniYoke<M::Yokeable>,
}

impl<M> MiniDataProvider<M> for MiniStructProvider<M>
where
    M: MiniDataMarker,
    for<'a> <M::Yokeable as MiniYokeable<'a>>::Output: Clone,
{
    fn mini_load_payload(&self) -> MiniYoke<M::Yokeable> {
        self.yoke.clone()
    }
}

#[derive(Clone)]
struct SimpleStruct(pub u32);

impl<'a> MiniYokeable<'a> for SimpleStruct {
    type Output = SimpleStruct;
}

impl MiniDataMarker for SimpleStruct {
    type Yokeable = SimpleStruct;
}

fn main() {
    let provider = MiniStructProvider {
        yoke: MiniYoke {
            yokeable: SimpleStruct(42)
        }
    };

    let yoke: MiniYoke<SimpleStruct> = provider.mini_load_payload();
    assert_eq!(yoke.yokeable.0, 42);
}

</summary>

(playpen)

This fails to compile on beta/nightly (stable does not have https://github.com/rust-lang/rust/pull/85499 so we cannot expect this to compile) with:

error[E0599]: the method `mini_load_payload` exists for struct `MiniStructProvider<_>`, but its trait bounds were not satisfied
  --> src/main.rs:65:49
   |
30 | / struct MiniStructProvider<M>
31 | | where
32 | |     M: MiniDataMarker,
33 | | {
34 | |     pub yoke: MiniYoke<M::Yokeable>,
35 | | }
   | | -
   | | |
   | |_method `mini_load_payload` not found for this
   |   doesn't satisfy `MiniStructProvider<_>: MiniDataProvider<_>`
...
65 |       let yoke: MiniYoke<SimpleStruct> = provider.mini_load_payload();
   |                                                   ^^^^^^^^^^^^^^^^^ method cannot be called on `MiniStructProvider<_>` due to unsatisfied trait bounds
   |
   = note: the following trait bounds were not satisfied:
           `<_ as MiniYokeable<'a>>::Output: Clone`
           which is required by `MiniStructProvider<_>: MiniDataProvider<_>`

The trait is implemented here: for<'a> <SimpleStruct as MiniYokeable>::Output is just SimpleStruct, which implements Clone.

cc @jackh726 @sffc

created time in a day

issue commentrust-lang/rust

HRTB bounds not resolving correctly, but they do work if you introduce a reference.

(happy to file this as a new issue @jackh726 if you'd prefer!)

Manishearth

comment created time in a day

IssuesEvent
PullRequestReviewEvent

issue commentunicode-org/icu4x

Restructure AsVarULE or get rid of it

Yep!

Manishearth

comment created time in a day

PullRequestReviewEvent