Javaru

Javaru

Kotlin Coroutine Confidence: What's the IntelliJ IDEA inspection? (pg 133 & 141)

On page 133 in the callout text box, it says:

Did your IDE warn you about this misplaced Thread.sleep()? …

And on page 141 it says:

Have you been keeping an eye out for those IDE warnings? Tools like IntelliJ IDEA or Android Studio can identify the calls we’ve been making to Thread.sleep() and ImageIO.read(), and will let you know that you shouldn’t be using them in a suspending function. …

I’m not getting those warnings in IntelliJ IDEA, and I tend to keep my inspections configured pretty aggressively. And I don’t see them when I switch to the Default inspection profile. Can you tell me what inspection or inspections they are? (If you are not familiar with how to determine the name of the inspection generating a warning, let me know and I can respond with instructions.) Thanks!

Marked As Solved

sam-cooper

sam-cooper

Author of Kotlin Coroutine Confidence

Thanks! This was also recently pointed out to me by a reader in the Kotlin Slack group. What we discovered is that the warnings don’t currently work when the IDE’s K2 mode is turned on. There’s not much I can do about this, so I’m updating the text for the next Beta release to make it clear that many readers won’t see a warning at all. I hope the warning will be reintroduced in later IDE versions.

To answer your question, the specific inspection is Possibly blocking call in non-blocking context, under the JVM languages category.

Sorry for the confusion, and thank you for mentioning it!

You can find the previous Slack discussion about it here:

https://slack-chats.kotlinlang.org/t/27555859/in-kotlin-coroutine-confidence-u030s9809ph-off-the-cuff-says#4d83bb6b-a7de-4eaa-a86c-f3a1476e121c

Where Next?

Popular Pragmatic Bookshelf topics Top

johnp
Running the examples in chapter 5 c under pytest 5.4.1 causes an AttributeError: ‘module’ object has no attribute ‘config’. In particula...
New
yulkin
your book suggests to use Image.toByteData() to convert image to bytes, however I get the following error: "the getter ‘toByteData’ isn’t...
New
edruder
I thought that there might be interest in using the book with Rails 6.1 and Ruby 2.7.2. I’ll note what I needed to do differently here. ...
New
raul
Hi Travis! Thank you for the cool book! :slight_smile: I made a list of issues and thought I could post them chapter by chapter. I’m rev...
New
Mmm
Hi, build fails on: bracket-lib = “~0.8.1” when running on Mac Mini M1 Rust version 1.5.0: Compiling winit v0.22.2 error[E0308]: mi...
New
herminiotorres
Hi! I know not the intentions behind this narrative when called, on page XI: mount() |> handle_event() |> render() but the correc...
New
New
patoncrispy
I’m new to Rust and am using this book to learn more as well as to feed my interest in game dev. I’ve just finished the flappy dragon exa...
New
hazardco
On page 78 the following code appears: <%= link_to ‘Destroy’, product, class: ‘hover:underline’, method: :delete, data: { confirm...
New
redconfetti
Docker-Machine became part of the Docker Toolbox, which was deprecated in 2020, long after Docker Desktop supported Docker Engine nativel...
New

Other popular topics Top

AstonJ
If it’s a mechanical keyboard, which switches do you have? Would you recommend it? Why? What will your next keyboard be? Pics always w...
New
PragmaticBookshelf
Learn from the award-winning programming series that inspired the Elixir language, and go on a step-by-step journey through the most impo...
New
Rainer
My first contact with Erlang was about 2 years ago when I used RabbitMQ, which is written in Erlang, for my job. This made me curious and...
New
AstonJ
poll poll Be sure to check out @Dusty’s article posted here: An Introduction to Alternative Keyboard Layouts It’s one of the best write-...
New
PragmaticBookshelf
Rust is an exciting new programming language combining the power of C with memory safety, fearless concurrency, and productivity boosters...
New
PragmaticBookshelf
Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New
PragmaticBookshelf
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
New
NewsBot
Node.js v22.14.0 has been released. Link: Release 2025-02-11, Version 22.14.0 'Jod' (LTS), @aduh95 · nodejs/node · GitHub
New
PragmaticBookshelf
As digital systems increasingly run the world, mastery of the recurring patterns of software development risk is the key to fast and effe...
New
PragmaticBookshelf
Lint your docs like code: turn any style guide into enforceable rules with Vale and publish clear, consistent content every time. ...
New

Sub Categories: