Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add warnings about UTF-16 vs UTF-8 strings #1416

Merged
merged 1 commit into from
Apr 5, 2019

Commits on Apr 5, 2019

  1. Add warnings about UTF-16 vs UTF-8 strings

    This commit aims to address rustwasm#1348 via a number of strategies:
    
    * Documentation is updated to warn about UTF-16 vs UTF-8 problems
      between JS and Rust. Notably documenting that `as_string` and handling
      of arguments is lossy when there are lone surrogates.
    
    * A `JsString::is_valid_utf16` method was added to test whether
      `as_string` is lossless or not.
    
    The intention is that most default behavior of `wasm-bindgen` will
    remain, but where necessary bindings will use `JsString` instead of
    `str`/`String` and will manually check for `is_valid_utf16` as
    necessary. It's also hypothesized that this is relatively rare and not
    too performance critical, so an optimized intrinsic for `is_valid_utf16`
    is not yet provided.
    
    Closes rustwasm#1348
    alexcrichton committed Apr 5, 2019
    Configuration menu
    Copy the full SHA
    44738e0 View commit details
    Browse the repository at this point in the history