sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: vscode
Issue: Mac shortcut not working (in vscode) [cmd+h or cmd+m]
Labels: bug,help wanted,webview

<!-- Please search existing issues to avoid creating duplicates. -->
<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: https://code.visualstudio.com/insiders/ -->

<!-- Use Help > Report Issue to prefill these. -->
- VSCode Version: 1.60.1 ( Recent )
- OS Version: Mac 11.15.2

Steps to Reproduce:

1. On Release Note Screen
2. (hide or minimize) `cmd+h` or `cmd+m` does not work (have not tried other shortcut). 


<!-- Launch with `code --disable-extensions` to check. -->
Does this issue occur when all extensions are disabled?: Yes


Issue still exist (Jan 16, 2025)
```
Version: 1.96.2 (Universal)
Commit: fabdb6a30b49f79a7aba0f2ad9df9b399473380f
Date: 2024-12-19T10:22:47.216Z
Electron: 32.2.6
ElectronBuildId: 10629634
Chromium: 128.0.6613.186
Node.js: 20.18.1
V8: 12.8.374.38-electron.0
OS: Darwin arm64 24.2.0
```
Repository: go
Issue: testing: exclude statically unreachable code in test coverage
Labels: NeedsDecision,FeatureRequest

<!-- Please answer these questions before submitting your issue. Thanks! -->

### What version of Go are you using (`go version`)?

<pre>
$ go version
go version go1.12.1 darwin/amd64
</pre>

### Does this issue reproduce with the latest release?
yes

### What operating system and processor architecture are you using (`go env`)?

<details><summary><code>go env</code> Output</summary><br><pre>
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/santhosh/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/santhosh/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/v5/44ncgqws3dg3pmjnktpt_l2w0000gq/T/go-build063045597=/tmp/go-build -gno-record-gcc-switches -fno-common"

</pre></details>

i have code like this in my project:

~~~go
const trace = false

func doSomething() {
    if trace {
        fmt.Println("some information")
    }
}
~~~

because `trace` is `false`, the coverage reports the tracing code as `not covered`
can such code be shown as "not tracked"

I enable `trace` if we are debugging some issue in our code using build tags
I can enable trace during coverage generation, but tracing output is large and it takes significant time.

I have seen `types` package from stdlib also uses `if trace`
so may be this can be taken as enhancement
Repository: go
Issue: x/text/unicode/norm: tests run over 10 minutes and time out on js/wasm
Labels: Testing,Builders,NeedsInvestigation,arch-wasm

What's so hard about x/text/unicode/norm that makes it kill js/wasm?

https://build.golang.org/log/275a5abfdca723fd4574927bd1e076ee93e04ee8

```
...
ok  	golang.org/x/text/search	7.146s
?   	golang.org/x/text/secure	[no test files]
ok  	golang.org/x/text/secure/bidirule	11.127s
ok  	golang.org/x/text/secure/precis	13.066s
ok  	golang.org/x/text/transform	13.374s
?   	golang.org/x/text/unicode	[no test files]
ok  	golang.org/x/text/unicode/bidi	10.438s
ok  	golang.org/x/text/unicode/cldr	11.382s
*** Test killed with quit: ran too long (10m0s).
FAIL	golang.org/x/text/unicode/norm	600.299s
ok  	golang.org/x/text/unicode/rangetable	32.598s
ok  	golang.org/x/text/unicode/runenames	11.347s
ok  	golang.org/x/text/width	9.961s
```

/cc @neelance @cherrymui @mpvl
Repository: rust
Issue: std::PathBuff::join("/some/path") overrides the original path in the resulting PathBuf
Labels: C-enhancement,T-libs-api,A-io

When join's argument start's with "/" then join overrides any path present in &self making this code valid:
```
let foo = PathBuf::new("/hello");
assert_eq!(foo.join("/world"), PathBuf::new("/world));
```
This is not documented and generates a lot of confusion.
Repository: flutter
Issue: Android Device will restart if you try to create a huge platform view
Labels: platform-android,framework,a: platform-views,dependency: android,perf: memory,P3,c: fatal crash,team-android,triaged-android

