Skip to content

Improve 'cannot contain emoji' error. #91476

New issue

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

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

Already on GitHub? # to your account

Merged
merged 2 commits into from
Dec 9, 2021
Merged

Conversation

m-ou-se
Copy link
Member

@m-ou-se m-ou-se commented Dec 3, 2021

Before:

error: identifiers cannot contain emoji: `🦀`
 --> src/main.rs:2:9
  |
2 |     let 🦀 = 1;
  |         ^^

After:

error: Ferris cannot be used as an identifier
 --> src/main.rs:2:9
  |
2 |     let 🦀 = 1;
  |         ^^ help: try using their name instead: `ferris`

r? @estebank

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 3, 2021
@m-ou-se m-ou-se changed the title Ferris identifier Improve 'cannot contain emoji' error. Dec 3, 2021
@inquisitivecrystal
Copy link
Contributor

First of all, this is my new favorite PR.

Small editorial comment. I suggest making "Ferris" lowercase, both to match standard convention and to align it with the structured suggestion. If you disagree, feel free to disregard this.

@camelid
Copy link
Member

camelid commented Dec 3, 2021

Ferris is a name, so I think the current capitalization is more accurate ;)

@camelid camelid added A-suggestion-diagnostics Area: Suggestions generated by the compiler applied by `cargo fix` T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. C-enhancement Category: An issue proposing an enhancement or a PR with one. labels Dec 3, 2021
@estebank
Copy link
Contributor

estebank commented Dec 9, 2021

@bors r+

@bors
Copy link
Collaborator

bors commented Dec 9, 2021

📌 Commit 9d535b4 has been approved by estebank

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 9, 2021
bors added a commit to rust-lang-ci/rust that referenced this pull request Dec 9, 2021
…askrgr

Rollup of 5 pull requests

Successful merges:

 - rust-lang#91042 (Use Vec extend instead of repeated pushes on several places)
 - rust-lang#91476 (Improve 'cannot contain emoji' error.)
 - rust-lang#91568 (Pretty print break and continue without redundant space)
 - rust-lang#91645 (Implement `core::future::join!`)
 - rust-lang#91666 (update Miri)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit dc834f0 into rust-lang:master Dec 9, 2021
@rustbot rustbot added this to the 1.59.0 milestone Dec 9, 2021
@m-ou-se m-ou-se deleted the ferris-identifier branch December 15, 2021 10:50
@boehs
Copy link

boehs commented Dec 16, 2021

This was widely stopping rust adoption for me, Thank you.

@Be-ing
Copy link
Contributor

Be-ing commented Dec 16, 2021

First of all, this is my new favorite PR.

I think this pull request may have won the Internet.

Copy link

@ggangix ggangix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love it !

@inferrna
Copy link

I think we need more bullshit like this. Next step would be including the whole gemoji crate into compiler codebase to be able to name any emoji, not just Ferris only.

@steffahn
Copy link
Member

steffahn commented Dec 16, 2021

The capitalization in the suggestions seems off when you don’t use it for a variable.

E.g. in a struct name

error: Ferris cannot be used as an identifier
 --> src/main.rs:1:8
  |
1 | struct 🦀;
  |        ^^ help: try using their name instead: `ferris`

or a const

error: Ferris cannot be used as an identifier
 --> src/main.rs:1:7
  |
1 | const 🦀: Crab = Crab::with_name("Ferris");
  |       ^^ help: try using their name instead: `ferris`

@boehs
Copy link

boehs commented Dec 16, 2021

I think we need more bullshit like this. Next step would be including the whole gemoji crate into compiler codebase to be able to name any emoji, not just Ferris only.

I think this is sarcastic but it would sure be fun!

@pro465
Copy link
Contributor

pro465 commented Feb 11, 2022

what the....

@arthurfiorette
Copy link

@m-ou-se Any chance we get 🦀 as the only allowed emoji identifier?
This is seriously preventing me from continuing to use rust in my projects.

@estebank
Copy link
Contributor

@arthurfiorette that would require t-lang sign-off. It would be too whimsical to do so, but I'm not against whimsy.

@arthurfiorette
Copy link

arthurfiorette commented Jun 29, 2022

I'm not familiar with the rust "workflow" for it... How can I start the process to get a t-lang sign-off? 😁

@m-ou-se
Copy link
Member Author

m-ou-se commented Jun 29, 2022

Adding 🦀 as an accepted identifier in Rust means removing this easter-egg, though. ^^

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-suggestion-diagnostics Area: Suggestions generated by the compiler applied by `cargo fix` C-enhancement Category: An issue proposing an enhancement or a PR with one. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.