Prime Minister Justin Trudeau says the federal government is banning a range of assault-style guns, with an order that takes effect immediately.