We should handle Surface out of resource exceptions more gracefully.
Repository: go
Issue: x/tools/imports: permission denied causes non-deterministic updating of imports
Labels: NeedsInvestigation,Tools

### What version of Go are you using (`go version`)?

<pre>
$ go version
go version go1.11.4 linux/amd64
</pre>

### Does this issue reproduce with the latest release?
Yes


### What operating system and processor architecture are you using (`go env`)?

<details><summary><code>go env</code> Output</summary><br><pre>
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/ubuntu/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/ubuntu/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build277105160=/tmp/go-build -gno-record-gcc-switches"
</pre></details>

### What did you do?

<!--
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
-->

1. Have a project with one directory with code with a missing import, this import is vendored.
2. Have another directory that is owned by root (non-readable by the current user)
3. Run imports.Process


### What did you expect to see?

Consistently see the import added to the file

### What did you see instead?

The import is sometime added and sometimes not added.

### What I think is happening

The problem appears to be that `addExternalCandidates` sometimes sees the package in the vendor dir and sometimes doesn't.
https://github.com/golang/tools/blob/d996c1aa53b10c3c47e1764d087a569bb6c32ed1/imports/fix.go#L682
I think it's because it calls `gopathResolver.scan` to find a list of all packages
https://github.com/golang/tools/blob/d996c1aa53b10c3c47e1764d087a569bb6c32ed1/imports/fix.go#L910
and scan will quit upon the first error it encounters because it uses `fastwalk.Walk` https://github.com/golang/tools/blob/923d25813098b2ffdf1b4bb7ee4ec425fef796a9/internal/fastwalk/fastwalk.go#L195
Because it quits on the first error, if it reads the vendor dir with the wanted import first, then the import will be there, and if it hits the dir it can't read first, then it will exit without the import.

I think we should always walk the entire tree and walk around unreadable directories rather than aborting the entire walk at that point.

I can see 2 options:
1.  Change behavior to gathering errors and keep walking the entire tree
2. Add configuration options to the walker that allows for multiple walk behaviors (abort on first error, or gather errors)

I'm happy to help with making this change as well.

### Related Issue(s)

This issue appears similar to https://github.com/golang/go/issues/16890 but it seems like that question is more targetted towards what log messages are printed, here I'm more concerned about the actual behavior (which dirs are scanned).
Repository: vscode
Issue: [css] highlighting not working for some transition properties
Labels: bug,css-less-scss,grammar

As per title - CSS syntax highlighting is not working for some [animatable properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties) when using CSS `transition:`, such as `background`, `background-color`, `border-bottom` and probably many more.

<!-- Please search existing issues to avoid creating duplicates. -->
<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: https://code.visualstudio.com/insiders/ -->

<!-- Use Help > Report Issue to prefill these. -->
- VSCode Version: 1.33.0 & 1.34.0
- OS Version: macOS 10.14.4

Steps to Reproduce:

1. Use HTML file with linked external CSS file.
2. Use the CSS `transition:` property to target some [animatable properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties)

Example (lack of) syntax highlighting...

