In an unusual address to a joint session of Congress Wednesday, French President Emmanuel Macron laid out a sweeping indictment of President Trump’s worldview — all without mentioning Trump by name.

Macron, widely considered to be Trump’s favorite European leader, laid out positions sharply at odds with Trump’s positions on the Iran nuclear deal (Macron said the US should stay in it), climate change (Macron said it was real and needed to be fought), free trade (Macron warned against protectionism), and international cooperation more broadly.

“We can choose isolationism, withdrawal, and nationalism. This is an option. It can be tempting to us as a temporary remedy to our fears,” Macron said. “But closing the door to the world will not stop the evolution of the world.”

Macron’s thinly veiled criticism of his host stood in stark contrast to the chummy rapport he displayed with Trump on Tuesday, when the two leaders hugged, kissed, held hands and praised each other effusively during public appearances. In one moment that immediately went viral, Trump even brushed dandruff off Macron’s suit.

The French leader’s decision to go after Trump’s positions — even though his remarks were draped in repeated praise for the US president — was an especially audacious gesture in light of the fact that Macron is in Washington for a “state visit,” a reception that includes elaborate ceremonies and signals a special relationship between the US and another country.

Macron got some of his loudest rounds of applause when he took Trump to task over his decision to withdraw from the Paris climate agreement.

“Let us face it, there is no planet B,” he said to laughter and clapping. Then, in a moment that could represent wish projection as much as reality, Macron said that he was “sure one day the United States will come back and join the Paris agreement.”

In potentially the most momentous part of his speech, Macron cautioned the US against pulling out of the Iran nuclear deal and pledged that France would not withdraw from it.

“We should not abandon it without having something substantial and more substantial instead,” he said. “France will not leave the [Iran deal], because we signed it.”

Trump has threatened to reimpose sanctions on Iran — effectively pulling out of the deal — on May 12 unless Europe helps “fix the terrible flaws” in the agreement. The Trump administration is in talks with the Europeans, who are desperate to make sure Trump doesn’t pull out.

Macron also signaled that he was open to working with the US on making the deal stronger to accommodate Trump’s concerns about Iran’s behavior throughout the Middle East and continued development of ballistic missiles.

“What I want to do, and what we decided together with your president, is that we can work on a more comprehensive deal addressing all the concerns,” Macron said.

He expressed concerns that a worldwide rise in nationalism meant that “international institutions, including the United Nations and NATO, will no longer be able to exercise a mandate.”

Macron also warned that the weakening of those institutions will allow other rising powers that don’t share values with the US and Europe to step into the vacuum. He didn’t mention those powers by name, but it was clear he was talking about China.

In what might’ve been the most personal jab at Trump, Macron subtly made clear that he didn’t care for the president’s public affection for authoritarian leaders like Chinese President Xi Jinping and Russian President Vladimir Putin.

“Personally, if you ask me, I do not share the fascination for new strong powers, the abandonment of freedom, and the illusion of nationalism,” Macron said.

How real was the Trump-Macron bromance?

Macron’s address to Congress came after spending two days with Trump during which the two men have been remarkably affectionate and touchy-feely with each other in their public appearances.

In one particularly striking moment during a joint press conference on Tuesday, Macron pulled Trump in for an awkward kiss on the cheek, and Trump went along with it. “This guy!” Trump gushed. “I like him a lot.”

Trump on French President Emmanuel Macron after they kissed on the cheek: "I like him a lot."

Their bromance is somewhere between tragedy and farce, @RinZaleski argues https://t.co/cbbYlDHO6K pic.twitter.com/qDGaSiD2ie — The Daily Beast (@thedailybeast) April 24, 2018

At other times, the intimate moments also seemed to be power plays. In the Oval Office, Trump said he was brushing “a little piece of dandruff” off of Macron’s suit, causing Macron to look slightly uncomfortable and then laugh.

Body language experts say they saw Trump and Macron’s interactions as a blend of playfulness and subtle attempts to assert dominance over each other. Macron seemed willing to play second fiddle to Trump in most of their public appearances. His speech to Congress, though, showed that he was fully prepared to stand up for himself and his beliefs.