![transition_highlighting_1](https://user-images.githubusercontent.com/44850778/55643439-07a8ee80-57cb-11e9-809b-e39f6fffe498.png)

![transition_highlighting_2](https://user-images.githubusercontent.com/44850778/55643471-1beceb80-57cb-11e9-84bd-6bbf172cf635.png)


<!-- Launch with `code --disable-extensions` to check. -->
Does this issue occur when all extensions are disabled?: Yes

This issue also seems to exist in other code editors, such as Atom and Brackets, but I've been advised to open an issue here nonetheless.

*edit* *The issue DOES NOT occur in sublime text.
Repository: TypeScript
Issue: Feature Request: expose getPromisedTypeOfPromise
Labels: API,Needs Investigation

## Search Terms

* getPromisedTypeOfPromise
* detect Promise

## Suggestion

expose [`getPromisedTypeOfPromise`](https://github.com/Microsoft/TypeScript/blob/ca98a50574f67d179ee28857b564a086a8f29197/src/compiler/types.ts#L3089) in the `TypeChecker` API.

## Use Cases

Writing lint rules with typechecking involving promises. One example is one checking the result of a yield in a generator. Since yields inside generators are not typed, being able to use linting to check types are properly annotated can be powerful.

## Examples

```
// source code
const myAsyncFunc = async (num: number) => num;

function* gen() {
   const y = yield call(myFunc);
}
```

`call` is a redux saga effect that has an API contract of calling a passed function and awaiting if it is a promise. Given this contract, its possible to write a lint rule instructing a consumer to annotate `y` with `: number`.

```
// lint rule
...
let returnType = appliedFunctionType.getCallSignatures()[0].getReturnType();

if(// is promise) {
  returnType = typeChecker.getPromisedTypeOfPromise(returnType);
}
```

## Checklist

My suggestion meets these guidelines:

* [x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
* [x] This wouldn't change the runtime behavior of existing JavaScript code
* [x] This could be implemented without emitting different JS based on the types of the expressions
* [x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
* [x] This feature would agree with the rest of [TypeScript's Design Goals](https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals).
Repository: rust
Issue: Lifetime mismatch on BTreeMap's lookup key 
Labels: C-enhancement,A-diagnostics,T-compiler

The following code:

    struct MyMap(BTreeMap<Cow<'static,str>, Vec<u8>>);

    impl MyMap {
        fn get(&self, c: &Cow<str>) -> Option<&Vec<u8>> {
            self.0.get(c)
        }
    }

Fails to compile with the following error message:

    error[E0623]: lifetime mismatch
    this parameter and the return type are declared with different lifetimes...
    ...but data from `c` is returned here

I'm not sure if this is an error with the compiler, with `BTreeMap` or even `Cow`, but data from `c` is definitely **not** returned, as c is merely used as a lookup key during the call to `BTreeMap::get`.

Rust version: 1.33 stable and 1.35 nightly both fail.
Repository: go
Issue: cmd/compile: ssa debug does not regenerate/update ssa.html
Labels: NeedsInvestigation

<!-- Please answer these questions before submitting your issue. Thanks! -->

### What version of Go are you using (`go version`)?

<pre>
$ go version
go version devel +db0c524211 Fri Apr 5 15:42:17 2019 +0000 linux/amd64
</pre>

### Does this issue reproduce with the latest release?

yes

### What operating system and processor architecture are you using (`go env`)?

<details><summary><code>go env</code> Output</summary><br><pre>
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/cuonglm/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/cuonglm/go"
GOPROXY=""
GORACE=""
GOROOT="/home/cuonglm/sources/go"
GOTMPDIR=""
GOTOOLDIR="/home/cuonglm/sources/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build070945894=/tmp/go-build -gno-record-gcc-switches"
</pre></details>

### What did you do?

file p.go:

```
package p

func p(slc []byte, i uint) {
	if len(slc) >= 3 {
		_ = slc[i%3]
	}
}
```

```
$ GOSSAFUNC=p GO111MODULE=off go-tip build
# _/home/cuonglm/bin/go/29872
dumped SSA to ./ssa.html
$ cp ssa.html ssa.html.bak
$ diff ssa.html ssa.html | wc -l
0
```

Edit `p.go` to become:

```
package p

func p(slc []byte, i uint) {
        i = 1
	if len(slc) >= 3 {
		_ = slc[i%3]
	}
}
```

Then:

```
$ GOSSAFUNC=p GO111MODULE=off go-tip build
# _/home/cuonglm/bin/go/29872
dumped SSA to ./ssa.html
$ diff ssa.html ssa.html.bak | wc -l
6
```

Seems good. Change `p.go` to original content, mean remove line `i = 1`. Then:

```
$ GOSSAFUNC=p GO111MODULE=off go-tip build
# _/home/cuonglm/bin/go/29872
dumped SSA to ./ssa.html

# Here the content of ssa.html and ssa.html.bak must be the same
# but they don't.

$ diff ssa.html ssa.html.bak | wc -l
6
$ rm ssa.html
$ GOSSAFUNC=p GO111MODULE=off go-tip build
# _/home/cuonglm/bin/go/29872
dumped SSA to ./ssa.html
$ ls
p.go  ssa.html.bak
```

### What did you expect to see?

`ssa.html` content always update, and file is re-created after deleting.

### What did you see instead?

Content never updates from 3rd run, file is not re-created after deleting.
Repository: pytorch
Issue: Tracing and Scripting nn.Conv2d shows different op in the graph
Labels: oncall: jit

> I have a simple model with nn.Conv2d. When i trace, graphs shows below aten op 
>%input : Double(1, 20, 24, 24) = aten::_convolution(%input.1, %1, %2, %5, %8, %11, %12, %15, >%16, %17, %18, %19), scope: testModule/Conv2d[conv1]

>When using script front end, it shows :
> %274 : Tensor = aten::conv2d(%ret, %1, %2, %272, %271, %273, %21)


This happens because in variableType we only record the trace for `aten::_convolution` but not any other conv ops like `aten::conv2d` etc. 

I think it's better for us to make scripting and tracing frontend more consistent in ops that emit so that we could do optimizations together to both.
Repository: go
Issue: net: Listen always uses nextPort() instead of the desired port on JS
Labels: NeedsFix,arch-wasm,OS-JS

<!-- Please answer these questions before submitting your issue. Thanks! -->

### What version of Go are you using (`go version`)?

<pre>
$ go version
go version go1.12.1 darwin/amd64
</pre>

Since this bug has to do with compiling to WebAssembly and running in Node.js, here is my Node.js version too:

<pre>
$ node --version
v11.7.0
</pre>

### Does this issue reproduce with the latest release?

Yes.

### What operating system and processor architecture are you using (`go env`)?

<details><summary><code>go env</code> Output</summary><br><pre>
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/alex/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/alex/programming/go"
GOPROXY=""
GORACE=""
GOROOT="/Users/alex/.go"
GOTMPDIR=""
GOTOOLDIR="/Users/alex/.go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/h1/vhbpm31925nd0whbv4qd8mr00000gn/T/go-build857099932=/tmp/go-build -gno-record-gcc-switches -fno-common"
</pre></details>

However, it's worth noting that the bug only occurs when you set `GOOS=js GOARCH=wasm`.

### What did you do?

<!--
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
-->

Consider the following Go program:

```go
package main

import (
	"fmt"
	"net"
)

func main() {
	ln, err := net.Listen("tcp", "127.0.0.1:8080")
	if err != nil {
		panic(err)
	}
	defer ln.Close()
	fmt.Println(ln.Addr())
}
```

Run the program with the following command (From the [Go WebAssembly Wiki](https://github.com/golang/go/wiki/WebAssembly)):

```
GOOS=js GOARCH=wasm go run -exec="$(go env GOROOT)/misc/wasm/go_js_wasm_exec" main.go
```

### What did you expect to see?

The program should output `127.0.0.1:8080` since that is the address I passed to `net.Listen`.

If you run the program with `go run main.go` (not compiling to WebAssembly) you see the output that I would expect.

### What did you see instead?

```
127.0.0.1:1
```

I believe the root of the problem is [the `socket` function in __net_fake.go__](https://github.com/golang/go/blob/cb6646234cb6565d19d9efea987c8d8fc9be5c31/src/net/net_fake.go#L65). It always uses `nextPort()` instead of using the port in the `laddr` argument.
Repository: flutter
Issue: Texts of different sizes are misaligned at the leading edge of Text widgets due to font spacing
Labels: framework,a: typography,has reproducible steps,P2,found in release: 3.7,found in release: 3.8,team-framework,triaged-framework

<!-- Thank you for using Flutter!

     If you are looking for support, please check out our documentation
     or consider asking a question on Stack Overflow:
      * https://flutter.dev/
      * https://docs.flutter.io/
      * https://stackoverflow.com/questions/tagged/flutter?sort=frequent

     If you have found a bug or if our documentation doesn't have an answer
     to what you're looking for, then fill our the template below. Please read
     our guide to filing a bug first:  https://flutter.dev/bug-reports/
-->

## Description and file to reproduce

<!--
     Please tell us exactly how to reproduce the problem you are running into.

     Please attach a small application (ideally just one main.dart file) that
     reproduces the problem. You could use https://gist.github.com/ for this.

     If the problem is with your application's rendering, then please attach
     a screenshot and explain what the problem is.
-->

I'm using the default font, and I have also reproduced this bug after installing Roboto font files from Google. 
After creating two Text widgets with two different font sizes in a column (with crossAlignment attribute set to left), it appears that they're not aligned correctly on the left as there seems to be a space before the first letter. As I increased the font size of one of the widgets, this space became more and more visible, leading to a misalignment with the second widget's text. 

I'm aware this can be a font problem, but as it can be reproduced with the default Flutter font I don't think this should be a normal behaviour. 

Here's an example file to reproduce the problem : https://gist.github.com/axel-op/292fe7af555c9f986068fb44b073e834. I placed the Text widgets in colored containers to see where the edges of the widgets are. 

## Logs

<!--
      Run your application with `flutter run --verbose` and attach all the
      log output below between the lines with the backticks. If there is an
      exception, please see if the error message includes enough information
      to explain how to solve the issue.
-->

Flutter run --verbose: 
Logs can be consulted at this page: https://gist.github.com/axel-op/c796c876be1d5bccab0de36b5c187b4a. 

<!--
     Run `flutter analyze` and attach any output of that command below.
     If there are any analysis errors, try resolving them before filing this issue.
-->

Flutter analyze: 
See https://gist.github.com/axel-op/27d15c0134ed2f701505ebb4b1c87967. 

<!-- Finally, paste the output of running `flutter doctor -v` here. -->

Flutter doctor -v: 
See https://gist.github.com/axel-op/8e83dc27d14d09c420c119d510cbc35d.
Repository: flutter
Issue: MaterialPageRoute does not provide parallax animation in CupertinoTabView
Labels: c: new feature,framework,f: material design,f: cupertino,f: routes,P2,team-design,triaged-design

## Steps to Reproduce
```
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: CupertinoTabScaffold(
        tabBuilder: (context, i) {
          switch (i) {
            case 0:
              return CupertinoTabView(
                builder: (context) => CupertinoDemoTab1(),
              );
              break;
            case 1:
              return CupertinoTabView(
                builder: (context) => CupertinoDemoTab1(),
              );
              break;
          }
        },
        tabBar: CupertinoTabBar(items: [
          BottomNavigationBarItem(
            title: Text('Page One'),
            icon: Icon(Icons.add),
          ),
          BottomNavigationBarItem(
            title: Text('Page Two'),
            icon: Icon(Icons.add),
          )
        ]),
      ),
    );
  }
}

class CupertinoDemoTab1 extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: CustomScrollView(
        slivers: <Widget>[
          CupertinoSliverNavigationBar(
            largeTitle: Text("Camera Demo"),
          ),
          SliverList(
            delegate: SliverChildListDelegate([Tab1RowItem()]),
          ),
        ],
      ),
    );
  }
}

class Tab1RowItem extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return CupertinoButton(
      onPressed: () async {
        Navigator.of(context)
            .push(new MaterialPageRoute(builder: (context) => Page2()));
      },
      child: Text("Navigate"),
    );
  }
}

class Page2 extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      navigationBar: CupertinoNavigationBar(
        middle: Text('page 2'),
      ),
      child: Container(
        child: Center(child: Text('Page 2')),
      ),
    );
  }
}
```
1. Just click "Navigate"
2. Perform a back swipe and watch the bottom most route have no parallax effect

## Logs


```
[✓] Flutter (Channel master, v1.4.11-pre.27, on Mac OS X 10.14.2 18C54, locale en-ZA)
    • Flutter version 1.4.11-pre.27 at /Users/calvinmuller/iStreet/Mobile/flutter
    • Framework revision d0f89c1190 (9 hours ago), 2019-04-05 18:55:33 -0700
    • Engine revision 6bc33b5e14
    • Dart version 2.2.1 (build 2.2.1-dev.3.0 None)

```
Repository: flutter
Issue: Enable dart:ui APIs for text measurement in secondary isolates
Labels: c: new feature,framework,engine,a: typography,P2,team-engine,triaged-engine

if use TextPainter.layout in isolate will get a compiler error `native function not found`
I need layout many words and it takes a long time (100ms+), it will block UI thread
What should I do?